And not just the IV. Signed-off-by: James Almer <jamr...@gmail.com> --- libavutil/tests/aes_ctr.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/libavutil/tests/aes_ctr.c b/libavutil/tests/aes_ctr.c index 6f21b8bda1..fad24014cc 100644 --- a/libavutil/tests/aes_ctr.c +++ b/libavutil/tests/aes_ctr.c @@ -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)[2]; + 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,21 @@ 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(); + 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) -- 2.49.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".