diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2025-09-04 21:47:55 +0200 | 
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2025-09-04 21:47:55 +0200 | 
| commit | 4b83bfcad25c8d8e36fe210a76faa5797f9c5aaf (patch) | |
| tree | 7d7045099a4e977e467a4e28581f620219746474 /src | |
| parent | 7d8c9ab2be2e72038692a96b10427ab6ed914259 (diff) | |
| download | zears-4b83bfcad25c8d8e36fe210a76faa5797f9c5aaf.tar.gz zears-4b83bfcad25c8d8e36fe210a76faa5797f9c5aaf.tar.bz2 zears-4b83bfcad25c8d8e36fe210a76faa5797f9c5aaf.zip  | |
add benchmarks for primitives
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 42 | 
1 files changed, 42 insertions, 0 deletions
@@ -891,6 +891,48 @@ fn split_key(key: &Key) -> (Block, Block, Block) {      )  } +/// Access to the primitive AEZ functions `aez_prf`, `aez_hash`, `encipher`, `decipher` and `e`. +/// +/// Note that this is a low-level API, not intended for general use. +/// +/// Note further that this API is exempt from semver guarantees and might break. +#[cfg(feature = "primitives")] +pub mod primitives { +    use super::{Aez, Block}; + +    pub fn encipher<A: AsRef<[u8]>, T: IntoIterator<Item = A>>( +        aez: &Aez, +        tweaks: T, +        message: &mut [u8], +    ) { +        super::encipher(aez, tweaks, message) +    } + +    pub fn decipher<A: AsRef<[u8]>, T: IntoIterator<Item = A>>( +        aez: &Aez, +        tweaks: T, +        message: &mut [u8], +    ) { +        super::decipher(aez, tweaks, message) +    } + +    pub fn aez_hash<A: AsRef<[u8]>, T: IntoIterator<Item = A>>(aez: &Aez, tweaks: T) -> [u8; 16] { +        super::aez_hash(aez, tweaks).bytes() +    } + +    pub fn aez_prf<A: AsRef<[u8]>, T: IntoIterator<Item = A>>( +        aez: &Aez, +        tweaks: T, +        buffer: &mut [u8], +    ) { +        super::aez_prf(aez, tweaks, buffer) +    } + +    pub fn e(j: i32, i: u32, aez: &Aez, block: [u8; 16]) -> [u8; 16] { +        super::e(j, i, aez, Block::from(block)).bytes() +    } +} +  #[cfg(all(test, feature = "std"))]  mod test {      use super::*;  | 
