Esempio n. 1
0
        public static BigInteger GetPrimeNumber(BigInteger min, BigInteger max)
        {
            BigInteger number = 0;

            while (true)
            {
                number = GetNumber(min, max);
                if (number.IsEven)
                {
                    number--;
                }

                if (PrimeTester.FullTest(number) == true)
                {
                    return(number);
                }
            }
        }
Esempio n. 2
0
        public CommonData()
        {
            Q = RandomGenerator.GetPrimeNumber(256);

            do
            {
                _n = RandomGenerator.GetNumber(700);
                if (_n.IsEven == false)
                {
                    _n++;
                }

                P = _n * Q + 1;
            }while (PrimeTester.FullTest(P) == false);

            do
            {
                var a = RandomGenerator.GetNumber(2, P - 1);
                G = MathUtils.ModExp(a, _n, P);
            }while (G == 1);
        }
Esempio n. 3
0
        public static BigInteger GetPrimeNumber(int lengthInBits)
        {
            BigInteger number = 0;

            while (true)
            {
                number = GetNumber(lengthInBits);
                if (number.IsEven)
                {
                    number--;
                }
                if (number < 0)
                {
                    continue;
                }

                if (PrimeTester.FullTest(number) == true)
                {
                    return(number);
                }
            }
        }