Ще раз відзначимо, що на кожній
ітерації використовується нове значення
ключа
,
яке обчислюється із початкового значення
ключа
.
Ключ K –
64-бітний блок з вісьмома бітами контролю
парності, що розміщені в позиціях 8, 16,
24, 32, 40, 48, 56, 64.
Для видалення контрольних
бітів і підготовки ключа до роботи
використовується матриця
(рис. 9).

Рисунок 9 – Матриця попередньої
підготовки ключа
![]()
Результат перетворення
розбивається на дві половини
та
по 28 бітів кожна. Після цього блоки
та
на кожній ітерації послідовно зміщуються
вліво. Нехай
та
позначають значення, які отримані в
результаті i-ї
операції:
![]()
де
– i-й
елемент матриці здвигу
(рис. 10).
|
і |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
|
|
1 |
1 |
2 |
2 |
2 |
2 |
2 |
2 |
1 |
2 |
2 |
2 |
2 |
2 |
2 |
1 |
Рисунок 10 –
Матриця здвигу
для обчислення ключа
Отримане значення
знову “перемішується” у відповідності
до матриці
(рис. 11).

Рисунок 11 –
Матриця кінцевої обробки ключа
Схема алгоритму обчислення ключа наведена на рисунку 12.

Рисунок 12 – Схема алгоритму генерації ключа
Відзначимо, що відновлення
вихідного тексту виконується за допомогою
такої самої послідовності дій, що й при
шифруванні, але (!) спочатку використовують
ключ
і т.д.
Оскільки довжина блоків вихідного тексту дорівнює 64, підтримка каталогів частот використання блоків є для зловмисника завданням, що виходить за межі сучасних технічних можливостей.
Однак даний алгоритм має ряд недоліків. За час, що пройшов після створення DES, комп'ютерна техніка розвинулася настільки швидко, що виявилося можливим здійснювати вичерпний перебір ключів і тим самим розкривати шифр. Вартість цієї атаки постійно знижується. В 1998 р. була побудована машина вартістю близько 100 тис. доларів, здатна по даній парі (вихідний текст, шифрований текст) відновити ключ за середній час 3 доби. Таким чином, при стандартному використанні алгоритм DES став далеко не оптимальним вибором для задоволення вимогам таємності даних.
Була висунута велика кількість пропозицій по вдосконаленню алгоритму DES, які частково компенсують зазначені недоліки.
Задачі
Порівняйте таблицю початкової перестановки IP (рис. 2 ) з матрицею попередньою перестановкою ключа PC-1 (рис. 9 ). Чи подібні структури цих перестановок? Якщо так, то в чому полягає їх подібність? Яки висновки можна зробити з цього аналізу?
Реалізувати алгоритм генерації ключів для алгоритму DES.
Виконати шифрування довільного тексту, довжина якого не менша 16 символів, а потім розшифрувати одержану криптограму, виконуючи програмну реалізацію алгоритму DES.
Усатенко Т.М. Криптологія: Навчальний посібник. – Суми: Вид-во СумДУ, 2008. – 164 с.
Шнайдер Брюс. Прикладная криптология. Протоколы, алгоритмы, исходные тексты на языке Си. – М.: Издательство ТРИУМФ, 2002
Столлингс Вильям. Криптография и защита сетей: принципы и практика /Пер. с англ – М.: Издательский дом «Вильямс», 2001.
Иванов М.А. Криптографические методы защиты информации в компьютерных системах и сетях. – М.: КУДИЦ-ОБРАЗ, 2001.
Брассар Ж. Современная криптология / Пер с англ. – М.: Полимед, 1999.
Жельников В. Криптография от папируса до компьютера. –М.: ABF, 1996.
Введение в криптографию /Под общей ред. В.В. Ященко. – СПб.: Питер, 2001.