hpqc

module
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2024 License: AGPL-3.0

README

HPQC

hybrid post quantum cryptography

we have but two simple goals at the moment:

  1. silo ALL of the katzenpost cryptography into this one library so that it's easier to audit, easier to reason about. This will help us standardize our approach to solving cryptographic problems across multiple protocols.
  2. Provide a very niche cryptography library that other golang software projects can use if they want hybrid constructions consisting of classical and post quantum cryptographic primitives.
  • hybrid KEMs
  • hybrid NIKEs
  • hybrid signature schemes

licensing

this is agpl-3 licensed code however some modules written by other authors is included here and in those cases we've included their LICENSE file in the directory or in the top comment of the file.

Directories

Path Synopsis
kem
Package kem provides a unified interface for KEM schemes.
Package kem provides a unified interface for KEM schemes.
adapter
Package adapter provides an adhoc hashed ElGamal construction that essentially acts like an adapter, adapting a NIKE to KEM.
Package adapter provides an adhoc hashed ElGamal construction that essentially acts like an adapter, adapting a NIKE to KEM.
combiner
Package combiner defines a KEM combiner type that can combine any number of KEMs.
Package combiner defines a KEM combiner type that can combine any number of KEMs.
mlkem768
Package mlkem768 provides a KEM wrapper that uses our KEM interfaces.
Package mlkem768 provides a KEM wrapper that uses our KEM interfaces.
pem
sntrup
This package provide the Streamlined NTRU Prime KEM.
This package provide the Streamlined NTRU Prime KEM.
xwing
Package xwing provides the xwing KEM using a KEM wrapper so that it obeys our KEM interfaces for Scheme, PrivateKey, PublicKey.
Package xwing provides the xwing KEM using a KEM wrapper so that it obeys our KEM interfaces for Scheme, PrivateKey, PublicKey.
Package nike contains generic NIKE interfaces and many implementations.
Package nike contains generic NIKE interfaces and many implementations.
Package rand provides various utitilies related to generating cryptographically secure random numbers and byte vectors.
Package rand provides various utitilies related to generating cryptographically secure random numbers and byte vectors.
ed25519
Package is our ed25519 wrapper type which also conforms to our generic interfaces for signature schemes.
Package is our ed25519 wrapper type which also conforms to our generic interfaces for signature schemes.
pem
sphincsplus
Package sphincsplus implements interface wrapper around a specific parameterization of Sphincs+.
Package sphincsplus implements interface wrapper around a specific parameterization of Sphincs+.
pem

Jump to

Keyboard shortcuts

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