schemes

package
v0.0.0-...-4223e8c Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2023 License: BSD-3-Clause Imports: 7 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:

FrodoKEM-640-SHAKE
Kyber512, Kyber768, Kyber1024
Example (Schemes)
package main

import (
	"fmt"

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

func main() {
	// import "github.com/karalef/circl/kem/schemes"

	for _, sch := range schemes.All() {
		fmt.Println(sch.Name())
	}
}
Output:

FrodoKEM-640-SHAKE
Kyber512
Kyber768
Kyber1024
Kyber512-X25519
Kyber768-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