Skip to content

Commit 2e162f0

Browse files
committed
correct file paths
1 parent af7a71d commit 2e162f0

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
applications.** :warning:
1212
>
1313
> This is an educational resource and has not been designed to be secure
14-
> against any form of side-channel attack. The indended use of this project
14+
> against any form of side-channel attack. The intended use of this project
1515
> is for learning and experimenting with ML-KEM and Kyber
1616
1717
This repository contains a pure python implementation of both:
@@ -72,7 +72,7 @@ the
7272

7373
Originally this project was planned to have zero dependencies, however to make this work
7474
pass the KATs, we needed a deterministic CSRNG. The reference implementation uses
75-
AES256 CTR DRBG. I have implemented this in [`aes256_ctr_drbg.py`](aes256_ctr_drbg.py).
75+
AES256 CTR DRBG. I have implemented this in [`aes256_ctr_drbg.py`](src/kyber_py/drbg/aes256_ctr_drbg.py).
7676
However, I have not implemented AES itself, instead I import this from `pycryptodome`. If this dependency is too annoying, then please make an issue and we can have a pure-python AES included into the repo.
7777

7878
To install dependencies, run `pip -r install requirements`.
@@ -167,11 +167,11 @@ the cryptographic assurance of the protocol.
167167
For those who don't know, a module is a generalisation of a vector space, where
168168
elements of a matrix are not selected from a field (such as the rationals, or
169169
element of a finite field $\mathbb{F}\_{p^k}$), but rather in a ring (we do not
170-
require each element in a ring to have a multiplicative inverse). The ring in question for Kyber/ML-KEM is a polynomial ring where polynomials have coefficents in $\mathbb{F}\_{q}$ with $q = 3329$ and the polynomial ring has a modulus $X^n + 1$ with $n = 256$ (and so every element of the polynomial ring has at most 256 coefficients).
170+
require each element in a ring to have a multiplicative inverse). The ring in question for Kyber/ML-KEM is a polynomial ring where polynomials have coefficients in $\mathbb{F}\_{q}$ with $q = 3329$ and the polynomial ring has a modulus $X^n + 1$ with $n = 256$ (and so every element of the polynomial ring has at most 256 coefficients).
171171

172172
### Polynomials
173173

174-
To help with experimenting with these polynomial rings themselves, the file [`polynomials_generic.py`](polynomials/polynomials_generic.py) has an implementation of the univariate polynomial ring
174+
To help with experimenting with these polynomial rings themselves, the file [`polynomials_generic.py`](src/kyber_py/polynomials/polynomials_generic.py) has an implementation of the univariate polynomial ring
175175

176176
$$
177177
R_q = \mathbb{F}_q[X] /(X^n + 1)
@@ -245,8 +245,8 @@ specification for more information.
245245
### Modules
246246

247247
Building on `polynomials_generic.py` we also include a file
248-
[`modules_generic.py`](modules/modules_generic.py) which has all of the
249-
functions needed to perform linear algebra given a ring.
248+
[`modules_generic.py`](src/kyber_py/modules/modules_generic.py) which has all of
249+
the functions needed to perform linear algebra given a ring.
250250

251251
Note that `Matrix` allows elements of the module to be of size $m \times n$ but
252252
for Kyber, we only need vectors of length $k$ and square matrices of size $k

0 commit comments

Comments
 (0)