mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-25 18:35:47 +01:00
Handle NULL as a stream cipher for more uniformity
This commit is contained in:
parent
37e230c022
commit
b5e85885de
@ -95,7 +95,6 @@ typedef enum {
|
||||
|
||||
typedef enum {
|
||||
POLARSSL_MODE_NONE = 0,
|
||||
POLARSSL_MODE_NULL,
|
||||
POLARSSL_MODE_CBC,
|
||||
POLARSSL_MODE_CFB,
|
||||
POLARSSL_MODE_OFB,
|
||||
|
@ -36,7 +36,7 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#if defined(POLARSSL_ARC4_C)
|
||||
#if defined(POLARSSL_ARC4_C) || defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
#define POLARSSL_CIPHER_MODE_STREAM
|
||||
#endif
|
||||
|
||||
@ -367,11 +367,6 @@ int cipher_setkey( cipher_context_t *ctx, const unsigned char *key,
|
||||
ctx->key_length = key_length;
|
||||
ctx->operation = operation;
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
if( ctx->cipher_info->mode == POLARSSL_MODE_NULL )
|
||||
return 0;
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
/*
|
||||
* For CFB and CTR mode always use the encryption key schedule
|
||||
*/
|
||||
@ -421,19 +416,6 @@ int cipher_update( cipher_context_t *ctx, const unsigned char *input, size_t ile
|
||||
return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA;
|
||||
}
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
if( ctx->cipher_info->mode == POLARSSL_MODE_NULL )
|
||||
{
|
||||
*olen = ilen;
|
||||
|
||||
if( output == input )
|
||||
return( 0 );
|
||||
|
||||
memcpy( output, input, ilen );
|
||||
return 0;
|
||||
}
|
||||
#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
|
||||
|
||||
if( ctx->cipher_info->mode == POLARSSL_MODE_CBC )
|
||||
{
|
||||
/*
|
||||
@ -725,8 +707,7 @@ int cipher_finish( cipher_context_t *ctx, unsigned char *output, size_t *olen)
|
||||
|
||||
if( POLARSSL_MODE_CFB == ctx->cipher_info->mode ||
|
||||
POLARSSL_MODE_CTR == ctx->cipher_info->mode ||
|
||||
POLARSSL_MODE_STREAM == ctx->cipher_info->mode ||
|
||||
POLARSSL_MODE_NULL == ctx->cipher_info->mode )
|
||||
POLARSSL_MODE_STREAM == ctx->cipher_info->mode )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -645,12 +645,7 @@ static int blowfish_crypt_ctr_wrap( void *ctx, size_t length,
|
||||
#endif
|
||||
}
|
||||
|
||||
static int blowfish_setkey_dec_wrap( void *ctx, const unsigned char *key, unsigned int key_length )
|
||||
{
|
||||
return blowfish_setkey( (blowfish_context *) ctx, key, key_length );
|
||||
}
|
||||
|
||||
static int blowfish_setkey_enc_wrap( void *ctx, const unsigned char *key, unsigned int key_length )
|
||||
static int blowfish_setkey_wrap( void *ctx, const unsigned char *key, unsigned int key_length )
|
||||
{
|
||||
return blowfish_setkey( (blowfish_context *) ctx, key, key_length );
|
||||
}
|
||||
@ -671,8 +666,8 @@ const cipher_base_t blowfish_info = {
|
||||
blowfish_crypt_cfb64_wrap,
|
||||
blowfish_crypt_ctr_wrap,
|
||||
NULL,
|
||||
blowfish_setkey_enc_wrap,
|
||||
blowfish_setkey_dec_wrap,
|
||||
blowfish_setkey_wrap,
|
||||
blowfish_setkey_wrap,
|
||||
blowfish_ctx_alloc,
|
||||
blowfish_ctx_free
|
||||
};
|
||||
@ -761,12 +756,30 @@ const cipher_info_t arc4_128_info = {
|
||||
#endif /* POLARSSL_ARC4_C */
|
||||
|
||||
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
|
||||
static int null_crypt_stream( void *ctx, size_t length,
|
||||
const unsigned char *input,
|
||||
unsigned char *output )
|
||||
{
|
||||
((void) ctx);
|
||||
memmove( output, input, length );
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
static int null_setkey( void *ctx, const unsigned char *key,
|
||||
unsigned int key_length )
|
||||
{
|
||||
((void) ctx);
|
||||
((void) key);
|
||||
((void) key_length);
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
static void * null_ctx_alloc( void )
|
||||
{
|
||||
return (void *) 1;
|
||||
}
|
||||
|
||||
|
||||
static void null_ctx_free( void *ctx )
|
||||
{
|
||||
((void) ctx);
|
||||
@ -777,16 +790,16 @@ const cipher_base_t null_base_info = {
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
null_crypt_stream,
|
||||
null_setkey,
|
||||
null_setkey,
|
||||
null_ctx_alloc,
|
||||
null_ctx_free
|
||||
};
|
||||
|
||||
const cipher_info_t null_cipher_info = {
|
||||
POLARSSL_CIPHER_NULL,
|
||||
POLARSSL_MODE_NULL,
|
||||
POLARSSL_MODE_STREAM,
|
||||
0,
|
||||
"NULL",
|
||||
0,
|
||||
|
@ -7,59 +7,59 @@ dec_empty_buf:
|
||||
|
||||
NULL Encrypt and decrypt 0 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:0
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:0:-1
|
||||
|
||||
NULL Encrypt and decrypt 1 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:1
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:1:-1
|
||||
|
||||
NULL Encrypt and decrypt 2 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:2
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:2:-1
|
||||
|
||||
NULL Encrypt and decrypt 7 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:7
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:7:-1
|
||||
|
||||
NULL Encrypt and decrypt 8 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:8
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:8:-1
|
||||
|
||||
NULL Encrypt and decrypt 9 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:9
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:9:-1
|
||||
|
||||
NULL Encrypt and decrypt 15 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:15
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:15:-1
|
||||
|
||||
NULL Encrypt and decrypt 16 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:16
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:16:-1
|
||||
|
||||
NULL Encrypt and decrypt 31 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:31
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:31:-1
|
||||
|
||||
NULL Encrypt and decrypt 32 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:32
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:32:-1
|
||||
|
||||
NULL Encrypt and decrypt 33 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:33
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:33:-1
|
||||
|
||||
NULL Encrypt and decrypt 47 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:47
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:47:-1
|
||||
|
||||
NULL Encrypt and decrypt 48 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:48
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:48:-1
|
||||
|
||||
NULL Encrypt and decrypt 49 bytes
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:NULL:0:49
|
||||
enc_dec_buf:POLARSSL_CIPHER_NULL:"NULL":0:49:-1
|
||||
|
||||
NULL Encrypt and decrypt 1 bytes in multiple parts 1
|
||||
depends_on:POLARSSL_CIPHER_NULL_CIPHER
|
||||
|
Loading…
Reference in New Issue
Block a user