From 4b491fb05c238f3e5d04d51a1eee6114c1d49f53 Mon Sep 17 00:00:00 2001 From: supinie <86788874+supinie@users.noreply.github.com> Date: Fri, 24 May 2024 17:12:51 +0100 Subject: [PATCH] update README --- README.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 72a2098..eefa702 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![kyber_rust_ferris](./kyber_rust_ferris.png) -# enc_rust _(WIP)_ +# enc_rust [![codecov](https://codecov.io/github/supinie/enc_rust/branch/main/graph/badge.svg?token=S7UTUFQ8M5)](https://codecov.io/github/supinie/enc_rust) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) @@ -8,9 +8,23 @@ ### About -A rust implementation of the PQC scheme Crystals (https://pq-crystals.org/). +A pure rust implementation of the Module-Lattice-based standards [ML-KEM](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf) and [ML-DSA](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.ipd.pdf), also known as the PQC scheme [Crystals](https://pq-crystals.org/). -This package consists of a library (`enc_rust`), and (soon :TM:) a binary wrapper. The library contains implementations for both Kyber and Dilithium. +This package consists of a library (`enc_rust`), and (soon :TM:) a binary wrapper. The library currently contains implementations for ML-KEM (Kyber), and will in the future also support ML-DSA (Dilithium). + +### Why enc_rust? + +enc_rust aims to provide a secure, efficient, and ergonomic solution to any problem that requires quantum secure cryptography. + +- No unsafe code +- `no_std` compatible +- ergonomic + +enc_rust currently supports ML-KEM as a sole mechanism, but will provide: + +- ML-KEM in hybrid with x25519 +- ML-DSA +- ML-DSA in hybrid with Ed25519 ### Disclaimer