Versions in this module Expand all Collapse all v0 v0.1.0 Jul 10, 2020 Changes in this version + var CryptoStandardDefault = &CryptoStandard + var DeriveKeyArgonDefault = &DeriveKeyArgon + var KyberSuiteDefault = suites.MustFind("Ed25519") + func DeriveKeyHKDF(c Crypto, priv kyber.Scalar, info []byte) kyber.Scalar + func OPRFServerStep2(crypto Crypto, alpha kyber.Point, k kyber.Scalar) (v kyber.Point, beta kyber.Point) + func OPRFUserStep1(crypto Crypto, x []byte) (r kyber.Scalar, alpha kyber.Point) + func OPRFUserStep3(crypto Crypto, x []byte, r kyber.Scalar, v kyber.Point, beta kyber.Point) (out []byte) + type AuthEncrypter interface + AuthDecrypt func(priv kyber.Scalar, enc []byte) ([]byte, error) + AuthEncrypt func(priv kyber.Scalar, plain []byte) ([]byte, error) + type Crypto interface + var CryptoDefault Crypto = CryptoStandardDefault + type CryptoStandard struct + KeyDeriver func(c Crypto, priv kyber.Scalar, info []byte) kyber.Scalar + func (c *CryptoStandard) AuthDecrypt(priv kyber.Scalar, enc []byte) ([]byte, error) + func (c *CryptoStandard) AuthEncrypt(priv kyber.Scalar, plain []byte) ([]byte, error) + func (c *CryptoStandard) DeriveKey(priv kyber.Scalar, info []byte) kyber.Scalar + func (c *CryptoStandard) HashToPoint(msg []byte) kyber.Point + func (c *CryptoStandard) NewKey(stream cipher.Stream) kyber.Scalar + func (c *CryptoStandard) NewKeyFromReader(r io.Reader) kyber.Scalar + type DeriveKeyArgon struct + Memory uint32 + Threads uint8 + Time uint32 + func (d *DeriveKeyArgon) DeriveKey(c Crypto, priv kyber.Scalar, info []byte) kyber.Scalar + type ErrUnmarshalMoreData struct + Left int + func (e *ErrUnmarshalMoreData) Error() string + type KeyDeriver interface + DeriveKey func(priv kyber.Scalar, info []byte) kyber.Scalar + type KeyExchange interface + NewKeyExchangeMessage func(step int) (Marshaler, error) + ServerKeyExchange2 func(ke1 Marshaler, info *KeyExchangeInfo) (Marshaler, error) + ServerKeyExchange4 func(ke3 Marshaler) error + UserKeyExchange1 func() (Marshaler, error) + UserKeyExchange3 func(ke2 Marshaler, info *KeyExchangeInfo) (Marshaler, error) + type KeyExchangeInfo struct + MyPrivateKey kyber.Scalar + TheirPublicKey kyber.Point + UserID []byte + type KeyExchangeSigma struct + Info *KeyExchangeInfo + SharedSecret kyber.Point + func NewKeyExchangeSigma(crypto Crypto) *KeyExchangeSigma + func (k *KeyExchangeSigma) NewKeyExchangeMessage(step int) (Marshaler, error) + func (k *KeyExchangeSigma) ServerKeyExchange2(ke1 Marshaler, info *KeyExchangeInfo) (Marshaler, error) + func (k *KeyExchangeSigma) ServerKeyExchange4(ke3 Marshaler) error + func (k *KeyExchangeSigma) UserKeyExchange1() (Marshaler, error) + func (k *KeyExchangeSigma) UserKeyExchange3(ke2 Marshaler, info *KeyExchangeInfo) (Marshaler, error) + type KeyExchangeSigmaMsg1 struct + UserExchangePublicKey kyber.Point + func (k *KeyExchangeSigmaMsg1) FromBytes(c Crypto, data []byte) (err error) + func (k *KeyExchangeSigmaMsg1) ToBytes() ([]byte, error) + type KeyExchangeSigmaMsg2 struct + ServerExchangeMac []byte + ServerExchangePublicKey kyber.Point + ServerExchangeSig []byte + func (k *KeyExchangeSigmaMsg2) FromBytes(c Crypto, data []byte) (err error) + func (k *KeyExchangeSigmaMsg2) ToBytes() ([]byte, error) + type KeyExchangeSigmaMsg3 struct + UserExchangeMac []byte + UserExchangeSig []byte + func (k *KeyExchangeSigmaMsg3) FromBytes(c Crypto, data []byte) (err error) + func (k *KeyExchangeSigmaMsg3) ToBytes() ([]byte, error) + type KeyGenerator interface + NewKey func(stream cipher.Stream) kyber.Scalar + NewKeyFromReader func(r io.Reader) kyber.Scalar + type Marshaler interface + FromBytes func(Crypto, []byte) error + ToBytes func() ([]byte, error) + type PointHasher interface + HashToPoint func(msg []byte) kyber.Point + type ServerAuth struct + func NewServerAuth(crypto Crypto, embeddedKeyExchange KeyExchange) *ServerAuth + func (s *ServerAuth) Complete(u *UserAuthInit, regInfo *ServerRegisterComplete) (*ServerAuthComplete, error) + func (s *ServerAuth) Finish(u *UserAuthComplete) error + type ServerAuthComplete struct + Beta kyber.Point + EmbeddedKeyExchangeMessage2 []byte + EnvU []byte + ServerPublicKey kyber.Point + V kyber.Point + func (s *ServerAuthComplete) FromBytes(c Crypto, data []byte) (err error) + func (s *ServerAuthComplete) ToBytes() ([]byte, error) + type ServerRegister struct + func NewServerRegister(crypto Crypto, privateKey kyber.Scalar) *ServerRegister + func (s *ServerRegister) Complete(u *UserRegisterComplete) *ServerRegisterComplete + func (s *ServerRegister) Init(u *UserRegisterInit) *ServerRegisterInit + type ServerRegisterComplete struct + EnvU []byte + KU kyber.Scalar + ServerPrivateKey kyber.Scalar + UserID []byte + UserPublicKey kyber.Point + type ServerRegisterInit struct + Beta kyber.Point + ServerPublicKey kyber.Point + V kyber.Point + func (s *ServerRegisterInit) FromBytes(c Crypto, data []byte) (err error) + func (s *ServerRegisterInit) ToBytes() ([]byte, error) + type Signer interface + Sign func(priv kyber.Scalar, msg []byte) ([]byte, error) + Verify func(pub kyber.Point, msg, sig []byte) error + type SignerSchnorr struct + func (s *SignerSchnorr) Sign(priv kyber.Scalar, msg []byte) ([]byte, error) + func (s *SignerSchnorr) Verify(pub kyber.Point, msg, sig []byte) error + type UserAuth struct + func NewUserAuth(crypto Crypto, userID []byte, embeddedKeyExchange KeyExchange) *UserAuth + func (u *UserAuth) Complete(s *ServerAuthComplete) (*UserAuthFinish, *UserAuthComplete, error) + func (u *UserAuth) Init(password []byte) (*UserAuthInit, error) + type UserAuthComplete struct + EmbeddedKeyExchangeMessage3 []byte + func (u *UserAuthComplete) FromBytes(c Crypto, data []byte) (err error) + func (u *UserAuthComplete) ToBytes() ([]byte, error) + type UserAuthFinish struct + ServerPublicKey kyber.Point + UserPrivateKey kyber.Scalar + type UserAuthInit struct + Alpha kyber.Point + EmbeddedKeyExchangeMessage1 []byte + UserID []byte + func (u *UserAuthInit) FromBytes(c Crypto, data []byte) (err error) + func (u *UserAuthInit) ToBytes() ([]byte, error) + type UserRegister struct + func NewUserRegister(crypto Crypto, userID []byte, privateKey kyber.Scalar) *UserRegister + func (u *UserRegister) Complete(s *ServerRegisterInit) *UserRegisterComplete + func (u *UserRegister) Init(password []byte) *UserRegisterInit + func (u *UserRegister) PrivateKey() kyber.Scalar + type UserRegisterComplete struct + EnvU []byte + UserPublicKey kyber.Point + func (u *UserRegisterComplete) FromBytes(c Crypto, data []byte) (err error) + func (u *UserRegisterComplete) ToBytes() ([]byte, error) + type UserRegisterInit struct + Alpha kyber.Point + UserID []byte + func (u *UserRegisterInit) FromBytes(c Crypto, data []byte) (err error) + func (u *UserRegisterInit) ToBytes() ([]byte, error)