Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2007 Pekka Riikonen
+ Copyright (C) 1997 - 2008 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
* The Electronic Codebook mode. This mode does not provide sufficient
* security and should not be used.
*
+ * Each mode modifies the IV (initialization vector) of the cipher when
+ * silc_cipher_encrypt or silc_cipher_decrypt is called. The IV may be
+ * set/reset by calling silc_cipher_set_iv and the current IV can be
+ * retrieved by calling silc_cipher_get_iv.
+ *
* SOURCE
*/
typedef enum {
*
* SYNOPSIS
*
- * SilcBool silc_cipher_alloc(const unsigned char *name,
+ * SilcBool silc_cipher_alloc(const char *name,
* SilcCipher *new_cipher);
*
* DESCRIPTION
* Notes about modes:
*
***/
-SilcBool silc_cipher_alloc(const unsigned char *name, SilcCipher *new_cipher);
+SilcBool silc_cipher_alloc(const char *name, SilcCipher *new_cipher);
/****f* silccrypt/SilcCipherAPI/silc_cipher_free
*
*
* SYNOPSIS
*
- * SilcBool silc_cipher_is_supported(const unsigned char *name);
+ * SilcBool silc_cipher_is_supported(const char *name);
*
* DESCRIPTION
*
* Returns TRUE if cipher `name' is supported.
*
***/
-SilcBool silc_cipher_is_supported(const unsigned char *name);
+SilcBool silc_cipher_is_supported(const char *name);
/****f* silccrypt/SilcCipherAPI/silc_cipher_get_supported
*
* SYNOPSIS
*
* SilcBool silc_cipher_set_key(SilcCipher cipher, const unsigned char *key,
- * SilcUInt32 keylen, SilcBool encryption);
+ * SilcUInt32 bit_keylen, SilcBool encryption);
*
* DESCRIPTION
*
*
***/
SilcBool silc_cipher_set_key(SilcCipher cipher, const unsigned char *key,
- SilcUInt32 keylen, SilcBool encryption);
+ SilcUInt32 bit_keylen, SilcBool encryption);
/****f* silccrypt/SilcCipherAPI/silc_cipher_set_iv
*
*
* DESCRIPTION
*
- * Sets the IV (initial vector) for the cipher. The `iv' must be
+ * Sets the IV (initialization vector) for the cipher. The `iv' must be
* the size of the block size of the cipher. If `iv' is NULL this
* does not do anything.
*
* If the encryption mode is CTR (Counter mode) this also resets the
* the counter for a new block. This is done also if `iv' is NULL.
*
+ * If the encryption mode is CFB (cipher feedback) this also resets the
+ * the feedback stream for a new block. This is done also if `iv' is NULL.
+ *
***/
void silc_cipher_set_iv(SilcCipher cipher, const unsigned char *iv);