Fix undetected errors in benchmark

dhm_calc_secret() was exiting early, leading to wrong results
This commit is contained in:
Manuel Pégourié-Gonnard 2013-09-07 12:27:35 +02:00
parent 337b29c334
commit 1a2012459b

View file

@ -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, myrand, NULL, 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, myrand, NULL, 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, myrand, NULL, 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,18 @@ 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, NULL, NULL );
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 );
dhm_free( &dhm );
@ -547,13 +576,18 @@ 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, NULL, NULL );
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 );
dhm_free( &dhm );
memset( &dhm, 0, sizeof( dhm_context ) );
@ -568,13 +602,18 @@ 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, NULL, NULL );
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 );
dhm_free( &dhm );
#endif