static public void SignatureGeneration() { do { A_Abonent.PrintLog("Введите k: ", false); k = Convert.ToInt64(Console.ReadLine()); }while (!A_Abonent.isNormalE(k)); }
static public void PrintNumberEncrypt(long[] NumberEncrypt, bool Abonent) { if (Abonent) { A_Abonent.PrintLog($"Текст в числовом представлении: ", false); } else { B_Abonent.PrintLog($"Текст в числовом представлении: ", false); } foreach (var item in NumberEncrypt) { Console.Write($"{item} "); } Console.WriteLine(); }
static void Main(string[] args) { Console.WriteLine("====================================================================================================================="); A_Abonent.PrintLog($"ИСходное сообщение: {text}", true); //Этап 1 A_Abonent.SetP(p); //Абонент А выбирает Р A_Abonent.EnterG(); //Абонент А вводит G A_Abonent.EnterX(); //Абонент A вводит Х A_Abonent.CalculateY(); //Высчитываем Y A_Abonent.PrintOpenKeys(); //Вывод открытых ключей A_Abonent.PrintPrivateKeys(); //Вывод закрытых ключей A_Abonent.SendOpenKeys(); //Отправляем абоненту B открытый ключ //Этап 2 NumberEncrypt = ELGAmal.TextToNumberEncrypt(text); ELGAmal.PrintNumberEncrypt(NumberEncrypt, true); //Этап 3 A_Abonent.SignatureGeneration();//Генерация ЭЦП //Этап 4 B_Abonent.verificationOfDigitalSignature(A_Abonent.a, A_Abonent.b, NumberEncrypt); Console.WriteLine("====================================================================================================================="); }