- Changed the defined key-length of DES ciphers in cipher.h to include the parity bits, to prevent mistakes in copying data. (Closes ticket #33)

This commit is contained in:
Paul Bakker 2011-11-15 15:38:45 +00:00
parent 1fe7d9baf9
commit 5e18aed436
2 changed files with 10 additions and 7 deletions

View File

@ -20,6 +20,8 @@ Changes
* Added a separate CRL entry extension parsing function * Added a separate CRL entry extension parsing function
* Separated the ASN.1 parsing code from the X.509 specific parsing code. * Separated the ASN.1 parsing code from the X.509 specific parsing code.
So now there is a module that is controlled with POLARSSL_ASN1_PARSE_C. So now there is a module that is controlled with POLARSSL_ASN1_PARSE_C.
* Changed the defined key-length of DES ciphers in cipher.h to include the
parity bits, to prevent mistakes in copying data. (Closes ticket #33)
Bugfix Bugfix
* Fixed faulty HMAC-MD2 implementation. Found by dibac. (Closes * Fixed faulty HMAC-MD2 implementation. Found by dibac. (Closes

View File

@ -96,12 +96,12 @@ typedef enum {
enum { enum {
/** Undefined key length */ /** Undefined key length */
POLARSSL_KEY_LENGTH_NONE = 0, POLARSSL_KEY_LENGTH_NONE = 0,
/** Key length, in bits, for DES keys */ /** Key length, in bits (including parity), for DES keys */
POLARSSL_KEY_LENGTH_DES = 56, POLARSSL_KEY_LENGTH_DES = 64,
/** Key length, in bits, for DES in two key EDE */ /** Key length, in bits (including parity), for DES in two key EDE */
POLARSSL_KEY_LENGTH_DES_EDE = 112, POLARSSL_KEY_LENGTH_DES_EDE = 128,
/** Key length, in bits, for DES in three-key EDE */ /** Key length, in bits (including parity), for DES in three-key EDE */
POLARSSL_KEY_LENGTH_DES_EDE3 = 168, POLARSSL_KEY_LENGTH_DES_EDE3 = 192,
/** Maximum length of any IV, in bytes */ /** Maximum length of any IV, in bytes */
POLARSSL_MAX_IV_LENGTH = 16, POLARSSL_MAX_IV_LENGTH = 16,
}; };
@ -150,7 +150,8 @@ typedef struct {
/** Cipher mode (e.g. POLARSSL_MODE_CBC) */ /** Cipher mode (e.g. POLARSSL_MODE_CBC) */
cipher_mode_t mode; cipher_mode_t mode;
/** Cipher key length, in bits (default length for variable sized ciphers) */ /** Cipher key length, in bits (default length for variable sized ciphers)
* (Includes parity bits for ciphers like DES) */
unsigned int key_length; unsigned int key_length;
/** Name of the cipher */ /** Name of the cipher */