mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 04:45:44 +01:00
Small code cleanups
This commit is contained in:
parent
ff27b7c968
commit
edc1a1f482
@ -1276,35 +1276,26 @@ static void ecp_comb_fixed( unsigned char x[], size_t d,
|
|||||||
|
|
||||||
memset( x, 0, d+1 );
|
memset( x, 0, d+1 );
|
||||||
|
|
||||||
/* For x[0] use the classical comb value without adjustement */
|
/* First get the classical comb values (except for x_d = 0) */
|
||||||
for( j = 0; j < w; j++ )
|
for( i = 0; i < d; i++ )
|
||||||
x[0] |= mpi_get_bit( m, d * j ) << j;
|
|
||||||
c = 0;
|
|
||||||
|
|
||||||
for( i = 1; i < d; i++ )
|
|
||||||
{
|
|
||||||
/* Get the classical comb value */
|
|
||||||
for( j = 0; j < w; j++ )
|
for( j = 0; j < w; j++ )
|
||||||
x[i] |= mpi_get_bit( m, i + d * j ) << j;
|
x[i] |= mpi_get_bit( m, i + d * j ) << j;
|
||||||
|
|
||||||
|
/* Now make sure x_1 .. x_d are odd */
|
||||||
|
c = 0;
|
||||||
|
for( i = 1; i <= d; i++ )
|
||||||
|
{
|
||||||
/* Add carry and update it */
|
/* Add carry and update it */
|
||||||
cc = x[i] & c;
|
cc = x[i] & c;
|
||||||
x[i] = x[i] ^ c;
|
x[i] = x[i] ^ c;
|
||||||
c = cc;
|
c = cc;
|
||||||
|
|
||||||
/* Make sure x[i] is odd, avoiding if-branches */
|
/* Adjust if needed, avoiding branches */
|
||||||
adjust = 1 - ( x[i] & 0x01 );
|
adjust = 1 - ( x[i] & 0x01 );
|
||||||
c |= x[i] & ( x[i-1] * adjust );
|
c |= x[i] & ( x[i-1] * adjust );
|
||||||
x[i] = x[i] ^ ( x[i-1] * adjust );
|
x[i] = x[i] ^ ( x[i-1] * adjust );
|
||||||
x[i-1] |= adjust << 7;
|
x[i-1] |= adjust << 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Finish with the carry */
|
|
||||||
x[i] = c;
|
|
||||||
adjust = 1 - ( x[i] & 0x01 );
|
|
||||||
c |= x[i] & ( x[i-1] * adjust );
|
|
||||||
x[i] = x[i] ^ ( x[i-1] * adjust );
|
|
||||||
x[i-1] |= adjust << 7;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1487,9 +1478,12 @@ int ecp_mul( ecp_group *grp, ecp_point *R,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Prepare precomputed points: if P == G we want to
|
* Prepare precomputed points: if P == G we want to
|
||||||
* use grp->T if already initialized, or initiliaze it.
|
* use grp->T if already initialized, or initialize it.
|
||||||
*/
|
*/
|
||||||
if( ! p_eq_g || grp->T == NULL )
|
if( p_eq_g )
|
||||||
|
T = grp->T;
|
||||||
|
|
||||||
|
if( T == NULL )
|
||||||
{
|
{
|
||||||
T = (ecp_point *) polarssl_malloc( pre_len * sizeof( ecp_point ) );
|
T = (ecp_point *) polarssl_malloc( pre_len * sizeof( ecp_point ) );
|
||||||
if( T == NULL )
|
if( T == NULL )
|
||||||
@ -1509,17 +1503,6 @@ int ecp_mul( ecp_group *grp, ecp_point *R,
|
|||||||
grp->T_size = pre_len;
|
grp->T_size = pre_len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
T = grp->T;
|
|
||||||
|
|
||||||
/* Should never happen, but we want to be extra sure */
|
|
||||||
if( pre_len != grp->T_size )
|
|
||||||
{
|
|
||||||
ret = POLARSSL_ERR_ECP_BAD_INPUT_DATA;
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make sure M is odd (M = m + 1 or M = m + 2)
|
* Make sure M is odd (M = m + 1 or M = m + 2)
|
||||||
|
Loading…
Reference in New Issue
Block a user