3232*/
3333int ccm_memory (int cipher ,
3434 const unsigned char * key , unsigned long keylen ,
35- symmetric_key * uskey ,
35+ symmetric_ECB * uskey ,
3636 const unsigned char * nonce , unsigned long noncelen ,
3737 const unsigned char * header , unsigned long headerlen ,
3838 unsigned char * pt , unsigned long ptlen ,
@@ -42,7 +42,7 @@ int ccm_memory(int cipher,
4242{
4343 unsigned char PAD [16 ], ctr [16 ], CTRPAD [16 ], ptTag [16 ], b , * pt_real ;
4444 unsigned char * pt_work = NULL ;
45- symmetric_key * skey ;
45+ symmetric_ECB * skey ;
4646 int err ;
4747 unsigned long len , L , x , y , z , CTRlen ;
4848
@@ -83,7 +83,7 @@ int ccm_memory(int cipher,
8383 if (cipher_descriptor [cipher ].accel_ccm_memory != NULL ) {
8484 return cipher_descriptor [cipher ].accel_ccm_memory (
8585 key , keylen ,
86- uskey ,
86+ & uskey -> key ,
8787 nonce , noncelen ,
8888 header , headerlen ,
8989 pt , ptlen ,
@@ -120,7 +120,7 @@ int ccm_memory(int cipher,
120120 }
121121
122122 /* initialize the cipher */
123- if ((err = cipher_descriptor [ cipher ]. setup ( key , keylen , 0 , skey )) != CRYPT_OK ) {
123+ if ((err = ecb_start ( cipher , key , keylen , 0 , skey )) != CRYPT_OK ) {
124124 XFREE (skey );
125125 return err ;
126126 }
@@ -170,7 +170,7 @@ int ccm_memory(int cipher,
170170 }
171171
172172 /* encrypt PAD */
173- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
173+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
174174 goto error ;
175175 }
176176
@@ -195,7 +195,7 @@ int ccm_memory(int cipher,
195195 for (y = 0 ; y < headerlen ; y ++ ) {
196196 if (x == 16 ) {
197197 /* full block so let's encrypt it */
198- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
198+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
199199 goto error ;
200200 }
201201 x = 0 ;
@@ -204,7 +204,7 @@ int ccm_memory(int cipher,
204204 }
205205
206206 /* remainder */
207- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
207+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
208208 goto error ;
209209 }
210210 }
@@ -239,7 +239,7 @@ int ccm_memory(int cipher,
239239 ctr [z ] = (ctr [z ] + 1 ) & 255 ;
240240 if (ctr [z ]) break ;
241241 }
242- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (ctr , CTRPAD , skey )) != CRYPT_OK ) {
242+ if ((err = ecb_encrypt_block (ctr , CTRPAD , skey )) != CRYPT_OK ) {
243243 goto error ;
244244 }
245245
@@ -248,7 +248,7 @@ int ccm_memory(int cipher,
248248 * (LTC_FAST_TYPE_PTR_CAST (& PAD [z ])) ^= * (LTC_FAST_TYPE_PTR_CAST (& pt [y + z ]));
249249 * (LTC_FAST_TYPE_PTR_CAST (& ct [y + z ])) = * (LTC_FAST_TYPE_PTR_CAST (& pt [y + z ])) ^ * (LTC_FAST_TYPE_PTR_CAST (& CTRPAD [z ]));
250250 }
251- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
251+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
252252 goto error ;
253253 }
254254 }
@@ -259,7 +259,7 @@ int ccm_memory(int cipher,
259259 ctr [z ] = (ctr [z ] + 1 ) & 255 ;
260260 if (ctr [z ]) break ;
261261 }
262- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (ctr , CTRPAD , skey )) != CRYPT_OK ) {
262+ if ((err = ecb_encrypt_block (ctr , CTRPAD , skey )) != CRYPT_OK ) {
263263 goto error ;
264264 }
265265
@@ -268,7 +268,7 @@ int ccm_memory(int cipher,
268268 * (LTC_FAST_TYPE_PTR_CAST (& pt [y + z ])) = * (LTC_FAST_TYPE_PTR_CAST (& ct [y + z ])) ^ * (LTC_FAST_TYPE_PTR_CAST (& CTRPAD [z ]));
269269 * (LTC_FAST_TYPE_PTR_CAST (& PAD [z ])) ^= * (LTC_FAST_TYPE_PTR_CAST (& pt [y + z ]));
270270 }
271- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
271+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
272272 goto error ;
273273 }
274274 }
@@ -283,7 +283,7 @@ int ccm_memory(int cipher,
283283 ctr [z ] = (ctr [z ] + 1 ) & 255 ;
284284 if (ctr [z ]) break ;
285285 }
286- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (ctr , CTRPAD , skey )) != CRYPT_OK ) {
286+ if ((err = ecb_encrypt_block (ctr , CTRPAD , skey )) != CRYPT_OK ) {
287287 goto error ;
288288 }
289289 CTRlen = 0 ;
@@ -299,7 +299,7 @@ int ccm_memory(int cipher,
299299 }
300300
301301 if (x == 16 ) {
302- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
302+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
303303 goto error ;
304304 }
305305 x = 0 ;
@@ -308,7 +308,7 @@ int ccm_memory(int cipher,
308308 }
309309
310310 if (x != 0 ) {
311- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
311+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
312312 goto error ;
313313 }
314314 }
@@ -318,12 +318,12 @@ int ccm_memory(int cipher,
318318 for (y = 15 ; y > 15 - L ; y -- ) {
319319 ctr [y ] = 0x00 ;
320320 }
321- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (ctr , CTRPAD , skey )) != CRYPT_OK ) {
321+ if ((err = ecb_encrypt_block (ctr , CTRPAD , skey )) != CRYPT_OK ) {
322322 goto error ;
323323 }
324324
325325 if (skey != uskey ) {
326- cipher_descriptor [ cipher ]. done (skey );
326+ ecb_done (skey );
327327#ifdef LTC_CLEAN_STACK
328328 zeromem (skey , sizeof (* skey ));
329329#endif
0 commit comments