Major restructuring of the internals of SILC Cipher API
authorPekka Riikonen <priikone@silcnet.org>
Sat, 23 Feb 2008 13:59:32 +0000 (15:59 +0200)
committerPekka Riikonen <priikone@silcnet.org>
Sat, 23 Feb 2008 13:59:32 +0000 (15:59 +0200)
commit9f20f0382b6229eca740925a73f96294f6dcedc6
treebde1136a15e52df9ef2a11beb00bc6f9cc9bbf78
parent1b4e874f9401653b659a6adec2d2f046f9331586
Major restructuring of the internals of SILC Cipher API

The API now has two new operation functions init and uninit, and the
old context_len operation is removed.  The init is called in
silc_cipher_alloc and uninit is called in silc_cipher_free.  The init()
function must allocate and return the internal algorithm context.
Changed all supported ciphers to use the new API.

Fixed also CTR mode encryption of partial blocks.  Optimized also the CTR
mode especially on little endian systems.

Imported entirely new Twofish implementation from the public domain
library libtomcrypt.

Renamed rjindael_internal.h to aes_internal.h.
29 files changed:
configure.ad
lib/Makefile.ad
lib/silccrypt/aes.c
lib/silccrypt/aes.h
lib/silccrypt/aes_internal.h [moved from lib/silccrypt/rijndael_internal.h with 100% similarity]
lib/silccrypt/blowfish.c
lib/silccrypt/blowfish.h
lib/silccrypt/cast.c
lib/silccrypt/cast.h
lib/silccrypt/cast5.c
lib/silccrypt/cast5.h
lib/silccrypt/ciphers_def.h
lib/silccrypt/des.c
lib/silccrypt/des.h
lib/silccrypt/none.c
lib/silccrypt/none.h
lib/silccrypt/rc5.c
lib/silccrypt/rc5.h
lib/silccrypt/sha256.c
lib/silccrypt/silccipher.c
lib/silccrypt/silccipher.h
lib/silccrypt/silccipher_i.h
lib/silccrypt/tests/Makefile.am
lib/silccrypt/tests/test_aes.c
lib/silccrypt/tests/test_cipher.c [new file with mode: 0644]
lib/silccrypt/tests/test_twofish.c
lib/silccrypt/twofish.c
lib/silccrypt/twofish.h
lib/silccrypt/twofish_internal.h