X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccrypt%2Fblowfish.c;h=862f1c2015f0ac980b90998d542bbaf92a1bdf44;hb=9f20f0382b6229eca740925a73f96294f6dcedc6;hp=25b9deab08da1082cbe6a93de645a298562e42b4;hpb=97ca3ffe0ce65ac0c5fa3274284825537e996c78;p=crypto.git diff --git a/lib/silccrypt/blowfish.c b/lib/silccrypt/blowfish.c index 25b9deab..862f1c20 100644 --- a/lib/silccrypt/blowfish.c +++ b/lib/silccrypt/blowfish.c @@ -33,7 +33,7 @@ * */ -#include "silc.h" +#include "silccrypto.h" #include "blowfish_internal.h" #include "blowfish.h" @@ -43,23 +43,39 @@ /* 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; } -/* Returns the size of the cipher context. */ +/* Sets IV for the cipher. */ -SILC_CIPHER_API_CONTEXT_LEN(blowfish) +SILC_CIPHER_API_SET_IV(blowfish_cbc) { - return sizeof(BlowfishContext); + +} + +/* Initialize */ + +SILC_CIPHER_API_INIT(blowfish_cbc) +{ + return silc_calloc(1, sizeof(BlowfishContext)); +} + +/* Unnitialize */ + +SILC_CIPHER_API_UNINIT(blowfish_cbc) +{ + BlowfishContext *b = context; + memset(b, 0, sizeof(*b)); + silc_free(b); } /* 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) { SilcUInt32 tiv[4]; int i; @@ -84,7 +100,7 @@ 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) { SilcUInt32 tmp[4], tmp2[4], tiv[4]; int i;