package hpke
import "crypto/internal/hpke"
Index ¶
- Constants
- Variables
- func ParseHPKEPrivateKey(kemID uint16, bytes []byte) (*ecdh.PrivateKey, error)
- func ParseHPKEPublicKey(kemID uint16, bytes []byte) (*ecdh.PublicKey, error)
- type AEADID
- type KDFID
- type KemID
- type Receipient
- func SetupReceipient(kemID, kdfID, aeadID uint16, priv *ecdh.PrivateKey, info, encPubEph []byte) (*Receipient, error)
- func (r *Receipient) Open(aad, ciphertext []byte) ([]byte, error)
- type Sender
Constants ¶
const ( AEAD_AES_128_GCM = 0x0001 AEAD_AES_256_GCM = 0x0002 AEAD_ChaCha20Poly1305 = 0x0003 )
const DHKEM_X25519_HKDF_SHA256 = 0x0020
const KDF_HKDF_SHA256 = 0x0001
Variables ¶
var SupportedAEADs = map[uint16]struct { keySize int nonceSize int aead func([]byte) (cipher.AEAD, error) }{ AEAD_AES_128_GCM: {/* contains filtered or unexported fields */}, AEAD_AES_256_GCM: {/* contains filtered or unexported fields */}, AEAD_ChaCha20Poly1305: {/* contains filtered or unexported fields */}, }
var SupportedKDFs = map[uint16]func() *hkdfKDF{ KDF_HKDF_SHA256: func() *hkdfKDF { return &hkdfKDF{crypto.SHA256} }, }
var SupportedKEMs = map[uint16]struct { curve ecdh.Curve hash crypto.Hash nSecret uint16 }{ DHKEM_X25519_HKDF_SHA256: {ecdh.X25519(), crypto.SHA256, 32}, }
Functions ¶
func ParseHPKEPrivateKey ¶
func ParseHPKEPrivateKey(kemID uint16, bytes []byte) (*ecdh.PrivateKey, error)
func ParseHPKEPublicKey ¶
Types ¶
type AEADID ¶
type AEADID uint16
type KDFID ¶
type KDFID uint16
type KemID ¶
type KemID uint16
type Receipient ¶
type Receipient struct {
// contains filtered or unexported fields
}
func SetupReceipient ¶
func SetupReceipient(kemID, kdfID, aeadID uint16, priv *ecdh.PrivateKey, info, encPubEph []byte) (*Receipient, error)
func (*Receipient) Open ¶
func (r *Receipient) Open(aad, ciphertext []byte) ([]byte, error)
type Sender ¶
type Sender struct {
// contains filtered or unexported fields
}
func SetupSender ¶
func SetupSender(kemID, kdfID, aeadID uint16, pub *ecdh.PublicKey, info []byte) ([]byte, *Sender, error)
func (*Sender) Seal ¶
Source Files ¶
- Version
- v1.24.0 (latest)
- Published
- Feb 10, 2025
- Platform
- linux/amd64
- Imports
- 10 packages
- Last checked
- 38 minutes ago –
Tools for package owners.