From: Pekka Riikonen Date: Tue, 10 Apr 2001 22:20:41 +0000 (+0000) Subject: updates. X-Git-Tag: 1.2.beta1~2363 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=d901692e8ec4bc5844385d9f97fec1498fc21a3d;p=crypto.git updates. --- diff --git a/lib/silccrypt/tests/inst_twofish b/lib/silccrypt/tests/inst_twofish index 9837a5da..5e035349 100644 --- a/lib/silccrypt/tests/inst_twofish +++ b/lib/silccrypt/tests/inst_twofish @@ -1,7 +1,7 @@ gcc -I.. \ --I../../../includes -I../../silccore \ --I../.. -I../../silccore -I../../silcmath \ --I../../silcmath/gmp-2.0.2 -I../../silcske -I../../silcsim \ +-I../../../includes -I../../silccore -I../../trq -I../../silcske \ +-I../.. -I../../silccore -I../../silcmath -I../../silcutil \ +-I../../silcmath/gmp -I../../silcske -I../../silcsim \ -Wall -finline-functions \ -o test_twofish test_twofish.c -L../.. -lsilc diff --git a/lib/silccrypt/tests/test_twofish.c b/lib/silccrypt/tests/test_twofish.c index 4467e0e5..137f9172 100644 --- a/lib/silccrypt/tests/test_twofish.c +++ b/lib/silccrypt/tests/test_twofish.c @@ -1,60 +1,78 @@ #include #include +#include "silcincludes.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, "IV:\n"); + for (i = 0; i < (sizeof(iv)/2); i += 2) { + fprintf(stderr, "%02x", iv[i]); + fprintf(stderr, "%02x ", iv[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]); + } + + fprintf(stderr, "IV:\n"); + for (i = 0; i < (sizeof(iv)/2); i += 2) { + fprintf(stderr, "%02x", iv[i]); + fprintf(stderr, "%02x ", iv[i+1]); } fprintf(stderr, "\n\nDecrypting\n"); + silc_twofish_decrypt_cbc(context, cipher, plain2, 256, iv); + + fprintf(stderr, "IV:\n"); + for (i = 0; i < (sizeof(iv)/2); i += 2) { + fprintf(stderr, "%02x", iv[i]); + fprintf(stderr, "%02x ", iv[i+1]); + } 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; }