1use wycheproof_ng_core::*;
4
5define_test_set!(
6 "BLS",
7 "bls_sig_verify_schema.json",
8 "bls_hash_to_g2_schema.json",
9 "bls_aggregate_verify_schema.json"
10);
11
12define_test_set_names!(
13 BlsSigG2BasicVerify => "bls_sig_g2_basic_verify",
14 BlsSigG2PopVerify => "bls_sig_g2_pop_verify",
15 BlsHashToG2 => "bls_hash_to_g2",
16 BlsSigG2AggregateVerify => "bls_sig_g2_aggregate_verify",
17);
18
19define_algorithm_map!("BLS" => Bls);
20
21define_test_flags!(
22 EmptyAggregate,
23 EmptyMessage,
24 FieldBoundary,
25 HashToG2,
26 IdentityPoint,
27 InvalidEncoding,
28 InvalidFlags,
29 InvalidSignature,
30 LargeMessage,
31 MinimalInput,
32 MismatchedCount,
33 NotInSubgroup,
34 NotOnCurve,
35 SignatureMalleability,
36 TruncatedSignature,
37 Valid,
38 ValidAggregate,
39 WrongDST,
40 WrongKey,
41 WrongMessage,
42);
43
44define_test_group_type_id!(
45 "BlsSigVerify" => BlsSigVerify,
46 "BlsHashToG2" => BlsHashToG2,
47 "BlsAggregateVerify" => BlsAggregateVerify,
48);
49
50define_test_group!(
51 "publicKey" => public_key: Option<serde_json::Value>,
52 ciphersuite: Option<String>,
53 dst: Option<String>,
54);
55
56define_test!(
57 msg: Option<ByteString>,
58 sig: Option<ByteString>,
59 expected: Option<ByteString>,
60 "pubkeys" => pubkeys: Option<Vec<ByteString>>,
61 "messages" => messages: Option<Vec<ByteString>>,
62);