Пример #1
0
        private void CalcSqrt(BigInteger N, BigInteger p)
        {
            BigInteger x  = ModulusP.SqrtModP(N, p);
            BigInteger N1 = BigInteger.Remainder(x * x, p);

            Assert.IsTrue(BigInteger.Remainder(N - N1, p).IsZero);
        }
Пример #2
0
 public void Test_09_CalcBits()
 {
     Assert.AreEqual(0, ModulusP.CalcBits(0));
     Assert.AreEqual(1, ModulusP.CalcBits(1));
     Assert.AreEqual(2, ModulusP.CalcBits(2));
     Assert.AreEqual(2, ModulusP.CalcBits(3));
     Assert.AreEqual(3, ModulusP.CalcBits(4));
     Assert.AreEqual(3, ModulusP.CalcBits(5));
     Assert.AreEqual(3, ModulusP.CalcBits(6));
     Assert.AreEqual(3, ModulusP.CalcBits(7));
     Assert.AreEqual(8, ModulusP.CalcBits(255));
     Assert.AreEqual(9, ModulusP.CalcBits(256));
     Assert.AreEqual(16, ModulusP.CalcBits(65535));
     Assert.AreEqual(17, ModulusP.CalcBits(65536));
 }