xref: /aosp_15_r20/external/cronet/third_party/rust/chromium_crates_io/vendor/wycheproof-0.4.0/src/eddsa.rs (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 //! EdDSA verification tests
2 
3 use super::*;
4 
5 define_test_set!("EdDSA verify", "eddsa_verify_schema.json");
6 
7 define_test_set_names!(
8     Ed25519 => "eddsa",
9     Ed448 => "ed448"
10 );
11 
12 define_algorithm_map!("EDDSA" => EdDsa);
13 
14 define_test_flags!(SignatureMalleability);
15 
16 define_typeid!(TestKeyTypeId => "EDDSAKeyPair");
17 
18 #[derive(Debug, Clone, Hash, Eq, PartialEq, Deserialize)]
19 #[serde(deny_unknown_fields)]
20 pub struct TestKey {
21     pub curve: EdwardsCurve,
22     #[serde(rename = "keySize")]
23     pub key_size: usize,
24     #[serde(deserialize_with = "vec_from_hex")]
25     pub pk: Vec<u8>,
26     #[serde(deserialize_with = "vec_from_hex")]
27     pub sk: Vec<u8>,
28     #[serde(rename = "type")]
29     typ: TestKeyTypeId,
30 }
31 
32 define_typeid!(TestGroupTypeId => "EddsaVerify");
33 
34 define_test_group!(
35     jwk: Option<EddsaJwk>,
36     key: TestKey,
37     "keyDer" => der: Vec<u8> | "vec_from_hex",
38     "keyPem" => pem: String,
39 );
40 
41 define_test!(msg: Vec<u8>, sig: Vec<u8>);
42