More for GNU/Linux emulation.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 28 Sep 2017 07:44:54 +0000 (16:44 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 28 Sep 2017 07:44:54 +0000 (16:44 +0900)
ChangeLog
polarssl/library/bignum.c
src/Makefile
src/ec_p256k1.c

index f8dda44..e7ac4e4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2017-09-28  NIIBE Yutaka  <gniibe@fsij.org>
 
+       * src/ec_p256k1.c (coefficient_a): Remove.
+
+       * library/bignum.c (mpi_fill_pseudo_random): Fix for 64-bit.
+
        * src/call-rsa.c (rsa_decrypt): Fix for 64-bit machine.
 
        * src/flash.c (flash_do_storage_init): Rename from flash_init.
index 0f458af..57c8380 100644 (file)
@@ -2052,17 +2052,19 @@ jkiss (struct jkiss_state *s)
 static int mpi_fill_pseudo_random ( mpi *X, size_t size)
 {
   int ret;
-  uint32_t *p;
+  uint32_t *p, *p_end;
 
   MPI_CHK( mpi_grow( X, CHARS_TO_LIMBS( size ) ) );
   MPI_CHK( mpi_lset( X, 0 ) );
 
   /* Assume little endian.  */
-  p = X->p;
-  while (p < X->p + (size/ciL))
+  p = (uint32_t *)X->p;
+  p_end = (uint32_t *)(X->p + (size/sizeof (uint32_t)));
+  while (p < p_end)
     *p++ = jkiss (&jkiss_state_v);
-  if ((size % ciL))
-    *p = jkiss (&jkiss_state_v) & ((1 << (8*(size % ciL))) - 1);
+
+  if ((size%sizeof (uint32_t)))
+    *p = jkiss (&jkiss_state_v) & ((1 << (8*(size % sizeof (uint32_t)))) - 1);
 
 cleanup:
   return ret;
index 90f5709..8ebeb41 100644 (file)
@@ -31,6 +31,10 @@ USE_USB = yes
 USE_ADC = yes
 USE_EVENTFLAG = yes
 
+ifneq ($(EMULATION),)
+DEFS += -DBN256_C_IMPLEMENTATION
+endif
+
 ifneq ($(ENABLE_DEBUG),)
 CSRC += debug.c
 endif
index c97d3c8..c63978e 100644 (file)
 /*
  * a = 0, b = 7
  */
+#if 0
 static const bn256 coefficient_a[1] = {
   {{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }}
 };
+#endif
 
 static const bn256 coefficient_b[1] = {
   {{ 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }}