Практическая работа на темы: Исследование криптографических методов защиты информации студент 2 курса гр. 076-20 факультета Информационная безопасность
Download 42.68 Kb.
|
задания 2
- Bu sahifa navigatsiya:
- Реализация шифрования Цезаря
Расшифрованный текстaol ipn jsjr aol adl m aol hshjl m dlatpal p sk p mal jhsslk ipn il. iba ipn il p lhssf aol ilss m aol jsjr. pa p aol ipnnla jsjr ilss p ipahp. pa dlpno 13.5 a. aol jsjr adl p 318 mlla opno. fb ohcl a n b 374 al a lhjo aol a. aol jsjr sr thss mt aol hcltla ilsd aol adl. iba pa mhjl p 23 mlla dpkl. pa dbsk sf qba mpa pa tl jsht. aol tpbal-ohk p 14 mlla sn. pa dlpnoa p lbhs a aoha m ad ihn m jhs. aol ob-ohk p 9 mlla sn. aol jsjr ilss p jhsslk ipn il hmal p ilqhtp ohss. ol ohk aol qi a ll aoha aol ilss dh ba b. p ilqhtp dh h ipn th. l khf ol hpk p hsphtla, &koin;ohss dl jhss aol ilss a. alol'?&koin; a. alol' p aol htl m aol adl. iba tll hpk m h qrl, &koin;dof a jhss pa ipn il?&koin; d aol ilss p rd hss cl aol dsk if aoha htl. Задание 2. По заданному алфавиту зашифровать сообщение методом Вернама, после чего расшифровать шифротекст и получить исходное сообщение. № варианта выбрать согласно порядковому номеру по списку в журнале.
emrfduzw Задание 2.1. Составить блок-схему и программную реализацию шифра Цезаря. Листинг программы шифрования методом Вернама сообщения M отобразить в отчете к практической работе. using System; public class CaesarCipher { //символы русской азбуки const string alfabet = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"; private string CodeEncode(string text, int k) { //добавляем в алфавит маленькие буквы var fullAlfabet = alfabet + alfabet.ToLower(); var letterQty = fullAlfabet.Length; var retVal = ""; for (int i = 0; i < text.Length; i++) { var c = text[i]; var index = fullAlfabet.IndexOf(c); if (index < 0) { //если символ не найден, то добавляем его в неизменном виде retVal += c.ToString(); } else { var codeIndex = (letterQty + index + k) % letterQty; retVal += fullAlfabet[codeIndex]; } } return retVal; } //шифрование текста public string Encrypt(string plainMessage, int key) => CodeEncode(plainMessage, key); //дешифрование текста public string Decrypt(string encryptedMessage, int key) => CodeEncode(encryptedMessage, -key); } class Program { static void Main(string[] args) { var cipher = new CaesarCipher(); Console.Write("Введите текст: "); var message = Console.ReadLine(); Console.Write("Введите ключ: "); var secretKey = Convert.ToInt32(Console.ReadLine()); var encryptedText = cipher.Encrypt(message, secretKey); Console.WriteLine("Зашифрованное сообщение: {0}", encryptedText); Console.WriteLine("Расшифрованное сообщение: {0}", cipher.Decrypt(encryptedText, secretKey)); Console.ReadLine(); } } Download 42.68 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling