Нужна помощь в реализации шифрования методом Плейфера - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите как написать программу на C# методом Плейфера? Правило: 1. если символы находятся в одной строке, то каждый из символов пары заменяется на стоящий правее его (за последним символом в строке следует первый символ той же строки); 2. если символы находятся в одном столбце, то каждый символ пары заменяется на символ, расположенный ниже его в столбце (за последним нижним символом следует верхний символ в том же столбце); 3. если символы пары находятся в разных строках и столбцах, то они считаются противоположными углами прямоугольника. Символ, находящийся в левом углу, заменяется на символ, стоящий в другом левом углу; замена символа, находящегося в правом углу, осуществляется аналогично; 4. если в открытом тексте встречаются два одинаковых символа подряд, то перед шифрованием между ними вставляется специальный символ (например, тире). Разработайте программу, выполняющую шифрование и расшифрование данных методом Плейфера. Программа должна выполнять шифрование данных (текстовых) вводимых пользователем.

Решение задачи: «Нужна помощь в реализации шифрования методом Плейфера»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.     class PlayFair
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             try
  13.             {
  14.                 PlayFairSettings ps = new PlayFairRu56();
  15.                 PlayFair pf = new PlayFair(ps, "Шифр Плейфера");
  16.                 Console.WriteLine(pf);
  17.  
  18.                 string Text = "Текст который нужно зашифровать шифром Плейферах";
  19.                 Console.WriteLine("Исходный текст\r\n" + Text);
  20.  
  21.                 int i = 0;
  22.                 foreach (char c in pf.Bigrams(Text))
  23.                 {
  24.                     Console.Write(c);
  25.  
  26.                     i++;
  27.                     if (i % 2 == 0) Console.Write(' ');
  28.                     if (i % 10 == 0) Console.WriteLine();
  29.                 }
  30.  
  31.                 Text = pf.Crypt(Text, true);
  32.                 Console.WriteLine("\r\nЗашифрованный текст\r\n" + Text);
  33.  
  34.                 Text = pf.Crypt(Text, false);
  35.                 Console.WriteLine("\r\nРасшифрованный текст\r\n" + Text);
  36.             }
  37.             catch (Exception ex)
  38.             {
  39.                 Console.WriteLine(ex.Message);
  40.             }
  41.             Console.ReadLine();
  42.         }
  43.     }
  44. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы