schemes

package
v0.0.0-...-8e3605f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2022 License: BSD-3-Clause Imports: 10 Imported by: 0

Documentation

Overview

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:

Kyber512, Kyber768, Kyber1024
SIKEp434, SIKEp503, SIKEp751
Example (Schemes)
package main

import (
	"fmt"

	"github.com/fanym919/circl/kem/schemes"
)

func main() {
	// import "github.com/fanym919/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
Kyber512
Kyber768
Kyber1024
SIKEp434
SIKEp503
SIKEp751
Kyber512-X25519
Kyber768-X448
Kyber1024-X448

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func All

func All() []kem.Scheme

All returns all KEM schemes supported.

func ByName

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.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL