@@ -143,6 +143,8 @@ type Block = Array<u8, U16>;
143143
144144type Tweak = Array < u8 , U16 > ;
145145
146+ type DeoxysKey = Array < u8 , U16 > ;
147+
146148/// Deoxys encryption modes.
147149/// This type contains the public API for a Deoxys mode, like Deoxys-I and Deoxys-II.
148150pub trait DeoxysMode < B > : modes:: DeoxysModeInternal < B >
@@ -158,7 +160,7 @@ where
158160 nonce : & Array < u8 , Self :: NonceSize > ,
159161 associated_data : & [ u8 ] ,
160162 buffer : & mut [ u8 ] ,
161- subkeys : & Array < [ u8 ; 16 ] , B :: SubkeysSize > ,
163+ subkeys : & Array < DeoxysKey , B :: SubkeysSize > ,
162164 ) -> Tag ;
163165
164166 /// Decrypts the data in place with the specified parameters
@@ -168,7 +170,7 @@ where
168170 associated_data : & [ u8 ] ,
169171 buffer : & mut [ u8 ] ,
170172 tag : & Tag ,
171- subkeys : & Array < [ u8 ; 16 ] , B :: SubkeysSize > ,
173+ subkeys : & Array < DeoxysKey , B :: SubkeysSize > ,
172174 ) -> Result < ( ) , aead:: Error > ;
173175}
174176
@@ -179,13 +181,13 @@ pub trait DeoxysBcType: deoxys_bc::DeoxysBcInternal {
179181 type KeySize : ArraySize ;
180182
181183 /// Precompute the subkeys
182- fn precompute_subkeys ( key : & Array < u8 , Self :: KeySize > ) -> Array < [ u8 ; 16 ] , Self :: SubkeysSize > ;
184+ fn precompute_subkeys ( key : & Array < u8 , Self :: KeySize > ) -> Array < DeoxysKey , Self :: SubkeysSize > ;
183185
184186 /// Encrypts a block of data in place.
185187 fn encrypt_in_place (
186188 block : & mut Block ,
187189 tweak : & Tweak ,
188- subkeys : & Array < [ u8 ; 16 ] , Self :: SubkeysSize > ,
190+ subkeys : & Array < DeoxysKey , Self :: SubkeysSize > ,
189191 ) {
190192 let keys = Self :: key_schedule ( tweak, subkeys) ;
191193
@@ -194,15 +196,15 @@ pub trait DeoxysBcType: deoxys_bc::DeoxysBcInternal {
194196 }
195197
196198 for k in & keys[ 1 ..] {
197- aes:: hazmat:: cipher_round ( block, k. into ( ) ) ;
199+ aes:: hazmat:: cipher_round ( block, k) ;
198200 }
199201 }
200202
201203 /// Decrypts a block of data in place.
202204 fn decrypt_in_place (
203205 block : & mut Block ,
204206 tweak : & Tweak ,
205- subkeys : & Array < [ u8 ; 16 ] , Self :: SubkeysSize > ,
207+ subkeys : & Array < DeoxysKey , Self :: SubkeysSize > ,
206208 ) {
207209 let mut keys = Self :: key_schedule ( tweak, subkeys) ;
208210
@@ -215,8 +217,8 @@ pub trait DeoxysBcType: deoxys_bc::DeoxysBcInternal {
215217 aes:: hazmat:: inv_mix_columns ( block) ;
216218
217219 for k in keys[ ..r - 1 ] . iter_mut ( ) . rev ( ) {
218- aes:: hazmat:: inv_mix_columns ( k. into ( ) ) ;
219- aes:: hazmat:: equiv_inv_cipher_round ( block, ( & * k ) . into ( ) ) ;
220+ aes:: hazmat:: inv_mix_columns ( k) ;
221+ aes:: hazmat:: equiv_inv_cipher_round ( block, k ) ;
220222 }
221223
222224 aes:: hazmat:: mix_columns ( block) ;
@@ -231,7 +233,7 @@ where
231233 M : DeoxysMode < B > ,
232234 B : DeoxysBcType ,
233235{
234- subkeys : Array < [ u8 ; 16 ] , B :: SubkeysSize > ,
236+ subkeys : Array < DeoxysKey , B :: SubkeysSize > ,
235237 mode : PhantomData < M > ,
236238}
237239
0 commit comments