#zero-knowledge #encryption #post #zero #quantum #knowledge #zero-knowledge-proofs

frodo-kem-rs

A pure rust implementation of FrodoKEM that also includes some experimental features for Zero-Knowledge Proof of Encrypted Correctness

2 unstable releases

new 0.2.0 Oct 30, 2024
0.1.0 Oct 29, 2024

#1351 in Cryptography

50 downloads per month

Apache-2.0 OR MIT

135KB
3K SLoC

frodoKem

Crate Docs Apache2/MIT licensed Downloads build

A pure rust implementation of FrodoKEM Learning with Errors Key Encapsulation.

It's submission was included in NIST's PQ Round 3 competition.

⚠️ Security Warning

The implementation contained in this crate has never been independently audited!

USE AT YOUR OWN RISK!

Minimum Supported Rust Version

This crate requires Rust 1.81 at a minimum.

We may change the MSRV in the future, but it will be accompanied by a minor version bump.

Details

This code implements

  • FrodoKEM-640 with AES and SHAKE.
  • FrodoKEM-976 with AES and SHAKE.
  • FrodoKEM-1344 with AES and SHAKE.

Future work

  • Experimental FrodoKEM ZKP of Well-Encryptedness.
  • Speed up AES implementation.

License

Licensed under

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~1.6–2.5MB
~38K SLoC