diff --git a/deoxys/src/deoxys_bc.rs b/deoxys/src/deoxys_bc.rs index 2bb76462..b39a32de 100644 --- a/deoxys/src/deoxys_bc.rs +++ b/deoxys/src/deoxys_bc.rs @@ -3,7 +3,7 @@ use aead::{ consts::{U15, U16, U17, U32, U48}, }; -use crate::{DeoxysBcType, DeoxysKey, Tweak}; +use crate::{DeoxysBcType, Key, Tweak}; const H_PERM: [u8; 16] = [1, 6, 11, 12, 5, 10, 15, 0, 9, 14, 3, 4, 13, 2, 7, 8]; @@ -47,9 +47,9 @@ pub trait DeoxysBcInternal { fn key_schedule( tweak: &Tweak, - subkeys: &Array, - ) -> Array { - let mut subtweakeys: Array = Default::default(); + subkeys: &Array, + ) -> Array { + let mut subtweakeys: Array = Default::default(); let mut tweak = *tweak; // First key @@ -78,8 +78,8 @@ impl DeoxysBcInternal for DeoxysBc256 { impl DeoxysBcType for DeoxysBc256 { type KeySize = U16; - fn precompute_subkeys(key: &Array) -> Array { - let mut subkeys: Array = Default::default(); + fn precompute_subkeys(key: &Array) -> Array { + let mut subkeys: Array = Default::default(); let mut tk2 = [0u8; 16]; @@ -116,8 +116,8 @@ impl DeoxysBcInternal for DeoxysBc384 { impl DeoxysBcType for DeoxysBc384 { type KeySize = U32; - fn precompute_subkeys(key: &Array) -> Array { - let mut subkeys: Array = Default::default(); + fn precompute_subkeys(key: &Array) -> Array { + let mut subkeys: Array = Default::default(); let mut tk3 = [0u8; 16]; let mut tk2 = [0u8; 16]; diff --git a/deoxys/src/lib.rs b/deoxys/src/lib.rs index 63df0f7b..a1b51ef2 100644 --- a/deoxys/src/lib.rs +++ b/deoxys/src/lib.rs @@ -110,7 +110,7 @@ mod deoxys_bc; /// Operation modes for Deoxys. mod modes; -pub use aead::{self, AeadCore, AeadInPlaceDetached, Error, Key, KeyInit, KeySizeUser, consts}; +pub use aead::{self, AeadCore, AeadInPlaceDetached, Error, KeyInit, KeySizeUser, consts}; use aead::{ PostfixTagged, @@ -143,7 +143,8 @@ type Block = Array; type Tweak = Array; -type DeoxysKey = Array; +/// Deoxys key +pub type Key = Array; /// Deoxys encryption modes. /// This type contains the public API for a Deoxys mode, like Deoxys-I and Deoxys-II. @@ -160,7 +161,7 @@ where nonce: &Array, associated_data: &[u8], buffer: &mut [u8], - subkeys: &Array, + subkeys: &Array, ) -> Tag; /// Decrypts the data in place with the specified parameters @@ -170,7 +171,7 @@ where associated_data: &[u8], buffer: &mut [u8], tag: &Tag, - subkeys: &Array, + subkeys: &Array, ) -> Result<(), aead::Error>; } @@ -181,14 +182,10 @@ pub trait DeoxysBcType: deoxys_bc::DeoxysBcInternal { type KeySize: ArraySize; /// Precompute the subkeys - fn precompute_subkeys(key: &Array) -> Array; + fn precompute_subkeys(key: &Array) -> Array; /// Encrypts a block of data in place. - fn encrypt_in_place( - block: &mut Block, - tweak: &Tweak, - subkeys: &Array, - ) { + fn encrypt_in_place(block: &mut Block, tweak: &Tweak, subkeys: &Array) { let keys = Self::key_schedule(tweak, subkeys); for (b, k) in block.iter_mut().zip(keys[0].iter()) { @@ -201,11 +198,7 @@ pub trait DeoxysBcType: deoxys_bc::DeoxysBcInternal { } /// Decrypts a block of data in place. - fn decrypt_in_place( - block: &mut Block, - tweak: &Tweak, - subkeys: &Array, - ) { + fn decrypt_in_place(block: &mut Block, tweak: &Tweak, subkeys: &Array) { let mut keys = Self::key_schedule(tweak, subkeys); let r = keys.len(); @@ -233,7 +226,7 @@ where M: DeoxysMode, B: DeoxysBcType, { - subkeys: Array, + subkeys: Array, mode: PhantomData, } @@ -250,7 +243,7 @@ where M: DeoxysMode, B: DeoxysBcType, { - fn new(key: &Key) -> Self { + fn new(key: &aead::Key) -> Self { Self { subkeys: B::precompute_subkeys(key), mode: PhantomData, diff --git a/deoxys/src/modes.rs b/deoxys/src/modes.rs index d02d586a..2b21bf75 100644 --- a/deoxys/src/modes.rs +++ b/deoxys/src/modes.rs @@ -1,4 +1,4 @@ -use super::{Block, DeoxysBcType, DeoxysKey, DeoxysMode, Tag, Tweak}; +use super::{Block, DeoxysBcType, DeoxysMode, Key, Tag, Tweak}; use aead::{ array::Array, consts::{U8, U15, U16}, @@ -33,7 +33,7 @@ where fn compute_ad_tag( associated_data: &[u8], tweak: &mut Tweak, - subkeys: &Array, + subkeys: &Array, tag: &mut Tag, ) { if !associated_data.is_empty() { @@ -86,7 +86,7 @@ where nonce: &Array, associated_data: &[u8], buffer: &mut [u8], - subkeys: &Array, + subkeys: &Array, ) -> Tag { let mut tag = Tag::default(); let mut checksum = Checksum::default(); @@ -186,7 +186,7 @@ where associated_data: &[u8], buffer: &mut [u8], tag: &Tag, - subkeys: &Array, + subkeys: &Array, ) -> Result<(), aead::Error> { let mut computed_tag = Tag::default(); let mut checksum = Checksum::default(); @@ -291,7 +291,7 @@ where fn authenticate_message( buffer: &[u8], tweak: &mut Tweak, - subkeys: &Array, + subkeys: &Array, tag: &mut Tag, ) { if !buffer.is_empty() { @@ -332,7 +332,7 @@ where fn encrypt_decrypt_message( buffer: &mut [u8], tweak: &mut Tweak, - subkeys: &Array, + subkeys: &Array, tag: &Tag, nonce: &Array, ) { @@ -376,7 +376,7 @@ where nonce: &Array, associated_data: &[u8], buffer: &mut [u8], - subkeys: &Array, + subkeys: &Array, ) -> Tag { let mut tag = Tag::default(); let mut tweak = Tweak::default(); @@ -407,7 +407,7 @@ where associated_data: &[u8], buffer: &mut [u8], tag: &Tag, - subkeys: &Array, + subkeys: &Array, ) -> Result<(), aead::Error> { let mut computed_tag = Tag::default(); let mut tweak = Tweak::default();