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