summaryrefslogtreecommitdiff
path: root/crypto_aead/lilliputaeii128v1/ref/test
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@airbus.com>2018-12-04 08:15:59 +0100
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2018-12-04 10:40:58 +0100
commitdded798f1a038c8482fcc5d41824a9161d0a60c2 (patch)
treea52436ee5e61d639aaceaeae2efb587a6e68f57b /crypto_aead/lilliputaeii128v1/ref/test
parent950bd7432cd486d29503444b0557d7a1452efd07 (diff)
downloadlilliput-ae-implem-dded798f1a038c8482fcc5d41824a9161d0a60c2.tar.xz
[WIP] screw with folders organization
Diffstat (limited to 'crypto_aead/lilliputaeii128v1/ref/test')
-rw-r--r--crypto_aead/lilliputaeii128v1/ref/test/test-ae-roundtrip.c118
1 files changed, 0 insertions, 118 deletions
diff --git a/crypto_aead/lilliputaeii128v1/ref/test/test-ae-roundtrip.c b/crypto_aead/lilliputaeii128v1/ref/test/test-ae-roundtrip.c
deleted file mode 100644
index 80ac737..0000000
--- a/crypto_aead/lilliputaeii128v1/ref/test/test-ae-roundtrip.c
+++ /dev/null
@@ -1,118 +0,0 @@
-#include <stdio.h>
-#include <stdint.h>
-#include <string.h>
-
-#include "lilliput-ae.h"
-
-#include "test-helpers.h"
-
-
-struct vector
-{
- char *name;
- uint8_t key[KEY_BYTES];
- uint8_t nonce[NONCE_BYTES];
- size_t auth_len;
- uint8_t *auth;
- size_t message_len;
- uint8_t *message;
-};
-
-typedef struct vector vector;
-
-
-/* Keys and nonces generated with /dev/urandom. */
-
-const vector VECTORS[] = {
- {
- .name = "short",
- .key = {
- 0xdc, 0xd8, 0xcb, 0x6d, 0xf9, 0xda, 0xf2, 0xc9,
- 0x7c, 0xc1, 0x6a, 0xff, 0x7e, 0x1d, 0x27, 0xa3
- },
- .nonce = {
- 0xcd, 0x6f, 0x24, 0xe1, 0xf8, 0xcd, 0x64, 0xde,
- 0x18, 0x2f, 0x92, 0xab, 0xdb, 0xfa, 0xff
- },
- .auth_len = 8,
- .auth = (uint8_t*)"deadbeef",
- .message_len = 4,
- .message = (uint8_t[]){
- 0xde, 0xad, 0xbe, 0xef
- }
- },
- {
- .name = "block-sized",
- .key = {
- 0x3f, 0x75, 0x05, 0x0a, 0xc1, 0xc6, 0xb5, 0xe0,
- 0x57, 0x2e, 0x60, 0x9e, 0x32, 0xab, 0xbe, 0xd0
- },
- .nonce = {
- 0xcd, 0x7d, 0xb0, 0xa0, 0x62, 0xdf, 0xda, 0x0a,
- 0x23, 0x7a, 0x17, 0x32, 0x60, 0x42, 0xef
- },
- .auth_len = 13,
- .auth = (uint8_t*)"some metadata",
- .message_len = 2*BLOCK_BYTES,
- .message = (uint8_t*)"32-byte long, i.e. 2*BLOCK_BYTES"
- },
- {
- .name = "arbitrarily long",
- .key = {
- 0x13, 0x6a, 0x99, 0xfd, 0xbf, 0x88, 0xac, 0xf8,
- 0x92, 0x7b, 0x27, 0xb1, 0x10, 0xa5, 0xe8, 0x73
- },
- .nonce = {
- 0x59, 0x41, 0xa7, 0x53, 0x0f, 0xde, 0xf1, 0xb1,
- 0xca, 0xd5, 0x80, 0xc4, 0x1c, 0x16, 0x2b
- },
- .auth_len = 30,
- .auth = (uint8_t*)"a bunch of associated metadata",
- .message_len = 59,
- .message = (uint8_t*)"here comes the placeholder: foobar ipsum dolor sit baz quux"
- }
-};
-
-
-int main()
-{
- int diff = 0;
-
- for (const vector *v=VECTORS; v<ARRAY_END(VECTORS); v++)
- {
- uint8_t ciphertext[v->message_len];
- uint8_t tag[TAG_BYTES];
-
- lilliput_ae_encrypt(
- v->message_len, v->message,
- v->auth_len, v->auth,
- v->key, v->nonce,
- ciphertext,
- tag
- );
-
- uint8_t deciphered[v->message_len];
- bool valid = lilliput_ae_decrypt(
- v->message_len, ciphertext,
- v->auth_len, v->auth,
- v->key, v->nonce, tag,
- deciphered
- );
-
- if (!valid)
- {
- REPORT_INVALID(v->name);
- diff++;
- continue;
- }
-
- if (memcmp(deciphered, v->message, v->message_len) != 0)
- {
- REPORT_DIFFERENCE(v->name, "deciphered plaintext");
- diff++;
- continue;
- }
- }
-
- return diff;
-}