Function silc_cipher_alloc
SYNOPSIS
SilcBool silc_cipher_alloc(const unsigned char *name,
SilcCipher *new_cipher);
DESCRIPTION
Allocates a new SILC cipher object. Function returns 1 on succes and 0
on error. The allocated cipher is returned in new_cipher argument. The
caller must set the key to the cipher after this function has returned
by calling the ciphers set_key function.
The following ciphers are supported:
aes-256-ctr AES-256, Counter mode
aes-192-ctr AES-192, Counter mode
aes-128-ctr AES,128, Counter mode
aes-256-cbc AES-256, Cipher block chaining mode
aes-192-cbc AES-192, Cipher block chaining mode
aes-128-cbc AES,128, Cipher block chaining mode
twofish-256-cbc Twofish-256, Cipher block chaining mode
twofish-192-cbc Twofish-192, Cipher block chaining mode
twofish-128-cbc Twofish-128, Cipher block chaining mode
Notes about modes:
The CTR is normal counter mode. The CTR mode does not require the
plaintext length to be multiple by the cipher block size. If the last
plaintext block is shorter the remaining bits of the key stream are
used next time silc_cipher_encrypt is called. If silc_cipher_set_iv
is called it will reset the counter for a new block (discarding any
remaining bits from previous key stream).
The CBC is mode is a standard CBC mode. The plaintext length must be
multiple by the cipher block size. If it isn't the plaintext must be
padded.
|