64 Commits

Author SHA1 Message Date
Tony Arcieri a8c7206efe rfc6979 v0.6.0-pre.0 (#1373)
The changes in #1360 were breaking, so this release bumps the minor
version.

It might be possible to get some additional breaking changes in as well,
if we can land RustCrypto/crypto-bigint#1266.
2026-06-06 13:00:38 -06:00
Arthur Gautier 43d9831ccf rfc6979: allow the use of non-block_api-backed hashes (#1360)
Never mind, I'll take care of it
2026-06-06 09:58:40 -06:00
Tony Arcieri ad600420a1 rfc6979: migrate from subtle to ctutils (#1352)
The usage is an internal implementation detail, so this is not a
breaking change.

See also: RustCrypto/meta#29
2026-05-10 16:43:34 -06:00
Tony Arcieri ebe040ee89 rfc6979 v0.5.0 (#1337) 2026-05-06 12:55:52 -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 e0d47990aa Update copyright year to 2026 (#1322) 2026-05-02 18:10:44 -06:00
Tony Arcieri d73c1e2ecb Bump hmac to v0.13 (#1274)
Release PR: RustCrypto/MACs#263
2026-03-29 17:48:15 -06:00
Tony Arcieri abb0c54f39 Bump sha2 dependency to v0.11 (#1267)
Release PR: RustCrypto/hashes#806
2026-03-25 12:44:11 -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 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 293c7d99f7 rfc6979 v0.5.0-rc.3 (#1100) 2025-11-06 07:59:00 -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 fe23a8cf66 rfc6979 v0.5.0-rc.2 (#1089) 2025-10-22 12:28:54 -06:00
Tom French 21e60bad04 chore: apply unreachable_pub lint (#1062) 2025-10-16 12:22:45 -06:00
daxpedda 0e4a329998 Update to digest::EagerHash (#1077)
ecdsa: merges `arithmetic` into `algorithm` crate feature
2025-09-18 09:25:25 -06:00
daxpedda 580758e3e7 rfc6979: replace Digest requirement with EagerHash (#1076) 2025-09-15 16:34:49 -06:00
Tony Arcieri 536d926d35 README.md(s): https links 2025-09-03 15:39:16 -06:00
Tony Arcieri 6375b4dbba Cut prereleases with hybrid-array v0.4 support (#1052)
Releases the following:
- `dsa` v0.7.0-rc.5
- `ecdsa` v0.17.0-rc.6
- `rfc6979` v0.5.0-rc.1
2025-09-02 22:18:53 -06:00
dishmaker b2229bd404 apply nightly clippy fixes (2025-05-12) (#967) 2025-06-14 12:37:28 -06:00
Tony Arcieri d0f9665b50 README.md(s): crates.io badge logo 2025-05-30 20:45:49 -06:00
Tony Arcieri af3688602f rfc6979 v0.5.0-rc.0 (#974) 2025-05-29 10:32: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 132a6b1b38 chore(deps): bump digest git pin (#971) 2025-05-27 12:13:58 -06:00
Arthur Gautier 06b9cc91f2 remove git dependency on hashes and hmac (#923) 2025-03-09 11:08: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 87a6da8435 lms: convert to hybrid-array (#865) 2024-09-30 13:12:00 -06:00
Tony Arcieri 0133af9266 README.md(s): use img.shields.io crate version badges 2024-09-04 19:48:24 -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
Luca Bruno 9f337917a8 cargo: point repository metadata to clonable URLs (#829)
This tweaks the `repository` fields in Cargo metadata in order to use the correct (i.e. git clonable) URL.
The existing GitHub webUI URLs for each package have been retained and moved to `homepage` fields.
2024-06-10 07:48:08 -06:00
Thomas Coratger 11ea638090 A few optimizations on RFC6979 generate_k_mut (#810) 2024-03-15 07:16:24 -06:00
Tony Arcieri 3e229ed991 rfc6979 v0.5.0-pre.3 (#803) 2024-02-01 17:01:06 -07:00
Tony Arcieri a2c44242be Bump digest, elliptic-curve, and signature (#802)
Bumps the following dependencies:
- `digest` v0.11.0-pre.8
- `elliptic-curve` v0.14.0-pre.4
- `signature` v2.3.0-pre.3
2024-02-01 16:55:55 -07:00
Tony Arcieri fa7eb4bc2f rfc6979: restore generate_k_mut (#795)
Restores a version of `generate_k` which operates over byte slices as
opposed to fixed-size `Array`s.

Useful for implementing `dsa`.
2024-01-18 13:03:35 -07:00
Tony Arcieri 1c8963a5a2 rfc6979 v0.5.0-pre.2 (#788) 2024-01-17 12:23:29 -07:00
Tony Arcieri 4a94edb56a Bump digest, elliptic-curve, and signature; MSRV 1.72 (#785)
Bumps the following dependencies:
- `digest` v0.11.0-pre.7
- `elliptic-curve` v0.14.0-pre.3
- `signature` v2.3.0-pre.2
2024-01-17 10:07:35 -07:00
Tony Arcieri 55e4450a65 rfc6979: add P-521 + SHA-512 test vectors (#775)
These now work after #781
2024-01-16 21:30:51 -07:00
Tony Arcieri f6426cfb13 rfc6979: add K-163 test vector; fix nonaligned use (#781)
RFC6979 Appendix A.1. provides a "Detailed Example" which exercises
several edge cases in the protocol:

- `bits2int` for an input which is not byte-aligned
- Rejecting inputs which exceed the modulus

This commit adds what was missing from the previous implementation which
assumed inputs were always aligned to the size of the digest output: a
constant-time right shift by the number of bits by which the modulus is
smaller than a byte-aligned value.
2024-01-16 21:25:52 -07:00
Tony Arcieri 2472e1cb7f rfc6979: add generate_k_mut; remove digest bounds (#773)
Adds an API which writes `k` into an output buffer rather than
allocating and returning it, which also accepts slices as inputs. This
makes it possible to use `rfc6979` to implement the `dsa` crate.

Also removes output size bounds on the underlying digest function, which
aren't actually relevant to the implementation at all since HMAC-DRBG
writes a variable-sized amount of output. This makes it possible to use
`rfc6979` + `ecdsa` in conjunction with `p521`, which has unusually
sized scalars (66-bytes) which don't match the output size of the
underlying digest function (SHA-512, which has a 64-byte output).
2024-01-16 09:57:05 -07:00
Tony Arcieri 1e5e29cc50 Bump elliptic-curve and signature dependencies (#769)
As well as bumping `hybrid-array` to v0.2.0-rc.0 and `digest` to
v0.11.0-pre.4.

Also cuts `ecdsa` v0.17.0-pre.1 and `rfc6979` v0.5.0-pre.1
2024-01-10 13:34:47 -07:00
Tony Arcieri d7b08e0711 rfc6979 v0.5.0-pre.0 (#766) 2024-01-09 13:22:27 -07:00
Tony Arcieri 4ee30f578e Bump signature to v2.3.0-pre.0; MSRV 1.71 (#765)
For `ecdsa` crate: MSRV is 1.73 due to a bump of `elliptic-curve` to
v0.14.0-pre.0.

This commit begins the next round of breaking changes and bumps all
crates to prerelease versions.

The main change in `signature` is an upgrade of the `digest` crate to
v0.11.0-pre.3, which is what brings the new MSRV 1.71 requirement.
2024-01-09 12:07:49 -07:00
dependabot[bot] 2842eab590 build(deps): bump hex-literal from 0.3.4 to 0.4.0 (#691)
Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.0.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.0)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-03 09:09:05 -06:00
Jeff Andersen fbede9c3e2 Rename additional_data to personalization_string (#679)
Section 10.1.2.3 of SP 800-90A describes the instantiation function and shows that this argument should be called `personalization_string`. `additional_data` is something provided during bit generation, so should be provided to the `fill_bytes` function of this library.
2023-03-10 17:40:11 -07:00
Tony Arcieri 831dca9589 rfc6979 v0.4.0 (#662) 2023-02-28 13:35:23 -07:00
Tony Arcieri 0cccd6f129 rfc6979 v0.4.0-pre.0 (#649) 2023-01-31 20:56:46 -07:00
Tony Arcieri bd7dfd1e34 rfc6979: decouple from crypto-bigint (#639)
The previous approach complicates supporting ECDSA with `FieldSize`
which is different from `C::Uint::ByteSize`.

The new implementation eliminates `crypto-bigint` as a dependency and
makes the API entirely byte-oriented.

This is a simpler approach which also eliminates some previous trait
bounds on the generic ECDSA implementation.
2023-01-28 17:16:22 -07:00
Tony Arcieri 773e490a18 ecdsa: bump elliptic-curve to v0.13.0-pre; MSRV 1.61 (#631)
Sourced from git
2023-01-22 10:21:14 -07:00
Tony Arcieri a30805e162 ed25519: use namespaced features for serde_bytes; MSRV 1.60 (#628)
Since workspaces have to be bumped to MSRV 1.60 at the same time, this
also bumps the MSRV of other crates in this repo along with bumping
their version numbers to `-pre`.
2023-01-21 12:33:50 -07:00
Tony Arcieri 7a0382c844 Use doc_auto_cfg (#618)
Generate feature-dependent rustdoc automatically rather than through
manual annotations
2023-01-15 14:51:43 -07:00