xref: /aosp_15_r20/external/cronet/third_party/rust/chromium_crates_io/vendor/wycheproof-0.4.0/src/rsa_oaep.rs (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 //! RSA OAEP decryption tests
2 
3 use super::*;
4 
5 define_test_set!("RSA OAEP decrypt", "rsaes_oaep_decrypt_schema.json");
6 
7 define_test_set_names!(
8     Rsa2048Sha1Mgf1Sha1 => "rsa_oaep_2048_sha1_mgf1sha1",
9     Rsa2048Sha224Mgf1Sha1 => "rsa_oaep_2048_sha224_mgf1sha1",
10     Rsa2048Sha224Mgf1Sha224 => "rsa_oaep_2048_sha224_mgf1sha224",
11     Rsa2048Sha256Mgf1Sha1 => "rsa_oaep_2048_sha256_mgf1sha1",
12     Rsa2048Sha256Mgf1Sha256 => "rsa_oaep_2048_sha256_mgf1sha256",
13     Rsa2048Sha384Mgf1Sha1 => "rsa_oaep_2048_sha384_mgf1sha1",
14     Rsa2048Sha384Mgf1Sha384 => "rsa_oaep_2048_sha384_mgf1sha384",
15     Rsa2048Sha512Mgf1Sha1 => "rsa_oaep_2048_sha512_mgf1sha1",
16     Rsa2048Sha512Mgf1Sha512 => "rsa_oaep_2048_sha512_mgf1sha512",
17     Rsa3072Sha256Mgf1Sha1 => "rsa_oaep_3072_sha256_mgf1sha1",
18     Rsa3072Sha256Mgf1Sha256 => "rsa_oaep_3072_sha256_mgf1sha256",
19     Rsa3072Sha512Mgf1Sha1 => "rsa_oaep_3072_sha512_mgf1sha1",
20     Rsa3072Sha512Mgf1Sha512 => "rsa_oaep_3072_sha512_mgf1sha512",
21     Rsa4096Sha256Mgf1Sha1 => "rsa_oaep_4096_sha256_mgf1sha1",
22     Rsa4096Sha256Mgf1Sha256 => "rsa_oaep_4096_sha256_mgf1sha256",
23     Rsa4096Sha512Mgf1Sha1 => "rsa_oaep_4096_sha512_mgf1sha1",
24     Rsa4096Sha512Mgf1Sha512 => "rsa_oaep_4096_sha512_mgf1sha512",
25     RsaMisc => "rsa_oaep_misc"
26 );
27 
28 define_algorithm_map!("RSAES-OAEP" => RsaOaep);
29 
30 define_test_flags!(Constructed, InvalidOaepPadding, SmallModulus);
31 
32 define_typeid!(TestGroupTypeId => "RsaesOaepDecrypt");
33 
34 define_test_group!(
35     d: Vec<u8> | "vec_from_hex",
36     e: Vec<u8> | "vec_from_hex",
37     "keysize" => key_size: usize,
38     mgf: Mgf,
39     "mgfSha" => mgf_hash: HashFunction,
40     n: Vec<u8> | "vec_from_hex",
41     "privateKeyJwk" => jwk: Option<RsaPrivateJwk>,
42     "privateKeyPkcs8" => pkcs8: Vec<u8> | "vec_from_hex",
43     "privateKeyPem" => pem: String,
44     "sha" => hash: HashFunction,
45 );
46 
47 define_test!(msg: Vec<u8>, ct: Vec<u8>, label: Vec<u8>);
48