https://pq-crystals.org/kyber/index.shtml

Yawning Angel a270899bd2 Changed the return value of all De-encapsulation routines. 2 months ago
testdata 47a9d7cb34 Initial import. 5 months ago
.gitignore 47a9d7cb34 Initial import. 5 months ago
LICENSE 47a9d7cb34 Initial import. 5 months ago
README.md 913f04249f Add a README.md, update the package docs (No functional changes). 5 months ago
cbd.go 58e5961523 Even more vector optimizations. 5 months ago
doc.go 913f04249f Add a README.md, update the package docs (No functional changes). 5 months ago
doc_test.go a270899bd2 Changed the return value of all De-encapsulation routines. 2 months ago
hwaccel.go 58e5961523 Even more vector optimizations. 5 months ago
hwaccel_amd64.go 5a6c9044a4 AVX2: Rename some functions, on the off chance I add SSE2. 4 months ago
hwaccel_amd64.s 58e5961523 Even more vector optimizations. 5 months ago
hwaccel_ref.go 9872c9ab03 Low hanging fruit vector optimizations. 5 months ago
indcpa.go 47a9d7cb34 Initial import. 5 months ago
kem.go a270899bd2 Changed the return value of all De-encapsulation routines. 2 months ago
kem_test.go a270899bd2 Changed the return value of all De-encapsulation routines. 2 months ago
kem_vectors_test.go a270899bd2 Changed the return value of all De-encapsulation routines. 2 months ago
kex.go a270899bd2 Changed the return value of all De-encapsulation routines. 2 months ago
kex_test.go a270899bd2 Changed the return value of all De-encapsulation routines. 2 months ago
ntt.go 9872c9ab03 Low hanging fruit vector optimizations. 5 months ago
params.go ab3d72f422 Fix a docstring, no functional changes. 5 months ago
poly.go aa1972d8c9 Clean up the hardware acceleration plumbing a bit. 5 months ago
polyvec.go 2233aa6bb2 Remove the hardware acceleration check in the `pointwiseAccRef`. 5 months ago
precomp.go 47a9d7cb34 Initial import. 5 months ago
reduce.go 47a9d7cb34 Initial import. 5 months ago

README.md

Kyber - IND-CCA2-secure Key Encapsulation Mechanism

Yawning Angel (yawning at schwanenlied dot me)

GoDoc

This package implements the Kyber IND-CCA2-secure key encapsulation mechanism (KEM), based on the hardness of solving the learning-with-errors (LWE) problem over module lattices as submitted to the NIST Post-Quantum Cryptography project.

This implementation is a port of the Public Domain reference implementation by Joppe Bos, Léo Ducas, Eike Kiltz , Tancrède Lepoint, Vadim Lyubashevsky, John Schanck, Peter Schwabe, Gregor Seiler, and Damien Stehlé.

Additionally implementations of Kyber.AKE and Kyber.UAKE as presented in the Kyber paper are included for users that seek an authenticated key exchange.

Note that the algorithm is not finalized yet, and may change in a backward incompatible manner in the future. The designers currently recommend combining Kyber with an established pre-quantum algorithm like ECDH, and using the Kyber-768 parameter set.

For more information, see the project home page.