public void Get_m1_m2Test() { // Get_m1_m2 produce outputs that match those in Section 2.7 of setup.pdf var k = 128; var Exp = 65537; PermutationTest.Get_m1_m2(41, Exp, k, out int m1, out int m2); Assert.IsTrue(m1.Equals(24) && m2.Equals(24)); PermutationTest.Get_m1_m2(89, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(20) && m2.Equals(20)); PermutationTest.Get_m1_m2(191, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(17) && m2.Equals(17)); PermutationTest.Get_m1_m2(937, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(13) && m2.Equals(13)); PermutationTest.Get_m1_m2(1667, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(12) && m2.Equals(12)); PermutationTest.Get_m1_m2(3187, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(11) && m2.Equals(12)); }
public void Get_m1_m2Test() { // Get_m1_m2 produce outputs that match those in Section 2.7 of setup.pdf var k = 128; var Exp = 65537; PermutationTest.Get_m1_m2(41, Exp, k, out int m1, out int m2); Assert.IsTrue(m1.Equals(25) && m2.Equals(25)); PermutationTest.Get_m1_m2(997, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(13) && m2.Equals(13)); PermutationTest.Get_m1_m2(4999, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(11) && m2.Equals(11)); PermutationTest.Get_m1_m2(7649, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(10) && m2.Equals(11)); PermutationTest.Get_m1_m2(20663, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(9) && m2.Equals(10)); PermutationTest.Get_m1_m2(33469, Exp, k, out m1, out m2); Assert.IsTrue(m1.Equals(9) && m2.Equals(9)); }
public void BenchmarkPermutationTest() { Console.WriteLine($"Parameters,,, {keySizeList[0]}-bit RSA,, {keySizeList[1]}-bit RSA,, {keySizeList[2]}-bit RSA,"); Console.WriteLine("alpha, m1, m2, Prove, Verify, Prove, Verify, Prove, Verify"); foreach (int alpha in alphaList) { PermutationTest.Get_m1_m2(alpha, Exp.IntValue, k, out int m1, out int m2); Console.Write($"{alpha},{m1},{m2}"); foreach (int keySize in keySizeList) { double ProvingTime = 0.0; double VerifyingTime = 0.0; for (int i = 0; i < iterations; i++) { _ProvingAndVerifyingTest1(Exp, keySize, alpha, out double subPTime, out double subVTime); ProvingTime += subPTime; VerifyingTime += subVTime; } Console.Write($",{ProvingTime / iterations} ,{VerifyingTime / iterations}"); } Console.WriteLine(); } }