Skip to content

Commit faa38d5

Browse files
committed
feat: complete mlkem (testing contd..)
1 parent 93ee2cb commit faa38d5

5 files changed

Lines changed: 440 additions & 12 deletions

File tree

src/kem/kyber/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
ML-KEM is based on Module Learning with Errors problems introduced by [Reg05][Reg05].
2020

2121
## Preliminaries
22+
- [ ] Why Polynomial Rings?
23+
- [ ] Cyclotomic Polynomial Rings
24+
- [ ] NTT
25+
- [ ] Lattices
2226

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

84-
[Reg05]: <https://cims.nyu.edu/~regev/papers/lwesurvey.pdf>
88+
[Reg05]: <https://cims.nyu.edu/~regev/papers/lwesurvey.pdf>

src/kem/kyber/algebra.rs

Whitespace-only changes.

src/kem/kyber/kpke.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// use super::{auxiliary::g, MatrixPolyVec};
2+
3+
// pub struct KpkeEncryptionKey<const K: usize>([u8; 384*K+32]);
4+
// pub struct KpkeDecryptionKey<const K: usize>([u8; 384*K]);
5+
// pub fn kpke_keygen<const K: usize>(d: [u8; 32]) -> (KpkeEncryptionKey, KpkeDecryptionKey) {
6+
// let (rho, sigma) = g(d, K);
7+
8+
// let mut a_ntt = MatrixPolyVec::<Ntt, K, K>
9+
10+
// }

0 commit comments

Comments
 (0)