Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kriptologia_ukr.docx
Скачиваний:
23
Добавлен:
25.08.2019
Размер:
438.37 Кб
Скачать
  1. Симетричні шифри. Блочні та потокові шифри. Режими роботи блочних шифрів.

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

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

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

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

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

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

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

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

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

При використанні генератора ПСЧ можливі кілька варіантів:

1. Побітове шифрування потоку даних. Цифровий ключ використовується як початкове значення генератора ПСЧ, а вихідний потік бітів підсумовується по модулю 2 з вихідною інформацією. У таких системах відсутня властивість поширення помилок.

2. Побітове шифрування потоку даних зі зворотним зв'язком (ОС) за шифртекст. Така система аналогічна попередньої, за винятком того, що шифртекст повертається в якості параметра в генератор ПСЧ. Характерно властивість поширення помилок. Область поширення помилки залежить від структури генератора ПСЧ.

3. Побітове шифрування потоку даних з ОС по вихідного тексту. Базою генератора ПСЧ є вихідна інформація. Характерно властивість необмеженого поширення помилки.

4. Побітове шифрування потоку даних з ОС по шифртекст і по вихідному тексту.

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

Перетворення повинно використовувати такі принципи:

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

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

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

Блоковий шифр складається з двох взаємопов'язаних алгоритмів: алгоритм шифрування E і алгоритм розшифрування E-1. Вхідними даними служать блок розміром n біт і k-бітний ключ. На виході виходить n-бітний зашифрований блок. Для будь-якого фіксованого ключа функція розшифрування є зворотною до функції шифрування для будь-якого блоку M і ключа K.

Для будь-якого ключа K, EK є біективною функцією (перестановкою) на множині n-бітних блоків.

Розмір блоку n - це фіксований параметр блокового шифру, зазвичай рівний 64 або 128 бітам, хоча деякі шифри допускають кілька різних значень. Довжина 64 біта була прийнятна до середини 90-х років, потім використовувалася довжина 128 біт, що приблизно відповідає розміру машинного слова і дозволяє ефективну реалізацію на більшості поширених обчислювальних платформах. Різні схеми шифрування дозволяють зашифровувати відкритий текст довільної довжини. Кожна має певні характеристики: ймовірність помилки, простота доступу, вразливість до атак. Типовими розмірами ключа є 40, 56, 64, 80, 128, 192 і 256 біт. У 2006 р. 80-бітний ключ здатний був запобігти атаці грубою силою.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]