- Updated unsignedness in some missed cases

This commit is contained in:
Paul Bakker 2011-06-09 14:14:58 +00:00
parent cd43a0beec
commit 1ef71dffc7
4 changed files with 39 additions and 12 deletions

View file

@ -124,7 +124,7 @@ int aes_crypt_cbc( aes_context *ctx,
int aes_crypt_cfb128( aes_context *ctx, int aes_crypt_cfb128( aes_context *ctx,
int mode, int mode,
size_t length, size_t length,
int *iv_off, size_t *iv_off,
unsigned char iv[16], unsigned char iv[16],
const unsigned char *input, const unsigned char *input,
unsigned char *output ); unsigned char *output );
@ -147,8 +147,8 @@ int aes_crypt_cfb128( aes_context *ctx,
* \return 0 if successful * \return 0 if successful
*/ */
int aes_crypt_ctr( aes_context *ctx, int aes_crypt_ctr( aes_context *ctx,
int length, size_t length,
int *nc_off, size_t *nc_off,
unsigned char nonce_counter[16], unsigned char nonce_counter[16],
unsigned char stream_block[16], unsigned char stream_block[16],
const unsigned char *input, const unsigned char *input,

View file

@ -130,11 +130,36 @@ int camellia_crypt_cbc( camellia_context *ctx,
int camellia_crypt_cfb128( camellia_context *ctx, int camellia_crypt_cfb128( camellia_context *ctx,
int mode, int mode,
size_t length, size_t length,
int *iv_off, size_t *iv_off,
unsigned char iv[16], unsigned char iv[16],
const unsigned char *input, const unsigned char *input,
unsigned char *output ); unsigned char *output );
/*
* \brief CAMELLIA-CTR buffer encryption/decryption
*
* Warning: You have to keep the maximum use of your counter in mind!
*
* \param length The length of the data
* \param nc_off The offset in the current stream_block (for resuming
* within current cipher stream). The offset pointer to
* should be 0 at the start of a stream.
* \param nonce_counter The 128-bit nonce and counter.
* \param stream_block The saved stream-block for resuming. Is overwritten
* by the function.
* \param input The input data stream
* \param output The output data stream
*
* \return 0 if successful
*/
int camellia_crypt_ctr( camellia_context *ctx,
size_t length,
size_t *nc_off,
unsigned char nonce_counter[16],
unsigned char stream_block[16],
const unsigned char *input,
unsigned char *output );
/** /**
* \brief Checkup routine * \brief Checkup routine
* *

View file

@ -580,12 +580,13 @@ int camellia_crypt_cbc( camellia_context *ctx,
int camellia_crypt_cfb128( camellia_context *ctx, int camellia_crypt_cfb128( camellia_context *ctx,
int mode, int mode,
size_t length, size_t length,
int *iv_off, size_t *iv_off,
unsigned char iv[16], unsigned char iv[16],
const unsigned char *input, const unsigned char *input,
unsigned char *output ) unsigned char *output )
{ {
int c, n = *iv_off; int c;
size_t n = *iv_off;
if( mode == CAMELLIA_DECRYPT ) if( mode == CAMELLIA_DECRYPT )
{ {
@ -625,14 +626,15 @@ int camellia_crypt_cfb128( camellia_context *ctx,
* Camellia-CTR buffer encryption/decryption * Camellia-CTR buffer encryption/decryption
*/ */
int camellia_crypt_ctr( camellia_context *ctx, int camellia_crypt_ctr( camellia_context *ctx,
int length, size_t length,
int *nc_off, size_t *nc_off,
unsigned char nonce_counter[16], unsigned char nonce_counter[16],
unsigned char stream_block[16], unsigned char stream_block[16],
const unsigned char *input, const unsigned char *input,
unsigned char *output ) unsigned char *output )
{ {
int c, n = *nc_off, i, cb; int c, i, cb;
size_t n = *nc_off;
while( length-- ) while( length-- )
{ {
@ -867,7 +869,7 @@ int camellia_self_test( int verbose )
unsigned char dst[16]; unsigned char dst[16];
unsigned char iv[16]; unsigned char iv[16];
#if defined(POLARSSL_CIPHER_MODE_CTR) #if defined(POLARSSL_CIPHER_MODE_CTR)
int offset, len; size_t offset, len;
unsigned char nonce_counter[16]; unsigned char nonce_counter[16];
unsigned char stream_block[16]; unsigned char stream_block[16];
#endif #endif

View file

@ -137,7 +137,7 @@ camellia_encrypt_cfb128:hex_key_string:hex_iv_string:hex_src_string:hex_dst_stri
unsigned char dst_str[100]; unsigned char dst_str[100];
unsigned char output[100]; unsigned char output[100];
camellia_context ctx; camellia_context ctx;
int iv_offset = 0; size_t iv_offset = 0;
int key_len; int key_len;
memset(key_str, 0x00, 100); memset(key_str, 0x00, 100);
@ -167,7 +167,7 @@ camellia_decrypt_cfb128:hex_key_string:hex_iv_string:hex_src_string:hex_dst_stri
unsigned char dst_str[100]; unsigned char dst_str[100];
unsigned char output[100]; unsigned char output[100];
camellia_context ctx; camellia_context ctx;
int iv_offset = 0; size_t iv_offset = 0;
int key_len; int key_len;
memset(key_str, 0x00, 100); memset(key_str, 0x00, 100);