Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Опис алгоритму шифрування RIJNDAEL




На цей час в Україні, як і в Росії діє міждержавний стандарт симетричного шифрування ГОСТ 28147-89. В 1997 році національний інститут стандартів і технологій США (NIST) об’явив про початок програми по прийняттю нового стандарту криптографічного захисту для закриття важливої інформації урядового рівня. Фіналістом конкурсу став RIJNDAEL, AES (Advanced Encryption Standart) Федеральний стандарт шифрування США затверджений міністерством торгівлі США як стандарт 4 грудня 2001 року. Місце розробки 1997 рік, Бельгія. Автори Йоан Дамен (Joan Daemen) Винсент Раймен (Vincent Rijnmen).

Алгоритм симетричного блокового шифрування RIJNDAEL становить особливий інтерес як новий американський стандарт криптографічного захисту – стандарт ХХІ в. для закриття важливої інформації урядового рівня, що прийшов на заміну існуючому з 1974р. алгоритму DES, найпоширенішому криптоалгоритму у світі. В алгоритмі RIJNDAEL не виявлено слабостей у захисті.

Його відрізняють:

- висока ефективність на будь-яких платформах;

- високий рівень захищеності;

- шифр добре підходить для реалізації в smart-картах через низькі вимоги до пам'яті;

- швидка процедура формування ключа;

- гарна підтримка паралелізму на рівні інструкцій;

- підтримка різних довжин ключа з кроком у 32 біта.

Параметри шифру RIJNDAEL наведені в табл. 2.1.

 

Таблиця 2.1 – Параметри шифру RIJNDAEL

pозмір блока, біт 128, 192, 256
pозмір ключа, біт 128, 192, 256
число раундів 10, 12, 14
pозмір ключового елемента, біт 128, 192, 256 (дорівнює розміру блока)
число ключовых елементів 11, 13, 15 (на 1 більше числа раундів)

 

Кількість раундів шифрування залежить від розмірів ключа та блока.

 

Таблиця 2.2 – Кількість раундів шифрування

Розмір ключа      
Розмір блока
       
       
       

 

Один раунд шифрування на псевдокоді виглядає наступним чином:

 

Round (State,RoundKey)

{

ByteSub(State);

ShiftRow(State);

MixColumn(State);

AddRoundKey(State,RoundKey);

}

 

Останній раунд шифрування на псевдокоді виглядає так:

Round (State,RoundKey)

{

ByteSub(State);

ShiftRow(State);

AddRoundKey(State,RoundKey);

}

У цьому криптоалгоритмі деякі операції виконуються над байтами, що розглядаються як елементи поля GF(28). Елементами GF(28) є двійкові багаточлени степені N<8, що можуть бути задані рядком своїх коефіцієнтів. При такому представленні елементів поля додавання в полі GF(28) – це операція поразрядного XOR, а множення – це звичайна операція множення багаточленів з узяттям результату по модулю деякого незвідного двійкового багаточлена , з використанням операції XOR при приведенні подібних членів. У RIJNDAEL обраний незвідний поліном

показника 51.

Блок даних представляється у вигляді масиву значень.

 

Таблиця 2.3 – Представлення блоків даних

 

У процедурі ByteSub

змінюється на в полі Галуа .

 

 

Афінне перетворення діє за правилом:

У процедурі ShiftRow о

станні три рядки стану циклічно зсовуються на різне число байтів (C 1, C 2, C 3) у залежності від довжини блоку Nb.

 

Таблиця 2.4 – Зсув рядків

Nb C 1 C 2 C 3
       
       
       

 

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

:

 

 

.

 

Загальне число бітів раундових ключів дорівнює довжині блоку, помноженої на число раундів, плюс 1 (наприклад, для довжини блоку 128 біт і 10 циклів буде потрібно 1408 біт циклового ключа). Ключ шифрування розширюється в розширений ключ. Раундові ключі беруться з розширеного ключа в такий спосіб: перший раундовий ключ містить перші Nb слів, другий – наступні Nb слів і т.д.

 

Режими шифрування

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

Передбачено можливість функціонування блокових шифрів у наступних режимах шифрування:

- режим електронна кодова книга (ECB);

- режим зціплення блоків шифротексту (CBC);

- режим зворотного зв’язку по шифротексту (CFB);

- режим зворотного зв’язку по виходу (OFB);

- режим шифрування з лічильником (Counter).

На рисунках 2.1 – 2.5 приведені схеми шифрування в цих режимах. Використані наступні позначення:

Pі – і-й блок відкритого тексту;

Ek – функція зашифрування на ключі k;

Cі – і-й блок зашифрованого тексту;

Dk – функція розшифрування на ключі k;

Si – і-те значення лічільнику;

S0 – синхропосилка.

 

 

Рисунок 2.1 – Режим електронна кодова книга (ECB)

 

Рисунок 2.2 – Режим зціплення блоків шифротексту (CBC)

 

Рисунок 2.3 – Режим зворотного зв’язку по шифротексту (CFB)

 

Рисунок 2.4 – Режим зворотного зв’язку по виходу (OFB)

 

Рисунок 2.5 – Режим шифрування з лічильником (Counter)

 

Розглянуті режими шифрування представлені в документі Recommendation for Block Cipher Modes of Operation. NIST Special Publication 800-38A. Technology Administration U.S.Department of Commerce. 2001 Edition, що був виданий NIST США і має назву «Рекомендації для режимів шифрування з блоковим шифром».






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных