ВИВЧЕННЯ ТА РЕАЛІЗАЦІЯ ШИФРІВ ПЕРЕСТАНОВКИ

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

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

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

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Криптографічні системи та протоколи

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІТ З В І Т до лабораторної роботи №2 з курсу: «КРИПТОГРАФІЧНІ СИСТЕМИ ТА ПРОТОКОЛИ» на тему: «ВИВЧЕННЯ ТА РЕАЛІЗАЦІЯ ШИФРІВ ПЕРЕСТАНОВКИ» Мета роботи – навчитися розробляти програмне забезпечення для реалізації шифрів перестановки. 1. ЗАВДАННЯ 1.1. Домашня підготовка до роботи 1) Вивчити математичний апарат, який використовується в шифрах перестановки, а також принципи побудови матричного шифру обходу та шифру Кардано. 2) Скласти блок-схеми алгоритмів та програму для реалізації зашифрування та розшифрування відкритого тексту за допомогою шифру Кардано з періодом l=36. 1.2. Робота в лабораторії 1) Ввести в комп'ютер програми згідно із завданням. 2) Відлагодити програми. При необхідності скоригувати блок-схеми алгоритмів та програми у відповідності з виявленими логічними та синтаксичними помилками. 3) Остаточні версії блок-схем, програм та отримані результати оформити у звіті з лабораторної роботи. 4) Здати звіт з лабораторної роботи. 2. Блок-схема алгоритму програми Функція main Функція повороту решітки на 900 Функція повороту решітки на 1800 Функція повороту решітки на 2700 3. Текст програми #include <iostream.h> #include <conio.h> int main(int argc, char* argv[]) { const int SIZE = 6; char *buf[SIZE] = {"qwerty", "asdfgh", "zxcvbn", "uiopkl", "jm!uue", "drftgy"}; // зашифрована матриця int grid[SIZE][SIZE] ={{0, 0, 1, 0, 0, 1}, {0, 1, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 1}, {0, 0, 1, 0, 0, 0}}; // решітка Кардано for (int i = 0; i < SIZE; i++) cout << buf[i] << endl; cout << endl; cout << "0:" << endl; for (int i = 0; i < SIZE; i++) for (int j = 0; j < SIZE; j++) if (grid[i][j] == 1) cout << buf[i][j]; cout << endl; // поворот решітки на 90 градусів за годинниковою стрілкою cout << "90:" << endl; for (int i = 0; i < SIZE; i++) for (int j = 0; j < SIZE; j++) if (grid[SIZE-j-1][i] == 1) cout << buf[i][j]; cout << endl; // поворот решітки на 180 градусів за годинниковою стрілкою cout << "180:" << endl; for (int i = 0; i < SIZE; i++) for (int j = 0; j < SIZE; j++) if (grid[SIZE-i-1][SIZE-j-1] == 1) cout << buf[i][j]; cout << endl; // поворот решітки на 270 градусів за годинниковою стрілкою cout << "270:" << endl; for (int i = 0; i < SIZE; i++) for (int j = 0; j < SIZE; j++) if (grid[j][SIZE-i-1] == 1) cout << buf[i][j]; cout << endl; system("pause"); return 0; getch(); } 5. Результати роботи програми /
Антиботан аватар за замовчуванням

31.05.2014 13:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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