commit | fdac76f330b7328f7d4ace55a0d265ed6416dc4e | [log] [tgz] |
---|---|---|
author | Darryl Green <darryl.green@arm.com> | Mon Nov 20 15:53:43 2017 +0000 |
committer | Darryl Green <darryl.green@arm.com> | Mon Nov 20 15:53:43 2017 +0000 |
tree | affb2c2439475e4db14bb756390058d12f998246 | |
parent | 75ea35eac8a76252a9453f118d61112648b2bd1d [diff] [blame] |
Add checks for private parameter in ecdsa_sign()
diff --git a/library/ecdsa.c b/library/ecdsa.c index 3f72d85..e95b802 100644 --- a/library/ecdsa.c +++ b/library/ecdsa.c
@@ -110,6 +110,10 @@ if( grp->N.p == NULL ) return( POLARSSL_ERR_ECP_BAD_INPUT_DATA ); + /* Make sure d is in range 1..n-1 */ + if( mpi_cmp_int( d, 1 ) < 0 || mpi_cmp_mpi( d, &grp->N ) >= 0 ) + return( POLARSSL_ERR_ECP_INVALID_KEY ); + ecp_point_init( &R ); mpi_init( &k ); mpi_init( &e ); mpi_init( &t );