Commit 4f4b5b23 authored by Niels Möller's avatar Niels Möller

(test_cipher_ctr): New function.

Rev: src/nettle/testsuite/testutils.c:1.27
Rev: src/nettle/testsuite/testutils.h:1.22
parent a0753dde
......@@ -3,6 +3,7 @@
#include "testutils.h"
#include "cbc.h"
#include "ctr.h"
#include "knuth-lfib.h"
#include <ctype.h>
......@@ -224,6 +225,43 @@ test_cipher_cbc(const struct nettle_cipher *cipher,
free(iv);
}
void
test_cipher_ctr(const struct nettle_cipher *cipher,
unsigned key_length,
const uint8_t *key,
unsigned length,
const uint8_t *cleartext,
const uint8_t *ciphertext,
const uint8_t *ictr)
{
void *ctx = xalloc(cipher->context_size);
uint8_t *data = xalloc(length);
uint8_t *ctr = xalloc(cipher->block_size);
cipher->set_encrypt_key(ctx, key_length, key);
memcpy(ctr, ictr, cipher->block_size);
ctr_crypt(ctx, cipher->encrypt,
cipher->block_size, ctr,
length, data, cleartext);
if (!MEMEQ(length, data, ciphertext))
FAIL();
memcpy(ctr, ictr, cipher->block_size);
ctr_crypt(ctx, cipher->encrypt,
cipher->block_size, ctr,
length, data, data);
if (!MEMEQ(length, data, cleartext))
FAIL();
free(ctx);
free(data);
free(ctr);
}
void
test_cipher_stream(const struct nettle_cipher *cipher,
unsigned key_length,
......
......@@ -63,6 +63,15 @@ test_cipher_cbc(const struct nettle_cipher *cipher,
const uint8_t *ciphertext,
const uint8_t *iv);
void
test_cipher_ctr(const struct nettle_cipher *cipher,
unsigned key_length,
const uint8_t *key,
unsigned length,
const uint8_t *cleartext,
const uint8_t *ciphertext,
const uint8_t *iv);
void
test_cipher_stream(const struct nettle_cipher *cipher,
unsigned key_length,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment