Skip to content

Commit

Permalink
feat: complete mlkem (testing contd..)
Browse files Browse the repository at this point in the history
  • Loading branch information
lonerapier committed Feb 9, 2025
1 parent 93ee2cb commit faa38d5
Show file tree
Hide file tree
Showing 5 changed files with 440 additions and 12 deletions.
6 changes: 5 additions & 1 deletion src/kem/kyber/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
ML-KEM is based on Module Learning with Errors problems introduced by [Reg05][Reg05].

## Preliminaries
- [ ] Why Polynomial Rings?
- [ ] Cyclotomic Polynomial Rings
- [ ] NTT
- [ ] Lattices

## Implementation Details
- Polynomial Rings
Expand Down Expand Up @@ -81,4 +85,4 @@ ML-KEM is based on Module Learning with Errors problems introduced by [Reg05][Re
- [Module-Lattice-Based Key-Encapsulation Mechanism Standard](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf)
- [RustCrypto/KEMs](https://github.com/RustCrypto/KEMs): const functions inspiration

[Reg05]: <https://cims.nyu.edu/~regev/papers/lwesurvey.pdf>
[Reg05]: <https://cims.nyu.edu/~regev/papers/lwesurvey.pdf>
Empty file added src/kem/kyber/algebra.rs
Empty file.
10 changes: 10 additions & 0 deletions src/kem/kyber/kpke.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// use super::{auxiliary::g, MatrixPolyVec};

// pub struct KpkeEncryptionKey<const K: usize>([u8; 384*K+32]);
// pub struct KpkeDecryptionKey<const K: usize>([u8; 384*K]);
// pub fn kpke_keygen<const K: usize>(d: [u8; 32]) -> (KpkeEncryptionKey, KpkeDecryptionKey) {
// let (rho, sigma) = g(d, K);

// let mut a_ntt = MatrixPolyVec::<Ntt, K, K>

// }
Loading

0 comments on commit faa38d5

Please sign in to comment.