Шифрування з секретним ключем

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

Вµжимi простоi замiни (виконуються першi 16 раундiв з 32). Отриманий результат додаСФться по модулю 2 до наступного блока iнформацii зi збереженням результату в N1 i N2.

Цикл повторюСФться до останнього блоку iнформацii. 64-бiт, що вийшло в результатi цих перетворень, у регiстрiв N1 й N2 називаСФться iмiтоприставкою. Розмiр iмiтоприставки вибираСФться, виходячи з необхiдноi вiрогiдностi повiдомлень: при довжинi iмiтоприставки r бiт iмовiрнiсть, що змiна повiдомлення залишиться непомiченою, дорiвнюСФ 2-r.Найчастiше використаСФться 32-бiтна iмiтоприставка, тобто половина змiсту регiстрiв. Цього досить, оскiльки, як будь-яка контрольна сума, iмiтоприставка призначена насамперед для захисту вiд випадкових спотворень iнформацii. Для захисту вiд навмисноi модифiкацii даних застосовуються iншi криптографiчнi методи - у першу чергу електронний цифровий пiдпис.

Алгоритм ГОСТ 28147-89 вважаСФться дуже сильним алгоритмом - у цей час для його розкриття не запропоновано бiльш ефективних методiв, чим згаданий вище метод "грубоi сили". Його висока стiйкiсть досягаСФться в першу чергу за рахунок великоi довжини ключа - 256 бiт. При використаннi секретного синхропосилання ефективна довжина ключа збiльшуСФться до 320 бiт, а засекречування таблицi замiн додаСФ додатковi бiти. Крiм того, крiптостiйкiсть залежить вiд кiлькостi раундiв перетворень, яких за ГОСТ 28147-89 повинне бути 32 (повний ефект розсiювання вхiдних даних досягаСФться вже пiсля 8 раундiв).

2.3 Стандарт AES

На вiдмiну вiд алгоритму ГОСТ 28147-89, що довгий час залишався секретним, американський стандарт шифрування AES, покликаний замiнити DES, вибирався на вiдкритому конкурсi, де всi зацiкавленi органiзацii i приватнi особи могли вивчати i коментувати алгоритми-претенденти.

Конкурс на замiну DES був оголошений в 1997 р. Нацiональним iнститутом стандартiв i технологiй США. На конкурс було представлено 15 алгоритмiв-претендентiв, розроблених як вiдомими в областi криптографii органiзацiями (RSA Security, Counterpane i т.д.), так i приватними особами. Пiдсумки конкурсу були пiдведенi в жовтнi 2009 р.: переможцем був оголошений алгоритм Rijndael, розроблений двома крiптографами з Бельгii, Винсентом Риджменом (Vincent Rijmen) i Джоан Даймен (Joan Daemen).

Алгоритм Rijndael не схожий на бiльшiсть вiдомих алгоритмiв симетричного шифрування, структура яких зветься "мережа Фейстеля" i аналогiчна росiйському ГОСТ 28147-89. Особливiсть мережi Фейстеля полягаСФ в тому, що вхiдне значення розбиваСФться на два i бiльше субблокiв, частина з яких у кожному раундi обробляСФться за певним законом, пiсля чого накладаСФться на необроблюванi субблоки (див. рис. 1).

На вiдмiну вiд вiтчизняного стандарту шифрування, алгоритм Rijndael представляСФ блок даних у виглядi двомiрного байтового масиву розмiром 4X4, 4X6 або 4X8 (допускаСФться використання декiлькох фiксованих розмiрiв шифруСФемого блоку iнформацii). Всi операцii виконуються з окремими байтами масиву, а також з незалежними стовпцями i рядками. Алгоритм Rijndael виконуСФ чотири перетворення: BS (ByteSub) - таблична замiна кожного байта масиву (рис. 3); SR (ShiftRow) - зсув рядкiв масиву (рис. 4). При цiй операцii перший рядок залишаСФться без змiн, а iншi циклiчно побайтно зсуються влiво на фiксоване число байт, що залежить вiд розмiру масиву. Наприклад, для масиву розмiром 4X4 рядки 2, 3 i 4 зсуються вiдповiдно на 1, 2 i 3 байти. Далi йде MC (MixColumn) - операцiя над незалежними стовпцями масиву (рис. 5), коли кожен стовпець за певним правилом множиться на фiксовану матрицю c(x). РЖ, нарештi, AK (AddRoundKey) - додавання ключа. Кожен бiт масиву складаСФться по модулю 2 з вiдповiдним ключем раунду, що, у свою чергу, певним чином обчислюСФться iз ключа шифрування (рис. 6).

Рисунок 3 Операцiя BS

Рисунок 4 Операцiя SR

Рисунок 5 Операцiя MC

Рисунок 6 Операцiя AK

У кожному раундi (з деякими виключеннями) над даними, що шифруються, по черзi виконуються перерахованi перетворення (рис. 7). Виключення стосуються першого i останнього раундiв: перед першим раундом додатково виконуСФться операцiя AK, а в останньому раундi вiдсутнiй MC. У результатi послiдовнiсть операцiй при шифруваннi виглядаСФ так:

AK, {BS, SR, MC, AK} (повторюСФться R-1 раз), BS, SR, AK.

Рисунок 7 Раунд алгоритму Rijndael

Кiлькiсть раундiв шифрування (R) в алгоритмi Rijndael змiнне (10, 12 або 14 раундiв) i залежить вiд розмiрiв блоку i ключа шифрування (для ключа також передбачено кiлька фiксованих розмiрiв).

Розшифрування виконуСФться за допомогою наступних зворотних операцiй. ВиконуСФться обiг таблицi i таблична замiна на iнверснiй таблицi (щодо застосовуваноi при шифруваннi). Зворотна операцiя до SR - це циклiчний зсув рядкiв вправо, а не влiво. Зворотна операцiя для MC - множення за тим же правилом на iншу матрицю d(x), що задовольняСФ умовi: c(x) * d(x) = 1. Додавання ключа AK СФ зворотним самому собi, оскiльки в ньому використаСФться тiльки операцiя XOR. Цi зворотнi операцii застосовуються при розшифруваннi в послiдовностi, зворотноi тiСФi, що використалася при шифруваннi.

Rijndael став новим стандартом шифрування даних завдяки цiлому ряду переваг перед iншими алгоритмами. Насамперед вiн забезпечуСФ високу швидкiсть шифрування на всiх платформах: як при програмнiй, так i при апаратнiй реалiзацii. Його вiдрiзняють незрiвнянно кращi можливостi розпаралелювання обчислень у порiвняннi з iншими алгоритмами, представленими на конкурс. Крiм того, вимоги до ресурсiв для його роботи мiнiмальнi, що важливо при його використаннi в пристроях, що володiють обмеженим