package hpke
Import Path
crypto/internal/hpke (on go.dev)
Dependency Relation
imports 10 packages, and imported by one package
Package-Level Type Names (total 9, in which 5 are exported)
/* sort exporteds by: | */
context *context
context.aead cipher.AEAD
context.baseNonce []byte
context.exporterSecret []byte
context.key []byte
context.seqNum uint128
context.sharedSecret []byte
context.suiteID []byte
(*Recipient) Open(aad, ciphertext []byte) ([]byte, error)
( Recipient) incrementNonce()
( Recipient) nextNonce() []byte
func SetupRecipient(kemID, kdfID, aeadID uint16, priv *ecdh.PrivateKey, info, encPubEph []byte) (*Recipient, error)
func crypto/tls.decryptECHPayload(context *Recipient, hello, payload []byte) ([]byte, error)
context *context
context.aead cipher.AEAD
context.baseNonce []byte
context.exporterSecret []byte
context.key []byte
context.seqNum uint128
context.sharedSecret []byte
context.suiteID []byte
(*Sender) Seal(aad, plaintext []byte) ([]byte, error)
( Sender) incrementNonce()
( Sender) nextNonce() []byte
func SetupSender(kemID, kdfID, aeadID uint16, pub *ecdh.PublicKey, info []byte) ([]byte, *Sender, error)
dhKEM implements the KEM specified in RFC 9180, Section 4.1.
dh ecdh.Curve
kdf hkdfKDF
nSecret uint16
suiteID []byte
(*dhKEM) Decap(encPubEph []byte, secRecipient *ecdh.PrivateKey) ([]byte, error)
(*dhKEM) Encap(pubRecipient *ecdh.PublicKey) (sharedSecret []byte, encapPub []byte, err error)
(*dhKEM) ExtractAndExpand(dhKey, kemContext []byte) ([]byte, error)
func newDHKem(kemID uint16) (*dhKEM, error)
hash crypto.Hash
(*hkdfKDF) LabeledExpand(suiteID []byte, randomKey []byte, label string, info []byte, length uint16) ([]byte, error)
(*hkdfKDF) LabeledExtract(sid []byte, salt []byte, label string, inputKey []byte) ([]byte, error)
Package-Level Constants (total 5, all are exported)