Шифри заміни (підстановки)

1 МЕТОДИ ШИФРУВАННЯ (КОРОТКИЙ ОГЛЯД)

Метою лабораторної роботи є вивчення методів криптографічного перетворення інформації, заснованих на симетричних криптоалгоритмах.

Захист інформації методами криптографічного перетворення полягає в зміні її складових частин (слів, букв, складів, цифр) за допомогою спеціальних алгоритмів або апаратних рішень і кодів ключів, тобто в приведенні її до неявному увазі (шифрування). Для ознайомлення з шифрованого інформацією застосовується зворотний процес - дешифрування (розшифровка).

Використання криптографії - один з поширених методів, що значно підвищують безпеку передачі даних в мережах ЕОМ, даних, що зберігаються в віддалених пристроях пам'яті, і при обміні інформацією між віддаленими об'єктами. Для перетворення (шифрування) зазвичай використовується певний алгоритм або пристрій, що реалізує заданий алгоритм, які можуть бути відомі широкому колу осіб. Управління процесом шифрування здійснюється за допомогою періодично змінюваного коду ключа, що забезпечує кожен раз оригінальне представлення інформації при використанні одного і того ж алгоритму або пристрою. Знання ключа дозволяє просто і надійно розшифрувати текст. В іншому випадку ця процедура може бути практично нездійсненна навіть при відомому алгоритмі шифрування.

Просте перетворення інформації служить досить ефективним засобом, що дає можливість приховати її сенс від більшості некваліфікованих порушників.

В даний час деякі методи шифрування добре опрацьовані і є класичними. Безліч сучасних методів захисних перетворень можна класифікувати на чотири великі групи: перестановки, заміни (підстановки), адитивні і комбіновані методи.

Методи перестановки і підстановки зазвичай характеризуються короткою довжиною ключа, а надійність їх захисту визначається складністю алгоритмів перетворення. Аддитивним методам притаманні прості алгоритми перетворення, а їх криптостойкость заснована на збільшенні довжини ключа.

Всі перераховані методи відносяться до симетричного шифрування. У симетричних криптоалгоритмах Для кодування і розшифровки повідомлення використовується один і той же блок інформації - ключ, який повинен зберігатися в таємниці і передаватися способом, що виключає його перехоплення.

2 шифрування МЕТОДАМИ ПЕРЕСТАНОВКИ І ЗАМІНИ (підстановки)

Шифр, перетворення з якого змінюють тільки порядок проходження символів вихідного тексту, але не змінюють їх самих, називається шифром перестановки (ШП).

Суть методів перестановки полягає в тому, що вхідний потік вихідного тексту ділиться на блоки, в кожному з яких виконується перестановка символів.

Розглянемо перетворення з ШП, призначене для зашифровуваної повідомлення довжиною n символів. Його можна уявити за допомогою таблиці

де i1 - номер шифртекста, на яке потрапляє перша буква вихідного повідомлення при обраному перетворенні, i2 - номер місця для другої літери і т.д. У верхньому рядку таблиці виписані по порядку числа від 1 до n. а в нижній - ті ж числа, але в довільному порядку. Така таблиця називається підстановкою ступеня n.

Знаючи підстановку, що задає перетворення, можна здійснити як зашифрование, так і розшифрування тексту. Наприклад, якщо для перетворення використовується підстановка

Число ключів ШВП не більше m. де m - число стовпців таблиці. Як правило, m набагато менше, ніж довжина тексту n (повідомлення вкладається в кілька рядків по m букв).

Цікава схема перестановки, що нагадує тасування колоди карт. Так, якщо S = A + B + C являє собою вихідний блок тексту, що переставляється побайтно, то результатом такої перестановки буде S ¢ = C + B + A, де розбивка на фрагменти A, B і C робиться випадковим чином. Після декількох тасовок символи вихідного тексту виявляються грунтовно перемішані. Ця тасування в стані після багаторазового повторення здійснити будь-яку перестановку.

Перестановка тасування часто дуже зручна, так як одиночний її крок практично не залишає жодного символу на своєму місці.

Прийом перестановки тасування демонструє наступний фрагмент програмного коду:

TArr = array [1..Lmax] of integer;

вхідний параметр L - довжина блоку вихідного тексту для зашифровуваної>

arr: = PerestRnd (L); // function PerestRnd (l: integer): TArr; -

// функція (визначається користувачем) формування

// випадковим чином L неповторяющихся цілих чисел

// в діапазоні від 1 до L,

// результат - у вигляді масиву;

Існують і інші способи перестановки, які можна реалізувати програмним і апаратним шляхом. Наприклад, реалізований апаратним шляхом блок перестановки, який для перетворення інформації використовує електричні ланцюги, за якими вона передається паралельним способом. Перетворення тексту полягає в «переплутуванні» порядку розрядів в цифровий кодограми шляхом зміни електричного монтажу схеми в блоці. Для дешифрування на приймальному пункті встановлюється інший блок, який відновлює порядок ланцюгів.

Для методів перестановки характерні простота алгоритму, можливість програмної реалізації і низький рівень захисту, так як при великій довжині вихідного тексту в зашифрованому тексті виявляються статистичні закономірності ключа, що дозволяє його розкрити досить легко.

Шифри заміни (підстановки)

Найбільш відомими і часто використовуваними шифрами є шифри заміни (підстановки). Вони характеризуються тим, що окремі частини повідомлення (літери, слова) замінюються на будь-які інші літери, числа, символи і т.д. При цьому заміна здійснюється так, щоб потім по шифрованому повідомленням можна було однозначно відновити передане повідомлення.

Нехай, наприклад, зашифрована повідомлення російською мовою і при цьому заміні підлягає кожна буква повідомлення. Формально в цьому випадку шифр заміни можна описати таким чином. Для кожної літери a вихідного алфавіту будується деякий безліч символів Ma так, що безлічі Ma і Mb попарно не перетинаються при a¹b, тобто будь-які два різні безлічі не містять однакових елементів. Безліч Ma називається безліччю шіфробозначеній для літери a.

є ключем шифру заміни. Знаючи її, можна здійснити як зашифрування, так і розшифровку.

При зашифровки кожна буква a відкритого повідомлення, починаючи з першої, замінюється будь-яким символом з безлічі Ma. Якщо в електронному листі кілька букв a, то кожна з них замінюється на будь-який символ з Ma. За рахунок цього за допомогою одного ключа (1) можна отримати різні варіанти зашифрованого повідомлення для одного і того ж відкритого повідомлення. Наприклад, якщо ключем є таблиця

то повідомлення «я знайомий з шифрами заміни» може бути зашифровано, наприклад, будь-яким з наступних трьох способів:

Так як безлічі Ма. Мб. Ма попарно не перетинаються, то по кожному символу шифрованого повідомлення можна однозначно визначити, якому безлічі він належить, і, отже, яку букву відкритого повідомлення він замінює. Тому дешифрування можливо і відкрите повідомлення визначається єдиним чином.

Одним з найпростіших методів є пряма заміна вихідних символів їх еквівалентом з вектора замін. Як вектора замін може бути використаний деякий змішаний алфавіт, наприклад, перестановка звичайного алфавіту. Для чергового символу вихідного тексту відшукується його місце розташування в вихідному алфавіті. Еквівалент з вектора заміни вибирається як віддалений на отримане зміщення від початку алфавіту. На рис.1 показаний повний вихідний алфавіт, змішаний алфавіт і шифрування короткого повідомлення, в якому кожна буква замінюється відповідною буквою змішаного алфавіту.

При дешифрування пошук проводиться в векторі замін, а еквівалент вибирається з вихідного алфавіту. Отриманий таким методом текст має порівняно низький рівень захисту, так як вихідний і зашифровані тексти мають однакові статистичні характеристики.

Більш стійкою щодо розкриття є схема шифрування, заснована на використанні квадрата (таблиці) Віжи нера (табл.2). Таблиця являє собою квадратну матрицю з числом елементів К, де К - кількість символів в алфавіті. Зверху і по лівому краю квадрата виписаний вихідний алфавіт. У першому рядку матриці записуються літери в порядку черговості їх в алфавіті, у другій - та ж послідовність літер, але зі зрушенням вліво на одну позицію, в третій - із зсувом на дві позиції і т.д. Вивільнені місця праворуч заповнюються витісненими вліво буквами, записуваними в природній послідовності.

Таблиця 2.1 Квадрат Вижинера

З метою підвищення надійності шифрування тексту пропонується вдосконалений варіант таблиці Вижинера, який полягає в наступному:

- у всіх (крім першої) рядках таблиці літери алфавіту розташовуються в довільному порядку;

- вибирається десять (не рахуючи першої) рядків, пронумерованих натуральними числами від 0 до 9;

- в якості ключа використовуються величини, виражені нескінченним рядом чисел.

Окремим випадком методу заміни, що забезпечує надійне шифрування інформації є використання алгебри матриць (наприклад, множення матриці на вектор):

Відповідно до цього правила матрицю A = ij> можна використовувати в якості основи для шифрування, знаками вектора B = i> можуть бути символи шіфруемоготексту, а знаками вектора результату C = i> - символи зашифрованого тексту.

Для шифрування буквених повідомлень необхідно перш за все замінити знаки алфавіту їх цифровими еквівалентами, яким може бути порядковий номер букви в алфавіті.

Для дешифрування використовуються ті ж правила множення матриці на вектор, тільки в якості основи береться зворотна матриця, а в якості множимо вектора - відповідну кількість чисел шифрованого тексту. Цифрами вектора-результату будуть цифрові еквіваленти знаків вихідного тексту.

Неважко бачити, що процедури шифрування і розшифровки строго формалізовані, що дозволяє порівняно легко запрограмувати їх для автоматичної реалізації. Недоліком даного методу є те, що для шифрування і розшифровки кожної літери виконати кілька арифметичних дій, що збільшує час обробки інформації.

Завдання на лабораторну роботу № 1.

Для виконання лабораторної роботи необхідно:

- за методичними вказівками освоїти різні способи шифрування і дешифрування вихідного повідомлення за допомогою методів перестановки;

- реалізувати програмно 3 різних алгоритму шифрування перестановкою вихідного повідомлення і його розшифровки (обов'язковою є реалізація алгоритму шифру вертикальної перестановки або будь-який інший маршрутної перестановки).

1) Можливість завдання початкового тексту користувачем.

2) Можливість як завдання ключа користувачем, так і формування ключа за допомогою генератора ПСЧ.

3) Видачу на екран: вихідного тексту, ключа, шифрованого тексту і розшифрованого тексту.

Питання для захисту:

- В чому полягає суть методів перестановки?

- Що називають підстановкою ступеня n?

- Які способи перестановки вам відомі?

- У чому переваги і недоліки шифрування методами перестановки?

Завдання на лабораторну роботу № 2.

Для виконання лабораторної роботи необхідно:

- за методичними вказівками освоїти різні способи шифрування і дешифрування вихідного повідомлення за допомогою методів заміни (підстановки);

- реалізувати програмно 3 алгоритму шифрування заміною вихідного повідомлення і його розшифровки: метод прямої заміни, шифрування за допомогою квадрата Вижинера, шифрування з використанням алгебри матриць.

1) Можливість завдання початкового тексту користувачем.

2) Можливість як завдання ключа користувачем, так і формування ключа за допомогою генератора ПСЧ.

3) Видачу на екран: вихідного тексту, ключа, шифрованого тексту і розшифрованого тексту.

Питання для захисту:

- В чому полягає суть методів заміни (підстановки)?

- Наведіть формальний опис методів заміни (підстановки).

- Які способи шифрування заміною (підстановкою) вам відомі?

- У чому переваги і недоліки шифрування методами заміни (підстановки)?

2. Захист інформації в обчислювальних системах. - Збірник. - М. Знання, 1982.

8. Шураков В.В. Забезпечення збереження інформації в системах обробки даних (за даними зарубіжної преси). Навчальний посібник. - М. Фінанси і статистика, 1985.

10. Уезерелл Ч. Етюди для програмістів. - Переклад з англ. Під ред. Баяковского Ю.М. - М. Мир, 1982.

Схожі статті