38
38
*/
39
39
int ccm_memory (int cipher ,
40
40
const unsigned char * key , unsigned long keylen ,
41
- symmetric_key * uskey ,
41
+ symmetric_ECB * uskey ,
42
42
const unsigned char * nonce , unsigned long noncelen ,
43
43
const unsigned char * header , unsigned long headerlen ,
44
44
unsigned char * pt , unsigned long ptlen ,
@@ -48,7 +48,7 @@ int ccm_memory(int cipher,
48
48
{
49
49
unsigned char PAD [16 ], ctr [16 ], CTRPAD [16 ], ptTag [16 ], b , * pt_real ;
50
50
unsigned char * pt_work = NULL ;
51
- symmetric_key * skey ;
51
+ symmetric_ECB * skey ;
52
52
int err ;
53
53
unsigned long len , L , x , y , z , CTRlen ;
54
54
@@ -89,7 +89,7 @@ int ccm_memory(int cipher,
89
89
if (cipher_descriptor [cipher ].accel_ccm_memory != NULL ) {
90
90
return cipher_descriptor [cipher ].accel_ccm_memory (
91
91
key , keylen ,
92
- uskey ,
92
+ & uskey -> key ,
93
93
nonce , noncelen ,
94
94
header , headerlen ,
95
95
pt , ptlen ,
@@ -123,7 +123,7 @@ int ccm_memory(int cipher,
123
123
}
124
124
125
125
/* initialize the cipher */
126
- if ((err = cipher_descriptor [ cipher ]. setup ( key , keylen , 0 , skey )) != CRYPT_OK ) {
126
+ if ((err = ecb_start ( cipher , key , keylen , 0 , skey )) != CRYPT_OK ) {
127
127
XFREE (skey );
128
128
return err ;
129
129
}
@@ -169,7 +169,7 @@ int ccm_memory(int cipher,
169
169
}
170
170
171
171
/* encrypt PAD */
172
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
172
+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
173
173
goto error ;
174
174
}
175
175
@@ -194,7 +194,7 @@ int ccm_memory(int cipher,
194
194
for (y = 0 ; y < headerlen ; y ++ ) {
195
195
if (x == 16 ) {
196
196
/* full block so let's encrypt it */
197
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
197
+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
198
198
goto error ;
199
199
}
200
200
x = 0 ;
@@ -203,7 +203,7 @@ int ccm_memory(int cipher,
203
203
}
204
204
205
205
/* remainder */
206
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
206
+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
207
207
goto error ;
208
208
}
209
209
}
@@ -238,7 +238,7 @@ int ccm_memory(int cipher,
238
238
ctr [z ] = (ctr [z ] + 1 ) & 255 ;
239
239
if (ctr [z ]) break ;
240
240
}
241
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (ctr , CTRPAD , skey )) != CRYPT_OK ) {
241
+ if ((err = ecb_encrypt_block (ctr , CTRPAD , skey )) != CRYPT_OK ) {
242
242
goto error ;
243
243
}
244
244
@@ -247,7 +247,7 @@ int ccm_memory(int cipher,
247
247
* (LTC_FAST_TYPE_PTR_CAST (& PAD [z ])) ^= * (LTC_FAST_TYPE_PTR_CAST (& pt [y + z ]));
248
248
* (LTC_FAST_TYPE_PTR_CAST (& ct [y + z ])) = * (LTC_FAST_TYPE_PTR_CAST (& pt [y + z ])) ^ * (LTC_FAST_TYPE_PTR_CAST (& CTRPAD [z ]));
249
249
}
250
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
250
+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
251
251
goto error ;
252
252
}
253
253
}
@@ -258,7 +258,7 @@ int ccm_memory(int cipher,
258
258
ctr [z ] = (ctr [z ] + 1 ) & 255 ;
259
259
if (ctr [z ]) break ;
260
260
}
261
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (ctr , CTRPAD , skey )) != CRYPT_OK ) {
261
+ if ((err = ecb_encrypt_block (ctr , CTRPAD , skey )) != CRYPT_OK ) {
262
262
goto error ;
263
263
}
264
264
@@ -267,7 +267,7 @@ int ccm_memory(int cipher,
267
267
* (LTC_FAST_TYPE_PTR_CAST (& pt [y + z ])) = * (LTC_FAST_TYPE_PTR_CAST (& ct [y + z ])) ^ * (LTC_FAST_TYPE_PTR_CAST (& CTRPAD [z ]));
268
268
* (LTC_FAST_TYPE_PTR_CAST (& PAD [z ])) ^= * (LTC_FAST_TYPE_PTR_CAST (& pt [y + z ]));
269
269
}
270
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
270
+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
271
271
goto error ;
272
272
}
273
273
}
@@ -282,7 +282,7 @@ int ccm_memory(int cipher,
282
282
ctr [z ] = (ctr [z ] + 1 ) & 255 ;
283
283
if (ctr [z ]) break ;
284
284
}
285
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (ctr , CTRPAD , skey )) != CRYPT_OK ) {
285
+ if ((err = ecb_encrypt_block (ctr , CTRPAD , skey )) != CRYPT_OK ) {
286
286
goto error ;
287
287
}
288
288
CTRlen = 0 ;
@@ -298,7 +298,7 @@ int ccm_memory(int cipher,
298
298
}
299
299
300
300
if (x == 16 ) {
301
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
301
+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
302
302
goto error ;
303
303
}
304
304
x = 0 ;
@@ -307,7 +307,7 @@ int ccm_memory(int cipher,
307
307
}
308
308
309
309
if (x != 0 ) {
310
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (PAD , PAD , skey )) != CRYPT_OK ) {
310
+ if ((err = ecb_encrypt_block (PAD , PAD , skey )) != CRYPT_OK ) {
311
311
goto error ;
312
312
}
313
313
}
@@ -317,12 +317,12 @@ int ccm_memory(int cipher,
317
317
for (y = 15 ; y > 15 - L ; y -- ) {
318
318
ctr [y ] = 0x00 ;
319
319
}
320
- if ((err = cipher_descriptor [ cipher ]. ecb_encrypt (ctr , CTRPAD , skey )) != CRYPT_OK ) {
320
+ if ((err = ecb_encrypt_block (ctr , CTRPAD , skey )) != CRYPT_OK ) {
321
321
goto error ;
322
322
}
323
323
324
324
if (skey != uskey ) {
325
- cipher_descriptor [ cipher ]. done (skey );
325
+ ecb_done (skey );
326
326
#ifdef LTC_CLEAN_STACK
327
327
zeromem (skey , sizeof (* skey ));
328
328
#endif
0 commit comments