Криптографія з симетричним ключем

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

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

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

ГОСТ 28147-89. Творець: КДБ, 8-е управління. Створено: 1989 р
Симетричні алгоритми поділяються на два різновиди. Потокові алгоритми за допомогою програмування обробляють текст по бітної або по байтних. Цей різновид симетричних алгоритмів також називають потоковими шифрами.

До другої різновиди симетричних алгоритмів відноситься так звані блокові алгоритми або шифри, які обробляють груп бітів відкритого тексту певної довжини, як правило 64 або 128 біт. Підстановка і перемішування ключа відбувається в установленому порядку в кілька циклів, так званих раундів. Для створення подібного шифру необхідно використовувати “ефект лавини”, тобто має бути надано сильна зміна шіфроблока при 1-бітному зміні вхідних даних. У кращому випадку значення шіфроблока повинні змінюватися при 1/2 біт.

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

Велика частина симетричних шифрів використовує складну комбінацію величезної кількості підстановок і перестановок. Створення таких шифрів проходить в кілька (до 80) продходов. Кожен прохід використовує “ключ проходу”. Кількість “ключів проходу” для всіх проходів утворює так зване “розклад ключів” (key schedule).

Найпоширенішим способом побудови алгоритмів симетричного шифрування є мережа Фейстеля. В першу чергу вибудовується алгоритм шифрування на основі функції F (D, K), де D – це пакет даних, обсяг якого в два рази менше блоку шифрування, а K – це “ключ проходу” для даного проходу. Головною перевагою мережі Фейстеля є практично повний збіг дешифрування з шифруванням, що значно полегшує і прискорює апаратну реалізацію. Єдина відмінність дешифрування від шифрування полягає в зворотному порядку “ключів проходу” в розкладі.

Процес перестановки перемішує біти повідомлення за певним законом. Завдяки операції перестановки можливе здійснення “ефекту лавини”. Перестановка в апаратних реалізаціях є просте перепутиваніе провідників. Крім того, операція перестановки лінійна.

Зворотний процес – операція підстановки здійснюється як заміна значення певної частини повідомлення з частотою в 4, 6 або 8 біт на стандартне, жорстко вбудоване в алгоритм інше число за допомогою використання константного масиву. Процес підстановки нелінійний.

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


1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4.00 out of 5)

Криптографія з симетричним ключем