- Made des_key_check_weak() conform to other functions in return values.
- Added documentation for des_key_check_weak() and des_key_check_key_parity()
diff --git a/include/polarssl/des.h b/include/polarssl/des.h
index 5606afb..09c00a7 100644
--- a/include/polarssl/des.h
+++ b/include/polarssl/des.h
@@ -77,14 +77,17 @@
* a parity bit to allow verification.
*
* \param key 8-byte secret key
+ *
+ * \return 0 is parity was ok, 1 if parity was not correct.
*/
int des_key_check_key_parity( const unsigned char key[DES_KEY_SIZE] );
-
/**
* \brief Check that key is not a weak or semi-weak DES key
*
* \param key 8-byte secret key
+ *
+ * \resurn 0 if no weak key was found, 1 if a weak key was identified.
*/
int des_key_check_weak( const unsigned char key[DES_KEY_SIZE] );
diff --git a/library/des.c b/library/des.c
index 3034030..b40baf8 100644
--- a/library/des.c
+++ b/library/des.c
@@ -371,9 +371,9 @@
for( i = 0; i < WEAK_KEY_COUNT; i++ )
if( memcmp( weak_key_table[i], key, DES_KEY_SIZE) == 0)
- return( 0 );
+ return( 1 );
- return( 1 );
+ return( 0 );
}
static void des_setkey( unsigned long SK[32], const unsigned char key[DES_KEY_SIZE] )