go/src/crypto/internal/hpke/hpke.go

var testingOnlyGenerateKey

type hkdfKDF

func (kdf *hkdfKDF) LabeledExtract(suiteID []byte, salt []byte, label string, inputKey []byte) []byte {}

func (kdf *hkdfKDF) LabeledExpand(suiteID []byte, randomKey []byte, label string, info []byte, length uint16) []byte {}

type dhKEM

var SupportedKEMs

func newDHKem(kemID uint16) (*dhKEM, error) {}

func (dh *dhKEM) ExtractAndExpand(dhKey, kemContext []byte) []byte {}

func (dh *dhKEM) Encap(pubRecipient *ecdh.PublicKey) (sharedSecret []byte, encapPub []byte, err error) {}

type Sender

var aesGCMNew

var SupportedAEADs

var SupportedKDFs

func SetupSender(kemID, kdfID, aeadID uint16, pub crypto.PublicKey, info []byte) ([]byte, *Sender, error) {}

func (s *Sender) nextNonce() []byte {}

func (s *Sender) Seal(aad, plaintext []byte) ([]byte, error) {}

func SuiteID(kemID, kdfID, aeadID uint16) []byte {}

func ParseHPKEPublicKey(kemID uint16, bytes []byte) (*ecdh.PublicKey, error) {}

type uint128

func (u uint128) addOne() uint128 {}

func (u uint128) bitLen() int {}

func (u uint128) bytes() []byte {}