You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-20Lines changed: 20 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@
9
9
> [!CAUTION]
10
10
> :warning:**Under no circumstances should this be used for cryptographic
11
11
applications.**:warning:
12
-
>
12
+
>
13
13
> This is an educational resource and has not been designed to be secure
14
14
> against any form of side-channel attack. The intended use of this project
15
15
> is for learning and experimenting with ML-KEM and Kyber
@@ -26,7 +26,7 @@ from the NIST post-quantum cryptography project.
26
26
**Note**: This project accompanies
27
27
[`dilithium-py`](https://github.com/GiacomoPope/dilithium-py) which is a
28
28
pure-python implementation of ML-DSA and CRYSTALS-Dilithium and shares a lot of
29
-
the lower-level code of this implementation.
29
+
the lower-level code of this implementation.
30
30
31
31
## Disclaimer
32
32
@@ -82,7 +82,7 @@ the
82
82
83
83
Originally this project was planned to have zero dependencies, however to make this work
84
84
pass the KATs, we needed a deterministic CSRNG. The reference implementation uses
85
-
AES256 CTR DRBG. I have implemented this in [`aes256_ctr_drbg.py`](src/kyber_py/drbg/aes256_ctr_drbg.py).
85
+
AES256 CTR DRBG. I have implemented this in [`aes256_ctr_drbg.py`](src/kyber_py/drbg/aes256_ctr_drbg.py).
86
86
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.
87
87
88
88
To install dependencies, run `pip -r install requirements`.
@@ -206,7 +206,7 @@ require each element in a ring to have a multiplicative inverse). The ring in qu
206
206
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
207
207
208
208
$$
209
-
R_q = \mathbb{F}_q[X] /(X^n + 1)
209
+
R_q = \mathbb{F}_q[X] /(X^n + 1)
210
210
$$
211
211
212
212
where the user can select any $q, n$. For example, you can create the
@@ -215,8 +215,8 @@ ring $R_{11} = \mathbb{F}_{11}[X] /(X^8 + 1)$ in the following way:
0 commit comments