#include <string.h>
#include "des.h"
+#define LEN 32
int main() {
- u8 plain[32];
- u8 crypted[32];
+ u8 plain[LEN];
+ u8 crypted[LEN];
+ u8 plain_new[LEN];
u8 key[8];
int fd,i;
printf("des crypt/decrypt test:\n");
printf("- generating simple/random key ...\n");
- // read(fd,key,8);
- memset(key,0x90,8);
+ read(fd,key,8);
printf("key: ");
for(i=0;i<8;i++) printf("%02x ",key[i]);
puts("");
- memset(plain,0,32);
- // strcpy(plain,"allyouratmels ... :)");
- printf("encrypting '");
- for(i=0;i<32;i++) printf("%02x%c",plain[i],i==31?'\n':' ');
+ memset(plain,0,LEN);
+ strcpy(plain,"allyourbase");
+ printf("encrypting '%s' \n",plain);
- printf("encrypting (ecb mode) ...\n");
- memset(crypted,0,32);
- des_encrypt(plain,crypted,key,32,MODE_ECB);
+ printf("ecb mode:\n");
+ memset(crypted,0,LEN);
+ des_encrypt(plain,crypted,key,LEN,MODE_ECB);
printf("plain: ");
- for(i=0;i<32;i++) printf("%02x ",plain[i]);
+ for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
puts("");
printf("crypted: ");
- for(i=0;i<32;i++) printf("%02x ",crypted[i]);
+ for(i=0;i<LEN;i++) printf("%02x ",crypted[i]);
puts("");
- printf("decrypting (ecb mode) ...\n");
- memset(plain,0,32);
- des_decrypt(crypted,plain,key,32,MODE_ECB);
- printf("crypted: ");
- for(i=0;i<32;i++) printf("%02x ",crypted[i]);
+ des_decrypt(crypted,plain_new,key,LEN,MODE_ECB);
+ printf("new plain: ");
+ for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
puts("");
+ if(!strcmp(plain,plain_new)) printf("looks good!\n");
+
+ printf("cbc mode:\n");
+ memset(crypted,0,LEN);
+ memset(plain_new,0,LEN);
+ printf("plain: ");
+ for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
+ puts("");
+ des_encrypt(plain,crypted,key,LEN,MODE_CBC);
+
+ /* test */
printf("plain: ");
- for(i=0;i<32;i++) printf("%02x ",plain[i]);
+ for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
+ puts("");
+ /* test end */
+
+ printf("crypted: ");
+ for(i=0;i<LEN;i++) printf("%02x ",crypted[i]);
+ puts("");
+ des_decrypt(crypted,plain_new,key,LEN,MODE_CBC);
+ printf("new plain: ");
+ for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
puts("");
+ if(!strcmp(plain,plain_new)) printf("looks good!\n");
close(fd);