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); }
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; } } }