From a184f6f5bc33565b5d0a3ff7f2daaf87743ae222 Mon Sep 17 00:00:00 2001 From: dishmaker <141624503+dishmaker@users.noreply.github.com> Date: Tue, 13 May 2025 12:16:49 +0200 Subject: [PATCH 1/2] dsa+ecdsa+ed25519+ed448+ml-dsa: apply cargo clippy fixes --- dsa/tests/signature.rs | 9 +++++---- ecdsa/src/der.rs | 5 +++-- ecdsa/src/hazmat.rs | 6 +++--- ecdsa/src/recovery.rs | 18 +++++++++--------- ed25519/src/pkcs8.rs | 2 +- ed25519/src/serde.rs | 4 ++-- ed448/src/pkcs8.rs | 2 +- ed448/src/serde.rs | 4 ++-- ml-dsa/src/lib.rs | 4 ++-- 9 files changed, 28 insertions(+), 26 deletions(-) diff --git a/dsa/tests/signature.rs b/dsa/tests/signature.rs index 3fa326d6..dc805db8 100644 --- a/dsa/tests/signature.rs +++ b/dsa/tests/signature.rs @@ -5,7 +5,7 @@ use digest::Digest; use dsa::{Components, KeySize, Signature, SigningKey}; use hex_literal::hex; use pkcs8::der::{Decode, Encode}; -use rand::{CryptoRng, RngCore, SeedableRng}; +use rand::{CryptoRng, SeedableRng}; use rand_chacha::ChaCha8Rng; use sha2::Sha256; use signature::{ @@ -38,7 +38,7 @@ const MESSAGE_SIGNATURE_OPENSSL_ASN1: &[u8] = &hex!( ); /// Get the seeded CSPRNG -fn seeded_csprng() -> impl CryptoRng + RngCore { +fn seeded_csprng() -> impl CryptoRng { ChaCha8Rng::seed_from_u64(SEED) } @@ -123,6 +123,7 @@ fn signer_verifier_signature() { /// This test forces the r and s of the signature to a bit precision different to what would /// otherwise be expected #[test] +#[allow(clippy::slow_vector_initialization)] fn verify_signature_precision() { use der::{Sequence, asn1::Uint}; @@ -150,8 +151,8 @@ fn verify_signature_precision() { }, ] { let asn1 = MockSignature { - r: Uint::new(&value).unwrap(), - s: Uint::new(&value).unwrap(), + r: Uint::new(value).unwrap(), + s: Uint::new(value).unwrap(), } .to_der() .expect("Failed to serialize signature"); diff --git a/ecdsa/src/der.rs b/ecdsa/src/der.rs index 65a88def..50886969 100644 --- a/ecdsa/src/der.rs +++ b/ecdsa/src/der.rs @@ -408,11 +408,12 @@ mod tests { #[test] fn test_fixed_to_asn1_signature_roundtrip() { - let signature1 = Signature::try_from(EXAMPLE_SIGNATURE.as_ref()).unwrap(); + let signature1 = + Signature::try_from(EXAMPLE_SIGNATURE.as_ref()).expect("decoded Signature"); // Convert to ASN.1 DER and back let asn1_signature = signature1.to_der(); - let signature2 = Signature::from_der(asn1_signature.as_ref()).unwrap(); + let signature2 = Signature::from_der(asn1_signature.as_ref()).expect("decoded Signature"); assert_eq!(signature1, signature2); } diff --git a/ecdsa/src/hazmat.rs b/ecdsa/src/hazmat.rs index 11c776db..82aa4702 100644 --- a/ecdsa/src/hazmat.rs +++ b/ecdsa/src/hazmat.rs @@ -259,7 +259,7 @@ mod tests { #[test] fn bits2field_size_less() { let prehash = hex!("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); - let field_bytes = bits2field::(&prehash).unwrap(); + let field_bytes = bits2field::(&prehash).expect("field bytes"); assert_eq!( field_bytes.as_slice(), &hex!("00000000000000000000000000000000AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") @@ -269,7 +269,7 @@ mod tests { #[test] fn bits2field_size_eq() { let prehash = hex!("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); - let field_bytes = bits2field::(&prehash).unwrap(); + let field_bytes = bits2field::(&prehash).expect("field bytes"); assert_eq!(field_bytes.as_slice(), &prehash); } @@ -278,7 +278,7 @@ mod tests { let prehash = hex!( "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" ); - let field_bytes = bits2field::(&prehash).unwrap(); + let field_bytes = bits2field::(&prehash).expect("field bytes"); assert_eq!( field_bytes.as_slice(), &hex!("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA") diff --git a/ecdsa/src/recovery.rs b/ecdsa/src/recovery.rs index 05efa1fe..65b536cd 100644 --- a/ecdsa/src/recovery.rs +++ b/ecdsa/src/recovery.rs @@ -401,7 +401,7 @@ mod tests { #[test] fn try_from() { for n in 0u8..=3 { - assert_eq!(RecoveryId::try_from(n).unwrap().to_byte(), n); + assert_eq!(RecoveryId::try_from(n).expect("RecoveryId").to_byte(), n); } for n in 4u8..=255 { @@ -411,17 +411,17 @@ mod tests { #[test] fn is_x_reduced() { - assert!(!RecoveryId::try_from(0).unwrap().is_x_reduced()); - assert!(!RecoveryId::try_from(1).unwrap().is_x_reduced()); - assert!(RecoveryId::try_from(2).unwrap().is_x_reduced()); - assert!(RecoveryId::try_from(3).unwrap().is_x_reduced()); + assert!(!RecoveryId::try_from(0).expect("RecoveryId").is_x_reduced()); + assert!(!RecoveryId::try_from(1).expect("RecoveryId").is_x_reduced()); + assert!(RecoveryId::try_from(2).expect("RecoveryId").is_x_reduced()); + assert!(RecoveryId::try_from(3).expect("RecoveryId").is_x_reduced()); } #[test] fn is_y_odd() { - assert!(!RecoveryId::try_from(0).unwrap().is_y_odd()); - assert!(RecoveryId::try_from(1).unwrap().is_y_odd()); - assert!(!RecoveryId::try_from(2).unwrap().is_y_odd()); - assert!(RecoveryId::try_from(3).unwrap().is_y_odd()); + assert!(!RecoveryId::try_from(0).expect("RecoveryId").is_y_odd()); + assert!(RecoveryId::try_from(1).expect("RecoveryId").is_y_odd()); + assert!(!RecoveryId::try_from(2).expect("RecoveryId").is_y_odd()); + assert!(RecoveryId::try_from(3).expect("RecoveryId").is_y_odd()); } } diff --git a/ed25519/src/pkcs8.rs b/ed25519/src/pkcs8.rs index 48662fd9..ce2016cc 100644 --- a/ed25519/src/pkcs8.rs +++ b/ed25519/src/pkcs8.rs @@ -350,7 +350,7 @@ mod tests { }; assert_eq!( - valid_keypair.to_bytes().unwrap(), + valid_keypair.to_bytes().expect("to_bytes"), hex!( "D4EE72DBF913584AD5B6D8F1F769F8AD3AFE7C28CBF1D4FBE097A88F4475584219BF44096984CDFE8541BAC167DC3B96C85086AA30B6B6CB0C5C38AD703166E1" ) diff --git a/ed25519/src/serde.rs b/ed25519/src/serde.rs index 2b2789b3..1ada686d 100644 --- a/ed25519/src/serde.rs +++ b/ed25519/src/serde.rs @@ -114,8 +114,8 @@ mod tests { #[test] fn round_trip() { let signature = Signature::from_bytes(&SIGNATURE_BYTES); - let serialized = bincode::serialize(&signature).unwrap(); - let deserialized = bincode::deserialize(&serialized).unwrap(); + let serialized = bincode::serialize(&signature).expect("serialized"); + let deserialized = bincode::deserialize(&serialized).expect("deserialized"); assert_eq!(signature, deserialized); } } diff --git a/ed448/src/pkcs8.rs b/ed448/src/pkcs8.rs index 17e72a38..c4cc60cc 100644 --- a/ed448/src/pkcs8.rs +++ b/ed448/src/pkcs8.rs @@ -287,7 +287,7 @@ mod tests { }; assert_eq!( - valid_keypair.to_bytes().unwrap(), + valid_keypair.to_bytes().expect("to_bytes"), hex!( "8A57471AA375074DC7D75EA2252E9933BB15C107E4F9A2F9CFEA6C418BEBB0774D1ABB671B58B96EFF95F35D63F2418422A59C7EAE3E00D70Ff27f9809412035541b681c69fbe69b9d25a6af506d914ecef7d973fca04ccd33a8b96a0868211382ca08fe06b72e8c0cb3297f3a9d6bc02380" ) diff --git a/ed448/src/serde.rs b/ed448/src/serde.rs index 54ab2bb4..eb9bd2d3 100644 --- a/ed448/src/serde.rs +++ b/ed448/src/serde.rs @@ -114,8 +114,8 @@ mod tests { #[test] fn round_trip() { let signature = Signature::from_bytes(&SIGNATURE_BYTES); - let serialized = bincode::serialize(&signature).unwrap(); - let deserialized = bincode::deserialize(&serialized).unwrap(); + let serialized = bincode::serialize(&signature).expect("serialized"); + let deserialized = bincode::deserialize(&serialized).expect("deserialized"); assert_eq!(signature, deserialized); } } diff --git a/ml-dsa/src/lib.rs b/ml-dsa/src/lib.rs index a3ec3b7f..fda4fca2 100644 --- a/ml-dsa/src/lib.rs +++ b/ml-dsa/src/lib.rs @@ -875,7 +875,7 @@ mod test { where P: MlDsaParams + PartialEq, { - let kp = P::key_gen_internal(&Default::default()); + let kp = P::key_gen_internal(&Array::default()); let sk = kp.signing_key; let vk = kp.verifying_key; @@ -906,7 +906,7 @@ mod test { where P: MlDsaParams, { - let kp = P::key_gen_internal(&Default::default()); + let kp = P::key_gen_internal(&Array::default()); let sk = kp.signing_key; let vk = kp.verifying_key; From d7f78672a3828560561dd531830c8b8766df752a Mon Sep 17 00:00:00 2001 From: dishmaker <141624503+dishmaker@users.noreply.github.com> Date: Tue, 13 May 2025 12:37:11 +0200 Subject: [PATCH 2/2] ml-dsa: test: allow `clippy::integer_division_remainder_used` --- ml-dsa/src/algebra.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/ml-dsa/src/algebra.rs b/ml-dsa/src/algebra.rs index 4a91045a..b36c3999 100644 --- a/ml-dsa/src/algebra.rs +++ b/ml-dsa/src/algebra.rs @@ -212,6 +212,7 @@ impl AlgebraExt for Vector { } #[cfg(test)] +#[allow(clippy::integer_division_remainder_used)] mod test { use super::*;