| 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.
 
 
 
 |