Побудова симетричних систем шифрування і дослідження особливостей сучасних шифрів (Лабораторна робота № 2), страница 2

Сінхропосилка не є секретним елементом шифру і  передається разом з зашифрованим повідомленням. При дешифрува­нні відокремлюється сінхропосилка та формується вектор (Y(0), Z(0)) за формулою (44).

64-розрядний блок відкритого тексту Т(i) обчислюється за формулою:

                                       T(i) = Г(i) Å Ш(i) ,                    (16)

де Г(i) - блок дешифруючої гами, що визначається рівняннями (42) і (45).

Режим гамування

Рис. 3

 Робота алгоритму ГОСТ 28147-89 в режимі гамування зі зворотним зв'язком

Відкриті дані T, які підлягають шифруванню, розбиваються на блоки T(j) довжиною 64 бітів.

Рівняння шифрування даних у цьому режимі може бути представлене у вигляді:

                                      Ш(1) = A(S) Å T(1),                  (17)

                        Ш(i) = A(Ш(i-1)) Å T(i) = Г(i) ÅT(i),     (18)

де Ш(i) -  64-розрядний блок зашифрованого тексту;

А -  функція шифрування у режимі простої заміни;

S - 64-розрядна сінхропосилка.

Рівняння дешифрування у режимі гамування зі зворотним зв'язком може бути представлено рівняннями:

                                      Т(1) = A(S) Å Ш(1),                  (19)

                       Т(i) = A(Ш(i-1)) Å Ш(i) = Г(i) Å Ш(i).   (20)

Режим гамування зі зворотним зв'язком

Рис. 4

 Робота алгоритму ГОСТ 28147-89 у режимі виробки імітовставки.

Для отримання імітовставки відкриті дані T, які підлягають шифруванню, розбиваються на блоки T(j) довжиною 64 біти. Перший блок Т(1) піддається перетворенню, яке відповідає першим 16 циклам алгоритму шифрування в режимі простої заміни, причому в якості  ключа виробки імітовставки використовується ключ шифрування даних. Отримане 64-розрядне число складається за модулем 2 із другим блоком відкритих даних Т(2). Результат підсумовування піддається перетворенню, яке відповідає першим 16 циклам алгоритму шифрування в режимі простої заміни.

Останній блок Т(m), при необхідності доповнений до 64-розрядного числа нулями, складається за модулем 2 з результатом роботи на (m-1)-м кроці і зашифровується. З отриманого 64-розрядного числа виділяється відрізок Ір довжиною р бітів, який являється хеш-функцією відкритих даних (імітовставкою). Значення параметру p визначається виходячи з необхідності забезпечення необхідної імовірності обману.

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

Режим виробки імітовставки

Рис. 5

4. Порядок виконання роботи

4.1. Одиночна та подвійна перестановка по ключу

Програма Transposition виконує одиночну та подвійну перестановку по ключу довільного текстового повідомлення.

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

Одиночна перестановка по ключу

Для виконання шифрування необхідно виконати наступні дії:

1  . Зняти прапорець „Розшифрувати”.

2  . Ввести відкритий текст у поле „Відкритий текст”. При цьому програма автоматично заповнить таблицю.

3  . Перетягнути стовпці таблиці у такому порядку, щоб ключ шифрування, який відображається у полі „Ключ”, дорівнював необхідному ключу шифрування. Програма при цьому проведе автоматичну перестановку літер і запише отриманий шифртекст у поле „Шифртекст”.

Для виконання розшифрування необхідно виконати наступні дії:

1  . Встановити прапорець „Розшифрувати”.

2  . Ввести шифртекст у поле „Шифртекст”. При цьому програма автоматично заповнить таблицю.

3  . Ввести ключ розшифрування у поле „Ключ”. Програма при цьому автоматично заповнить верхній рядок таблиці.