Нужна помощь в реализации шифрования методом Плейфера - C#
Формулировка задачи:
Подскажите как написать программу на C# методом Плейфера?
Правило:
1. если символы находятся в одной строке, то каждый из символов пары заменяется на стоящий правее его (за последним символом в строке следует первый символ той же строки);
2. если символы находятся в одном столбце, то каждый символ пары заменяется на символ, расположенный ниже его в столбце (за последним нижним символом следует верхний символ в том же столбце);
3. если символы пары находятся в разных строках и столбцах, то они считаются противоположными углами прямоугольника. Символ, находящийся в левом углу, заменяется на символ, стоящий в другом левом углу; замена символа, находящегося в правом углу, осуществляется аналогично;
4. если в открытом тексте встречаются два одинаковых символа подряд, то перед шифрованием между ними вставляется специальный символ (например, тире).
Разработайте программу, выполняющую шифрование и расшифрование данных методом Плейфера. Программа должна выполнять шифрование данных (текстовых) вводимых пользователем.
Решение задачи: «Нужна помощь в реализации шифрования методом Плейфера»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication1
- {
- class PlayFair
- {
- static void Main(string[] args)
- {
- try
- {
- PlayFairSettings ps = new PlayFairRu56();
- PlayFair pf = new PlayFair(ps, "Шифр Плейфера");
- Console.WriteLine(pf);
- string Text = "Текст который нужно зашифровать шифром Плейферах";
- Console.WriteLine("Исходный текст\r\n" + Text);
- int i = 0;
- foreach (char c in pf.Bigrams(Text))
- {
- Console.Write(c);
- i++;
- if (i % 2 == 0) Console.Write(' ');
- if (i % 10 == 0) Console.WriteLine();
- }
- Text = pf.Crypt(Text, true);
- Console.WriteLine("\r\nЗашифрованный текст\r\n" + Text);
- Text = pf.Crypt(Text, false);
- Console.WriteLine("\r\nРасшифрованный текст\r\n" + Text);
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- Console.ReadLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д