Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("=====================================================================================================================");
            Console.WriteLine("                                                Лабораторная работа №4");
            Console.WriteLine("                          Выполнили: Скребнев Леонид, Чернуцкая Екатерина, Кутузов Леонид");
            Console.WriteLine("=====================================================================================================================");
            Console.WriteLine("Введите m = ");
            text = Convert.ToString(Console.ReadLine());
            Console.WriteLine("Введите p = ");
            p = Convert.ToInt32(Console.ReadLine());


            A_Abonent.PrintLog($"\nИСходное сообщение: {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("=====================================================================================================================");
        }
Example #2
0
 static public void SignatureGeneration()
 {
     do
     {
         A_Abonent.PrintLog("Введите k: ", false);
         k = Convert.ToInt64(Console.ReadLine());
     }while (!A_Abonent.isNormalE(k));
 }
Example #3
0
 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();
 }