...
Package schemes
Package schemes contains a register of KEM schemes.
Schemes Implemented
Based on standard elliptic curves:
HPKE_KEM_P256_HKDF_SHA256, HPKE_KEM_P384_HKDF_SHA384, HPKE_KEM_P521_HKDF_SHA512
Based on standard Diffie-Hellman functions:
HPKE_KEM_X25519_HKDF_SHA256, HPKE_KEM_X448_HKDF_SHA512
Post-quantum kems:
FrodoKEM-640-SHAKE
Kyber512, Kyber768, Kyber1024
▾ Example (Schemes)
Code:
for _, sch := range schemes.All() {
fmt.Println(sch.Name())
}
Output:
HPKE_KEM_P256_HKDF_SHA256
HPKE_KEM_P384_HKDF_SHA384
HPKE_KEM_P521_HKDF_SHA512
HPKE_KEM_X25519_HKDF_SHA256
HPKE_KEM_X448_HKDF_SHA512
FrodoKEM-640-SHAKE
Kyber512
Kyber768
Kyber1024
Kyber512-X25519
Kyber768-X25519
Kyber768-X448
Kyber1024-X448
P256Kyber768Draft00
func All() []kem.Scheme
All returns all KEM schemes supported.
func ByName(name string) kem.Scheme
ByName returns the scheme with the given name and nil if it is not
supported.
Names are case insensitive.