summaryrefslogtreecommitdiff
path: root/test/default/auth.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/default/auth.c')
-rw-r--r--test/default/auth.c57
1 files changed, 48 insertions, 9 deletions
diff --git a/test/default/auth.c b/test/default/auth.c
index 88c8207..913ada4 100644
--- a/test/default/auth.c
+++ b/test/default/auth.c
@@ -1,4 +1,3 @@
-#include <stdio.h>
#define TEST_NAME "auth"
#include "cmptest.h"
@@ -7,15 +6,55 @@
unsigned char key[32] = "Jefe";
unsigned char c[] = "what do ya want for nothing?";
-unsigned char a[32];
+/* Hacker manifesto */
+unsigned char key2[] = "Another one got caught today, it's all over the papers. \"Teenager Arrested in Computer Crime Scandal\", \"Hacker Arrested after Bank Tampering\"... Damn kids. They're all alike.";
+
+unsigned char a[crypto_auth_BYTES];
+unsigned char a2[crypto_auth_hmacsha512_BYTES];
int main(void)
{
- int i;
- crypto_auth_hmacsha512256(a,c,sizeof c - 1U,key);
- for (i = 0;i < 32;++i) {
- printf(",0x%02x",(unsigned int) a[i]);
- if (i % 8 == 7) printf("\n");
- }
- return 0;
+ crypto_auth_hmacsha512_state st;
+ int i;
+
+ crypto_auth(a, c, sizeof c - 1U, key);
+ for (i = 0; i < sizeof a; ++i) {
+ printf(",0x%02x", (unsigned int)a[i]);
+ if (i % 8 == 7)
+ printf("\n");
+ }
+ printf("\n");
+
+ crypto_auth_hmacsha512_init(&st, key, sizeof key);
+ crypto_auth_hmacsha512_update(&st, c, 1U);
+ crypto_auth_hmacsha512_update(&st, c, sizeof c - 2U);
+ crypto_auth_hmacsha512_final(&st, a2);
+ for (i = 0; i < sizeof a2; ++i) {
+ printf(",0x%02x", (unsigned int)a2[i]);
+ if (i % 8 == 7)
+ printf("\n");
+ }
+ printf("\n");
+
+ crypto_auth_hmacsha512_init(&st, key2, sizeof key2);
+ crypto_auth_hmacsha512_update(&st, c, 1U);
+ crypto_auth_hmacsha512_update(&st, c, sizeof c - 2U);
+ crypto_auth_hmacsha512_final(&st, a2);
+ for (i = 0; i < sizeof a2; ++i) {
+ printf(",0x%02x", (unsigned int)a2[i]);
+ if (i % 8 == 7)
+ printf("\n");
+ }
+
+ assert(crypto_auth_bytes() > 0U);
+ assert(crypto_auth_keybytes() > 0U);
+ assert(strcmp(crypto_auth_primitive(), "hmacsha512256") == 0);
+ assert(crypto_auth_hmacsha256_bytes() > 0U);
+ assert(crypto_auth_hmacsha256_keybytes() > 0U);
+ assert(crypto_auth_hmacsha512_bytes() > 0U);
+ assert(crypto_auth_hmacsha512_keybytes() > 0U);
+ assert(crypto_auth_hmacsha512256_bytes() == crypto_auth_bytes());
+ assert(crypto_auth_hmacsha512256_keybytes() == crypto_auth_keybytes());
+
+ return 0;
}