From 369e14bbf168ddb0d97e1ee9ddf40ed3a095d10d Mon Sep 17 00:00:00 2001 From: Paul Bakker Date: Wed, 18 Apr 2012 14:16:09 +0000 Subject: [PATCH] - Small code rewrite --- library/aes.c | 11 ++++------- library/camellia.c | 11 ++++------- library/ctr_drbg.c | 20 ++++++++------------ 3 files changed, 16 insertions(+), 26 deletions(-) diff --git a/library/aes.c b/library/aes.c index c355bfcbb..2f5220280 100644 --- a/library/aes.c +++ b/library/aes.c @@ -888,7 +888,7 @@ int aes_crypt_ctr( aes_context *ctx, const unsigned char *input, unsigned char *output ) { - int c, i, cb; + int c, i; size_t n = *nc_off; while( length-- ) @@ -896,12 +896,9 @@ int aes_crypt_ctr( aes_context *ctx, if( n == 0 ) { aes_crypt_ecb( ctx, AES_ENCRYPT, nonce_counter, stream_block ); - i = 15; - do { - nonce_counter[i]++; - cb = nonce_counter[i] == 0; - } while( i-- && cb ); - + for( i = 16; i > 0; i-- ) + if( ++nonce_counter[i - 1] != 0 ) + break; } c = *input++; *output++ = (unsigned char)( c ^ stream_block[n] ); diff --git a/library/camellia.c b/library/camellia.c index 496facfd0..34b8f294f 100644 --- a/library/camellia.c +++ b/library/camellia.c @@ -633,7 +633,7 @@ int camellia_crypt_ctr( camellia_context *ctx, const unsigned char *input, unsigned char *output ) { - int c, i, cb; + int c, i; size_t n = *nc_off; while( length-- ) @@ -641,12 +641,9 @@ int camellia_crypt_ctr( camellia_context *ctx, if( n == 0 ) { camellia_crypt_ecb( ctx, CAMELLIA_ENCRYPT, nonce_counter, stream_block ); - i = 15; - do { - nonce_counter[i]++; - cb = nonce_counter[i] == 0; - } while( i-- && cb ); - + for( i = 16; i > 0; i-- ) + if( ++nonce_counter[i - 1] != 0 ) + break; } c = *input++; *output++ = (unsigned char)( c ^ stream_block[n] ); diff --git a/library/ctr_drbg.c b/library/ctr_drbg.c index 882d68618..1de7f05e9 100644 --- a/library/ctr_drbg.c +++ b/library/ctr_drbg.c @@ -185,7 +185,7 @@ int ctr_drbg_update_internal( ctr_drbg_context *ctx, { unsigned char tmp[CTR_DRBG_SEEDLEN]; unsigned char *p = tmp; - int cb, i, j; + int i, j; memset( tmp, 0, CTR_DRBG_SEEDLEN ); @@ -194,11 +194,9 @@ int ctr_drbg_update_internal( ctr_drbg_context *ctx, /* * Increase counter */ - i = CTR_DRBG_BLOCKSIZE - 1; - do { - ctx->counter[i]++; - cb = ctx->counter[i] == 0; - } while( i-- && cb ); + for( i = CTR_DRBG_BLOCKSIZE; i >= 0; i-- ) + if( ++ctx->counter[i - 1] != 0 ) + break; /* * Crypt counter block @@ -286,7 +284,7 @@ int ctr_drbg_random_with_add( void *p_rng, unsigned char add_input[CTR_DRBG_SEEDLEN]; unsigned char *p = output; unsigned char tmp[CTR_DRBG_BLOCKSIZE]; - int cb, i; + int i; size_t use_len; if( output_len > CTR_DRBG_MAX_REQUEST ) @@ -317,11 +315,9 @@ int ctr_drbg_random_with_add( void *p_rng, /* * Increase counter */ - i = CTR_DRBG_BLOCKSIZE - 1; - do { - ctx->counter[i]++; - cb = ctx->counter[i] == 0; - } while( i-- && cb ); + for( i = CTR_DRBG_BLOCKSIZE; i > 0; i-- ) + if( ++ctx->counter[i - 1] != 0 ) + break; /* * Crypt counter block