コード例 #1
0
ファイル: Entity.cs プロジェクト: dozsolti/Facultate
        public Entity(BigInteger p, BigInteger q)
        {
            BigInteger n  = p * q;
            BigInteger fi = (p - 1) * (q - 1);

            BigInteger e = RandomSystem.GenerateRandomBigNumber(2, fi);

            while (gcd(e, fi) != 1)
            {
                e = RandomSystem.GenerateRandomBigNumber(2, fi);
            }

            BigInteger d = gcdExtended(e, fi);

            d = (d % fi + fi) % fi;

            this.publicKeyN = n;
            this.publicKeyE = e;
            this.privateKey = d;


            Console.WriteLine("p=" + p.ToString());
            Console.WriteLine("q=" + q.ToString());
            Console.WriteLine();
            Console.WriteLine("n=" + n.ToString());
            Console.WriteLine("fi=" + fi.ToString());
            Console.WriteLine();
            Console.WriteLine("e=" + e.ToString());
            Console.WriteLine("d=" + d.ToString());
        }
コード例 #2
0
 static void GenerateKey()
 {
     A = new Entity(RandomSystem.GeneratePrimeRandomBigNumber(), RandomSystem.GeneratePrimeRandomBigNumber());
 }