[Cryptech-Commits] [core/math/modexp] 01/01: Adding test for for public exponent operation based on Rob 1024 bit key.

git at cryptech.is git at cryptech.is
Wed Jun 3 07:04:59 UTC 2015


This is an automated email from the git hooks/post-receive script.

joachim at secworks.se pushed a commit to branch master
in repository core/math/modexp.

commit 46cbd05a67158cffaf94dfe83971173eed05b1a8
Author: Joachim Strömbergson <joachim at secworks.se>
Date:   Wed Jun 3 09:04:47 2015 +0200

    Adding test for for public exponent operation based on Rob 1024 bit key.
---
 src/model/c/src/simple_tests.c | 65 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 62 insertions(+), 3 deletions(-)

diff --git a/src/model/c/src/simple_tests.c b/src/model/c/src/simple_tests.c
index c7ac7a4..8c1ca44 100644
--- a/src/model/c/src/simple_tests.c
+++ b/src/model/c/src/simple_tests.c
@@ -114,7 +114,7 @@ void small_e_256_mod(void) {
   assertArrayEquals(9, expected, Z);
 }
 
-void rob_1024(void)
+void rob_dec_1024(void)
 {
   uint32_t exponent[] = {0x00000000, 0x3ff26c9e, 0x32685b93, 0x66570228, 0xf0603c4e,
                          0x04a717c1, 0x8038b116, 0xeb48325e, 0xcada992a,
@@ -165,20 +165,79 @@ void rob_1024(void)
                        0x00000000, 0x00000000, 0x00000000, 0x00000000,
                        0x00000000, 0x00000000, 0x00000000, 0x00000000};
 
-  printf("=== 1024 bit test from Robs RSA code. ===\n");
+  printf("=== 1024 bit decipher/sign test from Robs RSA code. ===\n");
 
   mod_exp_array(33, message, exponent, modulus, target);
   assertArrayEquals(33, expected, target);
 }
 
 
+void rob_enc_1024(void)
+{
+  uint32_t exponent[] = {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                         0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                         0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                         0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                         0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                         0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                         0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                         0x00000000, 0x00000000, 0x00000000, 0x00010001};
+
+
+  uint32_t modulus[] = {0x00000000, 0xd075ec0a, 0x95048ef8, 0xcaa69073, 0x8d9d58e9,
+                        0x1764b437, 0x50b58cad, 0x8a6e3199, 0x135f80ee,
+                        0x84eb2bde, 0x58d38ee3, 0x5825e91e, 0xafdeb1ba,
+                        0xa15a160b, 0x0057c47c, 0xc7765e31, 0x868a3e15,
+                        0x5ee57cef, 0xb008c4dd, 0x6a0a89ee, 0x98a4ee9c,
+                        0x971a07de, 0x61e5b0d3, 0xcf70e1cd, 0xc6a0de5b,
+                        0x451f2fb9, 0xdb995196, 0x9f2f884b, 0x4b09749a,
+                        0xe6c4ddbe, 0x7ee61f79, 0x265c6adf, 0xb16b3015};
+
+
+  uint32_t message[] = {0x00000000, 0x0001ffff, 0xffffffff, 0xffffffff, 0xffffffff,
+                        0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+                        0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+                        0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+                        0xffffffff, 0xffffffff, 0xffffffff, 0x00303130,
+                        0x0d060960, 0x86480165, 0x03040201, 0x05000420,
+                        0x8e36fc9a, 0xa31724c3, 0x2416263c, 0x0366a175,
+                        0xfabbb92b, 0x741ca649, 0x6107074d, 0x0343b597};
+
+
+  uint32_t expected[] = {0x00000000, 0x06339a64, 0x367db02a, 0xf41158cc, 0x95e76049,
+                         0x4519c165, 0x111184be, 0xe41d8ee2, 0x2ae5f5d1,
+                         0x1da7f962, 0xac93ac88, 0x915eee13, 0xa3350c22,
+                         0xf0dfa62e, 0xfdfc2b62, 0x29f26e27, 0xbebdc84e,
+                         0x4746df79, 0x7b387ad2, 0x13423c9f, 0x98e8a146,
+                         0xff486b6c, 0x1a85414e, 0x73117121, 0xb700e547,
+                         0xab4e07b2, 0x21b988b8, 0x24dd77c2, 0x046b0a20,
+                         0xcddb986a, 0xac75c2f2, 0xb044ed59, 0xea565879};
+
+
+  uint32_t target[] = {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                       0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                       0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                       0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                       0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                       0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                       0x00000000, 0x00000000, 0x00000000, 0x00000000,
+                       0x00000000, 0x00000000, 0x00000000, 0x00000000};
+
+  printf("=== 1024 bit encipher/verify test from Robs RSA code. ===\n");
+
+  mod_exp_array(33, expected, exponent, modulus, target);
+  assertArrayEquals(33, message, target);
+}
+
+
 void simple_tests(void) {
 //  simple_3_7_11();
 //  simple_251_251_257();
 //  bigger_test();
 //  small_e_256_mod();
 //  small_e_64_mod();
-  rob_1024();
+  rob_enc_1024();
+  rob_dec_1024();
   //  small_e_256_mod2();
 }
 



More information about the Commits mailing list