Симетричні криптографічні системи

Розрізняють чотири типи криптографічних систем:

ü симетричні (одно ключові), ще їх називають із секретними ключами;

ü асиметричні або с відкритими ключами;

ü комбінація двох попередніх систем;

ü системи генерації й керування ключами.

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

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

У випадку шифру заміни для відкритого повідомлення (message) M=m1,m2m3 правило зашифрування має вигляд ck=X(mk), де Х – підстановка заміни, C=c1,c2,c3 ‑ відповідний шифротекст. Зокрема, для латинського алфавіту підстановка заміни Х може мати вигляд:

При цьому відкритому символу m1=a відповідає символ зашифрованого тексту c1=X(a)=d.

Фактично ключем даного криптоалгоритму є підстановка X. Ключ розшифрування (позначається X-1) утворюється простою зміною рядків у вихідній підстановці. Таким чином, ключ розшифрування (зворотна підстановка) у наведеному прикладі має вигляд:

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

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

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

У випадку неможливості автоматичного розпізнавання відкритого тексту або перевірки його значимості в системі може використовуватися код справжності повідомлення МАС (message authentication code або імітовставка), який додається до повідомлення. Обчислений код є функцією повного повідомлення й секретного ключа, що забезпечує практичну неможливість знайти інше повідомлення з тим же самим кодом.

Використовуючи той же самий секретний ключ, адресат (одержувач) обчислює МАС і перевіряє дійсність повідомлення шляхом порівняння обчисленого й отриманого МАС.

МАС може використовуватися для перевірки дійсності як відкритих (незашифрованих) повідомлень, так і для зашифрованих. Національними й міжнародними організаціями встановлені відповідні стандарти для формування МАС.

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

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

Одним с перших офіційних державних алгоритмів криптографічного захисту інформації був.федеральний стандарт США алгоритм шифрування даних DES.

Прототип алгоритму був розроблений відомим виробником обчислювальної техніки компанією IBM і був прийнятий як стандарт в 1977 році (FIPS PUB 46-1). DES описує симетричний алгоритм шифрування який перетворює блоки (елементи) відкритого повідомлення довжиною 64 біта у блоки шифротексту тієї самої довжини за допомогою 56-бітного ключу (це дає приблизно 72,058 трильйонів різних варіантів ключа). Оскільки алгоритми цього типу перетворюють за одне звернення не один символ, а цілу послідовність – блок, то вони мають назву алгоритми блокового типу або блокові алгоритми.

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

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

Програмні та апаратні реалізації алгоритму звичайно мають високу швидкодію. Відомі реалізації алгоритму DES у вигляді чипа, що виконує шифрування зі швидкістю близько 200 Мб/сек.

DES може використовуватися у наступних режимах (це також має місце для інших алгоритми блокового шифрування):

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

2. Зворотний зв'язок по виходу (ОFB), коли DES використовується в якості псевдовипадкового генератора ключової послідовності, яка складається по модулю 2 з потоком біт повідомлення (псевдомодель системи Вернама). Ключовий потік біт генерується DES за допомогою секретного ключа шляхом шифрування спочатку 64 бітного вектора ініціалізації, а потім зрушеного на один крок вектора з доповненням розряду, що звільнився, бітом ключа попереднього кроку шифрування.

3. Зворотний зв'язок по шифрованому тексту (CFB), збігається з попереднім режимом, за винятком того, що, що звільнився після зрушення вектора ініціалізації розряд заповнюється бітом шифрованого тексту.

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

З моменту введення в дію DES неодноразово зазнавав критики за занадто малу довжину ключа й відсутність інформації про принципи побудови S-боксів (конструктивна критика), те за участь у розробці Агентства національної безпеки США. Разом з тим, теорія й практика більш ніж двадцятилітнього застосування DES довели, що його критики були не зовсім праві: і довжина ключа цілком достатня для більшості комерційних додатків, і S-бокси сконструйовані не гіршим образом.

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

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

Алгоритм АЕS. Алгоритм АЕS, що був прийнятий на заміну стандарту DES, є симетричним блоковим алгоритмом шифрування, що перетворює 128 біт вихідного блоку в 128 біт блоку шифрованого тексту. Довжина ключа шифрування дорівнює 256 біт (можливі ключі довжиною 128 або 192 біта). Алгоритм може використовуватися в одному із чотирьох режимів, визначених в опису DES.

Його особливість – алгоритм розроблений з використанням сучасних математичних методів для максимального прискорення його роботи на засобах обчислювальної техніки.