diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2026-04-28 17:59:45 +0200 |
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2026-04-28 17:59:45 +0200 |
| commit | efacfd58a85f227f15178ede1658cef5072314ae (patch) | |
| tree | 63ec885bcacf770b9d804838e6ef487ab3e9037d /fuzz/fuzz_targets/fuzz_target_1.rs | |
| parent | 8c54e253451cc4c6578f86db25a057fbf702fd4b (diff) | |
| download | leona-efacfd58a85f227f15178ede1658cef5072314ae.tar.gz leona-efacfd58a85f227f15178ede1658cef5072314ae.tar.bz2 leona-efacfd58a85f227f15178ede1658cef5072314ae.zip | |
add fuzz targetv0.1.0
Diffstat (limited to 'fuzz/fuzz_targets/fuzz_target_1.rs')
| -rw-r--r-- | fuzz/fuzz_targets/fuzz_target_1.rs | 31 |
1 files changed, 31 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..11b9b90 --- /dev/null +++ b/fuzz/fuzz_targets/fuzz_target_1.rs @@ -0,0 +1,31 @@ +#![no_main] + +use arbitrary::Arbitrary; +use libfuzzer_sys::fuzz_target; + +use leona::{KeyedHash, Lioness, ZeroIv}; +use chacha20::ChaCha20; +use sha2::Sha256; +use typenum::U16; + +type Cipher = Lioness<ZeroIv<ChaCha20>, KeyedHash<U16, Sha256>>; + +#[derive(Arbitrary, Debug)] +struct Input<'a> { + key: &'a [u8], + prefix: [u8; 32], + data: &'a [u8], +} + +fuzz_target!(|data: Input| { + let mut input = Vec::from(data.prefix); + input.extend(data.data); + + let cipher = Cipher::new_dynamic(data.key); + + cipher.encrypt(&mut input).unwrap(); + cipher.decrypt(&mut input).unwrap(); + + assert_eq!(&input[..32], data.prefix); + assert_eq!(&input[32..], data.data); +}); |
