Commit Graph

909 Commits

Author SHA1 Message Date
Tony Arcieri 24179cc34c Add proptests for Signature encoding
Ensures encoded signatures can be round tripped successfully, i.e.
encoded and then decoded again without errors or panics.
2025-02-12 11:53:23 -07:00
Arthur Gautier e7c698a094 ml-dsa: support for encoding PKCS#8 private keys (#892) 2025-01-25 19:15:34 -07:00
Arthur Gautier f7e7312d94 ml-dsa: implement initial pkcs8/spki traits (#891) 2025-01-25 10:30:30 -07:00
Tony Arcieri ba7f5e43b3 ml-dsa: remove std feature (#893)
It doesn't appear this feature actually does anything except
transitively activate the `sha3/std` feature, which we likely plan on
removing in the next breaking release.

Now that `core::error::Error` is stable, we are generally trying to
remove `std` features across the @RustCrypto project, except in cases
where libraries do things like e.g. file I/O (for loading/saving keys)
and actually have a legitimate `std` dependency that way.
2025-01-24 14:16:42 -07:00
Arthur Gautier e5a732d8a8 ed25519: implement SignatureBitStringEncoding support (#889) 2025-01-23 14:22:17 -07:00
Tony Arcieri 753cfcf006 ml-dsa: note crate implements FIPS 204 (final) (#886)
- Corrects dated references to the draft
- Also fixes the MSRV badge in README.md
2025-01-19 17:24:49 -07:00
Tony Arcieri 802245c800 ml-dsa v0.1.0-pre.0 (#885) ml-dsa/v0.1.0-pre.0 2025-01-19 17:01:28 -07:00
Dan Cline 8c15d0e7b9 ecdsa: impl recoverable RandomizedPrehashSigner for SigningKey (#878) 2025-01-19 14:13:52 -07:00
Mirek Sedzinski 40649077c2 dsa: gate signing under hazmat feature (#859)
Resolves #858
2025-01-19 14:12:56 -07:00
Arthur Gautier e658b9686b slh-dsa: adds pkcs8 support (#867) 2025-01-19 14:11:43 -07:00
Tony Arcieri c9eabf70e4 CI: fix security audit (#884)
Busts the cache key so we use a newer version of `cargo-audit`
2025-01-19 14:11:24 -07:00
Richard Barnes 1d3a1d1945 Add support for ML-DSA (#877) 2025-01-19 14:00:26 -07:00
Tony Arcieri 9265f5c2b6 slh-dsa: fix lint (#879)
The build is failing because of a lint failure due to an undocumented
macro which is only used for tests.

This adds a simple comment so the lint succeeds.
2024-12-10 08:28:20 -07:00
David Wood dff009f5a4 lms: fix size of otstype (#875)
`otstype` is converted as a `u32` below, panics if it is `ID_LEN` (16) bytes long.

With this change, the `SigningKey` can be correctly converted to bytes and back.
2024-12-09 17:13:19 -07:00
Tony Arcieri 85c984bcc9 slh-dsa: ensure no_std compatibility in CI (#876) 2024-11-12 14:18:20 -07:00
Jon Wallace 8f93676ea0 slh-dsa: remove allocations (#860) 2024-10-20 08:50:24 -06:00
Tony Arcieri f46f4a32ac ecdsa: simplify serde feature (#874)
To get `serde` support for `VerifyingKey`, confusingly the `pem` feature
previously needed to be enabled (even though PEM is not actually used).

This changed the `serde` feature to auto-enable `pkcs8`, similar to
what was done in the `elliptic-curve` crate.
2024-10-18 10:17:06 -06:00
Tony Arcieri 5109516d21 dsa v0.7.0-pre.1 (#873) dsa/v0.7.0-pre.1 2024-10-15 15:01:16 -06:00
Tony Arcieri 55abb77c88 dsa: loosen pkcs8 pre-release dependency (#872) 2024-10-15 14:46:16 -06:00
Arthur Gautier 4aead4b464 workspace: limit duplicate dependencies (#871)
This makes use of a global `patch.crates-io` instead of local `path =`
attributes in the dependencies.

When pulling dependencies through git to try unreleased crates, the
dependency in `path` will get duplicated. Which makes for twice the
definition of types incompatible with each other.
2024-10-15 11:01:58 -06: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 5c33bd5432 slh-dsa: use pre-release versions (#866) 2024-09-30 13:31:17 -06:00
Arthur Gautier 87a6da8435 lms: convert to hybrid-array (#865) 2024-09-30 13:12:00 -06:00
Tony Arcieri e87f60d47c ecdsa v0.17.0-pre.9 (#863) ecdsa/v0.17.0-pre.9 2024-09-20 13:17:37 -06:00
Tony Arcieri 6d6629d7d2 ecdsa: bump elliptic-curve to v0.14.0-rc.1 (#862)
Also removes the `=` requirement so bumps like this are unnecessary
2024-09-20 13:06:05 -06:00
Tony Arcieri 07d6fff391 ecdsa v0.17.0-pre.8 (#861) ecdsa/v0.17.0-pre.8 2024-09-19 21:04:37 -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 25e14015c9 workspace: move back to traits.git/master (#856)
Now https://github.com/RustCrypto/traits/pull/1650 merged the branch
has been removed.
2024-09-05 17:35:19 -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
Tony Arcieri 0133af9266 README.md(s): use img.shields.io crate version badges 2024-09-04 19:48:24 -06:00
erdnaxe 9d92fd875e slh-dsa: fix --no-default-features tests (#853) 2024-09-04 07:10:42 -06:00
Tony Arcieri 132b046314 ecdsa: add IEEE P1363 reference (#850) 2024-08-18 15:08:41 -06:00
Tony Arcieri ba562ac3a8 README.md: update rfc6979 description 2024-08-18 13:09:55 -06:00
Tony Arcieri 81526ad2de slh-dsa v0.1.0 (#849) slh-dsa/v0.1.0 2024-08-18 13:08:37 -06:00
Tjaden Hess cf34cd2ffd Implement changes from FIP 205 Initial Public Draft -> FIPS 205 Final (#844)
- Implement changes from FIP 205 Initial Public Draft -> FIPS 205 Final
- Add SLH-DSA CVP known answer tests
- Add E2E tests for sign-with-context and require alloc for KATs
2024-08-18 12:56:36 -06:00
Tony Arcieri fe6176a0ec ecdsa: unpin der and spki dependencies (#848)
Removes the leading `=` requirement from these dependencies, since
they're both `rc.0`
2024-08-18 12:54:52 -06:00
Tony Arcieri 301248fc29 slh-dsa: enable derive feature of zerocopy (#847)
...rather than directly depending on `zerocopy-derive`.

This fixes problems that arise if the `derive` feature is enabled by
other dependencies in the same tree. See #846.
2024-08-16 09:58:52 -06:00
erdnaxe 8cdbcb77eb slh-dsa: fix no_std (#845) 2024-08-16 08:26:42 -06:00
Tony Arcieri dccd5aaaad ed25519 v2.3.0-pre.0 (#842) ed25519/v2.3.0-pre.0 2024-07-28 10:17:38 -06:00
Tony Arcieri 6d60ba04f9 dsa v0.7.0-pre.0 (#841) dsa/v0.7.0-pre.0 2024-07-27 19:44:48 -06:00
Tony Arcieri 1cf55b3bf4 ecdsa v0.17.0-pre.7 (#840) ecdsa/v0.17.0-pre.7 2024-07-26 21:16:17 -06:00
Tony Arcieri 4d35f35bcb ecdsa: fix deprecation warnings (#839) 2024-07-26 21:12:25 -06:00
Tony Arcieri 5c37c80a17 ecdsa v0.17.0-pre.6 (#838) ecdsa/v0.17.0-pre.6 2024-07-26 19:20:30 -06:00
Tony Arcieri 0647240ea8 rfc6979 v0.5.0-pre.4 (#837) 2024-07-26 19:06:33 -06:00
Tony Arcieri 0247d63bde Use new prerelease/release candidate dependencies (#836)
Bumps the following:

- `der` v0.8.0-rc.0
- `digest` v0.11.0-pre.9
- `elliptic-curve` v0.14.0-pre.6
- `pkcs8` v0.11.0-rc.0
- `sha2` v0.11.0-pre.4
- `signature` v2.3.0-pre.4
- `spki` v0.8.0-rc.0
2024-07-26 18:56:22 -06:00
Tony Arcieri 9566f5eb71 Bump hybrid-array to v0.2.0-pre.9 (#835)
Fixes deprecation warnings
2024-07-26 18:45:43 -06:00
Tony Arcieri 44f6c0bdad ed448: fix build (#834)
The crate doesn't currently have a `zeroize` feature but has code gated
under it.

This removes the code in question to fix the build until such a time as
a proper `zeroize` feature can be added.
2024-07-26 07:04:06 -06:00
xjd 73a8922480 ecdsa: optimize trial_recovery_from_prehash using recover_from_prehash_noverify (#832)
verifying the public key on each attempt is unnecessary. Just verify
once.
2024-07-25 07:20:02 -06:00
Tony Arcieri 0a4a46058a README.md: improve descriptions 2024-07-23 10:21:40 -06:00