xref: /aosp_15_r20/external/cronet/third_party/rust/chromium_crates_io/vendor/wycheproof-0.4.0/src/aead.rs (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 //! AEAD tests
2 
3 use super::*;
4 
5 define_test_set!("AEAD", "aead_test_schema.json");
6 
7 define_test_set_names!(
8     Aegis128 => "aegis128",
9     Aegis128L => "aegis128L",
10     Aegis256 => "aegis256",
11     AesCcm => "aes_ccm",
12     AesEax => "aes_eax",
13     AesGcm => "aes_gcm",
14     AesGcmSiv => "aes_gcm_siv",
15     AesSivCmac => "aead_aes_siv_cmac",
16     ChaCha20Poly1305 => "chacha20_poly1305",
17     XChaCha20Poly1305 => "xchacha20_poly1305",
18 );
19 
20 define_algorithm_map!(
21     "AEGIS128L" => Aegis128L,
22     "AEGIS128" => Aegis128,
23     "AEGIS256" => Aegis256,
24     "AES-CCM" => AesCcm,
25     "AES-EAX" => AesEax,
26     "AES-GCM" => AesGcm,
27     "AES-GCM-SIV" => AesGcmSiv,
28     "AEAD-AES-SIV-CMAC" => AesSivCmac,
29     "CHACHA20-POLY1305" => ChaCha20Poly1305,
30     "XCHACHA20-POLY1305" => XChaCha20Poly1305,
31 );
32 
33 define_test_flags!(
34     BadPadding,
35     ConstructedIv,
36     CounterWrap,
37     EdgeCaseSiv,
38     InvalidNonceSize,
39     InvalidTagSize,
40     LongIv,
41     OldVersion,
42     SmallIv,
43     ZeroLengthIv,
44 );
45 
46 define_typeid!(TestGroupTypeId => "AeadTest");
47 
48 define_test_group!(
49     "ivSize" => nonce_size: usize,
50     "keySize" => key_size: usize,
51     "tagSize" => tag_size: usize,
52 );
53 
54 define_test!(
55     key: Vec<u8>,
56     "iv" => nonce: Vec<u8>,
57     aad: Vec<u8>,
58     "msg" => pt: Vec<u8>,
59     ct: Vec<u8>,
60     tag: Vec<u8>,
61 );
62