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.
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`.
Note that neither crate has been audited by a third party, and that
there may potentially be timing variabilities or other sidechannels in
the implementations.
Splits out the RFC6979 deterministic nonce generation so it can
(eventually) be used for DSA as well as ECDSA.
The implementation is generic over a `Digest` as well as a `UInt` type
as defined by `crypto-bigint`.
It's also `no_std` friendly and avoids making heap allocations.
The `elliptic-curve` crate as well as format parsers including `der`,
`sec1`, and `pkcs8` have all been bumped to the 2021 edition:
https://github.com/RustCrypto/traits/pull/795
This commit updates the `ecdsa` crate to the 2021 edition accordingly.
Bumps the following crate dependencies, which all now depend on
`generic-array` v0.14:
- `elliptic-curve` v0.4.0
- `k256` v0.3.0
- `p256` v0.3.0
- `p384` v0.2.0
Also re-exports `generic-array` from the `elliptic-curve` crate rather
than depending on it directly, which simplifies upgrades.