Copyright © 2001 - 2007 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index

SILC Toolkit Reference Manual SILC VCard Library SILC VCard Interface SILC Crypto Library Introduction to SILC RNG SILC RNG Interface SILC Cipher API SILC PKCS API SILC Public Key API SILC PKCS #1 API SILC Hash Interface SILC HMAC Interface SILC Client Library Using SILC Client Library Tutorial Arguments for command_reply Client Operation SilcStatus Error Arguments in command_reply Client Operation Arguments for notify Client Operation Unicode and UTF-8 Strings in Client Library Client Library Interface Reference Client Entry Interface Reference SILC Math Library SILC MP Interface SILC Math Interface SILC Application Utility Library SILC Application Utilities SILC ID Cache Interface SILC Key Repository Library SILC SKR Interface SILC ASN.1 Library SILC ASN.1 Interface SILC BER interface SILC Key Exchange Library SILC SKE Interface SILC Connection Authentication Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems Interface SILC Core Library SILC Authentication Interface SILC Message Interface SILC Channel Interface SILC Command Interface SILC Notify Interface SILC Status Types SILC Modes SILC ID Interface SILC Argument Interface SILC Attributes Interface Packet Engine Interface SILC Public Key Payload Interface SILC Utility Library Basic Types and Definitions Data Buffer Interface Data Buffer Format Interface Hash Table Interface Memory Allocation Interface Data Stack (memory pool) Interface Finite State Machine Interface Thread Interface Mutual Exclusion Lock Interface Condition Variable Interface Atomic Operations Interface Network (TCP and UDP) Interface Scheduler Interface Asynchronous Operation Interface Abstract Stream Interface Socket Stream Interface File Descriptor Stream Interface File Utility Functions String Utility Interface Snprintf Interface UTF-8 String Interface Stringprep Interface Utility Functions List Interface Dynamic List Interface MIME Interface Time Utility Functions Logging Interface Config File Interface SILC HTTP Library SILC HTTP Server Interface SILC HTTP PHP Translator Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
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.
SILC Cipher Interface SilcCipher SilcCipherMode silc_cipher_register silc_cipher_unregister silc_cipher_register_default silc_cipher_unregister_all silc_cipher_alloc silc_cipher_free silc_cipher_is_supported silc_cipher_get_supported silc_cipher_encrypt silc_cipher_decrypt silc_cipher_set_key silc_cipher_set_iv silc_cipher_get_iv silc_cipher_get_key_len silc_cipher_get_block_len silc_cipher_get_iv_len silc_cipher_get_name silc_cipher_get_mode

Copyright © 2001 - 2007 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index