The Great Renaming
A simple execution of tmp/invoke-rename.pl
diff --git a/library/rsa.c b/library/rsa.c
index bff6d7d..f6a88fd 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -26,107 +26,107 @@
* http://www.cacr.math.uwaterloo.ca/hac/about/chap8.pdf
*/
-#if !defined(POLARSSL_CONFIG_FILE)
+#if !defined(MBEDTLS_CONFIG_FILE)
#include "mbedtls/config.h"
#else
-#include POLARSSL_CONFIG_FILE
+#include MBEDTLS_CONFIG_FILE
#endif
-#if defined(POLARSSL_RSA_C)
+#if defined(MBEDTLS_RSA_C)
#include "mbedtls/rsa.h"
#include "mbedtls/oid.h"
#include <string.h>
-#if defined(POLARSSL_PKCS1_V21)
+#if defined(MBEDTLS_PKCS1_V21)
#include "mbedtls/md.h"
#endif
-#if defined(POLARSSL_PKCS1_V15) && !defined(__OpenBSD__)
+#if defined(MBEDTLS_PKCS1_V15) && !defined(__OpenBSD__)
#include <stdlib.h>
#endif
-#if defined(POLARSSL_PLATFORM_C)
+#if defined(MBEDTLS_PLATFORM_C)
#include "mbedtls/platform.h"
#else
#include <stdio.h>
-#define polarssl_printf printf
+#define mbedtls_printf printf
#endif
/*
* Initialize an RSA context
*/
-void rsa_init( rsa_context *ctx,
+void mbedtls_rsa_init( mbedtls_rsa_context *ctx,
int padding,
int hash_id )
{
- memset( ctx, 0, sizeof( rsa_context ) );
+ memset( ctx, 0, sizeof( mbedtls_rsa_context ) );
- rsa_set_padding( ctx, padding, hash_id );
+ mbedtls_rsa_set_padding( ctx, padding, hash_id );
-#if defined(POLARSSL_THREADING_C)
- polarssl_mutex_init( &ctx->mutex );
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mutex_init( &ctx->mutex );
#endif
}
/*
* Set padding for an existing RSA context
*/
-void rsa_set_padding( rsa_context *ctx, int padding, int hash_id )
+void mbedtls_rsa_set_padding( mbedtls_rsa_context *ctx, int padding, int hash_id )
{
ctx->padding = padding;
ctx->hash_id = hash_id;
}
-#if defined(POLARSSL_GENPRIME)
+#if defined(MBEDTLS_GENPRIME)
/*
* Generate an RSA keypair
*/
-int rsa_gen_key( rsa_context *ctx,
+int mbedtls_rsa_gen_key( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
unsigned int nbits, int exponent )
{
int ret;
- mpi P1, Q1, H, G;
+ mbedtls_mpi P1, Q1, H, G;
if( f_rng == NULL || nbits < 128 || exponent < 3 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- mpi_init( &P1 ); mpi_init( &Q1 ); mpi_init( &H ); mpi_init( &G );
+ mbedtls_mpi_init( &P1 ); mbedtls_mpi_init( &Q1 ); mbedtls_mpi_init( &H ); mbedtls_mpi_init( &G );
/*
* find primes P and Q with Q < P so that:
* GCD( E, (P-1)*(Q-1) ) == 1
*/
- MPI_CHK( mpi_lset( &ctx->E, exponent ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_lset( &ctx->E, exponent ) );
do
{
- MPI_CHK( mpi_gen_prime( &ctx->P, ( nbits + 1 ) >> 1, 0,
+ MBEDTLS_MPI_CHK( mbedtls_mpi_gen_prime( &ctx->P, ( nbits + 1 ) >> 1, 0,
f_rng, p_rng ) );
- MPI_CHK( mpi_gen_prime( &ctx->Q, ( nbits + 1 ) >> 1, 0,
+ MBEDTLS_MPI_CHK( mbedtls_mpi_gen_prime( &ctx->Q, ( nbits + 1 ) >> 1, 0,
f_rng, p_rng ) );
- if( mpi_cmp_mpi( &ctx->P, &ctx->Q ) < 0 )
- mpi_swap( &ctx->P, &ctx->Q );
+ if( mbedtls_mpi_cmp_mpi( &ctx->P, &ctx->Q ) < 0 )
+ mbedtls_mpi_swap( &ctx->P, &ctx->Q );
- if( mpi_cmp_mpi( &ctx->P, &ctx->Q ) == 0 )
+ if( mbedtls_mpi_cmp_mpi( &ctx->P, &ctx->Q ) == 0 )
continue;
- MPI_CHK( mpi_mul_mpi( &ctx->N, &ctx->P, &ctx->Q ) );
- if( mpi_msb( &ctx->N ) != nbits )
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &ctx->N, &ctx->P, &ctx->Q ) );
+ if( mbedtls_mpi_msb( &ctx->N ) != nbits )
continue;
- MPI_CHK( mpi_sub_int( &P1, &ctx->P, 1 ) );
- MPI_CHK( mpi_sub_int( &Q1, &ctx->Q, 1 ) );
- MPI_CHK( mpi_mul_mpi( &H, &P1, &Q1 ) );
- MPI_CHK( mpi_gcd( &G, &ctx->E, &H ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_sub_int( &P1, &ctx->P, 1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_sub_int( &Q1, &ctx->Q, 1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &H, &P1, &Q1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_gcd( &G, &ctx->E, &H ) );
}
- while( mpi_cmp_int( &G, 1 ) != 0 );
+ while( mbedtls_mpi_cmp_int( &G, 1 ) != 0 );
/*
* D = E^-1 mod ((P-1)*(Q-1))
@@ -134,47 +134,47 @@
* DQ = D mod (Q - 1)
* QP = Q^-1 mod P
*/
- MPI_CHK( mpi_inv_mod( &ctx->D , &ctx->E, &H ) );
- MPI_CHK( mpi_mod_mpi( &ctx->DP, &ctx->D, &P1 ) );
- MPI_CHK( mpi_mod_mpi( &ctx->DQ, &ctx->D, &Q1 ) );
- MPI_CHK( mpi_inv_mod( &ctx->QP, &ctx->Q, &ctx->P ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( &ctx->D , &ctx->E, &H ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &ctx->DP, &ctx->D, &P1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &ctx->DQ, &ctx->D, &Q1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( &ctx->QP, &ctx->Q, &ctx->P ) );
- ctx->len = ( mpi_msb( &ctx->N ) + 7 ) >> 3;
+ ctx->len = ( mbedtls_mpi_msb( &ctx->N ) + 7 ) >> 3;
cleanup:
- mpi_free( &P1 ); mpi_free( &Q1 ); mpi_free( &H ); mpi_free( &G );
+ mbedtls_mpi_free( &P1 ); mbedtls_mpi_free( &Q1 ); mbedtls_mpi_free( &H ); mbedtls_mpi_free( &G );
if( ret != 0 )
{
- rsa_free( ctx );
- return( POLARSSL_ERR_RSA_KEY_GEN_FAILED + ret );
+ mbedtls_rsa_free( ctx );
+ return( MBEDTLS_ERR_RSA_KEY_GEN_FAILED + ret );
}
return( 0 );
}
-#endif /* POLARSSL_GENPRIME */
+#endif /* MBEDTLS_GENPRIME */
/*
* Check a public RSA key
*/
-int rsa_check_pubkey( const rsa_context *ctx )
+int mbedtls_rsa_check_pubkey( const mbedtls_rsa_context *ctx )
{
if( !ctx->N.p || !ctx->E.p )
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
+ return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED );
if( ( ctx->N.p[0] & 1 ) == 0 ||
( ctx->E.p[0] & 1 ) == 0 )
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
+ return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED );
- if( mpi_msb( &ctx->N ) < 128 ||
- mpi_msb( &ctx->N ) > POLARSSL_MPI_MAX_BITS )
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
+ if( mbedtls_mpi_msb( &ctx->N ) < 128 ||
+ mbedtls_mpi_msb( &ctx->N ) > MBEDTLS_MPI_MAX_BITS )
+ return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED );
- if( mpi_msb( &ctx->E ) < 2 ||
- mpi_cmp_mpi( &ctx->E, &ctx->N ) >= 0 )
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
+ if( mbedtls_mpi_msb( &ctx->E ) < 2 ||
+ mbedtls_mpi_cmp_mpi( &ctx->E, &ctx->N ) >= 0 )
+ return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED );
return( 0 );
}
@@ -182,61 +182,61 @@
/*
* Check a private RSA key
*/
-int rsa_check_privkey( const rsa_context *ctx )
+int mbedtls_rsa_check_privkey( const mbedtls_rsa_context *ctx )
{
int ret;
- mpi PQ, DE, P1, Q1, H, I, G, G2, L1, L2, DP, DQ, QP;
+ mbedtls_mpi PQ, DE, P1, Q1, H, I, G, G2, L1, L2, DP, DQ, QP;
- if( ( ret = rsa_check_pubkey( ctx ) ) != 0 )
+ if( ( ret = mbedtls_rsa_check_pubkey( ctx ) ) != 0 )
return( ret );
if( !ctx->P.p || !ctx->Q.p || !ctx->D.p )
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
+ return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED );
- mpi_init( &PQ ); mpi_init( &DE ); mpi_init( &P1 ); mpi_init( &Q1 );
- mpi_init( &H ); mpi_init( &I ); mpi_init( &G ); mpi_init( &G2 );
- mpi_init( &L1 ); mpi_init( &L2 ); mpi_init( &DP ); mpi_init( &DQ );
- mpi_init( &QP );
+ mbedtls_mpi_init( &PQ ); mbedtls_mpi_init( &DE ); mbedtls_mpi_init( &P1 ); mbedtls_mpi_init( &Q1 );
+ mbedtls_mpi_init( &H ); mbedtls_mpi_init( &I ); mbedtls_mpi_init( &G ); mbedtls_mpi_init( &G2 );
+ mbedtls_mpi_init( &L1 ); mbedtls_mpi_init( &L2 ); mbedtls_mpi_init( &DP ); mbedtls_mpi_init( &DQ );
+ mbedtls_mpi_init( &QP );
- MPI_CHK( mpi_mul_mpi( &PQ, &ctx->P, &ctx->Q ) );
- MPI_CHK( mpi_mul_mpi( &DE, &ctx->D, &ctx->E ) );
- MPI_CHK( mpi_sub_int( &P1, &ctx->P, 1 ) );
- MPI_CHK( mpi_sub_int( &Q1, &ctx->Q, 1 ) );
- MPI_CHK( mpi_mul_mpi( &H, &P1, &Q1 ) );
- MPI_CHK( mpi_gcd( &G, &ctx->E, &H ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &PQ, &ctx->P, &ctx->Q ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &DE, &ctx->D, &ctx->E ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_sub_int( &P1, &ctx->P, 1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_sub_int( &Q1, &ctx->Q, 1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &H, &P1, &Q1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_gcd( &G, &ctx->E, &H ) );
- MPI_CHK( mpi_gcd( &G2, &P1, &Q1 ) );
- MPI_CHK( mpi_div_mpi( &L1, &L2, &H, &G2 ) );
- MPI_CHK( mpi_mod_mpi( &I, &DE, &L1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_gcd( &G2, &P1, &Q1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_div_mpi( &L1, &L2, &H, &G2 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &I, &DE, &L1 ) );
- MPI_CHK( mpi_mod_mpi( &DP, &ctx->D, &P1 ) );
- MPI_CHK( mpi_mod_mpi( &DQ, &ctx->D, &Q1 ) );
- MPI_CHK( mpi_inv_mod( &QP, &ctx->Q, &ctx->P ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &DP, &ctx->D, &P1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &DQ, &ctx->D, &Q1 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( &QP, &ctx->Q, &ctx->P ) );
/*
* Check for a valid PKCS1v2 private key
*/
- if( mpi_cmp_mpi( &PQ, &ctx->N ) != 0 ||
- mpi_cmp_mpi( &DP, &ctx->DP ) != 0 ||
- mpi_cmp_mpi( &DQ, &ctx->DQ ) != 0 ||
- mpi_cmp_mpi( &QP, &ctx->QP ) != 0 ||
- mpi_cmp_int( &L2, 0 ) != 0 ||
- mpi_cmp_int( &I, 1 ) != 0 ||
- mpi_cmp_int( &G, 1 ) != 0 )
+ if( mbedtls_mpi_cmp_mpi( &PQ, &ctx->N ) != 0 ||
+ mbedtls_mpi_cmp_mpi( &DP, &ctx->DP ) != 0 ||
+ mbedtls_mpi_cmp_mpi( &DQ, &ctx->DQ ) != 0 ||
+ mbedtls_mpi_cmp_mpi( &QP, &ctx->QP ) != 0 ||
+ mbedtls_mpi_cmp_int( &L2, 0 ) != 0 ||
+ mbedtls_mpi_cmp_int( &I, 1 ) != 0 ||
+ mbedtls_mpi_cmp_int( &G, 1 ) != 0 )
{
- ret = POLARSSL_ERR_RSA_KEY_CHECK_FAILED;
+ ret = MBEDTLS_ERR_RSA_KEY_CHECK_FAILED;
}
cleanup:
- mpi_free( &PQ ); mpi_free( &DE ); mpi_free( &P1 ); mpi_free( &Q1 );
- mpi_free( &H ); mpi_free( &I ); mpi_free( &G ); mpi_free( &G2 );
- mpi_free( &L1 ); mpi_free( &L2 ); mpi_free( &DP ); mpi_free( &DQ );
- mpi_free( &QP );
+ mbedtls_mpi_free( &PQ ); mbedtls_mpi_free( &DE ); mbedtls_mpi_free( &P1 ); mbedtls_mpi_free( &Q1 );
+ mbedtls_mpi_free( &H ); mbedtls_mpi_free( &I ); mbedtls_mpi_free( &G ); mbedtls_mpi_free( &G2 );
+ mbedtls_mpi_free( &L1 ); mbedtls_mpi_free( &L2 ); mbedtls_mpi_free( &DP ); mbedtls_mpi_free( &DQ );
+ mbedtls_mpi_free( &QP );
- if( ret == POLARSSL_ERR_RSA_KEY_CHECK_FAILED )
+ if( ret == MBEDTLS_ERR_RSA_KEY_CHECK_FAILED )
return( ret );
if( ret != 0 )
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED + ret );
+ return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED + ret );
return( 0 );
}
@@ -244,18 +244,18 @@
/*
* Check if contexts holding a public and private key match
*/
-int rsa_check_pub_priv( const rsa_context *pub, const rsa_context *prv )
+int mbedtls_rsa_check_pub_priv( const mbedtls_rsa_context *pub, const mbedtls_rsa_context *prv )
{
- if( rsa_check_pubkey( pub ) != 0 ||
- rsa_check_privkey( prv ) != 0 )
+ if( mbedtls_rsa_check_pubkey( pub ) != 0 ||
+ mbedtls_rsa_check_privkey( prv ) != 0 )
{
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
+ return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED );
}
- if( mpi_cmp_mpi( &pub->N, &prv->N ) != 0 ||
- mpi_cmp_mpi( &pub->E, &prv->E ) != 0 )
+ if( mbedtls_mpi_cmp_mpi( &pub->N, &prv->N ) != 0 ||
+ mbedtls_mpi_cmp_mpi( &pub->E, &prv->E ) != 0 )
{
- return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
+ return( MBEDTLS_ERR_RSA_KEY_CHECK_FAILED );
}
return( 0 );
@@ -264,41 +264,41 @@
/*
* Do an RSA public key operation
*/
-int rsa_public( rsa_context *ctx,
+int mbedtls_rsa_public( mbedtls_rsa_context *ctx,
const unsigned char *input,
unsigned char *output )
{
int ret;
size_t olen;
- mpi T;
+ mbedtls_mpi T;
- mpi_init( &T );
+ mbedtls_mpi_init( &T );
- MPI_CHK( mpi_read_binary( &T, input, ctx->len ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_binary( &T, input, ctx->len ) );
- if( mpi_cmp_mpi( &T, &ctx->N ) >= 0 )
+ if( mbedtls_mpi_cmp_mpi( &T, &ctx->N ) >= 0 )
{
- mpi_free( &T );
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ mbedtls_mpi_free( &T );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
}
-#if defined(POLARSSL_THREADING_C)
- polarssl_mutex_lock( &ctx->mutex );
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mutex_lock( &ctx->mutex );
#endif
olen = ctx->len;
- MPI_CHK( mpi_exp_mod( &T, &T, &ctx->E, &ctx->N, &ctx->RN ) );
- MPI_CHK( mpi_write_binary( &T, output, olen ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_exp_mod( &T, &T, &ctx->E, &ctx->N, &ctx->RN ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_write_binary( &T, output, olen ) );
cleanup:
-#if defined(POLARSSL_THREADING_C)
- polarssl_mutex_unlock( &ctx->mutex );
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mutex_unlock( &ctx->mutex );
#endif
- mpi_free( &T );
+ mbedtls_mpi_free( &T );
if( ret != 0 )
- return( POLARSSL_ERR_RSA_PUBLIC_FAILED + ret );
+ return( MBEDTLS_ERR_RSA_PUBLIC_FAILED + ret );
return( 0 );
}
@@ -309,22 +309,22 @@
* DSS, and other systems. In : Advances in Cryptology-CRYPTO'96. Springer
* Berlin Heidelberg, 1996. p. 104-113.
*/
-static int rsa_prepare_blinding( rsa_context *ctx, mpi *Vi, mpi *Vf,
+static int rsa_prepare_blinding( mbedtls_rsa_context *ctx, mbedtls_mpi *Vi, mbedtls_mpi *Vf,
int (*f_rng)(void *, unsigned char *, size_t), void *p_rng )
{
int ret, count = 0;
-#if defined(POLARSSL_THREADING_C)
- polarssl_mutex_lock( &ctx->mutex );
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mutex_lock( &ctx->mutex );
#endif
if( ctx->Vf.p != NULL )
{
/* We already have blinding values, just update them by squaring */
- MPI_CHK( mpi_mul_mpi( &ctx->Vi, &ctx->Vi, &ctx->Vi ) );
- MPI_CHK( mpi_mod_mpi( &ctx->Vi, &ctx->Vi, &ctx->N ) );
- MPI_CHK( mpi_mul_mpi( &ctx->Vf, &ctx->Vf, &ctx->Vf ) );
- MPI_CHK( mpi_mod_mpi( &ctx->Vf, &ctx->Vf, &ctx->N ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &ctx->Vi, &ctx->Vi, &ctx->Vi ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &ctx->Vi, &ctx->Vi, &ctx->N ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &ctx->Vf, &ctx->Vf, &ctx->Vf ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &ctx->Vf, &ctx->Vf, &ctx->N ) );
goto done;
}
@@ -332,26 +332,26 @@
/* Unblinding value: Vf = random number, invertible mod N */
do {
if( count++ > 10 )
- return( POLARSSL_ERR_RSA_RNG_FAILED );
+ return( MBEDTLS_ERR_RSA_RNG_FAILED );
- MPI_CHK( mpi_fill_random( &ctx->Vf, ctx->len - 1, f_rng, p_rng ) );
- MPI_CHK( mpi_gcd( &ctx->Vi, &ctx->Vf, &ctx->N ) );
- } while( mpi_cmp_int( &ctx->Vi, 1 ) != 0 );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_fill_random( &ctx->Vf, ctx->len - 1, f_rng, p_rng ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_gcd( &ctx->Vi, &ctx->Vf, &ctx->N ) );
+ } while( mbedtls_mpi_cmp_int( &ctx->Vi, 1 ) != 0 );
/* Blinding value: Vi = Vf^(-e) mod N */
- MPI_CHK( mpi_inv_mod( &ctx->Vi, &ctx->Vf, &ctx->N ) );
- MPI_CHK( mpi_exp_mod( &ctx->Vi, &ctx->Vi, &ctx->E, &ctx->N, &ctx->RN ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( &ctx->Vi, &ctx->Vf, &ctx->N ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_exp_mod( &ctx->Vi, &ctx->Vi, &ctx->E, &ctx->N, &ctx->RN ) );
done:
if( Vi != &ctx->Vi )
{
- MPI_CHK( mpi_copy( Vi, &ctx->Vi ) );
- MPI_CHK( mpi_copy( Vf, &ctx->Vf ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( Vi, &ctx->Vi ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( Vf, &ctx->Vf ) );
}
cleanup:
-#if defined(POLARSSL_THREADING_C)
- polarssl_mutex_unlock( &ctx->mutex );
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mutex_unlock( &ctx->mutex );
#endif
return( ret );
@@ -360,7 +360,7 @@
/*
* Do an RSA private key operation
*/
-int rsa_private( rsa_context *ctx,
+int mbedtls_rsa_private( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
const unsigned char *input,
@@ -368,18 +368,18 @@
{
int ret;
size_t olen;
- mpi T, T1, T2;
- mpi *Vi, *Vf;
+ mbedtls_mpi T, T1, T2;
+ mbedtls_mpi *Vi, *Vf;
/*
* When using the Chinese Remainder Theorem, we use blinding values.
* Without threading, we just read them directly from the context,
* otherwise we make a local copy in order to reduce locking contention.
*/
-#if defined(POLARSSL_THREADING_C)
- mpi Vi_copy, Vf_copy;
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mpi Vi_copy, Vf_copy;
- mpi_init( &Vi_copy ); mpi_init( &Vf_copy );
+ mbedtls_mpi_init( &Vi_copy ); mbedtls_mpi_init( &Vf_copy );
Vi = &Vi_copy;
Vf = &Vf_copy;
#else
@@ -387,13 +387,13 @@
Vf = &ctx->Vf;
#endif
- mpi_init( &T ); mpi_init( &T1 ); mpi_init( &T2 );
+ mbedtls_mpi_init( &T ); mbedtls_mpi_init( &T1 ); mbedtls_mpi_init( &T2 );
- MPI_CHK( mpi_read_binary( &T, input, ctx->len ) );
- if( mpi_cmp_mpi( &T, &ctx->N ) >= 0 )
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_binary( &T, input, ctx->len ) );
+ if( mbedtls_mpi_cmp_mpi( &T, &ctx->N ) >= 0 )
{
- mpi_free( &T );
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ mbedtls_mpi_free( &T );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
}
if( f_rng != NULL )
@@ -402,17 +402,17 @@
* Blinding
* T = T * Vi mod N
*/
- MPI_CHK( rsa_prepare_blinding( ctx, Vi, Vf, f_rng, p_rng ) );
- MPI_CHK( mpi_mul_mpi( &T, &T, Vi ) );
- MPI_CHK( mpi_mod_mpi( &T, &T, &ctx->N ) );
+ MBEDTLS_MPI_CHK( rsa_prepare_blinding( ctx, Vi, Vf, f_rng, p_rng ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T, &T, Vi ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &T, &T, &ctx->N ) );
}
-#if defined(POLARSSL_THREADING_C)
- polarssl_mutex_lock( &ctx->mutex );
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mutex_lock( &ctx->mutex );
#endif
-#if defined(POLARSSL_RSA_NO_CRT)
- MPI_CHK( mpi_exp_mod( &T, &T, &ctx->D, &ctx->N, &ctx->RN ) );
+#if defined(MBEDTLS_RSA_NO_CRT)
+ MBEDTLS_MPI_CHK( mbedtls_mpi_exp_mod( &T, &T, &ctx->D, &ctx->N, &ctx->RN ) );
#else
/*
* faster decryption using the CRT
@@ -420,22 +420,22 @@
* T1 = input ^ dP mod P
* T2 = input ^ dQ mod Q
*/
- MPI_CHK( mpi_exp_mod( &T1, &T, &ctx->DP, &ctx->P, &ctx->RP ) );
- MPI_CHK( mpi_exp_mod( &T2, &T, &ctx->DQ, &ctx->Q, &ctx->RQ ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_exp_mod( &T1, &T, &ctx->DP, &ctx->P, &ctx->RP ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_exp_mod( &T2, &T, &ctx->DQ, &ctx->Q, &ctx->RQ ) );
/*
* T = (T1 - T2) * (Q^-1 mod P) mod P
*/
- MPI_CHK( mpi_sub_mpi( &T, &T1, &T2 ) );
- MPI_CHK( mpi_mul_mpi( &T1, &T, &ctx->QP ) );
- MPI_CHK( mpi_mod_mpi( &T, &T1, &ctx->P ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &T, &T1, &T2 ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T1, &T, &ctx->QP ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &T, &T1, &ctx->P ) );
/*
* T = T2 + T * Q
*/
- MPI_CHK( mpi_mul_mpi( &T1, &T, &ctx->Q ) );
- MPI_CHK( mpi_add_mpi( &T, &T2, &T1 ) );
-#endif /* POLARSSL_RSA_NO_CRT */
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T1, &T, &ctx->Q ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_add_mpi( &T, &T2, &T1 ) );
+#endif /* MBEDTLS_RSA_NO_CRT */
if( f_rng != NULL )
{
@@ -443,27 +443,27 @@
* Unblind
* T = T * Vf mod N
*/
- MPI_CHK( mpi_mul_mpi( &T, &T, Vf ) );
- MPI_CHK( mpi_mod_mpi( &T, &T, &ctx->N ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T, &T, Vf ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_mod_mpi( &T, &T, &ctx->N ) );
}
olen = ctx->len;
- MPI_CHK( mpi_write_binary( &T, output, olen ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_write_binary( &T, output, olen ) );
cleanup:
-#if defined(POLARSSL_THREADING_C)
- polarssl_mutex_unlock( &ctx->mutex );
- mpi_free( &Vi_copy ); mpi_free( &Vf_copy );
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mutex_unlock( &ctx->mutex );
+ mbedtls_mpi_free( &Vi_copy ); mbedtls_mpi_free( &Vf_copy );
#endif
- mpi_free( &T ); mpi_free( &T1 ); mpi_free( &T2 );
+ mbedtls_mpi_free( &T ); mbedtls_mpi_free( &T1 ); mbedtls_mpi_free( &T2 );
if( ret != 0 )
- return( POLARSSL_ERR_RSA_PRIVATE_FAILED + ret );
+ return( MBEDTLS_ERR_RSA_PRIVATE_FAILED + ret );
return( 0 );
}
-#if defined(POLARSSL_PKCS1_V21)
+#if defined(MBEDTLS_PKCS1_V21)
/**
* Generate and apply the MGF1 operation (from PKCS#1 v2.1) to a buffer.
*
@@ -474,18 +474,18 @@
* \param md_ctx message digest context to use
*/
static void mgf_mask( unsigned char *dst, size_t dlen, unsigned char *src,
- size_t slen, md_context_t *md_ctx )
+ size_t slen, mbedtls_md_context_t *md_ctx )
{
- unsigned char mask[POLARSSL_MD_MAX_SIZE];
+ unsigned char mask[MBEDTLS_MD_MAX_SIZE];
unsigned char counter[4];
unsigned char *p;
unsigned int hlen;
size_t i, use_len;
- memset( mask, 0, POLARSSL_MD_MAX_SIZE );
+ memset( mask, 0, MBEDTLS_MD_MAX_SIZE );
memset( counter, 0, 4 );
- hlen = md_get_size( md_ctx->md_info );
+ hlen = mbedtls_md_get_size( md_ctx->md_info );
// Generate and apply dbMask
//
@@ -497,10 +497,10 @@
if( dlen < hlen )
use_len = dlen;
- md_starts( md_ctx );
- md_update( md_ctx, src, slen );
- md_update( md_ctx, counter, 4 );
- md_finish( md_ctx, mask );
+ mbedtls_md_starts( md_ctx );
+ mbedtls_md_update( md_ctx, src, slen );
+ mbedtls_md_update( md_ctx, counter, 4 );
+ mbedtls_md_finish( md_ctx, mask );
for( i = 0; i < use_len; ++i )
*p++ ^= mask[i];
@@ -510,13 +510,13 @@
dlen -= use_len;
}
}
-#endif /* POLARSSL_PKCS1_V21 */
+#endif /* MBEDTLS_PKCS1_V21 */
-#if defined(POLARSSL_PKCS1_V21)
+#if defined(MBEDTLS_PKCS1_V21)
/*
* Implementation of the PKCS#1 v2.1 RSAES-OAEP-ENCRYPT function
*/
-int rsa_rsaes_oaep_encrypt( rsa_context *ctx,
+int mbedtls_rsa_rsaes_oaep_encrypt( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
@@ -529,24 +529,24 @@
int ret;
unsigned char *p = output;
unsigned int hlen;
- const md_info_t *md_info;
- md_context_t md_ctx;
+ const mbedtls_md_info_t *md_info;
+ mbedtls_md_context_t md_ctx;
- if( mode == RSA_PRIVATE && ctx->padding != RSA_PKCS_V21 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V21 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
if( f_rng == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- md_info = md_info_from_type( (md_type_t) ctx->hash_id );
+ md_info = mbedtls_md_info_from_type( (mbedtls_md_type_t) ctx->hash_id );
if( md_info == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
olen = ctx->len;
- hlen = md_get_size( md_info );
+ hlen = mbedtls_md_get_size( md_info );
if( olen < ilen + 2 * hlen + 2 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
memset( output, 0, olen );
@@ -555,20 +555,20 @@
// Generate a random octet string seed
//
if( ( ret = f_rng( p_rng, p, hlen ) ) != 0 )
- return( POLARSSL_ERR_RSA_RNG_FAILED + ret );
+ return( MBEDTLS_ERR_RSA_RNG_FAILED + ret );
p += hlen;
// Construct DB
//
- md( md_info, label, label_len, p );
+ mbedtls_md( md_info, label, label_len, p );
p += hlen;
p += olen - 2 * hlen - 2 - ilen;
*p++ = 1;
memcpy( p, input, ilen );
- md_init( &md_ctx );
- md_setup( &md_ctx, md_info, 0 );
+ mbedtls_md_init( &md_ctx );
+ mbedtls_md_setup( &md_ctx, md_info, 0 );
// maskedDB: Apply dbMask to DB
//
@@ -580,19 +580,19 @@
mgf_mask( output + 1, hlen, output + hlen + 1, olen - hlen - 1,
&md_ctx );
- md_free( &md_ctx );
+ mbedtls_md_free( &md_ctx );
- return( ( mode == RSA_PUBLIC )
- ? rsa_public( ctx, output, output )
- : rsa_private( ctx, f_rng, p_rng, output, output ) );
+ return( ( mode == MBEDTLS_RSA_PUBLIC )
+ ? mbedtls_rsa_public( ctx, output, output )
+ : mbedtls_rsa_private( ctx, f_rng, p_rng, output, output ) );
}
-#endif /* POLARSSL_PKCS1_V21 */
+#endif /* MBEDTLS_PKCS1_V21 */
-#if defined(POLARSSL_PKCS1_V15)
+#if defined(MBEDTLS_PKCS1_V15)
/*
* Implementation of the PKCS#1 v2.1 RSAES-PKCS1-V1_5-ENCRYPT function
*/
-int rsa_rsaes_pkcs1_v15_encrypt( rsa_context *ctx,
+int mbedtls_rsa_rsaes_pkcs1_v15_encrypt( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode, size_t ilen,
@@ -603,23 +603,23 @@
int ret;
unsigned char *p = output;
- if( mode == RSA_PRIVATE && ctx->padding != RSA_PKCS_V15 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V15 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
if( f_rng == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
olen = ctx->len;
if( olen < ilen + 11 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
nb_pad = olen - 3 - ilen;
*p++ = 0;
- if( mode == RSA_PUBLIC )
+ if( mode == MBEDTLS_RSA_PUBLIC )
{
- *p++ = RSA_CRYPT;
+ *p++ = MBEDTLS_RSA_CRYPT;
while( nb_pad-- > 0 )
{
@@ -632,14 +632,14 @@
// Check if RNG failed to generate data
//
if( rng_dl == 0 || ret != 0 )
- return( POLARSSL_ERR_RSA_RNG_FAILED + ret );
+ return( MBEDTLS_ERR_RSA_RNG_FAILED + ret );
p++;
}
}
else
{
- *p++ = RSA_SIGN;
+ *p++ = MBEDTLS_RSA_SIGN;
while( nb_pad-- > 0 )
*p++ = 0xFF;
@@ -648,16 +648,16 @@
*p++ = 0;
memcpy( p, input, ilen );
- return( ( mode == RSA_PUBLIC )
- ? rsa_public( ctx, output, output )
- : rsa_private( ctx, f_rng, p_rng, output, output ) );
+ return( ( mode == MBEDTLS_RSA_PUBLIC )
+ ? mbedtls_rsa_public( ctx, output, output )
+ : mbedtls_rsa_private( ctx, f_rng, p_rng, output, output ) );
}
-#endif /* POLARSSL_PKCS1_V15 */
+#endif /* MBEDTLS_PKCS1_V15 */
/*
* Add the message padding, then do an RSA operation
*/
-int rsa_pkcs1_encrypt( rsa_context *ctx,
+int mbedtls_rsa_pkcs1_encrypt( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode, size_t ilen,
@@ -666,28 +666,28 @@
{
switch( ctx->padding )
{
-#if defined(POLARSSL_PKCS1_V15)
- case RSA_PKCS_V15:
- return rsa_rsaes_pkcs1_v15_encrypt( ctx, f_rng, p_rng, mode, ilen,
+#if defined(MBEDTLS_PKCS1_V15)
+ case MBEDTLS_RSA_PKCS_V15:
+ return mbedtls_rsa_rsaes_pkcs1_v15_encrypt( ctx, f_rng, p_rng, mode, ilen,
input, output );
#endif
-#if defined(POLARSSL_PKCS1_V21)
- case RSA_PKCS_V21:
- return rsa_rsaes_oaep_encrypt( ctx, f_rng, p_rng, mode, NULL, 0,
+#if defined(MBEDTLS_PKCS1_V21)
+ case MBEDTLS_RSA_PKCS_V21:
+ return mbedtls_rsa_rsaes_oaep_encrypt( ctx, f_rng, p_rng, mode, NULL, 0,
ilen, input, output );
#endif
default:
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
}
}
-#if defined(POLARSSL_PKCS1_V21)
+#if defined(MBEDTLS_PKCS1_V21)
/*
* Implementation of the PKCS#1 v2.1 RSAES-OAEP-DECRYPT function
*/
-int rsa_rsaes_oaep_decrypt( rsa_context *ctx,
+int mbedtls_rsa_rsaes_oaep_decrypt( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
@@ -700,33 +700,33 @@
int ret;
size_t ilen, i, pad_len;
unsigned char *p, bad, pad_done;
- unsigned char buf[POLARSSL_MPI_MAX_SIZE];
- unsigned char lhash[POLARSSL_MD_MAX_SIZE];
+ unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
+ unsigned char lhash[MBEDTLS_MD_MAX_SIZE];
unsigned int hlen;
- const md_info_t *md_info;
- md_context_t md_ctx;
+ const mbedtls_md_info_t *md_info;
+ mbedtls_md_context_t md_ctx;
/*
* Parameters sanity checks
*/
- if( mode == RSA_PRIVATE && ctx->padding != RSA_PKCS_V21 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V21 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
ilen = ctx->len;
if( ilen < 16 || ilen > sizeof( buf ) )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- md_info = md_info_from_type( (md_type_t) ctx->hash_id );
+ md_info = mbedtls_md_info_from_type( (mbedtls_md_type_t) ctx->hash_id );
if( md_info == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
/*
* RSA operation
*/
- ret = ( mode == RSA_PUBLIC )
- ? rsa_public( ctx, input, buf )
- : rsa_private( ctx, f_rng, p_rng, input, buf );
+ ret = ( mode == MBEDTLS_RSA_PUBLIC )
+ ? mbedtls_rsa_public( ctx, input, buf )
+ : mbedtls_rsa_private( ctx, f_rng, p_rng, input, buf );
if( ret != 0 )
return( ret );
@@ -734,13 +734,13 @@
/*
* Unmask data and generate lHash
*/
- hlen = md_get_size( md_info );
+ hlen = mbedtls_md_get_size( md_info );
- md_init( &md_ctx );
- md_setup( &md_ctx, md_info, 0 );
+ mbedtls_md_init( &md_ctx );
+ mbedtls_md_setup( &md_ctx, md_info, 0 );
/* Generate lHash */
- md( md_info, label, label_len, lhash );
+ mbedtls_md( md_info, label, label_len, lhash );
/* seed: Apply seedMask to maskedSeed */
mgf_mask( buf + 1, hlen, buf + hlen + 1, ilen - hlen - 1,
@@ -750,7 +750,7 @@
mgf_mask( buf + hlen + 1, ilen - hlen - 1, buf + 1, hlen,
&md_ctx );
- md_free( &md_ctx );
+ mbedtls_md_free( &md_ctx );
/*
* Check contents, in "constant-time"
@@ -786,23 +786,23 @@
* the different error conditions.
*/
if( bad != 0 )
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
if( ilen - ( p - buf ) > output_max_len )
- return( POLARSSL_ERR_RSA_OUTPUT_TOO_LARGE );
+ return( MBEDTLS_ERR_RSA_OUTPUT_TOO_LARGE );
*olen = ilen - (p - buf);
memcpy( output, p, *olen );
return( 0 );
}
-#endif /* POLARSSL_PKCS1_V21 */
+#endif /* MBEDTLS_PKCS1_V21 */
-#if defined(POLARSSL_PKCS1_V15)
+#if defined(MBEDTLS_PKCS1_V15)
/*
* Implementation of the PKCS#1 v2.1 RSAES-PKCS1-V1_5-DECRYPT function
*/
-int rsa_rsaes_pkcs1_v15_decrypt( rsa_context *ctx,
+int mbedtls_rsa_rsaes_pkcs1_v15_decrypt( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode, size_t *olen,
@@ -813,19 +813,19 @@
int ret;
size_t ilen, pad_count = 0, i;
unsigned char *p, bad, pad_done = 0;
- unsigned char buf[POLARSSL_MPI_MAX_SIZE];
+ unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
- if( mode == RSA_PRIVATE && ctx->padding != RSA_PKCS_V15 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V15 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
ilen = ctx->len;
if( ilen < 16 || ilen > sizeof( buf ) )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- ret = ( mode == RSA_PUBLIC )
- ? rsa_public( ctx, input, buf )
- : rsa_private( ctx, f_rng, p_rng, input, buf );
+ ret = ( mode == MBEDTLS_RSA_PUBLIC )
+ ? mbedtls_rsa_public( ctx, input, buf )
+ : mbedtls_rsa_private( ctx, f_rng, p_rng, input, buf );
if( ret != 0 )
return( ret );
@@ -839,9 +839,9 @@
bad |= *p++; /* First byte must be 0 */
/* This test does not depend on secret data */
- if( mode == RSA_PRIVATE )
+ if( mode == MBEDTLS_RSA_PRIVATE )
{
- bad |= *p++ ^ RSA_CRYPT;
+ bad |= *p++ ^ MBEDTLS_RSA_CRYPT;
/* Get padding len, but always read till end of buffer
* (minus one, for the 00 byte) */
@@ -856,7 +856,7 @@
}
else
{
- bad |= *p++ ^ RSA_SIGN;
+ bad |= *p++ ^ MBEDTLS_RSA_SIGN;
/* Get padding len, but always read till end of buffer
* (minus one, for the 00 byte) */
@@ -871,22 +871,22 @@
}
if( bad )
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
if( ilen - ( p - buf ) > output_max_len )
- return( POLARSSL_ERR_RSA_OUTPUT_TOO_LARGE );
+ return( MBEDTLS_ERR_RSA_OUTPUT_TOO_LARGE );
*olen = ilen - (p - buf);
memcpy( output, p, *olen );
return( 0 );
}
-#endif /* POLARSSL_PKCS1_V15 */
+#endif /* MBEDTLS_PKCS1_V15 */
/*
* Do an RSA operation, then remove the message padding
*/
-int rsa_pkcs1_decrypt( rsa_context *ctx,
+int mbedtls_rsa_pkcs1_decrypt( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode, size_t *olen,
@@ -896,100 +896,100 @@
{
switch( ctx->padding )
{
-#if defined(POLARSSL_PKCS1_V15)
- case RSA_PKCS_V15:
- return rsa_rsaes_pkcs1_v15_decrypt( ctx, f_rng, p_rng, mode, olen,
+#if defined(MBEDTLS_PKCS1_V15)
+ case MBEDTLS_RSA_PKCS_V15:
+ return mbedtls_rsa_rsaes_pkcs1_v15_decrypt( ctx, f_rng, p_rng, mode, olen,
input, output, output_max_len );
#endif
-#if defined(POLARSSL_PKCS1_V21)
- case RSA_PKCS_V21:
- return rsa_rsaes_oaep_decrypt( ctx, f_rng, p_rng, mode, NULL, 0,
+#if defined(MBEDTLS_PKCS1_V21)
+ case MBEDTLS_RSA_PKCS_V21:
+ return mbedtls_rsa_rsaes_oaep_decrypt( ctx, f_rng, p_rng, mode, NULL, 0,
olen, input, output,
output_max_len );
#endif
default:
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
}
}
-#if defined(POLARSSL_PKCS1_V21)
+#if defined(MBEDTLS_PKCS1_V21)
/*
* Implementation of the PKCS#1 v2.1 RSASSA-PSS-SIGN function
*/
-int rsa_rsassa_pss_sign( rsa_context *ctx,
+int mbedtls_rsa_rsassa_pss_sign( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
- md_type_t md_alg,
+ mbedtls_md_type_t md_alg,
unsigned int hashlen,
const unsigned char *hash,
unsigned char *sig )
{
size_t olen;
unsigned char *p = sig;
- unsigned char salt[POLARSSL_MD_MAX_SIZE];
+ unsigned char salt[MBEDTLS_MD_MAX_SIZE];
unsigned int slen, hlen, offset = 0;
int ret;
size_t msb;
- const md_info_t *md_info;
- md_context_t md_ctx;
+ const mbedtls_md_info_t *md_info;
+ mbedtls_md_context_t md_ctx;
- if( mode == RSA_PRIVATE && ctx->padding != RSA_PKCS_V21 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V21 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
if( f_rng == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
olen = ctx->len;
- if( md_alg != POLARSSL_MD_NONE )
+ if( md_alg != MBEDTLS_MD_NONE )
{
// Gather length of hash to sign
//
- md_info = md_info_from_type( md_alg );
+ md_info = mbedtls_md_info_from_type( md_alg );
if( md_info == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- hashlen = md_get_size( md_info );
+ hashlen = mbedtls_md_get_size( md_info );
}
- md_info = md_info_from_type( (md_type_t) ctx->hash_id );
+ md_info = mbedtls_md_info_from_type( (mbedtls_md_type_t) ctx->hash_id );
if( md_info == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- hlen = md_get_size( md_info );
+ hlen = mbedtls_md_get_size( md_info );
slen = hlen;
if( olen < hlen + slen + 2 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
memset( sig, 0, olen );
// Generate salt of length slen
//
if( ( ret = f_rng( p_rng, salt, slen ) ) != 0 )
- return( POLARSSL_ERR_RSA_RNG_FAILED + ret );
+ return( MBEDTLS_ERR_RSA_RNG_FAILED + ret );
// Note: EMSA-PSS encoding is over the length of N - 1 bits
//
- msb = mpi_msb( &ctx->N ) - 1;
+ msb = mbedtls_mpi_msb( &ctx->N ) - 1;
p += olen - hlen * 2 - 2;
*p++ = 0x01;
memcpy( p, salt, slen );
p += slen;
- md_init( &md_ctx );
- md_setup( &md_ctx, md_info, 0 );
+ mbedtls_md_init( &md_ctx );
+ mbedtls_md_setup( &md_ctx, md_info, 0 );
// Generate H = Hash( M' )
//
- md_starts( &md_ctx );
- md_update( &md_ctx, p, 8 );
- md_update( &md_ctx, hash, hashlen );
- md_update( &md_ctx, salt, slen );
- md_finish( &md_ctx, p );
+ mbedtls_md_starts( &md_ctx );
+ mbedtls_md_update( &md_ctx, p, 8 );
+ mbedtls_md_update( &md_ctx, hash, hashlen );
+ mbedtls_md_update( &md_ctx, salt, slen );
+ mbedtls_md_finish( &md_ctx, p );
// Compensate for boundary condition when applying mask
//
@@ -1000,32 +1000,32 @@
//
mgf_mask( sig + offset, olen - hlen - 1 - offset, p, hlen, &md_ctx );
- md_free( &md_ctx );
+ mbedtls_md_free( &md_ctx );
- msb = mpi_msb( &ctx->N ) - 1;
+ msb = mbedtls_mpi_msb( &ctx->N ) - 1;
sig[0] &= 0xFF >> ( olen * 8 - msb );
p += hlen;
*p++ = 0xBC;
- return( ( mode == RSA_PUBLIC )
- ? rsa_public( ctx, sig, sig )
- : rsa_private( ctx, f_rng, p_rng, sig, sig ) );
+ return( ( mode == MBEDTLS_RSA_PUBLIC )
+ ? mbedtls_rsa_public( ctx, sig, sig )
+ : mbedtls_rsa_private( ctx, f_rng, p_rng, sig, sig ) );
}
-#endif /* POLARSSL_PKCS1_V21 */
+#endif /* MBEDTLS_PKCS1_V21 */
-#if defined(POLARSSL_PKCS1_V15)
+#if defined(MBEDTLS_PKCS1_V15)
/*
* Implementation of the PKCS#1 v2.1 RSASSA-PKCS1-V1_5-SIGN function
*/
/*
* Do an RSA operation to sign the message digest
*/
-int rsa_rsassa_pkcs1_v15_sign( rsa_context *ctx,
+int mbedtls_rsa_rsassa_pkcs1_v15_sign( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
- md_type_t md_alg,
+ mbedtls_md_type_t md_alg,
unsigned int hashlen,
const unsigned char *hash,
unsigned char *sig )
@@ -1034,38 +1034,38 @@
unsigned char *p = sig;
const char *oid = NULL;
- if( mode == RSA_PRIVATE && ctx->padding != RSA_PKCS_V15 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V15 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
olen = ctx->len;
nb_pad = olen - 3;
- if( md_alg != POLARSSL_MD_NONE )
+ if( md_alg != MBEDTLS_MD_NONE )
{
- const md_info_t *md_info = md_info_from_type( md_alg );
+ const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type( md_alg );
if( md_info == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- if( oid_get_oid_by_md( md_alg, &oid, &oid_size ) != 0 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mbedtls_oid_get_oid_by_md( md_alg, &oid, &oid_size ) != 0 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
nb_pad -= 10 + oid_size;
- hashlen = md_get_size( md_info );
+ hashlen = mbedtls_md_get_size( md_info );
}
nb_pad -= hashlen;
if( ( nb_pad < 8 ) || ( nb_pad > olen ) )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
*p++ = 0;
- *p++ = RSA_SIGN;
+ *p++ = MBEDTLS_RSA_SIGN;
memset( p, 0xFF, nb_pad );
p += nb_pad;
*p++ = 0;
- if( md_alg == POLARSSL_MD_NONE )
+ if( md_alg == MBEDTLS_MD_NONE )
{
memcpy( p, hash, hashlen );
}
@@ -1080,95 +1080,95 @@
*
* Digest ::= OCTET STRING
*/
- *p++ = ASN1_SEQUENCE | ASN1_CONSTRUCTED;
+ *p++ = MBEDTLS_ASN1_SEQUENCE | MBEDTLS_ASN1_CONSTRUCTED;
*p++ = (unsigned char) ( 0x08 + oid_size + hashlen );
- *p++ = ASN1_SEQUENCE | ASN1_CONSTRUCTED;
+ *p++ = MBEDTLS_ASN1_SEQUENCE | MBEDTLS_ASN1_CONSTRUCTED;
*p++ = (unsigned char) ( 0x04 + oid_size );
- *p++ = ASN1_OID;
+ *p++ = MBEDTLS_ASN1_OID;
*p++ = oid_size & 0xFF;
memcpy( p, oid, oid_size );
p += oid_size;
- *p++ = ASN1_NULL;
+ *p++ = MBEDTLS_ASN1_NULL;
*p++ = 0x00;
- *p++ = ASN1_OCTET_STRING;
+ *p++ = MBEDTLS_ASN1_OCTET_STRING;
*p++ = hashlen;
memcpy( p, hash, hashlen );
}
- return( ( mode == RSA_PUBLIC )
- ? rsa_public( ctx, sig, sig )
- : rsa_private( ctx, f_rng, p_rng, sig, sig ) );
+ return( ( mode == MBEDTLS_RSA_PUBLIC )
+ ? mbedtls_rsa_public( ctx, sig, sig )
+ : mbedtls_rsa_private( ctx, f_rng, p_rng, sig, sig ) );
}
-#endif /* POLARSSL_PKCS1_V15 */
+#endif /* MBEDTLS_PKCS1_V15 */
/*
* Do an RSA operation to sign the message digest
*/
-int rsa_pkcs1_sign( rsa_context *ctx,
+int mbedtls_rsa_pkcs1_sign( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
- md_type_t md_alg,
+ mbedtls_md_type_t md_alg,
unsigned int hashlen,
const unsigned char *hash,
unsigned char *sig )
{
switch( ctx->padding )
{
-#if defined(POLARSSL_PKCS1_V15)
- case RSA_PKCS_V15:
- return rsa_rsassa_pkcs1_v15_sign( ctx, f_rng, p_rng, mode, md_alg,
+#if defined(MBEDTLS_PKCS1_V15)
+ case MBEDTLS_RSA_PKCS_V15:
+ return mbedtls_rsa_rsassa_pkcs1_v15_sign( ctx, f_rng, p_rng, mode, md_alg,
hashlen, hash, sig );
#endif
-#if defined(POLARSSL_PKCS1_V21)
- case RSA_PKCS_V21:
- return rsa_rsassa_pss_sign( ctx, f_rng, p_rng, mode, md_alg,
+#if defined(MBEDTLS_PKCS1_V21)
+ case MBEDTLS_RSA_PKCS_V21:
+ return mbedtls_rsa_rsassa_pss_sign( ctx, f_rng, p_rng, mode, md_alg,
hashlen, hash, sig );
#endif
default:
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
}
}
-#if defined(POLARSSL_PKCS1_V21)
+#if defined(MBEDTLS_PKCS1_V21)
/*
* Implementation of the PKCS#1 v2.1 RSASSA-PSS-VERIFY function
*/
-int rsa_rsassa_pss_verify_ext( rsa_context *ctx,
+int mbedtls_rsa_rsassa_pss_verify_ext( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
- md_type_t md_alg,
+ mbedtls_md_type_t md_alg,
unsigned int hashlen,
const unsigned char *hash,
- md_type_t mgf1_hash_id,
+ mbedtls_md_type_t mgf1_hash_id,
int expected_salt_len,
const unsigned char *sig )
{
int ret;
size_t siglen;
unsigned char *p;
- unsigned char buf[POLARSSL_MPI_MAX_SIZE];
- unsigned char result[POLARSSL_MD_MAX_SIZE];
+ unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
+ unsigned char result[MBEDTLS_MD_MAX_SIZE];
unsigned char zeros[8];
unsigned int hlen;
size_t slen, msb;
- const md_info_t *md_info;
- md_context_t md_ctx;
+ const mbedtls_md_info_t *md_info;
+ mbedtls_md_context_t md_ctx;
- if( mode == RSA_PRIVATE && ctx->padding != RSA_PKCS_V21 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V21 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
siglen = ctx->len;
if( siglen < 16 || siglen > sizeof( buf ) )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- ret = ( mode == RSA_PUBLIC )
- ? rsa_public( ctx, sig, buf )
- : rsa_private( ctx, f_rng, p_rng, sig, buf );
+ ret = ( mode == MBEDTLS_RSA_PUBLIC )
+ ? mbedtls_rsa_public( ctx, sig, buf )
+ : mbedtls_rsa_private( ctx, f_rng, p_rng, sig, buf );
if( ret != 0 )
return( ret );
@@ -1176,31 +1176,31 @@
p = buf;
if( buf[siglen - 1] != 0xBC )
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
- if( md_alg != POLARSSL_MD_NONE )
+ if( md_alg != MBEDTLS_MD_NONE )
{
// Gather length of hash to sign
//
- md_info = md_info_from_type( md_alg );
+ md_info = mbedtls_md_info_from_type( md_alg );
if( md_info == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- hashlen = md_get_size( md_info );
+ hashlen = mbedtls_md_get_size( md_info );
}
- md_info = md_info_from_type( mgf1_hash_id );
+ md_info = mbedtls_md_info_from_type( mgf1_hash_id );
if( md_info == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- hlen = md_get_size( md_info );
+ hlen = mbedtls_md_get_size( md_info );
slen = siglen - hlen - 1; /* Currently length of salt + padding */
memset( zeros, 0, 8 );
// Note: EMSA-PSS verification is over the length of N - 1 bits
//
- msb = mpi_msb( &ctx->N ) - 1;
+ msb = mbedtls_mpi_msb( &ctx->N ) - 1;
// Compensate for boundary condition when applying mask
//
@@ -1210,10 +1210,10 @@
siglen -= 1;
}
if( buf[0] >> ( 8 - siglen * 8 + msb ) )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- md_init( &md_ctx );
- md_setup( &md_ctx, md_info, 0 );
+ mbedtls_md_init( &md_ctx );
+ mbedtls_md_setup( &md_ctx, md_info, 0 );
mgf_mask( p, siglen - hlen - 1, p + siglen - hlen - 1, hlen, &md_ctx );
@@ -1225,69 +1225,69 @@
if( p == buf + siglen ||
*p++ != 0x01 )
{
- md_free( &md_ctx );
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ mbedtls_md_free( &md_ctx );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
}
/* Actual salt len */
slen -= p - buf;
- if( expected_salt_len != RSA_SALT_LEN_ANY &&
+ if( expected_salt_len != MBEDTLS_RSA_SALT_LEN_ANY &&
slen != (size_t) expected_salt_len )
{
- md_free( &md_ctx );
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ mbedtls_md_free( &md_ctx );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
}
// Generate H = Hash( M' )
//
- md_starts( &md_ctx );
- md_update( &md_ctx, zeros, 8 );
- md_update( &md_ctx, hash, hashlen );
- md_update( &md_ctx, p, slen );
- md_finish( &md_ctx, result );
+ mbedtls_md_starts( &md_ctx );
+ mbedtls_md_update( &md_ctx, zeros, 8 );
+ mbedtls_md_update( &md_ctx, hash, hashlen );
+ mbedtls_md_update( &md_ctx, p, slen );
+ mbedtls_md_finish( &md_ctx, result );
- md_free( &md_ctx );
+ mbedtls_md_free( &md_ctx );
if( memcmp( p + slen, result, hlen ) == 0 )
return( 0 );
else
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
}
/*
* Simplified PKCS#1 v2.1 RSASSA-PSS-VERIFY function
*/
-int rsa_rsassa_pss_verify( rsa_context *ctx,
+int mbedtls_rsa_rsassa_pss_verify( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
- md_type_t md_alg,
+ mbedtls_md_type_t md_alg,
unsigned int hashlen,
const unsigned char *hash,
const unsigned char *sig )
{
- md_type_t mgf1_hash_id = ( ctx->hash_id != POLARSSL_MD_NONE )
- ? (md_type_t) ctx->hash_id
+ mbedtls_md_type_t mgf1_hash_id = ( ctx->hash_id != MBEDTLS_MD_NONE )
+ ? (mbedtls_md_type_t) ctx->hash_id
: md_alg;
- return( rsa_rsassa_pss_verify_ext( ctx, f_rng, p_rng, mode,
+ return( mbedtls_rsa_rsassa_pss_verify_ext( ctx, f_rng, p_rng, mode,
md_alg, hashlen, hash,
- mgf1_hash_id, RSA_SALT_LEN_ANY,
+ mgf1_hash_id, MBEDTLS_RSA_SALT_LEN_ANY,
sig ) );
}
-#endif /* POLARSSL_PKCS1_V21 */
+#endif /* MBEDTLS_PKCS1_V21 */
-#if defined(POLARSSL_PKCS1_V15)
+#if defined(MBEDTLS_PKCS1_V15)
/*
* Implementation of the PKCS#1 v2.1 RSASSA-PKCS1-v1_5-VERIFY function
*/
-int rsa_rsassa_pkcs1_v15_verify( rsa_context *ctx,
+int mbedtls_rsa_rsassa_pkcs1_v15_verify( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
- md_type_t md_alg,
+ mbedtls_md_type_t md_alg,
unsigned int hashlen,
const unsigned char *hash,
const unsigned char *sig )
@@ -1295,172 +1295,172 @@
int ret;
size_t len, siglen, asn1_len;
unsigned char *p, *end;
- unsigned char buf[POLARSSL_MPI_MAX_SIZE];
- md_type_t msg_md_alg;
- const md_info_t *md_info;
- asn1_buf oid;
+ unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
+ mbedtls_md_type_t msg_md_alg;
+ const mbedtls_md_info_t *md_info;
+ mbedtls_asn1_buf oid;
- if( mode == RSA_PRIVATE && ctx->padding != RSA_PKCS_V15 )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V15 )
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
siglen = ctx->len;
if( siglen < 16 || siglen > sizeof( buf ) )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
- ret = ( mode == RSA_PUBLIC )
- ? rsa_public( ctx, sig, buf )
- : rsa_private( ctx, f_rng, p_rng, sig, buf );
+ ret = ( mode == MBEDTLS_RSA_PUBLIC )
+ ? mbedtls_rsa_public( ctx, sig, buf )
+ : mbedtls_rsa_private( ctx, f_rng, p_rng, sig, buf );
if( ret != 0 )
return( ret );
p = buf;
- if( *p++ != 0 || *p++ != RSA_SIGN )
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ if( *p++ != 0 || *p++ != MBEDTLS_RSA_SIGN )
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
while( *p != 0 )
{
if( p >= buf + siglen - 1 || *p != 0xFF )
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
p++;
}
p++;
len = siglen - ( p - buf );
- if( len == hashlen && md_alg == POLARSSL_MD_NONE )
+ if( len == hashlen && md_alg == MBEDTLS_MD_NONE )
{
if( memcmp( p, hash, hashlen ) == 0 )
return( 0 );
else
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
}
- md_info = md_info_from_type( md_alg );
+ md_info = mbedtls_md_info_from_type( md_alg );
if( md_info == NULL )
- return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
- hashlen = md_get_size( md_info );
+ return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
+ hashlen = mbedtls_md_get_size( md_info );
end = p + len;
// Parse the ASN.1 structure inside the PKCS#1 v1.5 structure
//
- if( ( ret = asn1_get_tag( &p, end, &asn1_len,
- ASN1_CONSTRUCTED | ASN1_SEQUENCE ) ) != 0 )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ if( ( ret = mbedtls_asn1_get_tag( &p, end, &asn1_len,
+ MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE ) ) != 0 )
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
if( asn1_len + 2 != len )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
- if( ( ret = asn1_get_tag( &p, end, &asn1_len,
- ASN1_CONSTRUCTED | ASN1_SEQUENCE ) ) != 0 )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ if( ( ret = mbedtls_asn1_get_tag( &p, end, &asn1_len,
+ MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE ) ) != 0 )
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
if( asn1_len + 6 + hashlen != len )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
- if( ( ret = asn1_get_tag( &p, end, &oid.len, ASN1_OID ) ) != 0 )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ if( ( ret = mbedtls_asn1_get_tag( &p, end, &oid.len, MBEDTLS_ASN1_OID ) ) != 0 )
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
oid.p = p;
p += oid.len;
- if( oid_get_md_alg( &oid, &msg_md_alg ) != 0 )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ if( mbedtls_oid_get_md_alg( &oid, &msg_md_alg ) != 0 )
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
if( md_alg != msg_md_alg )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
/*
* assume the algorithm parameters must be NULL
*/
- if( ( ret = asn1_get_tag( &p, end, &asn1_len, ASN1_NULL ) ) != 0 )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ if( ( ret = mbedtls_asn1_get_tag( &p, end, &asn1_len, MBEDTLS_ASN1_NULL ) ) != 0 )
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
- if( ( ret = asn1_get_tag( &p, end, &asn1_len, ASN1_OCTET_STRING ) ) != 0 )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ if( ( ret = mbedtls_asn1_get_tag( &p, end, &asn1_len, MBEDTLS_ASN1_OCTET_STRING ) ) != 0 )
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
if( asn1_len != hashlen )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
if( memcmp( p, hash, hashlen ) != 0 )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
p += hashlen;
if( p != end )
- return( POLARSSL_ERR_RSA_VERIFY_FAILED );
+ return( MBEDTLS_ERR_RSA_VERIFY_FAILED );
return( 0 );
}
-#endif /* POLARSSL_PKCS1_V15 */
+#endif /* MBEDTLS_PKCS1_V15 */
/*
* Do an RSA operation and check the message digest
*/
-int rsa_pkcs1_verify( rsa_context *ctx,
+int mbedtls_rsa_pkcs1_verify( mbedtls_rsa_context *ctx,
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng,
int mode,
- md_type_t md_alg,
+ mbedtls_md_type_t md_alg,
unsigned int hashlen,
const unsigned char *hash,
const unsigned char *sig )
{
switch( ctx->padding )
{
-#if defined(POLARSSL_PKCS1_V15)
- case RSA_PKCS_V15:
- return rsa_rsassa_pkcs1_v15_verify( ctx, f_rng, p_rng, mode, md_alg,
+#if defined(MBEDTLS_PKCS1_V15)
+ case MBEDTLS_RSA_PKCS_V15:
+ return mbedtls_rsa_rsassa_pkcs1_v15_verify( ctx, f_rng, p_rng, mode, md_alg,
hashlen, hash, sig );
#endif
-#if defined(POLARSSL_PKCS1_V21)
- case RSA_PKCS_V21:
- return rsa_rsassa_pss_verify( ctx, f_rng, p_rng, mode, md_alg,
+#if defined(MBEDTLS_PKCS1_V21)
+ case MBEDTLS_RSA_PKCS_V21:
+ return mbedtls_rsa_rsassa_pss_verify( ctx, f_rng, p_rng, mode, md_alg,
hashlen, hash, sig );
#endif
default:
- return( POLARSSL_ERR_RSA_INVALID_PADDING );
+ return( MBEDTLS_ERR_RSA_INVALID_PADDING );
}
}
/*
* Copy the components of an RSA key
*/
-int rsa_copy( rsa_context *dst, const rsa_context *src )
+int mbedtls_rsa_copy( mbedtls_rsa_context *dst, const mbedtls_rsa_context *src )
{
int ret;
dst->ver = src->ver;
dst->len = src->len;
- MPI_CHK( mpi_copy( &dst->N, &src->N ) );
- MPI_CHK( mpi_copy( &dst->E, &src->E ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->N, &src->N ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->E, &src->E ) );
- MPI_CHK( mpi_copy( &dst->D, &src->D ) );
- MPI_CHK( mpi_copy( &dst->P, &src->P ) );
- MPI_CHK( mpi_copy( &dst->Q, &src->Q ) );
- MPI_CHK( mpi_copy( &dst->DP, &src->DP ) );
- MPI_CHK( mpi_copy( &dst->DQ, &src->DQ ) );
- MPI_CHK( mpi_copy( &dst->QP, &src->QP ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->D, &src->D ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->P, &src->P ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->Q, &src->Q ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->DP, &src->DP ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->DQ, &src->DQ ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->QP, &src->QP ) );
- MPI_CHK( mpi_copy( &dst->RN, &src->RN ) );
- MPI_CHK( mpi_copy( &dst->RP, &src->RP ) );
- MPI_CHK( mpi_copy( &dst->RQ, &src->RQ ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->RN, &src->RN ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->RP, &src->RP ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->RQ, &src->RQ ) );
- MPI_CHK( mpi_copy( &dst->Vi, &src->Vi ) );
- MPI_CHK( mpi_copy( &dst->Vf, &src->Vf ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->Vi, &src->Vi ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &dst->Vf, &src->Vf ) );
dst->padding = src->padding;
dst->hash_id = src->hash_id;
cleanup:
if( ret != 0 )
- rsa_free( dst );
+ mbedtls_rsa_free( dst );
return( ret );
}
@@ -1468,20 +1468,20 @@
/*
* Free the components of an RSA key
*/
-void rsa_free( rsa_context *ctx )
+void mbedtls_rsa_free( mbedtls_rsa_context *ctx )
{
- mpi_free( &ctx->Vi ); mpi_free( &ctx->Vf );
- mpi_free( &ctx->RQ ); mpi_free( &ctx->RP ); mpi_free( &ctx->RN );
- mpi_free( &ctx->QP ); mpi_free( &ctx->DQ ); mpi_free( &ctx->DP );
- mpi_free( &ctx->Q ); mpi_free( &ctx->P ); mpi_free( &ctx->D );
- mpi_free( &ctx->E ); mpi_free( &ctx->N );
+ mbedtls_mpi_free( &ctx->Vi ); mbedtls_mpi_free( &ctx->Vf );
+ mbedtls_mpi_free( &ctx->RQ ); mbedtls_mpi_free( &ctx->RP ); mbedtls_mpi_free( &ctx->RN );
+ mbedtls_mpi_free( &ctx->QP ); mbedtls_mpi_free( &ctx->DQ ); mbedtls_mpi_free( &ctx->DP );
+ mbedtls_mpi_free( &ctx->Q ); mbedtls_mpi_free( &ctx->P ); mbedtls_mpi_free( &ctx->D );
+ mbedtls_mpi_free( &ctx->E ); mbedtls_mpi_free( &ctx->N );
-#if defined(POLARSSL_THREADING_C)
- polarssl_mutex_free( &ctx->mutex );
+#if defined(MBEDTLS_THREADING_C)
+ mbedtls_mutex_free( &ctx->mutex );
#endif
}
-#if defined(POLARSSL_SELF_TEST)
+#if defined(MBEDTLS_SELF_TEST)
#include "mbedtls/sha1.h"
@@ -1539,7 +1539,7 @@
#define RSA_PT "\xAA\xBB\xCC\x03\x02\x01\x00\xFF\xFF\xFF\xFF\xFF" \
"\x11\x22\x33\x0A\x0B\x0C\xCC\xDD\xDD\xDD\xDD\xDD"
-#if defined(POLARSSL_PKCS1_V15)
+#if defined(MBEDTLS_PKCS1_V15)
static int myrand( void *rng_state, unsigned char *output, size_t len )
{
#if !defined(__OpenBSD__)
@@ -1559,71 +1559,71 @@
return( 0 );
}
-#endif /* POLARSSL_PKCS1_V15 */
+#endif /* MBEDTLS_PKCS1_V15 */
/*
* Checkup routine
*/
-int rsa_self_test( int verbose )
+int mbedtls_rsa_self_test( int verbose )
{
int ret = 0;
-#if defined(POLARSSL_PKCS1_V15)
+#if defined(MBEDTLS_PKCS1_V15)
size_t len;
- rsa_context rsa;
+ mbedtls_rsa_context rsa;
unsigned char rsa_plaintext[PT_LEN];
unsigned char rsa_decrypted[PT_LEN];
unsigned char rsa_ciphertext[KEY_LEN];
-#if defined(POLARSSL_SHA1_C)
+#if defined(MBEDTLS_SHA1_C)
unsigned char sha1sum[20];
#endif
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
+ mbedtls_rsa_init( &rsa, MBEDTLS_RSA_PKCS_V15, 0 );
rsa.len = KEY_LEN;
- MPI_CHK( mpi_read_string( &rsa.N , 16, RSA_N ) );
- MPI_CHK( mpi_read_string( &rsa.E , 16, RSA_E ) );
- MPI_CHK( mpi_read_string( &rsa.D , 16, RSA_D ) );
- MPI_CHK( mpi_read_string( &rsa.P , 16, RSA_P ) );
- MPI_CHK( mpi_read_string( &rsa.Q , 16, RSA_Q ) );
- MPI_CHK( mpi_read_string( &rsa.DP, 16, RSA_DP ) );
- MPI_CHK( mpi_read_string( &rsa.DQ, 16, RSA_DQ ) );
- MPI_CHK( mpi_read_string( &rsa.QP, 16, RSA_QP ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &rsa.N , 16, RSA_N ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &rsa.E , 16, RSA_E ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &rsa.D , 16, RSA_D ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &rsa.P , 16, RSA_P ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &rsa.Q , 16, RSA_Q ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &rsa.DP, 16, RSA_DP ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &rsa.DQ, 16, RSA_DQ ) );
+ MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &rsa.QP, 16, RSA_QP ) );
if( verbose != 0 )
- polarssl_printf( " RSA key validation: " );
+ mbedtls_printf( " RSA key validation: " );
- if( rsa_check_pubkey( &rsa ) != 0 ||
- rsa_check_privkey( &rsa ) != 0 )
+ if( mbedtls_rsa_check_pubkey( &rsa ) != 0 ||
+ mbedtls_rsa_check_privkey( &rsa ) != 0 )
{
if( verbose != 0 )
- polarssl_printf( "failed\n" );
+ mbedtls_printf( "failed\n" );
return( 1 );
}
if( verbose != 0 )
- polarssl_printf( "passed\n PKCS#1 encryption : " );
+ mbedtls_printf( "passed\n PKCS#1 encryption : " );
memcpy( rsa_plaintext, RSA_PT, PT_LEN );
- if( rsa_pkcs1_encrypt( &rsa, myrand, NULL, RSA_PUBLIC, PT_LEN,
+ if( mbedtls_rsa_pkcs1_encrypt( &rsa, myrand, NULL, MBEDTLS_RSA_PUBLIC, PT_LEN,
rsa_plaintext, rsa_ciphertext ) != 0 )
{
if( verbose != 0 )
- polarssl_printf( "failed\n" );
+ mbedtls_printf( "failed\n" );
return( 1 );
}
if( verbose != 0 )
- polarssl_printf( "passed\n PKCS#1 decryption : " );
+ mbedtls_printf( "passed\n PKCS#1 decryption : " );
- if( rsa_pkcs1_decrypt( &rsa, myrand, NULL, RSA_PRIVATE, &len,
+ if( mbedtls_rsa_pkcs1_decrypt( &rsa, myrand, NULL, MBEDTLS_RSA_PRIVATE, &len,
rsa_ciphertext, rsa_decrypted,
sizeof(rsa_decrypted) ) != 0 )
{
if( verbose != 0 )
- polarssl_printf( "failed\n" );
+ mbedtls_printf( "failed\n" );
return( 1 );
}
@@ -1631,50 +1631,50 @@
if( memcmp( rsa_decrypted, rsa_plaintext, len ) != 0 )
{
if( verbose != 0 )
- polarssl_printf( "failed\n" );
+ mbedtls_printf( "failed\n" );
return( 1 );
}
-#if defined(POLARSSL_SHA1_C)
+#if defined(MBEDTLS_SHA1_C)
if( verbose != 0 )
- polarssl_printf( "passed\n PKCS#1 data sign : " );
+ mbedtls_printf( "passed\n PKCS#1 data sign : " );
- sha1( rsa_plaintext, PT_LEN, sha1sum );
+ mbedtls_sha1( rsa_plaintext, PT_LEN, sha1sum );
- if( rsa_pkcs1_sign( &rsa, myrand, NULL, RSA_PRIVATE, POLARSSL_MD_SHA1, 0,
+ if( mbedtls_rsa_pkcs1_sign( &rsa, myrand, NULL, MBEDTLS_RSA_PRIVATE, MBEDTLS_MD_SHA1, 0,
sha1sum, rsa_ciphertext ) != 0 )
{
if( verbose != 0 )
- polarssl_printf( "failed\n" );
+ mbedtls_printf( "failed\n" );
return( 1 );
}
if( verbose != 0 )
- polarssl_printf( "passed\n PKCS#1 sig. verify: " );
+ mbedtls_printf( "passed\n PKCS#1 sig. verify: " );
- if( rsa_pkcs1_verify( &rsa, NULL, NULL, RSA_PUBLIC, POLARSSL_MD_SHA1, 0,
+ if( mbedtls_rsa_pkcs1_verify( &rsa, NULL, NULL, MBEDTLS_RSA_PUBLIC, MBEDTLS_MD_SHA1, 0,
sha1sum, rsa_ciphertext ) != 0 )
{
if( verbose != 0 )
- polarssl_printf( "failed\n" );
+ mbedtls_printf( "failed\n" );
return( 1 );
}
if( verbose != 0 )
- polarssl_printf( "passed\n\n" );
-#endif /* POLARSSL_SHA1_C */
+ mbedtls_printf( "passed\n\n" );
+#endif /* MBEDTLS_SHA1_C */
cleanup:
- rsa_free( &rsa );
-#else /* POLARSSL_PKCS1_V15 */
+ mbedtls_rsa_free( &rsa );
+#else /* MBEDTLS_PKCS1_V15 */
((void) verbose);
-#endif /* POLARSSL_PKCS1_V15 */
+#endif /* MBEDTLS_PKCS1_V15 */
return( ret );
}
-#endif /* POLARSSL_SELF_TEST */
+#endif /* MBEDTLS_SELF_TEST */
-#endif /* POLARSSL_RSA_C */
+#endif /* MBEDTLS_RSA_C */