X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccrypt%2Ftests%2Ftest_twofish.c;h=5cd684820734f578ffcf6bad425140b6fe461bae;hb=40f8443d8d3a6577336ee66d18e04d9ac4d956bb;hp=4467e0e5a7dc9813c6c6bf4c43e1ffd17f61e67a;hpb=62f89b2886bbe9df82d9b2fdabfe707509d9e0fc;p=silc.git diff --git a/lib/silccrypt/tests/test_twofish.c b/lib/silccrypt/tests/test_twofish.c index 4467e0e5..5cd68482 100644 --- a/lib/silccrypt/tests/test_twofish.c +++ b/lib/silccrypt/tests/test_twofish.c @@ -1,60 +1,62 @@ #include #include +#include "silc.h" + +#include "twofish.h" int main() { - int i, k, l; + int i; unsigned char key[256]; unsigned char plain[256]; unsigned char plain2[256]; unsigned char cipher[256]; + unsigned char iv[256]; + void *context; + memset(&key, 0, sizeof(key)); memset(&plain, 0, sizeof(plain)); memset(&plain2, 0, sizeof(plain2)); memset(&cipher, 0, sizeof(cipher)); + memset(&iv, 0, sizeof(iv)); + + context = malloc(silc_twofish_context_len()); fprintf(stderr, "\nKey:\n"); - for (i = 0; i < (sizeof(plain) / 2); i++) { - key[i] = i; - key[i+1] = i+1; + for (i = 0; i < (sizeof(key) / 2); i += 2) { fprintf(stderr, "%02x%02x ", key[i], key[i+1]); } fprintf(stderr, "\nSetting key\n"); - set_key(key, 128); + silc_twofish_set_key(context, key, 256); fprintf(stderr, "\nPlaintext:\n"); - for (i = 0; i < (sizeof(plain) / 2); i++) { + for (i = 0; i < (sizeof(plain) / 2); i += 2) { plain[i] = i; plain[i+1] = i+1; fprintf(stderr, "%02x%02x ", plain[i], plain[i+1]); } fprintf(stderr, "\n\nEncrypting\n"); + silc_twofish_encrypt_cbc(context, plain, cipher, 256, iv); + fprintf(stderr, "Ciphertext:\n"); - l = 0; - for (k = 0; k < 8; k++) { - encrypt(&plain[l], &cipher[l]); - for (i = 0; i < 16; i++) { - fprintf(stderr, "%02x", cipher[l+i]); - fprintf(stderr, "%02x ", cipher[l+i+1]); - } - l += 16; + for (i = 0; i < (sizeof(cipher)/2); i += 2) { + fprintf(stderr, "%02x", cipher[i]); + fprintf(stderr, "%02x ", cipher[i+1]); } + memset(&iv, 0, sizeof(iv)); + fprintf(stderr, "\n\nDecrypting\n"); + silc_twofish_decrypt_cbc(context, cipher, plain2, 256, iv); fprintf(stderr, "Decryptedtext:\n"); - l = 0; - for (k = 0; k < 8; k++) { - decrypt(&cipher[l], &plain2[l]); - for (i = 0; i < 16; i++) { - fprintf(stderr, "%02x", plain2[l+i]); - fprintf(stderr, "%02x ", plain2[l+i+1]); - } - l += 16; + for (i = 0; i < (sizeof(plain2)/2); i += 2) { + fprintf(stderr, "%02x", plain2[i]); + fprintf(stderr, "%02x ", plain2[i+1]); } - fprintf(stderr, "\nAll done.\n"); + fprintf(stderr, "\nDone\n"); return 0; }