МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ВИВЧЕННЯ ТА РЕАЛІЗАЦІЯ ШИФРІВ ПЕРЕСТАНОВКИ.
МЕТОДИЧНІ ВКАЗІВКИ ДО ЛАБОРАТОРНОЇ РОБОТИ № 1
З ДИСЦИПЛІНИ “КРИПТОГРАФІЧНІ СИСТЕМИ ТА ПРОТОКОЛИ”
для студентів базового напряму
6.170101 “Безпека інформаційних і комунікаційних систем”
Затверджено на засiданнi кафедри
“Безпека інформаційних технологій”,
протокол № від 2012 р.
Львів – 2012
Вивчення та реалізація шифрів перестановки: Методичні вказівки до лабораторної роботи №2 з дисципліни “Криптографічні системи та протоколи” для студентів базового напряму 6.170101 “Безпека інформаційних і комунікаційних систем” /Укл.: А.Е.Лагун, А.В.Петришин - Львів: НУЛП 2012. - 8 с.
Укладачі: А.Е.Лагун, к.т.н., доцент
А.В.Петришин, асистент
Відповідальний за випуск:
Л.В. Мороз, к.т.н., доцент.
Рецензент: В.М.Максимович, д.т.н., професор.
Мета роботи - навчитися розробляти програмне забезпечення для реалізації шифрів перестановки.
1. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Шифри перестановки зберігають всі букви відкритого тексту, але розміщують їх у криптотексті в іншому порядку.
Спочатку розглянемо матричний шифр обходу. Повідомлення записується рядками у вигляді прямокутної матриці. Криптотекст формується зчитуванням букв із матриці у зміненому порядку, а саме, стовпчиками. При цьому послідовність, у якій зчитуються стовпчики, визначається ключем. Ключ задається у вигляді ключового слова, що легко запам'ятовується. Порядок зчитування стовпчиків збігається з алфавітним порядком букв ключового слова. Наприклад,
Повідомлення:
ЗАРПЛАТУ БУДЕ ВИПЛАЧЕНО НА ДРУГИЙ ТИЖДЕНЬ
Ключове слово: Компас
З
А
Р
П
Л
А
Т
У
Б
У
Д
Е
В
И
П
Л
А
Ч
Е
Н
О
Н
А
Д
Р
У
Г
И
Й
Т
И
Ж
Д
Е
Н
Ь
Компас ( 243516
Криптотекст:
АУИНУЖПУЛНИЕРБПОГДЛДААЙНЗТВЕРИАЕЧДТЬ
Необхідно зазначити, що в наш час вживання як ключа для будь-якого шифру зручних для запам'ятовування ключових слів є досить ризикованим через словникову атаку. Найпростіший варіант цього методу криптоаналізу полягає в укладанні списку із, скажімо, 100000 найвживаніших ключових слів, включно із географічними назвами та екзотичними термінами.
Наступним шифром перестановки розглянемо шифр Кардано. Це блоковий шифр з періодом l= k2, де k парне число. Ключем є вирізаний із паперу в клітинку квадрат розміру k на k, що складається з k2 клітинок, четверту частину яких, цебто k2/4, прорізують.
Наведемо приклад для k=4, причому квадрат розділено пунктиром, а контури чотирьох прорізаних клітинок виділено суцільною лінією.
Нехай потрібно зашифрувати блок повідомлення у якому k2 літер Криптотекст записують на папері в клітинку в квадраті k на k. Процедура займає чотири кроки. На першому кроці на аркуш, на якому буде записуватися криптотекст, накладають ключ і вписують перші k2/4 літер повідомлення у прорізані клітинки, починаючи з верхнього рядка. На другому кроці ключ повертають на 90 градусів за годинниковою стрілкою відносно центру квадрату і у прорізані клітинки вписують наступні k2/4 літер повідомлення. Подібним чином виконують третій і четвертий кроки - щоразу ключ повертають на 90 градусів і у нові позиції прорізаних клітинок вписують чергові k2/4 літер повідомлення. Ключ має бути виготовлений таким способом, щоб при повороті прорізані у ключі клітинки попали на вільні клітинки аркуша, і в жодному разі не наклалися на клітинки вже заповнені на попередніх кроках. В результаті після четвертого кроку всі k2 літер блоку повідомлення виявляються розміщеними в деякому порядку у квадраті k на k. Зчитавши їх рядками, отримують криптотекст.
Наприклад, зашифруємо повідомлення:
к
о
з
и
с
и
т
і
с
і
н
о
ц
і
л
е
Повідомлення
к
о
з
и
Крок №1
с
и
т
і
Крок №2
с
і
н
о
Крок №3
ц
с
с
к
и
і
о
і
з
н
т
л
о
и
е
і
Крок №4
Криптотекст
кози ситі сіно ціле
Одержуємо криптотекст цсскиіоізнтлоиеі.
Шифр Кардано є шифром перестановки спеціального виду, в якому правило переставлення букв у блоці зручне для реалізації на папері за допомогою ножиць та олівця. Загальний шифр перестановки з періодом l переставляє l букв у довільному порядку, який визначається ключем. Ключ зручно задавати табличкою , яка показує, що перша буква блоку відкритого тексту займає позицію i1 у відповідному блоці криптотексту, друга буква переміщується на позицію i2 і т.д. Наприклад, при l = 4 шифр перестановки з ключем , перетворює відкритий текст козиситісіноціле у криптотекст изокітисоніселіц. А зображений вище ключ для шифру Кардано можна задати табличкою
.
Шифр перестановки з періодом l має l! різних ключів. Якщо l є невеликим у порівнянні з довжиною тексту, шифр перестановки розкривається спеціальним чином організованим аналізом частот біграм.
2. ЗАВДАННЯ
2.1. Домашня підготовка до роботи
1) Вивчити математичний апарат, який використовується в шифрах перестановки, а також принципи побудови матричного шифру обходу та шифру Кардано.
2) Скласти блок-схеми алгоритмів та програму для реалізації зашифрування та розшифрування відкритого тексту за допомогою шифру Кардано з періодом l=36, забезпечити зашифрування та розшифрування тексту(враховуючи усі розділові знаки).
2.2. Робота в лабораторії
1) Ввести в комп'ютер програми згідно із завданням.
2) Відлагодити програми. При необхідності скоригувати блок-схеми алгоритмів та програми у відповідності з виявленими логічними та синтаксичними помилками.
3) Остаточні версії блок-схем, програм та отримані результати оформити у звіті з лабораторної роботи.
4) Здати звіт з лабораторної роботи.
3. ЗМІСТ ЗВІТУ
1) Номер і назва лабораторної роботи.
2) Повний текст завдання.
3) Остаточні версії блок-схем алгоритмів.
4) Список ідентифікаторів констант, змінних, процедур і функцій, використаних у блок-схемах алгоритмів і програм, та їх пояснення.
5) Остаточні версії програм.
6) Результати роботи програм.
4. КОНТРОЛЬНІ ЗАПИТАННЯ
1. Що таке шифр перестановки?
2. Що є ключем у матричному шифрі обходу?
3. Який тип атаки ефективний для матричного шифру обходу?
4. Поясніть суть операції зашифрування в шифрі Кардано.
5. Який період шифру Кардано?
6. Скільки різних ключів має шифр перестановки з періодом l?
СПИСОК ЛІТЕРАТУРИ
О.Н.Василенко, Теоретико-числовые алгоритмы в криптографии. – М.: Изд-во МГУ, 2000
К.Шеннон. Теория связи в секретных системах. В Работы по теории информации и кибернетике, стр. 333-402. М., Изд. Иностр. Лит., 1963.
М.Вельшенбах. Криптография на Си и С++ в действии. М., Триумф, 2004.
Б.Шнайер. Прикладная криптография, 2-е издание: протоколы, алгоритмы, исходные тексты на языке Си. М., Триумф, 2002.
Навчальне видання
Вивчення та реалізація шифрів перестановки: Методичні вказівки до лабораторної роботи №2 з дисципліни “Криптографічні системи та протоколи” для студентів базового напряму 6.170101 “Безпека інформаційних і комунікаційних систем”.
Укладачі:
Лагун Андрій Едуардович
Петришин Андрій Васильович