Skip to content

Commit 957be21

Browse files
Update src/tests/functional/ecdsa_test.rs
Co-authored-by: Anthony Rocha <116300062+rusty1968@users.noreply.github.com>
1 parent f3cd68a commit 957be21

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/tests/functional/ecdsa_test.rs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,26 @@ pub const SECP384R1_TESTVEC: &[EcdsaTestVec] = &[
8383
];
8484

8585

86-
pub fn run_ecdsa_tests<C>(uart: &mut UartController, verifier: &mut impl EcdsaVerify<C, PublicKey = PublicKey, Signature = Signature>)
86+
pub fn run_ecdsa_tests(uart: &mut UartController, verifier: &mut impl EcdsaVerify<Secp384r1Curve, PublicKey = PublicKey, Signature = Signature>)
87+
{
88+
writeln!(uart, "\r\nRunning ECDSA test").unwrap();
89+
for (i, vec) in SECP384R1_TESTVEC.iter().enumerate() {
90+
let pubkey = PublicKey { qx: Scalar48(vec.qx), qy: Scalar48(vec.qy) };
91+
let sig = Signature { r: Scalar48(vec.r), s: Scalar48(vec.s) };
92+
let mut digest = <<Secp384r1Curve as Curve>::DigestType as DigestAlgorithm>::DigestOutput::default();
93+
digest.as_mut().copy_from_slice(&vec.m);
94+
95+
let result = verifier.verify(&pubkey, digest, &sig);
96+
97+
writeln!(uart, "\r\nTest case {}... ", i).unwrap();
98+
99+
let _ = match (result.is_ok(), vec.result) {
100+
(true, true) => writeln!(uart, "\rresult expected (pass), Pass"),
101+
(false, false) => writeln!(uart, "\rresult expected (fail), Pass"),
102+
_ => writeln!(uart, "\rresult unexpected (got {:?}), Failed", result),
103+
};
104+
}
105+
}
87106
where
88107
C: Curve<Scalar = Scalar48>,
89108
C::DigestType: DigestAlgorithm,

0 commit comments

Comments
 (0)