avutil/tests/aes_ctr: also randomize the encryption key

And not just the IV.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2025-04-03 17:51:52 -03:00
parent 462d35dc72
commit 2daaafafc6

View File

@ -18,6 +18,7 @@
#include <string.h>
#include "libavutil/random_seed.h"
#include "libavutil/log.h"
#include "libavutil/mem_internal.h"
#include "libavutil/aes_ctr.h"
@ -36,13 +37,20 @@ static const DECLARE_ALIGNED(8, uint8_t, fixed_iv)[] = {
0xde, 0xad, 0xbe, 0xef, 0xde, 0xad, 0xbe, 0xef
};
static const DECLARE_ALIGNED(8, uint8_t, fixed_key)[] = {
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0x38, 0x39, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66
};
static DECLARE_ALIGNED(8, uint32_t, key)[4];
static DECLARE_ALIGNED(8, uint8_t, tmp)[20];
int main (void)
{
int ret = 1;
struct AVAESCTR *ae, *ad;
const uint8_t *iv;
const uint8_t *iv, *k;
for (int i = 0; i < 2; i++) {
ae = av_aes_ctr_alloc();
@ -51,10 +59,23 @@ int main (void)
if (!ae || !ad)
goto ERROR;
if (av_aes_ctr_init(ae, (const uint8_t*)"0123456789abcdef") < 0)
if (i)
k = fixed_key;
else {
// Note: av_random_bytes() should be used in a real world scenario,
// but since that function can fail, av_get_random_seed() is used
// here for the purpose of this test, as its output is sufficient.
key[0] = av_get_random_seed();
key[1] = av_get_random_seed();
key[2] = av_get_random_seed();
key[3] = av_get_random_seed();
k = (uint8_t *)key;
}
if (av_aes_ctr_init(ae, k) < 0)
goto ERROR;
if (av_aes_ctr_init(ad, (const uint8_t*)"0123456789abcdef") < 0)
if (av_aes_ctr_init(ad, k) < 0)
goto ERROR;
if (i)