Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Схеми шифрування AES, RC4, RC5, RC6, Twofish, Mars

Реферат Схеми шифрування AES, RC4, RC5, RC6, Twofish, Mars





> ключ шифрування розширюється в розширений ключ (Expanded Key);

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

Розширення (планування) ключа

Розширений ключ (Малюнок 3.6) являє собою лінійний масив w [i] складається з A (Nr +1) 4-байтових слів, i = О, 4 (Nr +1).


В 

Малюнок 1.6 В«Процедури розширення та вибірки раундового ключа для Nk = 4 В».


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

Темно-сірим кольором, виділені слова розширеного ключа, при обчисленні яких використовуються перетворення SubWord () і RotWord ()) В»

Перші Nk слів містять ключ шифрування. Кожне наступне слово w [i] виходить за допомогою XOR попереднього слова w [i-1] і слова на Nk позицій раніше:

w [i-Nk]: w [i] = w [i-1] Г… w [i- Nk]. p> Для слів, позиція яких кратна Nk, перед XOR застосовується перетворення до w [i-1], а потім ще додається раундова константа Rcon [i]. Перетворення реалізується за допомогою двох додаткових функцій: RotWord () і SubWord (). p> Значення Rcon [j] дорівнює 2j-1. Значення w [i] в ​​цьому випадку визначається виразом: w [i] = SubWord (RotWord (w [i-1]) Г… Rcon [i/Nk] Г… M [i-Nk].

Вибір раундового ключа i-тий раундовий ключ вибирається з слів масиву розширеного ключа в проміжку від W [Nb * i] до W [Nb * (i +1)].

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

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


В 

Малюнок 1.7 В«Додаткове перетворення розширеного ключа для функції прямого розшифрування В»


раундовому перетворення

раундовому перетворення складається з послідовного застосування до масиву State ряду трансформацій .. Зараз обговоримо деталі його реалізації.

Нелінійна заміна байтів масиву стану за допомогою трансформації SubBytesQ має вигляд:


В 

Багаторазове обчислення в процесі зашифрування даного вираження справляло б невиправдану обчислювальну навантаження на виконуючу систему, тому для практичної реалізації найбільш прийнятним рішенням є використання попередньо обчисленої таблиці заміни S-Box. Логіка роботи S-Box при перетворенні байта {ху} відображена в шістнадцятковому вигляді на Малюнку 1.8:


В 

Малюнок 1.8 В«Таблиця S-Box заміни байтВ»


Її використання зводить операцію SubBytesQ до найпростішої вибірці байта з масиву О» (f) = Sbox [f].

У функціях розшифрування застосовується операція зворотна InvSub-Bytes (). p> Вона реалізується так само просто, як і попередня допомогою інверсної таблиці S-Box - О»-1 (f) = InvSbox [f]., її логіка роботи при перетворенні байта {ху} відображена в шістнадцятковому вигляді на Малюнку 1.9


В 

Малюнок 1.9 В«Таблиця S-Box інверсної заміни байтВ»


Малюнок 1.10 ілюструє застосування перетворення заміни байт до стану у функціях шифрування і розшифрування:


В 

Малюнок 1.10 В«Перетворення стану за допомогою таблиці заміни S-Box В»


У перетворення зсуву рядків (ShiftRows) останні 3 рядка стану циклічно зсуваються вліво на різне число байтів. Рядок 1 зсувається на С1 байт, рядок 2 - на С2 байт, і рядок 3 - на Сз байт. Значення зрушень С1, С2 і С3 у Rijndael залежать від довжини блоку Nb. br/>В 

Малюнок 1.11 В«Перетворення зсуву рядків у функції зашифрування В»


У перетворення зворотного зсуву рядків InvShiftRows останні 3 рядки стану циклічно зсуваються вправо на різне число байтів. Рядок 1 зсувається на С1байт, рядок 2 - на С2 байт, і рядок 3 - на С3 байт. p> Перемішування стовпців

У перетворення перемішування стовпців (MixColumns) стовпці стану розглядаються як многочлени над GF (2S) і піддаються перетворенню/j, (g) = с * gmod (Y4 +1), де з = (Х, 1,1, Х +1), т.е множаться за модулем х4 + 1 на многочлен з (х), що виглядає, як: с (х) = {03} х3 + {01} х2 + {01} х + {02}. p> Це перетворення може бути представлене в матричному вигляді наступним чином:


В 

Застосування цієї операції до всіх чотирьох стовпцях стану позначається, як MixColumns (State). Малюнок 1.13 демонструє застосування перетворення MixColumnsQ до колонки стану.

В 

Малюнок 1.13. В«Операція перемішування діє на стовпці стану В»


У зворотному перетворенні InvMixColumnsQ стовпці стану розглядаються як многочлени над GF (2S), але, природно, піддаються зворо...


Назад | сторінка 4 з 8 | Наступна сторінка





Схожі реферати:

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