package hpke

import "crypto/internal/hpke"

Index

Variables

var SupportedAEADs = map[uint16]struct {
	keySize   int
	nonceSize int
	aead      func([]byte) (cipher.AEAD, error)
}{

	0x0001: {/* contains filtered or unexported fields */},
	0x0002: {/* contains filtered or unexported fields */},
	0x0003: {/* contains filtered or unexported fields */},
}
var SupportedKDFs = map[uint16]func() *hkdfKDF{

	0x0001: func() *hkdfKDF { return &hkdfKDF{crypto.SHA256} },
}
var SupportedKEMs = map[uint16]struct {
	curve   ecdh.Curve
	hash    crypto.Hash
	nSecret uint16
}{

	0x0020: {ecdh.X25519(), crypto.SHA256, 32},
}

Functions

func ParseHPKEPublicKey

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

func SuiteID

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

Types

type Sender

type Sender struct {
	// contains filtered or unexported fields
}

func SetupSender

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

func (*Sender) Seal

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

Source Files

hpke.go

Version
v1.23.4
Published
Nov 27, 2024
Platform
darwin/amd64
Imports
10 packages
Last checked
5 seconds ago

Tools for package owners.