Changed every memcpy to SCA equivalent mbedtls_platform_memcpy
This makes physical attacks more difficult.
diff --git a/library/cipher.c b/library/cipher.c
index 53ed9b3..20af256 100644
--- a/library/cipher.c
+++ b/library/cipher.c
@@ -286,7 +286,7 @@
if ( actual_iv_size != 0 )
{
- memcpy( ctx->iv, iv, actual_iv_size );
+ mbedtls_platform_memcpy( ctx->iv, iv, actual_iv_size );
ctx->iv_size = actual_iv_size;
}
@@ -422,7 +422,7 @@
( ctx->operation == MBEDTLS_ENCRYPT &&
ilen < block_size - ctx->unprocessed_len ) )
{
- memcpy( &( ctx->unprocessed_data[ctx->unprocessed_len] ), input,
+ mbedtls_platform_memcpy( &( ctx->unprocessed_data[ctx->unprocessed_len] ), input,
ilen );
ctx->unprocessed_len += ilen;
@@ -436,7 +436,7 @@
{
copy_len = block_size - ctx->unprocessed_len;
- memcpy( &( ctx->unprocessed_data[ctx->unprocessed_len] ), input,
+ mbedtls_platform_memcpy( &( ctx->unprocessed_data[ctx->unprocessed_len] ), input,
copy_len );
if( 0 != ( ret = ctx->cipher_info->base->cbc_func( ctx->cipher_ctx,
@@ -476,7 +476,7 @@
copy_len = block_size;
}
- memcpy( ctx->unprocessed_data, &( input[ilen - copy_len] ),
+ mbedtls_platform_memcpy( ctx->unprocessed_data, &( input[ilen - copy_len] ),
copy_len );
ctx->unprocessed_len += copy_len;