2 * test.c - test ciphers ...
4 * hackbard@hackdaworld.dyndns.org
25 if((fd=open("/dev/urandom",O_RDONLY))<0) {
26 puts("open urandom device failed!");
30 printf("des crypt/decrypt test:\n");
31 printf("- generating simple/random key ...\n");
34 for(i=0;i<8;i++) printf("%02x ",key[i]);
38 strcpy(plain,"allyourbase");
39 printf("encrypting '%s' \n",plain);
41 printf("ecb mode:\n");
42 memset(crypted,0,LEN);
43 des_encrypt(plain,crypted,key,LEN,MODE_ECB);
45 for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
48 for(i=0;i<LEN;i++) printf("%02x ",crypted[i]);
50 des_decrypt(crypted,plain_new,key,LEN,MODE_ECB);
51 printf("new plain: ");
52 for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
54 if(!strcmp(plain,plain_new)) printf("looks good!\n");
56 printf("cbc mode:\n");
57 memset(crypted,0,LEN);
58 memset(plain_new,0,LEN);
60 for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
62 des_encrypt(plain,crypted,key,LEN,MODE_CBC);
66 for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
71 for(i=0;i<LEN;i++) printf("%02x ",crypted[i]);
73 des_decrypt(crypted,plain_new,key,LEN,MODE_CBC);
74 printf("new plain: ");
75 for(i=0;i<LEN;i++) printf("%02x ",plain[i]);
77 if(!strcmp(plain,plain_new)) printf("looks good!\n");