симетричні криптосистеми

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

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







Повна втрата всіх статистичних закономірностей вихідного повідомлення є важливою вимогою до симетричного шифру. Для цього шифр повинен мати «ефект лавини» - має відбуватися сильне зміна шіфроблока при 1-бітному зміні вхідних даних (в ідеалі повинні змінюватися значення 1/2 біт шіфроблока).

Також важливою вимогою є відсутність лінійності (тобто умови f (a) xor f (b) == f (a xor b)), в іншому випадку полегшується застосування диференціального криптоаналізу до шифру.

В даний час симетричні шифри - це:

  • блокові шифри. Обробляють інформацію блоками певної довжини (зазвичай 64, 128 біт), застосовуючи до блоку ключ в установленому порядку, як правило, декількома циклами перемішування і підстановки, званими раундами. Результатом повторення раундів є лавинний ефект - наростаюча втрата відповідності бітів між блоками відкритих і зашифрованих даних.
  • потокові шифри. в яких шифрування проводиться над кожним бітом або байтом вихідного (відкритого) тексту з використанням гамування. Поточний шифр може бути легко створений на основі блочного (наприклад, ГОСТ 28147-89 в режимі гамування), запущеного в спеціальному режимі.

Більшість симетричних шифрів використовують складну комбінацію великої кількості підстановок і перестановок. Багато такі шифри виконуються в кілька (іноді до 80) проходів, використовуючи на кожному проході «ключ проходу». Безліч «ключів проходу» для всіх проходів називається «розкладом ключів» (key schedule). Як правило, воно створюється з ключа виконанням над ним деяких операцій, в тому числі перестановок і підстановок.

Типовим способом побудови алгоритмів симетричного шифрування є мережа Фейстеля. Алгоритм будує схему шифрування на основі функції F (D, K), де D - порція даних розміром вдвічі менше блоку шифрування, а K - «ключ проходу» для даного проходу. Від функції не потрібно оборотність - зворотна їй функція може бути невідома. Переваги мережі Фейстеля - майже повний збіг дешифрування з шифруванням (єдина відмінність - зворотний порядок «ключів проходу» в розкладі), що значно полегшує апаратну реалізацію.







Операція перестановки перемішує біти повідомлення по якомусь закону. В апаратних реалізаціях вона тривіально реалізується як перепутиваніе провідників. Саме операції перестановки дають можливість досягнення «ефекту лавини». Операція перестановки лінійна - f (a) xor f (b) == f (a xor b)

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

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

Існує безліч (не менше двох десятків) алгоритмів симетричних шифрів, істотними параметрами яких є:

  • стійкість
  • довжина ключа
  • число раундів
  • довжина оброблюваного блоку
  • складність апаратної / програмної реалізації
  • складність перетворення

Види симетричних шифрів блокові шифри

  • AES (англ. Advanced Encryption Standard) - американський стандарт шифрування
  • ГОСТ 28147-89 - радянський і російський стандарт шифрування, також є стандартом СНД
  • DES (англ. Data Encryption Standard) - стандарт шифрування даних в США
  • 3DES (Triple-DES, потрійний DES)
  • RC2 (Шифр Ривеста (Rivest Cipher або Ron's Cipher))
  • RC5
  • Blowfish
  • Twofish
  • NUSH
  • IDEA (International Data Encryption Algorithm, міжнародний алгоритм шифрування даних)
  • CAST (за ініціалами розробників Carlisle Adams і Stafford Tavares)
  • CRAB
  • 3-WAY
  • Khufu і Khafre
  • Kuznechik
потокові шифри
  • RC4 (алгоритм шифрування з ключем змінної довжини)
  • SEAL (Software Efficient Algorithm, програмно-ефективний алгоритм)
  • WAKE (World Auto Key Encryption algorithm, всесвітній алгоритм шифрування на автоматичному ключі)

Порівняння з асиметричними криптосистемами

переваги

  • швидкість
  • простота реалізації (за рахунок більш простих операцій)
  • менша необхідна довжина ключа для порівнянної стійкості
  • вивченість (за рахунок більшого віку)

недоліки

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

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

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







Схожі статті