Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
6b2e413
fix: remove double negation
Al-Kindi-0 Dec 25, 2025
a5a8371
feat: integrate FLR-based signing implementation
Al-Kindi-0 Dec 25, 2025
8196802
ported sampler is 1-to-1 compatible with legacy
Al-Kindi-0 Dec 26, 2025
63e93a9
ported key gen is 1-to-1 consistent with fn-dsa-kgen
Al-Kindi-0 Dec 26, 2025
9df4df8
added keygen method based on fn-dsa-kgen and is 1-to-1 compatible
Al-Kindi-0 Dec 26, 2025
627f1ea
make flr to be the default
Al-Kindi-0 Dec 26, 2025
92dcdfb
re-org and remove legacy methods
Al-Kindi-0 Dec 26, 2025
8f9bc36
removed legacy methods and cleaned up
Al-Kindi-0 Dec 27, 2025
7784938
misc. improv
Al-Kindi-0 Dec 27, 2025
2da99e9
delegate pub key (de)serialization logic
Al-Kindi-0 Dec 27, 2025
92792a5
fix benchmarks
Al-Kindi-0 Dec 27, 2025
468e480
misc updates
Al-Kindi-0 Jan 11, 2026
f38dd00
update bench numbers
Al-Kindi-0 Jan 11, 2026
9daaacd
remove our fft implementation and use fn-dsa instead
Al-Kindi-0 Jan 14, 2026
faccd27
Restructure fn-dsa math modules
Al-Kindi-0 Jan 14, 2026
88631c0
Use fn-dsa-kgen for keygen and drop vendored NTRU
Al-Kindi-0 Jan 14, 2026
2d0d84e
Fix fn-dsa FLR imports and drop unused deps
Al-Kindi-0 Jan 14, 2026
8a1b85f
fix ci
Al-Kindi-0 Jan 14, 2026
aadfa56
fix ci 2
Al-Kindi-0 Jan 14, 2026
6f87006
address feedback
Al-Kindi-0 Jan 14, 2026
4cd015c
address feedback
Al-Kindi-0 Jan 15, 2026
c6f6cdc
Merge origin/next into al-falcon-fn-dsa
Al-Kindi-0 Jan 15, 2026
8d142f3
update deterministic signature
Al-Kindi-0 Jan 15, 2026
7c431b9
Simplify fn-dsa FLR module
Al-Kindi-0 Jan 15, 2026
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
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
## 0.21.0 (TBD)
## 0.22.0 (TBD)

- Switched Falcon512 implementation to use `fn-dsa` crate ([#774](https://github.com/0xMiden/crypto/pull/774)).

## 0.21.0 (2026-01-14)

Expand Down
37 changes: 36 additions & 1 deletion Cargo.lock

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

1 change: 1 addition & 0 deletions deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ allow = [
"CC0-1.0",
"MIT",
"Unicode-3.0",
"Unlicense",
"Zlib",
]
exceptions = []
Expand Down
37 changes: 36 additions & 1 deletion miden-crypto-fuzz/Cargo.lock

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

5 changes: 3 additions & 2 deletions miden-crypto/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,15 @@ chacha20poly1305 = { features = ["alloc", "stream"], version = "0.1
clap = { features = ["derive"], optional = true, version = "4.5" }
curve25519-dalek = { default-features = false, version = "4" }
ed25519-dalek = { features = ["zeroize"], version = "2" }
flume = { version = "0.11.1" }
flume = { version = "0.11" }
fn-dsa-comm = { default-features = false, version = "0.3" }
fn-dsa-kgen = { default-features = false, version = "0.3" }
hashbrown = { features = ["serde"], optional = true, version = "0.16" }
hkdf = { default-features = false, version = "0.12" }
k256 = { features = ["ecdh", "ecdsa"], version = "0.13" }
miden-crypto-derive.workspace = true
miden-serde-utils.workspace = true
num = { default-features = false, features = ["alloc", "libm"], version = "0.4" }
num-complex = { default-features = false, version = "0.4" }
proptest = { default-features = false, features = ["alloc"], optional = true, version = "1.7" }
rand = { default-features = false, version = "0.9" }
rand-utils = { optional = true, package = "winter-rand-utils", version = "0.13" }
Expand Down
6 changes: 3 additions & 3 deletions miden-crypto/benches/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,21 +66,21 @@ For each algorithm, we benchmark three core operations:

| Hardware | Key Generation | Signing | Verification |
| ------------------- | :------------: | :-----: | :----------: |
| Apple M4 | 240 ms | 6.9 ms | 2.07 ms |
| Apple M4 | 3.05 ms | 335 µs | 183 µs |

#### ECDSA over secp256k1 (Keccak256)

| Hardware | Key Generation | Signing | Verification |
| ------------------- | :------------: | :-----: | :----------: |
| AMD Ryzen 9 9950X | 32.2 µs | 264 µs | 492 µs |
| Apple M4 | 24.4 µs | 258 µs | 390 µs |
| Apple M4 | 24.9 µs | 26.2 µs | 38.8 µs |

#### EdDSA over Ed25519

| Hardware | Key Generation | Signing | Verification |
| ------------------- | :------------: | :-----: | :----------: |
| AMD Ryzen 9 9950X | 8.7 µs | 90.8 µs | 177 µs |
| Apple M4 | 8.2 µs | 86.6 µs | 185.6 µs |
| Apple M4 | 8.33 µs | 8.77 µs | 18.4 µs |

### Sparse Merkle Tree

Expand Down
Loading
Loading