61 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 78c2b75436 ed448 v0.5.0 (#1335) 2026-05-06 11:30:51 -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 3f353f90ea ed448: use serdect for serde support (#1333)
Like #1324 did for `ed25519`, this uses the `serdect` crate for the
`serde` implementation, which is a breaking change.

See comments in #1324 for more information.
2026-05-06 10:43:42 -06:00
Tony Arcieri e0d47990aa Update copyright year to 2026 (#1322) 2026-05-02 18:10:44 -06:00
Tony Arcieri 088a4fe7a4 Bump signature dependency to v3 (#1321)
Release PR: RustCrypto/traits#2400
2026-05-02 15:16:18 -06:00
Onyeka Obi 826baa3682 Implement Hash on non-secret Signature and VerifyingKey types (#1309)
Per #1229: Signature and public-key types lack `Hash`, which prevents
use in `HashMap` / `HashSet` keys and similar collections.

- ecdsa: Signature, DER Signature, SignatureWithOid
- ed25519: Signature, pkcs8::PublicKeyBytes
- ed448: Signature, pkcs8::PublicKeyBytes
- ml-dsa: Signature, VerifyingKey
- slh-dsa: Signature, VerifyingKey

Where a trivial derive works (ed25519, ed448), uses derive. Where
generic bounds or upstream gaps require it, uses a manual impl over
the canonical serialized bytes (`to_bytes` / `encode` / `as_bytes`),
which is the natural Hash domain for these types anyway.

Closes #1229
2026-05-01 16:17:15 -06:00
Tony Arcieri 58bae19939 Cut new prereleases (#1319)
Releases the following, which all now depend either directly or
transitively on `pkcs8` v0.11 (which had breaking changes in the final
release)

- `dsa` v0.7.0-rc.15
- `ecdsa` v0.17.0-rc.18
- `ed25519` v3.0.0-rc.5
- `ed448` v0.5.0-rc.6
- `ml-dsa` v0.1.0-rc.9
- `slh-dsa` v0.2.0-rc.5
- `xmss` v0.1.0-pre.1
2026-04-28 10:08:48 -06:00
Tony Arcieri 86c035a74f Bump pkcs8 dependency to v0.11 (#1316)
Release PR: RustCrypto/formats#2314
2026-04-28 08:32:20 -06:00
Tony Arcieri d8b1875a9f Bump pkcs8 to v0.11.0-rc.12 (#1312) 2026-04-27 13:07:45 -06:00
Tony Arcieri cdc95068ae Bump pkcs8 to v0.11.0-rc.11 (#1270) 2026-03-26 13:17:39 -06: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 942de7faa6 Cut new releases (#1188)
Releases new versions of everything except `dsa` and `ecdsa` (since we
previously released those) which include the `rand_core` v0.10.0-rc-6
upgrade (as well as the associated `signature` v3.0.0-rc.9 release).

The `ml-dsa` crate contains a fix for #1176.

Releases the following:
- `ed25519` v3.0.0-rc.3
- `ed448` v0.5.0-rc.3
- `lms-signature` v0.1.0-rc.1
- `ml-dsa` v0.1.0-rc.4
- `rfc6979` v0.5.0-rc.4
- `slh-dsa` v0.2.0-rc.3
2026-01-27 14:34:22 -07:00
Tony Arcieri c147ef027f Bump dependencies (#1182)
Updates the following dependency requirements:
- `cipher` v0.5.0-rc.6
- `digest` v0.11.0-rc.9
- `hmac` v0.13.0-rc.4
- `signature` v3.0.0-rc.9
- `pkcs8` v0.11.0-rc.10
- `sha2` v0.11.0-rc.4
- `sha3` v0.11.0-rc.6
2026-01-26 09:41:25 -07:00
Tony Arcieri c13a0d808f Upgrade dependencies (#1163)
- `digest` v0.11.0-rc.7
- `elliptic-curve` v0.14.0-rc.23
- `signature` v3.0.0-rc.8
2026-01-20 12:14:02 -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 e6adddcdd3 ed25519+ed448: remove bincode dev-dependency (#1120)
`bincode` is unmaintained. See https://crates.io/crates/bincode/3.0.0
2025-12-18 10:27:18 -07:00
Tony Arcieri 01dc99de05 ed25519 v3.0.0-rc.2 and ed448 v0.5.0-rc.2 (#1102) 2025-11-06 14:05:07 -07:00
Tony Arcieri 29d50476b4 Bump pkcs8 to v0.11.0-rc.8 (#1101) 2025-11-06 13:36:33 -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 fd12ac06c1 Switch from doc_auto_cfg to doc_cfg (#1085)
See RustCrypto/traits#2028
2025-10-20 14:50:31 -06:00
Tom French 21e60bad04 chore: apply unreachable_pub lint (#1062) 2025-10-16 12:22:45 -06:00
Tony Arcieri c4ae371c05 New .rc prereleases (#1072)
- `dsa` v0.7.0-rc.6
- `ecdsa` v0.17.0-rc.7
- `ed25519` v3.0.0-rc.1
- `ed448` v0.5.0-rc.1
- `lms-signature` v0.1.0-rc.0
- `ml-dsa` v0.1.0-rc.0
- `slh-dsa` v0.2.0-rc.0
2025-09-13 09:02:13 -06:00
Tony Arcieri 7ec5b90af9 Bump signature to v3.0.0-rc.4 (#1069) 2025-09-12 20:31:46 -06:00
Steve Fan b439a650d5 ed448: impl SignatureEncoding for Signature (#1063) 2025-09-12 08:46:59 -06:00
Tony Arcieri 51dd7d8a71 ed448 v0.5.0-rc.0 (#1057) 2025-09-03 16:21:16 -06:00
Tony Arcieri 536d926d35 README.md(s): https links 2025-09-03 15:39:16 -06:00
Tony Arcieri 0fb27a7966 ed*: boilerplate fixups (#1055)
- README.md: add "signatures" to headline
- Tune up docs.rs configs
2025-09-03 15:35:07 -06:00
Tony Arcieri 89cc97982e Bump pkcs8 to v0.11.0-rc.6 (#1017) 2025-07-16 08:34:32 -06:00
Tony Arcieri 7359233da9 Bump signature to v3.0.0-rc.2 (#1016) 2025-07-16 08:21:11 -06:00
dishmaker c84a3c411e all: test: apply cargo clippy fixes (#966)
* dsa+ecdsa+ed25519+ed448+ml-dsa: apply cargo clippy fixes
* ml-dsa: test: allow `clippy::integer_division_remainder_used`
2025-06-14 12:38:13 -06:00
dishmaker b2229bd404 apply nightly clippy fixes (2025-05-12) (#967) 2025-06-14 12:37:28 -06:00
Tony Arcieri dbb8c0fa5f ed448/README.md: add Rust logo to crates.io badge 2025-06-06 10:33:09 -06:00
Tony Arcieri 4babc06bed ed448 v0.5.0-pre.0 (#993) 2025-06-06 07:50:55 -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
Arthur Gautier 80a0276c6f ed448: implement AssociatedAlgorithmIdentifier for Signature (#986)
See <https://datatracker.ietf.org/doc/html/rfc8410#section-3>
2025-06-05 09:25:40 -06:00
Arthur Gautier 479bcef39a ed25519,ed448: remove std features (#985) 2025-06-05 09:24:53 -06:00
Arthur Gautier 1fb2f88221 ed448: do not pull std (#984) 2025-06-03 17:46:50 -06:00
Arthur Gautier ffc1ffe3c3 ed448: make ComponentBytes an array (#983) 2025-06-03 12:57:22 -06:00
Tony Arcieri 26b2889438 Bump digest dependency to v0.11.0-rc.0 (#973)
Also bumps:
- `elliptic-curve` v0.14.0-rc.2
- `signature` v3.0.0-rc.0
2025-05-29 10:16:43 -06:00
Arthur Gautier a10c3f6756 signature does not carry the std feature anymore (#946) 2025-04-29 14:38:25 -06:00
Arthur Gautier 8e6bb26c26 ecdsa: use blanket impl from signature 3 (#945)
- Renames `DigestPrimitive` to `DigestAlgorithm`
- `DigestAlgorithm` now exported from crate root instead of `hazmat`
2025-04-23 10:58:24 -06:00
Arthur Gautier a83c494216 chore(deps): bump signature from 2.3.0-pre.6 to 2.3.0-pre.7 (#943) 2025-04-21 16:48:12 -06:00
Arthur Gautier 0e69f92b56 Upgrade all crates to the 2024 edition and bump MSRV to 1.85 (#913) 2025-02-28 20:12:00 -05:00
Arthur Gautier c0ab70c4e7 build(deps): bump const-oid from 0.10.0-rc.1 to 0.10.0-rc.1; bump MSRV to 1.81 (#868) 2024-10-02 11:06:46 -06:00
Arthur Gautier 839cbdabfe bump pkcs8 dependency after breaking change (#857)
This bump the following dependencies:
 - pkcs8 0.11.0-rc.0 -> 0.11.0-rc.1
 - elliptic-curve 0.14.0-pre.6 -> 0.14.0-rc.0

This is a followup on breaking changes made on pkcs8
(https://github.com/RustCrypto/formats/pull/1483).
2024-09-06 11:48:53 -06:00
Arthur Gautier cf81fb325c ecdsa,dsa,ed25519,ed448: pkcs8 API changes (#851)
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
2024-09-05 16:00:43 -06:00
Arthur Gautier 4da24fb4eb ed448: zeroize key material (#855) 2024-09-05 15:59:08 -06:00