summaryrefslogtreecommitdiff
path: root/test/default/core6.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/default/core6.c')
-rw-r--r--test/default/core6.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/default/core6.c b/test/default/core6.c
new file mode 100644
index 0000000..8a98696
--- /dev/null
+++ b/test/default/core6.c
@@ -0,0 +1,49 @@
+#include <stdio.h>
+
+#define TEST_NAME "core6"
+#include "cmptest.h"
+
+unsigned char k[32] = {
+ 0xee,0x30,0x4f,0xca,0x27,0x00,0x8d,0x8c
+,0x12,0x6f,0x90,0x02,0x79,0x01,0xd8,0x0f
+,0x7f,0x1d,0x8b,0x8d,0xc9,0x36,0xcf,0x3b
+,0x9f,0x81,0x96,0x92,0x82,0x7e,0x57,0x77
+} ;
+
+unsigned char in[16] = {
+ 0x81,0x91,0x8e,0xf2,0xa5,0xe0,0xda,0x9b
+,0x3e,0x90,0x60,0x52,0x1e,0x4b,0xb3,0x52
+} ;
+
+unsigned char c[16] = {
+ 101,120,112, 97,110,100, 32, 51
+, 50, 45, 98,121,116,101, 32,107
+} ;
+
+unsigned char out[64];
+
+void print(unsigned char *x,unsigned char *y)
+{
+ int i;
+ unsigned int borrow = 0;
+ for (i = 0;i < 4;++i) {
+ unsigned int xi = x[i];
+ unsigned int yi = y[i];
+ printf(",0x%02x",255 & (xi - yi - borrow));
+ borrow = (xi < yi + borrow);
+ }
+}
+
+int main(void)
+{
+ crypto_core_salsa20(out,in,k,c);
+ print(out,c);
+ print(out + 20,c + 4); printf("\n");
+ print(out + 40,c + 8);
+ print(out + 60,c + 12); printf("\n");
+ print(out + 24,in);
+ print(out + 28,in + 4); printf("\n");
+ print(out + 32,in + 8);
+ print(out + 36,in + 12); printf("\n");
+ return 0;
+}