use crate::{
Result,
crypto::{
mem::Protected,
aead::{CipherOp, Context},
AEADAlgorithm,
SymmetricAlgorithm,
},
};
pub trait Aead {
fn supports_algo(algo: AEADAlgorithm) -> bool;
fn supports_algo_with_symmetric(algo: AEADAlgorithm,
symm: SymmetricAlgorithm) -> bool;
fn context(algo: AEADAlgorithm,
sym_algo: SymmetricAlgorithm,
key: &Protected,
aad: &[u8],
nonce: &[u8],
op: CipherOp,
) -> Result<Box<dyn Context>>;
}