Skip to content

Commit 774419c

Browse files
committed
ecdsa: rename DigestPrimitive to DigestAlgorithm
1 parent f9c773e commit 774419c

File tree

7 files changed

+39
-31
lines changed

7 files changed

+39
-31
lines changed

ecdsa/CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## 0.17.0 (UNRELEASED)
8+
9+
### Changed
10+
- `DigestPrimitive` was moved off of hazmat ([#945])
11+
- `DigestPrimitive` has been renamed `DigestAlgorithm` ([#945])
12+
13+
[#945]: https://github.com/RustCrypto/signatures/pull/945
14+
715
## 0.16.9 (2023-11-16)
816
### Changed
917
- Loosen `signature` bound to `2.0, <2.3` ([#756])

ecdsa/src/der.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ fn find_scalar_range(outer: &[u8], inner: &[u8]) -> Result<Range<usize>> {
385385
#[cfg(feature = "digest")]
386386
impl<C> signature::PrehashSignature for Signature<C>
387387
where
388-
C: EcdsaCurve + crate::DigestPrimitive,
388+
C: EcdsaCurve + crate::DigestAlgorithm,
389389
MaxSize<C>: ArraySize,
390390
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
391391
{

ecdsa/src/hazmat.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ use crate::{Signature, elliptic_curve::array::ArraySize};
3939
#[cfg(feature = "digest")]
4040
#[deprecated(
4141
since = "0.17.0",
42-
note = "`DigestPrimitive` is no longer in `hazmat`, please use `ecdsa::DigestPrimitive` instead"
42+
note = "`DigestAlgorithm` is no longer in `hazmat`, please use `ecdsa::DigestAlgorithm` instead"
4343
)]
44-
pub use crate::DigestPrimitive;
44+
pub use crate::DigestAlgorithm;
4545

4646
/// Partial implementation of the `bits2int` function as defined in
4747
/// [RFC6979 § 2.3.2] as well as [SEC1] § 2.3.8.

ecdsa/src/lib.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -470,12 +470,12 @@ where
470470
#[cfg(feature = "digest")]
471471
impl<C> AssociatedOid for Signature<C>
472472
where
473-
C: DigestPrimitive,
473+
C: DigestAlgorithm,
474474
C::Digest: AssociatedOid,
475475
{
476476
const OID: ObjectIdentifier = match ecdsa_oid_for_digest(C::Digest::OID) {
477477
Some(oid) => oid,
478-
None => panic!("no RFC5758 ECDSA OID defined for DigestPrimitive::Digest"),
478+
None => panic!("no RFC5758 ECDSA OID defined for DigestAlgorithm::Digest"),
479479
};
480480
}
481481

@@ -717,29 +717,29 @@ where
717717
}
718718

719719
/// NOTE: this implementation assumes the default digest for the given elliptic
720-
/// curve as defined by [`DigestPrimitive`].
720+
/// curve as defined by [`DigestAlgorithm`].
721721
///
722722
/// When working with alternative digests, you will need to use e.g.
723723
/// [`SignatureWithOid::new_with_digest`].
724724
#[cfg(feature = "digest")]
725725
impl<C> SignatureEncoding for SignatureWithOid<C>
726726
where
727-
C: DigestPrimitive,
727+
C: DigestAlgorithm,
728728
C::Digest: AssociatedOid,
729729
SignatureSize<C>: ArraySize,
730730
{
731731
type Repr = SignatureBytes<C>;
732732
}
733733

734734
/// NOTE: this implementation assumes the default digest for the given elliptic
735-
/// curve as defined by [`DigestPrimitive`].
735+
/// curve as defined by [`DigestAlgorithm`].
736736
///
737737
/// When working with alternative digests, you will need to use e.g.
738738
/// [`SignatureWithOid::new_with_digest`].
739739
#[cfg(feature = "digest")]
740740
impl<C> TryFrom<&[u8]> for SignatureWithOid<C>
741741
where
742-
C: DigestPrimitive,
742+
C: DigestAlgorithm,
743743
C::Digest: AssociatedOid,
744744
SignatureSize<C>: ArraySize,
745745
{
@@ -786,7 +786,7 @@ const fn ecdsa_oid_for_digest(digest_oid: ObjectIdentifier) -> Option<ObjectIden
786786
///
787787
/// [1]: https://github.com/RustCrypto/traits/tree/master/signature/derive
788788
#[cfg(feature = "digest")]
789-
pub trait DigestPrimitive: EcdsaCurve {
789+
pub trait DigestAlgorithm: EcdsaCurve {
790790
/// Preferred digest to use when computing ECDSA signatures for this
791791
/// elliptic curve. This is typically a member of the SHA-2 family.
792792
type Digest: BlockSizeUser + Digest + FixedOutput + FixedOutputReset;
@@ -795,7 +795,7 @@ pub trait DigestPrimitive: EcdsaCurve {
795795
#[cfg(feature = "digest")]
796796
impl<C> PrehashSignature for Signature<C>
797797
where
798-
C: DigestPrimitive,
798+
C: DigestAlgorithm,
799799
<FieldBytesSize<C> as Add>::Output: ArraySize,
800800
{
801801
type Digest = C::Digest;

ecdsa/src/recovery.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use {
2828

2929
#[cfg(any(feature = "signing", feature = "verifying"))]
3030
use {
31-
crate::{DigestPrimitive, EcdsaCurve, Signature, SignatureSize, hazmat::bits2field},
31+
crate::{DigestAlgorithm, EcdsaCurve, Signature, SignatureSize, hazmat::bits2field},
3232
elliptic_curve::{CurveArithmetic, Scalar, array::ArraySize, ops::Invert},
3333
signature::digest::Digest,
3434
};
@@ -97,7 +97,7 @@ impl RecoveryId {
9797
signature: &Signature<C>,
9898
) -> Result<Self>
9999
where
100-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
100+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
101101
AffinePoint<C>: DecompressPoint<C> + FromEncodedPoint<C> + ToEncodedPoint<C>,
102102
FieldBytesSize<C>: sec1::ModulusSize,
103103
SignatureSize<C>: ArraySize,
@@ -176,7 +176,7 @@ impl From<RecoveryId> for u8 {
176176
#[cfg(feature = "signing")]
177177
impl<C> SigningKey<C>
178178
where
179-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
179+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
180180
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
181181
SignatureSize<C>: ArraySize,
182182
{
@@ -217,7 +217,7 @@ where
217217
#[cfg(feature = "signing")]
218218
impl<C, D> DigestSigner<D, (Signature<C>, RecoveryId)> for SigningKey<C>
219219
where
220-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
220+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
221221
D: Digest,
222222
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
223223
SignatureSize<C>: ArraySize,
@@ -230,7 +230,7 @@ where
230230
#[cfg(feature = "signing")]
231231
impl<C> RandomizedPrehashSigner<(Signature<C>, RecoveryId)> for SigningKey<C>
232232
where
233-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
233+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
234234
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
235235
SignatureSize<C>: ArraySize,
236236
{
@@ -246,7 +246,7 @@ where
246246
#[cfg(feature = "signing")]
247247
impl<C, D> RandomizedDigestSigner<D, (Signature<C>, RecoveryId)> for SigningKey<C>
248248
where
249-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
249+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
250250
D: Digest + FixedOutput,
251251
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
252252
SignatureSize<C>: ArraySize,
@@ -263,7 +263,7 @@ where
263263
#[cfg(feature = "signing")]
264264
impl<C> PrehashSigner<(Signature<C>, RecoveryId)> for SigningKey<C>
265265
where
266-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
266+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
267267
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
268268
SignatureSize<C>: ArraySize,
269269
{
@@ -283,14 +283,14 @@ where
283283
/// Recover a [`VerifyingKey`] from the given message, signature, and
284284
/// [`RecoveryId`].
285285
///
286-
/// The message is first hashed using this curve's [`DigestPrimitive`].
286+
/// The message is first hashed using this curve's [`DigestAlgorithm`].
287287
pub fn recover_from_msg(
288288
msg: &[u8],
289289
signature: &Signature<C>,
290290
recovery_id: RecoveryId,
291291
) -> Result<Self>
292292
where
293-
C: DigestPrimitive,
293+
C: DigestAlgorithm,
294294
{
295295
Self::recover_from_digest(C::Digest::new_with_prefix(msg), signature, recovery_id)
296296
}

ecdsa/src/signing.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! ECDSA signing: producing signatures using a [`SigningKey`].
22
33
use crate::{
4-
DigestPrimitive, EcdsaCurve, Error, Result, Signature, SignatureSize, SignatureWithOid,
4+
DigestAlgorithm, EcdsaCurve, Error, Result, Signature, SignatureSize, SignatureWithOid,
55
ecdsa_oid_for_digest,
66
hazmat::{bits2field, sign_prehashed_rfc6979},
77
};
@@ -140,7 +140,7 @@ where
140140
/// [RFC6979 § 3.2]: https://tools.ietf.org/html/rfc6979#section-3
141141
impl<C, D> DigestSigner<D, Signature<C>> for SigningKey<C>
142142
where
143-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
143+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
144144
D: Digest + FixedOutput,
145145
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
146146
SignatureSize<C>: ArraySize,
@@ -156,7 +156,7 @@ where
156156
/// [RFC6979 § 3.2]: https://tools.ietf.org/html/rfc6979#section-3
157157
impl<C> PrehashSigner<Signature<C>> for SigningKey<C>
158158
where
159-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
159+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
160160
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
161161
SignatureSize<C>: ArraySize,
162162
{
@@ -168,7 +168,7 @@ where
168168

169169
impl<C, D> RandomizedDigestSigner<D, Signature<C>> for SigningKey<C>
170170
where
171-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
171+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
172172
D: Digest + FixedOutput,
173173
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
174174
SignatureSize<C>: ArraySize,
@@ -184,7 +184,7 @@ where
184184

185185
impl<C> RandomizedPrehashSigner<Signature<C>> for SigningKey<C>
186186
where
187-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
187+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
188188
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
189189
SignatureSize<C>: ArraySize,
190190
{
@@ -202,7 +202,7 @@ where
202202

203203
impl<C, D> DigestSigner<D, SignatureWithOid<C>> for SigningKey<C>
204204
where
205-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
205+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
206206
D: AssociatedOid + Digest + FixedOutput,
207207
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
208208
SignatureSize<C>: ArraySize,
@@ -216,7 +216,7 @@ where
216216

217217
impl<C> Signer<SignatureWithOid<C>> for SigningKey<C>
218218
where
219-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
219+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
220220
C::Digest: AssociatedOid,
221221
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
222222
SignatureSize<C>: ArraySize,
@@ -229,7 +229,7 @@ where
229229
#[cfg(feature = "der")]
230230
impl<C> PrehashSigner<der::Signature<C>> for SigningKey<C>
231231
where
232-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
232+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
233233
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
234234
SignatureSize<C>: ArraySize,
235235
der::MaxSize<C>: ArraySize,
@@ -243,7 +243,7 @@ where
243243
#[cfg(feature = "der")]
244244
impl<C> RandomizedPrehashSigner<der::Signature<C>> for SigningKey<C>
245245
where
246-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
246+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
247247
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
248248
SignatureSize<C>: ArraySize,
249249
der::MaxSize<C>: ArraySize,

ecdsa/src/verifying.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ use serdect::serde::{Deserialize, Serialize, de, ser};
4242
#[cfg(feature = "sha2")]
4343
use {
4444
crate::{
45-
DigestPrimitive, ECDSA_SHA224_OID, ECDSA_SHA256_OID, ECDSA_SHA384_OID, ECDSA_SHA512_OID,
45+
DigestAlgorithm, ECDSA_SHA224_OID, ECDSA_SHA256_OID, ECDSA_SHA384_OID, ECDSA_SHA512_OID,
4646
SignatureWithOid,
4747
},
4848
sha2::{Sha224, Sha256, Sha384, Sha512},
@@ -177,7 +177,7 @@ where
177177
#[cfg(feature = "sha2")]
178178
impl<C> Verifier<SignatureWithOid<C>> for VerifyingKey<C>
179179
where
180-
C: EcdsaCurve + CurveArithmetic + DigestPrimitive,
180+
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
181181
SignatureSize<C>: ArraySize,
182182
{
183183
fn verify(&self, msg: &[u8], sig: &SignatureWithOid<C>) -> Result<()> {

0 commit comments

Comments
 (0)