123 Commits

Author SHA1 Message Date
Tony Arcieri 0c7cf02d1b ml-dsa: apply and fix workspace-level lints (#1338)
Applies the workspace-level config added in #1323 to this crate and
fixes any failures.
2026-05-07 21:14:26 -06:00
Tony Arcieri 8c849e0e2f rfc6979: apply and fix workspace-level lints (#1336)
Applies the workspace-level config added in #1323 to this crate and
fixes any failures.
2026-05-06 11:54:08 -06:00
Tony Arcieri 668b85189c ed448: apply and fix workspace-level lints (#1334)
Applies the workspace-level config added in #1323 to this crate and
fixes any failures.
2026-05-06 11:13:09 -06:00
Tony Arcieri 2d7866fa4c ed25519: configure and apply workspace-level lints (#1323)
Adds the workspace-level config from RustCrypto/utils#1411 to this
repo and applies it to `ed25519`.
2026-05-02 21:21:26 -06:00
Tony Arcieri 452633d33a ecdsa: bump elliptic-curve to v0.14.0-rc.32 (#1317)
This version requires `pkcs8` v0.11
2026-04-28 09:35:52 -06:00
Tony Arcieri f467f70447 ecdsa v0.17.0-rc.17 (#1304) 2026-04-15 13:41:21 -06:00
Tony Arcieri 6752ba4cbe ecdsa: use mul_by_generator_and_mul_add_vartime for verification (#1302)
This high-level method can plug into various strategies for efficiently
implementing `aG + bP`, including using basepoint tables, wNAF, or
linear combinations, depending on what crate features are enabled and
what curve-specific optimizations have been implemented.
2026-04-15 12:49:14 -06:00
Alexandr Kitaev 32e80942ca bign-genk: Initial implementation (#1109)
See §6.3.3 of https://apmi.bsu.by/assets/files/std/bign-spec295.pdf
2026-03-27 10:37:22 -06:00
Tony Arcieri c0b21b60ac xmss: rename from xmss-signature (#1243)
The shorter name is available
2026-03-03 10:54:59 -07:00
Michael Lodder c2a39b803b feat(xmss): Add XMSS (#1228) 2026-03-03 10:42:27 -07:00
Tony Arcieri 7d75e78f40 slh-dsa: bump rand dev-dependency to v0.10 (#1214) 2026-02-08 12:28:44 -07:00
Tony Arcieri 70986609af ml-dsa: bump module-lattice to v0.1.0-rc.1 (#1209)
Also cuts an `ml-dsa` v0.1.0-rc.7 release
2026-02-03 09:27:52 -07:00
Tony Arcieri b8fe5097b6 ml-dsa: use flattened module-lattice API (#1208)
Companion PR to RustCrypto/KEMs#244
2026-02-03 09:06:29 -07:00
Tony Arcieri a8fb994c39 Bump dependency requirements in Cargo.toml files (#1206)
Updates the following dependency requirements:
- `cipher` v0.5.0-rc.8
- `crypto-bigint` v0.7.0-rc.25
- `ctr` v0.10.0-rc.3
- `digest` v0.11.0-rc.11
- `getrandom` v0.4
- `hmac` v0.13.0-rc.5
- `sha1` v0.11.0-rc.5
- `sha2` v0.11.0-rc.5
- `sha3` v0.11.0-rc.7

This also does the following:
- `ecdsa`: `EncodedPoint` => `Sec1Point` (RustCrypto/traits#2264)
- `slh-dsa`: adds back to workspace with `rand` sourced from `git`

Releases the following:
- `dsa` v0.7.0-rc.12
- `ecdsa` v0.17.0-rc.16
- `ed25519` v0.3.0-rc.4
- `ed448` v0.5.0-rc.5
- `lms-signature` v0.1.0-rc.2
- `ml-dsa` v0.1.0-rc.6
- `rfc6979` v0.5.0-rc.5
- `slh-dsa` v0.2.0-rc.4
2026-02-02 13:10:39 -07:00
Tony Arcieri a0473fb042 Bump rand_core to v0.10.0 (#1197)
NOTE: temporarily excludes `slh-dsa` from the workspace until `rand` is
bumped because it is the only crate that depends on it

Release notes:

https://github.com/rust-random/rand_core/releases/tag/v0.10.0

Also bumps the following:
- `chacha20` v0.10.0-rc.10
- `cipher` v0.5.0-rc.7
- `crypto-bigint` v0.7.0-rc.24
- `crypto-common` v0.2.0-rc.14
- `digest` v0.11.0-rc.10
- `elliptic-curve` v0.14.0-rc.27
- `signature` v3.0.0-rc.10
2026-02-01 21:47:05 -07:00
Tony Arcieri 39c0211cdd ml-dsa: bump module-lattice to v0.1.0-rc.0 (#1192) 2026-01-30 07:52:11 -07:00
Tony Arcieri 97b956774a ml-dsa: impl MultiplyNtt trait from module-lattice (#1190)
Previously Algorithm 45: `MultiplyNTT` from FIPS 204 was implemented in
the `module-lattice` crate, but for `ml-kem` we need to plug in
Algorithm 11: `MultiplyNTTs` from FIPS 203 instead, so `module-lattice`
now defines a new `MultiplyNTT` trait that lets either crate plug in
their own algorithm that will also work with the `Mul` impls on
`NttVector` and `NttMatrix`.

This adds a temporary git dependency on `module-lattice` until it gets
another crate release.
2026-01-29 08:37:30 -07:00
Tony Arcieri e90411eb91 Bump rand to v0.10.0-rc.8 (#1177) 2026-01-26 09:02:33 -07:00
Tony Arcieri e22c4fc5a2 dsa: bump dependencies (#1173)
Upgrades the following dependency requirements:
- `digest` v0.11.0-rc.8
- `crypto-bigint` v0.7.0-rc.22
- `crypto-primes` v0.7.0-pre.8
- `getrandom` v0.4.0-rc.1
- `pkcs8` v0.11.0-rc.10
- `sha2` v0.11.0-rc.4
- `signature` v3.0.0-rc.9
2026-01-25 13:01:53 -07:00
Tony Arcieri 11d23fd07c Cargo.toml: update crypto-primes patch (#1172) 2026-01-24 19:02:39 -07:00
Tony Arcieri 66295315cf Bump rand_core to v0.10.0-rc-6 (#1170)
Renames `(Try)RngCore` => `(Try)Rng`
2026-01-24 15:30:36 -07:00
Arthur Gautier 3edd7d6dbf chore(deps): bump crypto-primes to 0.7.0-pre.7 (#1165)
Remove `patch.crates-io` on non-main branches.
2026-01-20 17:18:46 -07:00
Arthur Gautier 4b8dee598e chore(deps): bump rand_core to 0.10.0-rc-5 (#1161) 2026-01-20 11:29:27 -07:00
Tony Arcieri 73474a9ba0 ecdsa v0.17.0-rc.12 (#1143) 2026-01-08 09:56:16 -07:00
Tony Arcieri d669c66b4a ecdsa: use the crypto_common::Generate trait (#1140)
Updates that go along with RustCrypto/traits#2173, which switched the
`elliptic-curve` to use the `Generate` trait introduced in
RustCrypto/traits#2096
2026-01-06 11:23:15 -07:00
Tony Arcieri 678f46d2d1 slh-dsa: bump rand to v0.10.0-rc.6 (#1132)
Gets rid of the `git` crate dependency
2026-01-04 08:16:41 -07:00
Tony Arcieri 05b77d63b1 dsa: bump crypto-primes to v0.7.0-pre.5 (#1128) 2026-01-03 13:19:08 -07:00
Tony Arcieri 5c313bc249 ecdsa: bump elliptic-curve to v0.14.0-rc.18 (#1125) 2025-12-29 17:29:08 -07:00
Tony Arcieri 81149cc5ae Bump crypto-bigint to v0.7.0-rc.12 (#1124)
This includes a migration from `subtle` to `ctutils`
2025-12-29 09:45:05 -07:00
Tony Arcieri 6caa0f27cd Use getrandom v0.4.0-rc.0 crate release (#1123) 2025-12-28 08:39:26 -07:00
Tony Arcieri a8df31793c Bump signature dependency to v3.0.0-rc.6 (#1122)
Also bumps the `digest` crate dependency to v0.11.0-rc.5 and `rand_core`
to v0.10.0-rc-3
2025-12-27 16:15:23 -07:00
Tony Arcieri 47047d5c31 ecdsa: bump elliptic-curve to v0.14.0-rc.17 (#1110)
This notably includes a bump to `rand_core` v0.10.0-rc

Previously we were sourcing this from `git` via `patch.crates-io`
2025-11-21 18:41:38 -07:00
Tony Arcieri dfc63509b6 dsa: bump crypto-primes to v0.7.0-pre.4 (#1104) 2025-11-06 17:36:04 -07:00
Tony Arcieri d9fc3ebd3b dsa: bump crypto-bigint to v0.7.0-rc.10 (#1098)
Switches to the crate release
2025-11-05 20:49:15 -07:00
Tony Arcieri e68b77acbd Bump rand_core to v0.10.0-rc-2 (#1097)
This also accordingly bumps all of the underlying crates to versions
which (transitively) depend on the `rand`/`rand_core` v0.10 release
series
2025-11-05 17:44:01 -07:00
Tony Arcieri 7ec5b90af9 Bump signature to v3.0.0-rc.4 (#1069) 2025-09-12 20:31:46 -06:00
daxpedda 923fe6f856 Update to signature::DigestSigner/Verifier changes (#1064)
Companion PR to RustCrypto/traits#2004
2025-09-12 20:13:18 -06:00
Tony Arcieri 2cd53cf4fb ecdsa: bump elliptic-curve to v0.14.0-rc.14 (#1068) 2025-09-12 20:11:44 -06:00
Tony Arcieri 8599e52851 Bump crypto-bigint to v0.7.0-rc.5 (#1067)
* dsa: bump `crypto-bigint` to v0.7.0-rc.5
* ecdsa: rename `ScalarPrimitive` to `ScalarValue`

Companion PR to RustCrypto/traits#2008
2025-09-12 18:46:51 -06:00
Tony Arcieri 0812b94a8c ecdsa: bump elliptic-curve to v0.14.0-rc.13 (#1051) 2025-09-02 22:02:10 -06:00
Arthur Gautier cc2cac3a2f bump crypto-bigint to v0.7.0-rc.4 (#1050) 2025-09-02 21:01:30 -06:00
Tony Arcieri 137ec7935c Bump hybrid-array to v0.4 (#1047) 2025-09-01 20:24:14 -06:00
Tony Arcieri 41edbafeca ecdsa: bump elliptic-curve to v0.14.0-rc.12 (#1034) 2025-08-05 21:30:21 -06:00
Tony Arcieri e6d52c2ae0 Bump crypto-bigint to v0.7.0-pre.7 (#1022) 2025-07-19 11:12:41 -06:00
Tony Arcieri 53361b03cd dsa+ecdsa: bump dependencies (#1010)
Bumps the following:
- crypto-bigint v0.7.0-pre.6
- der v0.8.0-rc.6
- elliptic-curve v0.14.0-rc.8
- pkcs8 v0.11.0-rc.5
- sec1 v0.8.0-rc.6
- spki v0.8.0-rc.3
2025-07-03 14:56:32 -06:00
Tony Arcieri 6cc40e5c10 der error handling fixups (#1005)
Companion PR to RustCrypto/formats#1889
2025-06-21 21:36:45 -06:00
Tony Arcieri 76050fbe41 ecdsa: bump elliptic-curve to v0.14.0-rc.7 (#999) 2025-06-16 12:25:42 -06:00
Tony Arcieri 6cbef4f168 dsa: handle NonZero/Odd conversions on BoxedUint internally (#998)
Makes `BoxedUint` the one unsigned integer type in the public API,
converting to `NonZero<BoxedUint>` and `Odd<BoxedUint>` as needed.

This makes the API simpler to use for end-users, with fewer types for
them to manage.

Closes #987
2025-06-16 12:02:57 -06:00
Tony Arcieri cda011a535 ed448: drop -signature suffix from crate name (#990)
Crate name is now just `ed448`, like the Ed448 variant of EdDSA.

The elliptic curve's name is Ed448-Goldilocks (or "edwards448")
2025-06-06 07:30:32 -06:00
Tony Arcieri 6e3caccf2e Bump crypto-bigint to v0.7.0-pre.4 (#976) 2025-05-30 18:46:39 -06:00