code: func (u *User) NewKey() (res handlers.Big, err error) {
  	defer func() {
  		if r := recover(); r != nil {
  			res = nil
  			err = errors.Errorf("failure [%s]", r)
  		}
  	}()
  
  	res = &Big{E: cryptolib.RandModOrder(u.NewRand())}
  
  	return
  }
docs: // NewKey generates an idemix user secret key