forked from wolfSSL/wolfssl
update AES CTR API with ARMv8 port
This commit is contained in:
@ -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 */
|
||||
|
Reference in New Issue
Block a user