Exemple #1
0
        static void Main(string[] args)
        {
            var rsa = new RSA(128);
            var plainText = string.Empty;

            Console.Write("RSA Cipher\nKamil Cieślak @ 2012\nParametry:\n\tp: {0}\n\tq: {1}\n\tn: {2}\n\tphi: {3}\n\te: {4}\n\td: {5}\nKlucz publiczny (e, n): ({4}, {2})\nKlucz prywatny (d, n): ({5}, {2})\n", rsa.P, rsa.Q, rsa.N, rsa.Phi, rsa.E, rsa.D);
            Console.WriteLine("Podaj tekst do zaszyfrowania: ");
            plainText = Console.ReadLine();

            // converting into ASCII code
            var ascii = Encoding.ASCII.GetBytes(plainText);
            var plainTextCode = new List<int>();
            foreach (var c in ascii)
            {
                plainTextCode.Add((int)BigInteger.ModPow(c, rsa.E, rsa.N));
            }

            // encrypting
            var encryptedTextList = new List<int>();
            var encrypted = RSA.Encrypt(plainText, rsa.E, rsa.N, encryptedTextList);

            // decrypting
            var decrypted = RSA.Decrypt(encryptedTextList, rsa.D, rsa.N);

            // printing results

            Console.WriteLine("Kod zaszyfrowanego tekstu: ");
            foreach (var i in encrypted)
            {
                Console.Write("{0}", i);
            }
            Console.Write('\n');

            Console.WriteLine("Deszyfrowanie tekstu: ");
            foreach (var i in decrypted)
            {
                Console.Write("{0}", i);
            }
            Console.Write('\n');

            Console.ReadKey();
        }
Exemple #2
0
 static void Main(string[] args)
 {
     RSA rsa = new RSA("10", 10, 0);
     rsa.CipherFullCycle();           
    
 }