mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-05-17 15:08:09 +08:00
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:
@ -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)
|
||||
|
Reference in New Issue
Block a user