diff options
author | Daniel Schadt <kingdread@gmx.de> | 2025-04-09 20:49:36 +0200 |
---|---|---|
committer | Daniel Schadt <kingdread@gmx.de> | 2025-04-09 20:49:36 +0200 |
commit | 364e19dc96d97c0b38eeb389054e9d990ae47f11 (patch) | |
tree | 580e895ac05bba7bfac35223f5d96c65e72fadb4 /fuzz/fuzz_targets | |
parent | a361a2aa095774c66205639f534851c762c4353a (diff) | |
download | zears-364e19dc96d97c0b38eeb389054e9d990ae47f11.tar.gz zears-364e19dc96d97c0b38eeb389054e9d990ae47f11.tar.bz2 zears-364e19dc96d97c0b38eeb389054e9d990ae47f11.zip |
add first fuzz binary
Diffstat (limited to 'fuzz/fuzz_targets')
-rw-r--r-- | fuzz/fuzz_targets/fuzz_target_1.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/fuzz/fuzz_targets/fuzz_target_1.rs b/fuzz/fuzz_targets/fuzz_target_1.rs new file mode 100644 index 0000000..19ba0f9 --- /dev/null +++ b/fuzz/fuzz_targets/fuzz_target_1.rs @@ -0,0 +1,24 @@ +#![no_main] + +use libfuzzer_sys::fuzz_target; + +use arbitrary::Arbitrary; +use zears::Aez; + +#[derive(Debug, Arbitrary)] +struct Parameters<'a> { + key: &'a [u8], + nonce: &'a [u8], + ad: &'a [u8], + tau: u32, + message: &'a [u8], +} + +fuzz_target!(|params: Parameters| { + if params.tau <= 1 * 1024 * 1024 { + let aez = Aez::new(params.key); + let cipher = aez.encrypt(params.nonce, &[params.ad], params.tau, params.message); + let message = aez.decrypt(params.nonce, &[params.ad], params.tau, &cipher); + assert_eq!(message.unwrap(), params.message); + } +}); |