X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccrypt%2Fblowfish.c;h=c1b11b29fe268371f1e2df7d26e0dd9580adc22a;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=1bea03106d4050ea5e5a119c3ee8f8a9c92d0bb2;hpb=ee9ad49e68cd69759ca643579c2f0de0747c4f61;p=silc.git diff --git a/lib/silccrypt/blowfish.c b/lib/silccrypt/blowfish.c index 1bea0310..c1b11b29 100644 --- a/lib/silccrypt/blowfish.c +++ b/lib/silccrypt/blowfish.c @@ -33,41 +33,32 @@ * */ -#include "silcincludes.h" +#include "silc.h" #include "blowfish_internal.h" #include "blowfish.h" -/* +/* * SILC Crypto API for Blowfish */ /* Sets the key for the cipher. */ -SILC_CIPHER_API_SET_KEY(blowfish) +SILC_CIPHER_API_SET_KEY(blowfish_cbc) { blowfish_set_key((BlowfishContext *)context, (unsigned char *)key, keylen); return TRUE; } -/* Sets the string as a new key for the cipher. The string is first - hashed and then used as a new key. */ +/* Sets IV for the cipher. */ -SILC_CIPHER_API_SET_KEY_WITH_STRING(blowfish) +SILC_CIPHER_API_SET_IV(blowfish_cbc) { - /* unsigned char key[md5_hash_len]; - SilcMarsContext *ctx = (SilcMarsContext *)context; - - make_md5_hash(string, &key); - memcpy(&ctx->key, mars_set_key(&key, keylen), keylen); - memset(&key, 'F', sizeoof(key)); - */ - return 1; } /* Returns the size of the cipher context. */ -SILC_CIPHER_API_CONTEXT_LEN(blowfish) +SILC_CIPHER_API_CONTEXT_LEN(blowfish_cbc) { return sizeof(BlowfishContext); } @@ -75,9 +66,9 @@ SILC_CIPHER_API_CONTEXT_LEN(blowfish) /* Encrypts with the cipher in CBC mode. Source and destination buffers maybe one and same. */ -SILC_CIPHER_API_ENCRYPT_CBC(blowfish) +SILC_CIPHER_API_ENCRYPT(blowfish_cbc) { - uint32 tiv[4]; + SilcUInt32 tiv[4]; int i; SILC_CBC_GET_IV(tiv, iv); @@ -100,9 +91,9 @@ SILC_CIPHER_API_ENCRYPT_CBC(blowfish) /* Decrypts with the cipher in CBC mode. Source and destination buffers maybe one and same. */ -SILC_CIPHER_API_DECRYPT_CBC(blowfish) +SILC_CIPHER_API_DECRYPT(blowfish_cbc) { - uint32 tmp[4], tmp2[4], tiv[4]; + SilcUInt32 tmp[4], tmp2[4], tiv[4]; int i; SILC_CBC_GET_IV(tiv, iv); @@ -116,9 +107,9 @@ SILC_CIPHER_API_DECRYPT_CBC(blowfish) blowfish_decrypt((BlowfishContext *)context, tmp, tmp2, 16); SILC_CBC_DEC_POST(tmp2, dst, src, tmp, tiv); } - + SILC_CBC_PUT_IV(tiv, iv); - + return TRUE; } @@ -391,9 +382,9 @@ static u32 bf_sbox[256 * 4] = 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6, }; -/* +/* * Round loop unrolling macros, S is a pointer to a S-Box array - * organized in 4 uint32s at a row. + * organized in 4 SilcUInt32s at a row. */ #define GET32_3(x) (((x) & 0xff)) @@ -408,7 +399,7 @@ static u32 bf_sbox[256 * 4] = /* * The blowfish encipher, processes 64-bit blocks. - * NOTE: This function MUSTN'T respect endianess + * NOTE: This function MUSTN'T respect endianess */ int blowfish_encrypt(BlowfishContext *ctx, @@ -534,7 +525,7 @@ int blowfish_set_key(BlowfishContext *ctx, for (i = 0; i < 16 + 2; i += 2) { blowfish_encrypt(ctx, data, data, 8); - + P[i] = data[0]; P[i + 1] = data[1]; }