Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України ІФНТУНГ Кафедра КСМ Лабораторна робота №5 ШИФР ВІЖЕНЕРА Мета роботи: дослідження структури алгоритма і методики практичної реалізації криптосистеми шифрування Віженера. ПОРЯДОК ВИКОНАННЯ РОБОТИ Скласти блок схему алгоритму шифрування-дешифрування тексту кодом Віженера. Написати відповідні програми. Написати програму криптоаналізу зашифрованого файлу, вважаючи, що ключ шифрування невідомий, але частково відомий вміст зашифрованого файлу. Порівняти знайдений програмою ключ із ключем, яким був зашифрований вихідний файл. Хід роботи: Код програми шифратора: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication40 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } class Shifr { char[] abetka = new char[33]; public string kod; public Shifr() { abetka[0] = 'a'; abetka[1] = 'b'; abetka[2] = 'c'; abetka[3] = 'd'; abetka[4] = 'e'; abetka[5] = 'f'; abetka[6] = 'g'; abetka[7] = 'h'; abetka[8] = 'i'; abetka[9] = 'j'; abetka[10] = 'k'; abetka[11] = 'l'; abetka[12] = 'm'; abetka[13] = 'n'; abetka[14] = 'o'; abetka[15] = 'p'; abetka[16] = 'q'; abetka[17] = 'r'; abetka[18] = 's'; abetka[19] = 't'; abetka[20] = 'u'; abetka[21] = 'v'; abetka[22] = 'w'; abetka[23] = 'x'; abetka[24] = 'y'; abetka[25] = 'z'; } public string Kod(string text, string k) { int key = 0; for (int i = 0; i < text.Length; i++) { if (text[i] == ' ') kod +=" " ; for (int j = 0; j < 26; j++) if (text[i] == abetka[j]) { if (key > k.Length - 1) key = 0; int a = (text[i] + k[key]) % 97; if (a < 26) kod += abetka[a]; else kod += abetka[a%26]; key++; } } return kod; } } private void button1_Click(object sender, EventArgs e) { string text = richTextBox1.Text.ToLower(); Shifr koder = new Shifr(); richTextBox2.Text= koder.Kod(text, textBox1.Text); } } } Код програми дешифратора: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication40 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } class Shifr { char[] abetka = new char[33]; public string kod; public Shifr() { abetka[0] = 'a'; abetka[1] = 'b'; abetka[2] = 'c'; abetka[3] = 'd'; abetka[4] = 'e'; abetka[5] = 'f'; abetka[6] = 'g'; abetka[7] = 'h'; abetka[8] = 'i'; abetka[9] = 'j'; abetka[10] = 'k'; abetka[11] = 'l'; abetka[12] = 'm'; abetka[13] = 'n'; abetka[14] = 'o'; abetka[15] = 'p'; abetka[16] = 'q'; abetka[17] = 'r'; abetka[18] = 's'; abetka[19] = 't'; abetka[20] = 'u'; abetka[21] = 'v'; abetka[22] = 'w'; abetka[23] = 'x'; abetka[24] = 'y'; abetka[25] = 'z'; } public string Dekod(string text, string k) { int key = 0; for (int i = 0; i < text.Length; i++) { if (text[i] == ' ') i++; for (int j = 0; j < 26; j++) if (text[i] == abetka[j]) { if (k[key] == ' ' || k[key] == 32) key++; if (key > k.Length - 1) key = 0; int a = (text[i] - k[key]) % 97; if (a > -1) kod += abetka[a]; else kod += abetka[a + 26]; key++; } } return kod; } } private void button1_Click(object sender, EventArgs e) { string text = richTextBox2.Text.ToLower(); Shifr koder = new Shifr(); textBox1.Text= koder.Dekod(text, richTextBox1.Text); } } } Результат виконання програм:  Висновок: На даній лабораторній роботі я дослідив структуру алгоритма і методику практичної реалізації криптосистеми шифрування Віженера. .
Антиботан аватар за замовчуванням

08.04.2013 00:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!