|
@@ -256,8 +256,8 @@ int ccm_memory(int cipher,
|
|
|
|
|
|
/* xor the PT against the pad first */
|
|
/* xor the PT against the pad first */
|
|
for (z = 0; z < 16; z += sizeof(LTC_FAST_TYPE)) {
|
|
for (z = 0; z < 16; z += sizeof(LTC_FAST_TYPE)) {
|
|
- *((LTC_FAST_TYPE*)(&PAD[z])) ^= *((LTC_FAST_TYPE*)(&pt[y+z]));
|
|
|
|
- *((LTC_FAST_TYPE*)(&ct[y+z])) = *((LTC_FAST_TYPE*)(&pt[y+z])) ^ *((LTC_FAST_TYPE*)(&CTRPAD[z]));
|
|
|
|
|
|
+ *(LTC_FAST_TYPE_PTR_CAST(&PAD[z])) ^= *(LTC_FAST_TYPE_PTR_CAST(&pt[y+z]));
|
|
|
|
+ *(LTC_FAST_TYPE_PTR_CAST(&ct[y+z])) = *(LTC_FAST_TYPE_PTR_CAST(&pt[y+z])) ^ *(LTC_FAST_TYPE_PTR_CAST(&CTRPAD[z]));
|
|
}
|
|
}
|
|
if ((err = cipher_descriptor[cipher].ecb_encrypt(PAD, PAD, skey)) != CRYPT_OK) {
|
|
if ((err = cipher_descriptor[cipher].ecb_encrypt(PAD, PAD, skey)) != CRYPT_OK) {
|
|
goto error;
|
|
goto error;
|
|
@@ -276,8 +276,8 @@ int ccm_memory(int cipher,
|
|
|
|
|
|
/* xor the PT against the pad last */
|
|
/* xor the PT against the pad last */
|
|
for (z = 0; z < 16; z += sizeof(LTC_FAST_TYPE)) {
|
|
for (z = 0; z < 16; z += sizeof(LTC_FAST_TYPE)) {
|
|
- *((LTC_FAST_TYPE*)(&pt[y+z])) = *((LTC_FAST_TYPE*)(&ct[y+z])) ^ *((LTC_FAST_TYPE*)(&CTRPAD[z]));
|
|
|
|
- *((LTC_FAST_TYPE*)(&PAD[z])) ^= *((LTC_FAST_TYPE*)(&pt[y+z]));
|
|
|
|
|
|
+ *(LTC_FAST_TYPE_PTR_CAST(&pt[y+z])) = *(LTC_FAST_TYPE_PTR_CAST(&ct[y+z])) ^ *(LTC_FAST_TYPE_PTR_CAST(&CTRPAD[z]));
|
|
|
|
+ *(LTC_FAST_TYPE_PTR_CAST(&PAD[z])) ^= *(LTC_FAST_TYPE_PTR_CAST(&pt[y+z]));
|
|
}
|
|
}
|
|
if ((err = cipher_descriptor[cipher].ecb_encrypt(PAD, PAD, skey)) != CRYPT_OK) {
|
|
if ((err = cipher_descriptor[cipher].ecb_encrypt(PAD, PAD, skey)) != CRYPT_OK) {
|
|
goto error;
|
|
goto error;
|
|
@@ -366,7 +366,7 @@ int ccm_memory(int cipher,
|
|
if (ptlen & ~15) {
|
|
if (ptlen & ~15) {
|
|
for (; y < (ptlen & ~15); y += 16) {
|
|
for (; y < (ptlen & ~15); y += 16) {
|
|
for (z = 0; z < 16; z += sizeof(LTC_FAST_TYPE)) {
|
|
for (z = 0; z < 16; z += sizeof(LTC_FAST_TYPE)) {
|
|
- *((LTC_FAST_TYPE*)(&pt_real[y+z])) = *((LTC_FAST_TYPE*)(&pt[y+z])) & fastMask;
|
|
|
|
|
|
+ *(LTC_FAST_TYPE_PTR_CAST(&pt_real[y+z])) = *(LTC_FAST_TYPE_PTR_CAST(&pt[y+z])) & fastMask;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|