mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-08-01 10:06:53 +03:00
Merged blinding additions for EC, RSA and DHM into development
This commit is contained in:
@ -239,7 +239,7 @@ int main( int argc, char *argv[] )
|
||||
fflush( stdout );
|
||||
|
||||
n = dhm.len;
|
||||
if( ( ret = dhm_calc_secret( &dhm, buf, &n ) ) != 0 )
|
||||
if( ( ret = dhm_calc_secret( &dhm, buf, &n, NULL, NULL ) ) != 0 )
|
||||
{
|
||||
printf( " failed\n ! dhm_calc_secret returned %d\n\n", ret );
|
||||
goto exit;
|
||||
|
@ -242,7 +242,7 @@ int main( int argc, char *argv[] )
|
||||
printf( "\n . Shared secret: " );
|
||||
fflush( stdout );
|
||||
|
||||
if( ( ret = dhm_calc_secret( &dhm, buf, &n ) ) != 0 )
|
||||
if( ( ret = dhm_calc_secret( &dhm, buf, &n, NULL, NULL ) ) != 0 )
|
||||
{
|
||||
printf( " failed\n ! dhm_calc_secret returned %d\n\n", ret );
|
||||
goto exit;
|
||||
|
@ -92,7 +92,7 @@ int main( int argc, char *argv[] )
|
||||
#else
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
int keysize;
|
||||
int ret, keysize;
|
||||
unsigned long i, j, tsc;
|
||||
unsigned char tmp[64];
|
||||
#if defined(POLARSSL_ARC4_C)
|
||||
@ -431,25 +431,33 @@ int main( int argc, char *argv[] )
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
buf[0] = 0;
|
||||
rsa_public( &rsa, buf, buf );
|
||||
ret = rsa_public( &rsa, buf, buf );
|
||||
}
|
||||
|
||||
printf( "%9lu public/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu public/s\n", i / 3 );
|
||||
|
||||
printf( HEADER_FORMAT, "RSA-1024" );
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
buf[0] = 0;
|
||||
rsa_private( &rsa, buf, buf );
|
||||
ret = rsa_private( &rsa, myrand, NULL, buf, buf );
|
||||
}
|
||||
|
||||
printf( "%9lu private/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu private/s\n", i / 3 );
|
||||
|
||||
rsa_free( &rsa );
|
||||
|
||||
@ -460,25 +468,33 @@ int main( int argc, char *argv[] )
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
buf[0] = 0;
|
||||
rsa_public( &rsa, buf, buf );
|
||||
ret = rsa_public( &rsa, buf, buf );
|
||||
}
|
||||
|
||||
printf( "%9lu public/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu public/s\n", i / 3 );
|
||||
|
||||
printf( HEADER_FORMAT, "RSA-2048" );
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
buf[0] = 0;
|
||||
rsa_private( &rsa, buf, buf );
|
||||
ret = rsa_private( &rsa, myrand, NULL, buf, buf );
|
||||
}
|
||||
|
||||
printf( "%9lu private/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu private/s\n", i / 3 );
|
||||
|
||||
rsa_free( &rsa );
|
||||
|
||||
@ -489,25 +505,33 @@ int main( int argc, char *argv[] )
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
buf[0] = 0;
|
||||
rsa_public( &rsa, buf, buf );
|
||||
ret = rsa_public( &rsa, buf, buf );
|
||||
}
|
||||
|
||||
printf( "%9lu public/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu public/s\n", i / 3 );
|
||||
|
||||
printf( HEADER_FORMAT, "RSA-4096" );
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
buf[0] = 0;
|
||||
rsa_private( &rsa, buf, buf );
|
||||
ret = rsa_private( &rsa, myrand, NULL, buf, buf );
|
||||
}
|
||||
|
||||
printf( "%9lu private/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu private/s\n", i / 3 );
|
||||
|
||||
rsa_free( &rsa );
|
||||
#endif
|
||||
@ -525,13 +549,34 @@ int main( int argc, char *argv[] )
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
dhm_make_public( &dhm, dhm.len, buf, dhm.len, myrand, NULL );
|
||||
dhm_calc_secret( &dhm, buf, &olen );
|
||||
olen = sizeof( buf );
|
||||
ret |= dhm_make_public( &dhm, dhm.len, buf, dhm.len, myrand, NULL );
|
||||
ret |= dhm_calc_secret( &dhm, buf, &olen, NULL, NULL );
|
||||
}
|
||||
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
|
||||
printf( HEADER_FORMAT, "fixed-DHM-1024" );
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
olen = sizeof( buf );
|
||||
ret |= dhm_calc_secret( &dhm, buf, &olen, myrand, NULL );
|
||||
}
|
||||
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
|
||||
dhm_free( &dhm );
|
||||
|
||||
@ -547,16 +592,36 @@ int main( int argc, char *argv[] )
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
dhm_make_public( &dhm, dhm.len, buf, dhm.len, myrand, NULL );
|
||||
dhm_calc_secret( &dhm, buf, &olen );
|
||||
olen = sizeof( buf );
|
||||
ret |= dhm_make_public( &dhm, dhm.len, buf, dhm.len, myrand, NULL );
|
||||
ret |= dhm_calc_secret( &dhm, buf, &olen, myrand, NULL );
|
||||
}
|
||||
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
|
||||
printf( HEADER_FORMAT, "fixed-DHM-2048" );
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
olen = sizeof( buf );
|
||||
ret |= dhm_calc_secret( &dhm, buf, &olen, NULL, NULL );
|
||||
}
|
||||
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
|
||||
dhm_free( &dhm );
|
||||
|
||||
memset( &dhm, 0, sizeof( dhm_context ) );
|
||||
|
||||
mpi_read_string( &dhm.P, 16, POLARSSL_DHM_RFC3526_MODP_3072_P );
|
||||
@ -569,13 +634,34 @@ int main( int argc, char *argv[] )
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
dhm_make_public( &dhm, dhm.len, buf, dhm.len, myrand, NULL );
|
||||
dhm_calc_secret( &dhm, buf, &olen );
|
||||
olen = sizeof( buf );
|
||||
ret |= dhm_make_public( &dhm, dhm.len, buf, dhm.len, myrand, NULL );
|
||||
ret |= dhm_calc_secret( &dhm, buf, &olen, NULL, NULL );
|
||||
}
|
||||
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
|
||||
printf( HEADER_FORMAT, "fixed-DHM-3072" );
|
||||
fflush( stdout );
|
||||
set_alarm( 3 );
|
||||
|
||||
ret = 0;
|
||||
for( i = 1; ! alarmed && ! ret ; i++ )
|
||||
{
|
||||
olen = sizeof( buf );
|
||||
ret |= dhm_calc_secret( &dhm, buf, &olen, myrand, NULL );
|
||||
}
|
||||
|
||||
if( ret != 0 )
|
||||
printf( "FAILED\n" );
|
||||
else
|
||||
printf( "%9lu handshake/s\n", i / 3 );
|
||||
|
||||
dhm_free( &dhm );
|
||||
#endif
|
||||
|
@ -28,6 +28,29 @@ int main( int argc, char *argv[] )
|
||||
|
||||
#else
|
||||
|
||||
static int myrand( void *rng_state, unsigned char *output, size_t len )
|
||||
{
|
||||
size_t use_len;
|
||||
int rnd;
|
||||
|
||||
if( rng_state != NULL )
|
||||
rng_state = NULL;
|
||||
|
||||
while( len > 0 )
|
||||
{
|
||||
use_len = len;
|
||||
if( use_len > sizeof(int) )
|
||||
use_len = sizeof(int);
|
||||
|
||||
rnd = rand();
|
||||
memcpy( output, &rnd, use_len );
|
||||
output += use_len;
|
||||
len -= use_len;
|
||||
}
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
static void dhm_bench_case( const char *s, const char *p,
|
||||
const char *g, const char *x )
|
||||
{
|
||||
@ -161,7 +184,7 @@ static void ecp_bench_case( size_t dp, const char *s, const char *m )
|
||||
set_alarm( 3 );
|
||||
|
||||
for( i = 1; ! alarmed; i++ )
|
||||
ecp_mul( &grp, &R, &M, &grp.G );
|
||||
ecp_mul( &grp, &R, &M, &grp.G, myrand, NULL );
|
||||
|
||||
printf( "%9lu mul/s\n", i / 3 );
|
||||
|
||||
|
Reference in New Issue
Block a user