Exemplo n.º 1
0
 private bool IsProbablePrime(BigInteger x, int iterations)
 {
     /*
      * Primes class for FIPS 186-4 C.3 primality checking
      */
     return(!Primes.HasAnySmallFactors(x) && Primes.IsMRProbablePrime(x, random, iterations));
 }
Exemplo n.º 2
0
 protected bool isProbablePrime(BigInteger x)
 {
     /*
      * Primes class for FIPS 186-4 C.3 primality checking
      */
     return(!Primes.HasAnySmallFactors(x) && Primes.IsMRProbablePrime(x, param.Random, iterations));
 }
Exemplo n.º 3
0
        public void ShouldReturnPrimeWithGenerator(int keySize)
        {
            var parameters = mapper.GetParametersByKeySize(keySize);

            //Single iteration is enough; the content is prime unless altered by formatting.
            Assert.IsTrue(Primes.IsMRProbablePrime(parameters.Prime, random, 1));
            Assert.AreEqual(keySize, parameters.Prime.BitLength);
            Assert.AreEqual(2, parameters.Generator.IntValue);
        }
Exemplo n.º 4
0
        public void TestMRProbablePrime()
        {
            int mrIterations = (PRIME_CERTAINTY + 1) / 2;

            for (int iterations = 0; iterations < ITERATIONS; ++iterations)
            {
                BigInteger prime = RandomPrime();
                Assert.True(Primes.IsMRProbablePrime(prime, R, mrIterations));

                BigInteger nonPrime = RandomPrime().Multiply(prime);
                Assert.False(Primes.IsMRProbablePrime(nonPrime, R, mrIterations));
            }
        }