All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
signature::PrehashSignatureimplementation forSignature([#1007])
- Loosen
signaturebound to2.0, <2.3(#756)
hazmat::{sign_prehashed, verify_prehashed}(#731)
- Refactor
Signatureconstructors and improve docs (#730)
- bump
elliptic-curvefrom 0.13.3 to 0.13.4 (#709) der::Signaturecitation to RFC5912 (#711)- make
fmtimpls more consistent (#713)
serdedoc fixup (#712)
- Test macro handling of serialized field size (#707)
- Use
C::FieldBytesSizeinstead ofC::Uint::BYTES(#705)
RecoveryIdcomputation inSignPrimitive(#702)
- RFC5758 OID support (#686)
SignatureAlgorithmIdentifierimpls forSigningKey/VerifyingKey(#688)SignatureWithOid(#689, #690)AssociatedAlgorithmIdentifierimpls forSigningKey/VerifyingKey(#698)
- Loosen
signaturebound to2.0, <2.2(#697)
- Handle the reduced R.x case in public key recovery (#680)
Signature::{from_bytes, from_slice}methods (#684)
VerifyingKey::to_sec1_bytes+ more conversions (#675)
DecodeandEncodeimpls forder::Signature(#666)
- Use
Scalar::invert_vartimefor faster verification (#651) - Bump
serdectdependency to 0.2 (#657) - Bump
elliptic-curvedependency to v0.13; MSRV 1.65 (#660, [#663]) - Bump
rfc6979dependency to v0.4 (#662)
SigningKey::*_recoverablemethods (#635)
DigestPrimitive::Digestnow has bounds that work with RFC6979 (#568)*Signer/*Verifierimpls forder::Signature(#569)VerifyingKeyrecovery support (#576)- Trial recovery support (#580)
- Signature now internally structured with
randscomponents (#565) SigningKey::verifying_keynow returns a reference (#567)- Refactor
prehash_to_field_bytestobits2fieldfree function (#574) - Rename
signfeature tosigning(#610) - Rename
verifyfeature toverifyingfeatures (#610) - Bump
signaturecrate dependency to v2.0 (#614)
- Impl
From<SigningKey>forSecretKey(#548)
- Prehash must receive zero-pads on left (#547)
- Relax
Keypairbounds (#539)
- Impl
signature::hazmat::{PrehashSigner, PrehashVerifier}(#534) - Impl
signature::KeypairforSigningKey(#535)
- Impl
EncodePrivateKeyforSigningKey(#523) SigningKey::as_nonzero_scalar(#528)VerifyingKey::as_affine(#528)RecoveryId::from_byte(#531)
- Make
RecoveryIdmethodsconst fn(#529)
- Security warning in README.md (#486)
- Use
serdectforSignaturetypes (#497)
VerifyingKey::from_affine(#452)
- Bump
digestdependency to v0.10 (#433) SignPrimitiveandVerifyPrimitiveto acceptFieldBytes<C>rather thanScalar<C>(#460)- Replace
hazmat::rfc6979_generate_kwithSignPrimitive::try_sign_prehashed_rfc6979(#460) - Bump
derdependency to v0.6 (#468) - Bump
elliptic-curvedependency to v0.12 (#468) - Bump
rfc6979dependency to v0.2 (#470)
Signature::to_vec(#428)
- Use revised
LinearCombinationtrait (#419)
- Use
LinearCombinationtrait (#417)
hazmat::rfc6979_generate_kfunction (#414)
RecoveryIdtype (#392)- Default generic impl of
SignPrimitive::try_sign_prehashed(#396) - Default generic impl of
VerifyPrimitive::verify_prehashed(#397) serdesupport (#406)
- Make
Signature::normalize_snon-mutating (#355) - Switch from
ScalarBytes<C>toScalarCore<C>(#356) - Use
PrimeCurvetrait (#357) - Replace
FromDigesttrait withReduce(#372) - 2021 edition upgrade; MSRV 1.56 (#384)
- Allow
signaturev1.4 as a dependency (#385) - Bump
derdependency to v0.5 (#408) - Bump
elliptic-curvedependency to v0.11 (#408) - Split out
rfc6979crate (#409)
- Impl
Clone,Debug,*EqforSigningKey(#345)
- Use
signature::Resultalias (#331)
- Zeroization on drop for
SigningKey(#321)
- Explicit
Copybounds onVerifyingKey(#318)
- Bump
dercrate to v0.4 (#302, #315) - Bump
elliptic-curvecrate dependency to v0.10 (#315) - MSRV 1.51+ (#302, #315)
- Bounds now expressed via
*Arithmetictraits (#303, [#312])
- Bump
elliptic-curvedependency to v0.9.12 (#299)
- Use
dercrate for decoding/encoding signatures (#226, #267) - Support
HmacDrbgwith variable output size (#243) - Bump
base64ctandpkcs8; MSRV 1.47+ (#262) - Flatten and simplify public API (#268)
- Use
verifying_keyname consistently (#273) - Bound curve implementations on Order trait (#280)
- Bump
elliptic-curveto v0.9.10+; useScalarBytes(#284) - Bump
hmaccrate dependency to v0.11 (#287)
- Trigger docs.rs rebuild with nightly bugfix (RustCrypto/traits#412)
- Bump
elliptic-curvedependency to v0.8 (#215)
- PKCS#8 support (#203)
- Bump
elliptic-curvecrate dependency to v0.7; MSRV 1.46+ (#204) - Rename
VerifyKeytoVerifyingKey(#200) - Rename
VerifyingKey::new()to::from_sec1_bytes()(#198) - Rename
SigningKey::new()to::from_bytes()(#205)
- Additional validity checks on ASN.1 DER-encoded signatures (#192)
- Bug in default impl of CheckSignatureBytes (#184)
- Work around
nightly-2020-10-06breakage (#180)
- 32-bit builds for the
devfeature (#177)
- Conditional
Copyimpl onVerifyKey<C>(#171)
CheckSignatureBytestrait (#151)- Add
Signature::r/::smethods which returnNonZeroScalarvalues (#151) allocfeature (#150)- Impl
From<&VerifyKey<C>>forEncodedPoint<C>(#144) - Serialization methods for
SigningKey/VerifyKey(#143) - RFC6979-based deterministic signatures (#133, #134, #136)
- Bump
elliptic-curvecrate dependency to v0.6 (#165) - Use
ProjectiveArithmetictrait (#164) - Rename
ElementBytestoFieldBytes(#160) - Use
ffandgroupcrates to v0.8 (#156) - MSRV 1.44+ (#156)
- Remove
randfeature; makerand_corea hard dependency (#154) - Use
impl Into<ElementBytes>bounds onSignature::from_scalars(#149) - Derive
Clone,Debug,Eq, andOrdonVerifyKey(#148) - Renamed
{Signer, Verifier}=>{SigningKey, VerifyKey}(#140) - Use newly refactored
sec1::EncodedPoint(#131)
- Conditional
PrehashSignatureimpl forasn1::Signature(#128)
- Use
all-features = trueon docs.rs (#126)
hazmattraits:SignPrimitive,RecoverableSignPrimitive,VerifyPrimitive,DigestPrimitive(#96, #99, #107, #111)devmodule (#103)NormalizeLowtrait (#115, #118, #119)Copyimpl onSignature(#117)RecoverableSignPrimitive(#120)
- Bumped
elliptic-curvecrate to v0.5 release (#123) - Renamed
FixedSignaturetoecdsa::Signature(#98) - Renamed
Asn1Signaturetoecdsa::asn1::Signature(#98, #102)
- Curve-specific types - migrated to
k256,p256,p384crates (#96)
doc_cfgattributes for https://docs.rs (#91)ecdsa::curve::secp256k1::RecoverableSignature(#90)
- Upgrade
signaturecrate to v1.0 final release (#80)
- Upgrade
elliptic-curvecrate to v0.3.0; make curves cargo features (#68)
- Upgrade
elliptic-curvecrate to v0.2.0; MSRV 1.37+ (#65)
- Re-export
PublicKeyandSecretKeyfrom theelliptic-curvecrate (#61)
- Use curve types from the
elliptic-curvecrate (#58)
- Initial release