package schemes
import "github.com/cloudflare/circl/kem/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:play
package main
import (
"fmt"
"github.com/cloudflare/circl/kem/schemes"
)
func main() {
// import "github.com/cloudflare/circl/kem/schemes"
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 ML-KEM-512 ML-KEM-768 ML-KEM-1024 Kyber512-X25519 Kyber768-X25519 Kyber768-X448 Kyber1024-X448 P256Kyber768Draft00 X25519MLKEM768 X-Wing
Index ¶
Examples ¶
Functions ¶
func All ¶
All returns all KEM schemes supported.
func ByName ¶
ByName returns the scheme with the given name and nil if it is not supported.
Names are case insensitive.
Source Files ¶
- Version
- v1.6.1 (latest)
- Published
- Apr 9, 2025
- Platform
- linux/amd64
- Imports
- 12 packages
- Last checked
- 3 days ago –
Tools for package owners.