public void GenerateKeys()
        {
            var p         = SimpleNumbersGenerator.GetBigSimpleNumber();
            var q         = SimpleNumbersGenerator.GetBigSimpleNumber();
            var n         = p * q;
            var eulerFunc = (p - 1) * (q - 1);
            var e         = calculate_E(eulerFunc);
            var d         = Calculate_D(e, eulerFunc);

            PK = new KeyForRSA(e, n);
            SK = new KeyForRSA(d, n);
            CalculatedParameters = new CalculatedParameters(p, q, n, eulerFunc, e, d);
        }
Esempio n. 2
0
        private void CalculateN()
        {
            var        random = new Random();
            BigInteger q;

            do
            {
                do
                {
                    q = random.Next(int.MaxValue / 2, int.MaxValue);
                } while (!SimpleNumbersGenerator.MillerRabinTest(q, 5));

                N = 2 * q + 1;
            } while (!SimpleNumbersGenerator.MillerRabinTest(N, 5));
        }