Пример #1
0
        private static bool GetPublicKey()
        {
            byte[] key = CustomFile.OpenFile("открытого ключа");

            if (key.Length != Generate.KEY_LENGT_BYTE / 2 + 1)
            {
                Console.WriteLine("Ключ поврежден!");
                return(false);
            }

            n = new BigInteger(key.SubArray(0, Generate.KEY_LENGT_BYTE / 2 + 1));

            blockSize = (int)Math.Floor(BigInteger.Log(n, 2));
            Console.WriteLine("Выполнение...");
            return(true);
        }
Пример #2
0
        public static void Main()
        {
            Stopwatch watch;

            while (true)
            {
                Console.Clear();
                Console.WriteLine("Алгоритм RSA\n" +
                                  "Выберите режим работы:\n" +
                                  "1 - Шифрование\n" +
                                  "2 - Дешифрование\n" +
                                  "3 - Генерация ключей\n" +
                                  "4 - Выход");
                switch (Console.ReadKey(true).KeyChar)
                {
                case '1':
                    var fileNameEncrypt = CustomFile.OpenFile("для шифрования");
                    watch = Stopwatch.StartNew();
                    Rsa.Encrypt(fileNameEncrypt);
                    ShowRunTime(watch.Elapsed);
                    Exit();
                    return;

                case '2':
                    var fileNameDecrypt = CustomFile.OpenFile("для расшифрования");
                    watch = Stopwatch.StartNew();
                    Rsa.Decrypt(fileNameDecrypt);
                    ShowRunTime(watch.Elapsed);
                    Exit();
                    return;

                case '3':
                    Console.Clear();
                    watch = Stopwatch.StartNew();
                    Rsa.Generate.GenerateKey();
                    ShowRunTime(watch.Elapsed);
                    Exit();
                    break;

                case '4':
                    return;

                default:
                    break;
                }
            }
        }