Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for ML-DSA #877

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a6c62ec
First pass at ML-DSA
bifurcation Nov 9, 2024
0d1b564
Add NIST ACVP test vectors and fix bugs
bifurcation Nov 15, 2024
ef92d97
Add unit tests for bit packing
bifurcation Nov 15, 2024
04db16d
Stub in signing and verification
bifurcation Nov 16, 2024
9cab801
Make the hashing API more fluid
bifurcation Nov 16, 2024
43b2e53
Fill in TODOs
bifurcation Nov 17, 2024
6d5d48a
Add hint encoding / decoding
bifurcation Nov 17, 2024
5d10130
Restore parameter sets, using local fork of hybrid-array
bifurcation Nov 17, 2024
d5894ac
Add signature encoding
bifurcation Nov 17, 2024
d02253a
Add all the necessary serialization and deserialization routines
bifurcation Nov 17, 2024
d4e5de2
Add round-trip test and start on ACVP signature generation tests
bifurcation Nov 18, 2024
1a9b5d3
Fix definition of Q
bifurcation Nov 19, 2024
079f667
Add signature verification tests (also failing)
bifurcation Nov 19, 2024
8267eef
Pass signature generation tests
bifurcation Nov 20, 2024
2bd9076
Pass signature verification tests
bifurcation Nov 29, 2024
487a7ce
Precompute some values as part of key generation / decoding
bifurcation Nov 29, 2024
331ef36
Cleanup
bifurcation Nov 29, 2024
c4733f4
Move NTT logic to a separate module
bifurcation Dec 1, 2024
070b350
Move sampling logic to a separate module
bifurcation Dec 1, 2024
fd9d0d9
Checkpoint
bifurcation Dec 2, 2024
a94ef2b
Move reusable linear algebra to a module
bifurcation Dec 3, 2024
da1c8e5
Move encoding to module-lattice module
bifurcation Dec 3, 2024
8276864
Remove one use of %
bifurcation Dec 3, 2024
3061383
Remove 'as' conversions except in const and test contexts
bifurcation Dec 3, 2024
7d347c0
Make struct names a bit shorter
bifurcation Dec 4, 2024
6d88434
Implement interfaces from the signature crate
bifurcation Dec 5, 2024
897c60c
Pass deterministic signing tests
bifurcation Dec 5, 2024
da1f36c
Split out module-lattice module into individual files
bifurcation Dec 5, 2024
0287f93
Remove stray ML-KEM test vector file
bifurcation Dec 5, 2024
8d8ca70
Add benchmarks
bifurcation Dec 5, 2024
ff975f2
Clear clippy warnings
bifurcation Dec 5, 2024
f2d051d
Add an example to the documentation
bifurcation Dec 5, 2024
81b8ad1
Use new version of hybrid-array
bifurcation Dec 8, 2024
a43fc88
Upgrade MSRV
bifurcation Dec 8, 2024
5326915
Clean up rand_core feature
bifurcation Dec 9, 2024
741f04b
Make tests deterministic
bifurcation Dec 9, 2024
9af7d51
Clippy
bifurcation Dec 9, 2024
7663d0b
Add zeroization to private values
bifurcation Dec 9, 2024
736e5e1
Merge branch 'master' into ml-dsa
bifurcation Dec 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ml-dsa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
strategy:
matrix:
rust:
- 1.75.0 # MSRV
- 1.81.0 # MSRV
- stable
steps:
- uses: actions/checkout@v4
Expand Down
149 changes: 111 additions & 38 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading