Files
strongswan-ext/lib/libcrypto/libserpent/test_main.c
T
Martin Willi 997358a6c4 - import of strongswan-2.7.0
- applied patch for charon
2006-04-28 07:14:48 +00:00

35 lines
943 B
C

#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;
}