Тема:
В«Шифрування й дешифрування даних за допомогою симетричних криптографічних алгоритмів В»
Алгоритми шифрування і дешифрування даних широко застосовуються в комп'ютерній техніці в системах приховування конфіденційної і комерційної інформації від не коректного використання сторонніми особами. Головним принципом у них є умова, що передавач і приймач заздалегідь знають алгоритм шифрування, а також ключ до повідомлення, без яких інформація являє собою всього лише набір символів, що не мають сенсу.
Класичним прикладом таких алгоритмів є симетричні криптографічні алгоритми, перераховані нижче:
Підстановки:
В· Підстановка Цезаря
В· Квадрат Полібія.
В· "Тюремний шифр "
В· Шифр Плейфера
В· Подвійний квадрат
В· Метод перейменування
В· Метод псевдовипадковою інверсії
В· Шифром Гронсфельда
В· Система шифрування Вижинера
В· Шифр Бофора
В· Шифр з Автоключ.
В· Шифр машини Енігма
Гаммирование:
В· Шифр гамування по Лемеру
В· Конгруентні датчики ПСЧ для гамування
В· Цілочисельні датчики (ряд Фібоначчі) для гамування
В· Датчики М-послідовностей для гамування
В· Метод псевдовипадкового гамування
В· Метод ланцюгових гамування
Перестановки:
В· Проста перестановка
В· Одиночна перестановка по ключу
В· Подвійна перестановка
В· Подвійна перестановка стовпців і рядків
В· Перестановка "Магічний квадрат"
В· Метод "сплутаною шини"
В· Багатовимірна перестановка
В· Шифр збивання.
Розглянемо приклади деяких з них нижче.
Проста перестановка
Проста перестановка без ключа - один із найпростіших методів шифрування. Повідомлення записується в таблицю по стовпцях. Після того, як відкритий текст записаний колонками, для освіти шифровки він зчитується по рядках. Для використання цього шифру відправнику і одержувачу потрібно домовитися про загальному ключі у вигляді розміру таблиці. Об'єднання букв в групи не входить у ключ шифру і використовується лише для зручності запису несмислового тексту.
Одиночна перестановка по ключу
Більш практичний метод шифрування, званий одиночної перестановкою по ключу дуже схожий на попередній. Він відрізняється лише тим, що колонки таблиці переставляються за ключовим словом, фразі або набору чисел довжиною в рядок таблиці.
Подвійна перестановка
Для додаткової скритності можна повторно шифрувати повідомлення, яке вже було зашифровано. Цей спосіб відомий під назвою подвійна перестановка. Для цього розмір другій таблиці підбирають так, щоб довжини її рядків і стовпців були інші, ніж в першій таблиці. Краще всього, якщо вони будуть взаємно простими. Крім того, в першій таблиці можна переставляти стовпці, а в другій рядки. Нарешті, можна заповнювати таблицю зигзагом, змійкою, по спіралі або якимось іншим способом. Такі способи заповнення таблиці якщо і не посилюють стійкість шифру, то роблять процес шифрування набагато більш цікавим.
Подвійна перестановка стовпців і рядків
Крім одиночних перестановок використовувалися ще подвійні перестановки стовпців і рядків таблиці з повідомленням. При цьому перестановки визначалися окремо для стовпців і окремо для рядків. У таблицю вписувався текст і переставлялися стовпці, а потім рядки. При розшифровці порядок перестановок був зворотний.
Перестановка "Магічний квадрат "
Магічними квадратами називаються квадратні таблиці зі вписаними в їх клітини послідовними натуральними числами від 1, які дають в сумі по кожному стовпцю, кожному рядку і кожній діагоналі одне і те ж число. Подібні квадрати широко застосовувалися для вписування шифруемого тексту за наведеною в них нумерації. Якщо потім виписати вміст таблиці по рядках, то виходила шифровка перестановкою літер. На перший погляд здається, ніби магічних квадратів дуже мало. Тим не менш, їх число дуже швидко зростає із збільшенням розміру квадрата. Так, існує лише один магічний квадрат розміром 3 х 3, якщо не брати до уваги його повороти. Магічних квадратів 4 х 4 налічується вже 880, а число магічних квадратів розміром 5 х 5 близько 250000. Тому магічні квадрати великих розмірів могли бути хорошою основою для надійної системи шифрування того часу, тому що ручний перебір всіх варіантів ключа для цього шифру був немислимий.
У квадрат розміром 4 на 4 вписувалися числа від 1 до 16. Його магія полягала в тому, що сума чисел по рядках, стовпцях і повним діагоналях дорівнювала одному й тому числу - 34. Вперше ці квадрати з'явилися в Китаї, де їм і була приписана деяка "магічна сича".
16
3
2
13
5
10
11
8
9
6
7
12
4
15
14
1
Шифрування по магічному квадрату вироблялося таким чином. Наприклад, потрібно зашифрувати фразу: "Приїжджаю сьогодні ". Букви цієї фрази вписуються послідовно в квадрат згідно записаним у них числах, а в порожні клітини ставиться крапка.
16.
3 І
2 Р
13 Д
5 З
10 Е
11 Г
8 Ю
9 З
6 Ж
7 А
12 Про
4 Е
15 Я
14 Н
1 П
Після цього шифрований текст записується в рядок:
БІРДЗЕГЮСЖАОЕЯНП
При розшифровуванні текст вписується в квадрат, і відкритий текст читається в послідовності чисел "магічного квадрата "
Програма повинна генерувати В«магічні квадрати В»і по ключу вибирати необхідний. Розмір квадрата більше ніж 3х3.
Метод "сплутаною шини"
Ключем є трехбайтовая послідовність. Цей ключ розбивається на 8 зон по 3 біти, кожна зона зберігає адресу цього біта в новому байті (див. рис)
Байт 1 Байт 2 Байт 3