more constant-time computation polarssl-fixed
authorNIIBE Yutaka <gniibe@fsij.org>
Mon, 23 Dec 2013 01:13:04 +0000 (10:13 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 23 Dec 2013 01:13:04 +0000 (10:13 +0900)
ChangeLog
polarssl/library/bignum.c

index e0fcfdf..019669f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-23  Niibe Yutaka  <gniibe@fsij.org>
+
+       * polarssl/library/bignum.c (mpi_montmul): Computation
+       time should not depends on input.
+
 2013-12-20  Niibe Yutaka  <gniibe@fsij.org>
 
        * Version 1.1.0.
index 6ba6db2..2a8c904 100644 (file)
@@ -1386,12 +1386,11 @@ static void mpi_montg_init( t_uint *mm, const mpi *N )
  */
 static void mpi_montmul( const mpi *B, const mpi *N, t_uint mm, mpi *T )
 {
-    size_t i, n, m;
+    size_t i, n;
     t_uint u0, u1, *d, c = 0;
 
     d = T->p;
     n = N->n;
-    m = ( B->n < n ) ? B->n : n;
 
     for( i = 0; i < n; i++ )
     {
@@ -1402,7 +1401,7 @@ static void mpi_montmul( const mpi *B, const mpi *N, t_uint mm, mpi *T )
         d[n] = c;
         u1 = ( d[0] + u0 * B->p[0] ) * mm;
 
-        mpi_mul_hlp( m, B->p, d, u0 );
+        mpi_mul_hlp( n, B->p, d, u0 );
         c = mpi_mul_hlp( n, N->p, d, u1 );
         d++;
     }