Пример #1
0
        static void LogGeneratorPerfomace()
        {
            _logger.Info("Start getting big random prime numbers...");

            BigInteger bigRandomPrime = BigInteger.Zero;

            for (int i = 0; i < 20; i++)
            {
                bigRandomPrime = BigIntegerRandomGenerator.GetBigRandomPrime();

                _logger.Info("Big random prime number: {0}", bigRandomPrime);
            }
        }
Пример #2
0
        private BigInteger FindE(BigInteger phi)
        {
            //Найбільш відомі, якщо немає генеруємо випадкове
            int[] staticE = new int[] { 3, 17, 65537 };
            foreach (var e in staticE)
            {
                if (ExtendedEuclid(phi, e).d == 1)
                {
                    return(e);
                }
            }

            BigInteger generatedE = BigIntegerRandomGenerator.Generate(phi);

            for (; ; generatedE++)
            {
                if (ExtendedEuclid(phi, generatedE).d == 1)
                {
                    return(generatedE);
                }
            }
            throw new Exception("E not found");
        }
Пример #3
0
        public static Polynomial Create(uint degree, BigInteger prime)
        {
            var coefficients = BigIntegerRandomGenerator.GetMultiple(prime, degree);

            return(new Polynomial(coefficients));
        }