import "code.pfad.fr/gohmekit/pairing/crypto"
type KeyOnCurve25519 struct {/* contains filtered or unexported fields */}
func NewKeyOnCurve25519() (KeyOnCurve25519, error)
func (k KeyOnCurve25519) PairVerifySharedSecret(otherPublicKey []byte) ([]byte, error)
func (k KeyOnCurve25519) PublicKey() []byte
type SRPSession struct {/* contains filtered or unexported fields */}
func NewSRPSession(pin []byte) (*SRPSession, []byte, error)
func (s SRPSession) ExchangeProof(clientProof []byte) ([]byte, bool)
func (s SRPSession) PairSetupSharedSecret(otherPublicKey []byte) ([]byte, error)
func (s SRPSession) PublicKey() []byte
func (s SRPSharedSecret) AEAD() (cipher.AEAD, error)
func (s SRPSharedSecret) AccessorySign() ([]byte, error)
func (s SRPSharedSecret) ControllerSign() ([]byte, error)
type Session struct {/* contains filtered or unexported fields */}
Open will decrypt and authenticate an incoming message. If not enough bytes are present, it will return (nil,nil), but keep the provided bytes in memory, to use them on the next call.