update AES CTR API with ARMv8 port

This commit is contained in:
Jacob Barthelmeh
2017-07-11 17:13:32 -06:00
parent 7853440d89
commit 9d7e8a83c9

View File

@ -887,11 +887,17 @@ void wc_AesFree(Aes* aes)
}
}
void wc_AesCtrEncrypt(Aes* aes, byte* out, const byte* in, word32 sz)
int wc_AesCtrEncrypt(Aes* aes, byte* out, const byte* in, word32 sz)
{
byte* tmp = (byte*)aes->tmp + AES_BLOCK_SIZE - aes->left;
byte* tmp;
word32 numBlocks;
if (aes == NULL || out == NULL || in == NULL) {
return BAD_FUNC_ARG;
}
tmp = (byte*)aes->tmp + AES_BLOCK_SIZE - aes->left;
/* consume any unused bytes left in aes->tmp */
while (aes->left && sz) {
*(out++) = *(in++) ^ *(tmp++);
@ -1374,7 +1380,7 @@ void wc_AesFree(Aes* aes)
default:
WOLFSSL_MSG("Bad AES-CTR round value");
return;
return BAD_FUNC_ARG;
}
aes->left = 0;
@ -1393,6 +1399,7 @@ void wc_AesFree(Aes* aes)
aes->left--;
}
}
return 0;
}
#endif /* WOLFSSL_AES_COUNTER */
@ -3503,11 +3510,17 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz,
}
}
void wc_AesCtrEncrypt(Aes* aes, byte* out, const byte* in, word32 sz)
int wc_AesCtrEncrypt(Aes* aes, byte* out, const byte* in, word32 sz)
{
byte* tmp = (byte*)aes->tmp + AES_BLOCK_SIZE - aes->left;
byte* tmp;
word32 numBlocks;
if (aes == NULL || out == NULL || in == NULL) {
return BAD_FUNC_ARG;
}
tmp = (byte*)aes->tmp + AES_BLOCK_SIZE - aes->left;
/* consume any unused bytes left in aes->tmp */
while (aes->left && sz) {
*(out++) = *(in++) ^ *(tmp++);
@ -3997,7 +4010,7 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz,
default:
WOLFSSL_MSG("Bad AES-CTR round qalue");
return;
return BAD_FUNC_ARG;
}
aes->left = 0;
@ -4016,6 +4029,8 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz,
aes->left--;
}
}
return 0;
}
#endif /* WOLFSSL_AES_COUNTER */