Blowfish accepts variable key len in cipher layer

This commit is contained in:
Manuel Pégourié-Gonnard 2014-06-23 12:10:59 +02:00 committed by Paul Bakker
parent ed5c03ff1d
commit 398c57b0b3
4 changed files with 38 additions and 5 deletions

View file

@ -168,8 +168,11 @@ int cipher_setkey( cipher_context_t *ctx, const unsigned char *key,
if( NULL == ctx || NULL == ctx->cipher_info )
return( POLARSSL_ERR_CIPHER_BAD_INPUT_DATA );
if( (int) ctx->cipher_info->key_length != key_length )
if( ( ctx->cipher_info->flags & POLARSSL_CIPHER_VARIABLE_KEY_LEN ) == 0 &&
(int) ctx->cipher_info->key_length != key_length )
{
return( POLARSSL_ERR_CIPHER_BAD_INPUT_DATA );
}
ctx->key_length = key_length;
ctx->operation = operation;