aboutsummaryrefslogtreecommitdiffstats
path: root/lib/libcrypto/libserpent/test_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcrypto/libserpent/test_main.c')
-rw-r--r--lib/libcrypto/libserpent/test_main.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/libcrypto/libserpent/test_main.c b/lib/libcrypto/libserpent/test_main.c
new file mode 100644
index 000000000..350068e60
--- /dev/null
+++ b/lib/libcrypto/libserpent/test_main.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <string.h>
+#include "serpent_cbc.h"
+#define BLOCK_SIZE 16
+#define KEY_SIZE 128 /* bits */
+#define KEY "1234567890123456"
+#define STR "hola guaso como estaisss ... 012"
+#define STRSZ (sizeof(STR)-1)
+
+#define BLKLEN BLOCK_SIZE
+#define CONTEXT_T serpent_context
+static int pretty_print(const unsigned char *buf, int count) {
+ int i=0;
+ for (;i<count;i++) printf ("%02hhx ", buf[i]);
+ putchar('\n');
+ return i;
+}
+//#define SIZE STRSZ/2
+#define SIZE STRSZ
+int main() {
+ int ret;
+ char buf0[SIZE+1], buf1[SIZE+1];
+ char IV[BLOCK_SIZE];
+ CONTEXT_T ac;
+ serpent_set_key(&ac, (void *)KEY, KEY_SIZE);
+ memset(buf0, 0, sizeof (buf0));
+ memset(buf1, 0, sizeof (buf1));
+ serpent_cbc_encrypt(&ac, STR, buf0, SIZE, IV, 1);
+ pretty_print(buf0, SIZE);
+ printf("size=%d ret=%d\n%s\n", SIZE, ret, buf0);
+ ret=serpent_cbc_encrypt(&ac, buf0, buf1, SIZE, IV, 0);
+ printf("size=%d ret=%d\n%s\n", SIZE, ret, buf1);
+ return 0;
+}