Documentation ¶
Overview ¶
Package hybrid defines several hybrid classical/quantum KEMs.
KEMs are combined by simple concatenation of shared secrets, cipher texts, public keys, etc, see
https://datatracker.ietf.org/doc/draft-ietf-tls-hybrid-design/ https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
Note that this is only fine if the shared secret is used in its entirety in a next step, such as being hashed or used as key.
For deriving a KEM keypair deterministically and encapsulating deterministically, we expand a single seed to both using SHAKE256, so that a non-uniform seed (such as a shared secret generated by a hybrid KEM where one of the KEMs is weak) doesn't impact just one of the KEMs.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrUninitialized = errors.New("public or private key not initialized")
Functions ¶
func Kyber512X25519 ¶
Returns the hybrid KEM of Kyber512 and X25519.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.