-  Added POLARSSL_MPI_WINDOW_SIZE definition to allow easier time to memory trade-off

diff --git a/library/bignum.c b/library/bignum.c
index c00697e..d4035b6 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -1377,7 +1377,7 @@
     size_t i, j, nblimbs;
     size_t bufsize, nbits;
     t_uint ei, mm, state;
-    mpi RR, T, W[64];
+    mpi RR, T, W[ 2 << POLARSSL_MPI_WINDOW_SIZE ];
 
     if( mpi_cmp_int( N, 0 ) < 0 || ( N->p[0] & 1 ) == 0 )
         return( POLARSSL_ERR_MPI_BAD_INPUT_DATA );
@@ -1394,6 +1394,9 @@
     wsize = ( i > 671 ) ? 6 : ( i > 239 ) ? 5 :
             ( i >  79 ) ? 4 : ( i >  23 ) ? 3 : 1;
 
+    if( wsize > POLARSSL_MPI_WINDOW_SIZE )
+        wsize = POLARSSL_MPI_WINDOW_SIZE;
+
     j = N->n + 1;
     MPI_CHK( mpi_grow( X, j ) );
     MPI_CHK( mpi_grow( &W[1],  j ) );