Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Перестановочний шифр

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра ЕОМ

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

Рік:
2019
Тип роботи:
Лабораторна робота
Предмет:
Захист інформації в комп’ютерних системах

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи №2 з дисципліни:”Захист інформації в комп’ютерних системах ” на тему:”Перестановочний шифр” Мета роботи: ознайомитись з основами класичної техніки шифрування – перестановочними шифрами Теоретичні відомості / / / Дана програма працює за таким принципом:дані які надходять для шифрування-дешифрування діляться на блоки однакової довжини.Саме шифрування-дешифрування проводиться за допомогою ключа,який,власне і визначає довжину блока.У випадку якщо залишається остача при діленні повідомлення на блоки,тоді різниця заповнюється першим символом вхідного повідомлення.Результат роботи програми зображено на Рис.1 / Рис.1 Результат роботи програми Висновок: В даній лабораторній роботі я ознайомився з технікою шифрування методом перестановочної заміни та розробив програму, яка шифрує повідомлення відповідним методом. Код програми Transposition.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TranspositionCipher { class Transposition { private int[] key = null; public void SetKey(int[] _key) { key = new int[_key.Length]; for (int i = 0; i < _key.Length; i++) key[i] = _key[i]; } public void SetKey(string[] _key) { key = new int[_key.Length]; for (int i = 0; i < _key.Length; i++) key[i] = Convert.ToInt32(_key[i]); } public void SetKey(string _key) { SetKey(_key.Split(' ')); } public string Encrypt(string input) { for (int i = 0; i < input.Length % key.Length; i++) input += input[i]; string result = ""; for (int i = 0; i < input.Length; i += key.Length) { char[] transposition = new char[key.Length]; for (int j = 0; j < key.Length; j++) transposition[key[j] - 1] = input[i + j]; for (int j = 0; j < key.Length; j++) result += transposition[j]; } return result; } public string Decrypt(string input) { string result = ""; for (int i = 0; i < input.Length; i += key.Length) { char[] transposition = new char[key.Length]; for (int j = 0; j < key.Length; j++) transposition[j] = input[i + key[j] - 1]; for (int j = 0; j < key.Length; j++) result += transposition[j]; } return result; } } } Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace TranspositionCipher { public partial class Form1 : Form { Transposition t; public Form1() { InitializeComponent(); t = new Transposition(); } private void startButton_Click(object sender, EventArgs e) { t.SetKey(keyTextBox.Text); if (encryptRadioButton.Checked) outputTextBox.Text = t.Encrypt(inputTextBox.Text); else outputTextBox.Text = t.Decrypt(inputTextBox.Text); } private void label2_Click(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } } }
Антиботан аватар за замовчуванням

23.10.2019 20:10

Коментарі

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

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини