Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Реалізація криптографічного алгоритму (AES) Rijndael

Реферат Реалізація криптографічного алгоритму (AES) Rijndael





а

В· Алгоритм вибору раундового ключа (ключа ітерації)

Алгоритм розширення ключа

AES алгоритм, використовуючи процедуру KeyExpansion () і подаючи до неї Cipher Key, K, отримує ключі для всіх раундів. Всього вона отримує Nb * (Nr + 1) слів: спочатку для алгоритму потрібно набір з Nb слів, і кожному з Nr раундів потрібно Nb ключових набору даних. Отриманий масив ключів для раундів позначається як, . Алгоритм KeyExpansion () показаний в псевдо коді нижче.

Функція SubWord () бере чотирьохбайтове вхідне слово і застосовує S-box до кожного з чотирьох байтів те, що вийшло подається на вихід. На вхід RotWord () подається слово [a0, a1, a2, a3] яке вона циклічно переставляє і повертає [a1, a2, a3, a0]. Масив слів, слів постійний для даного раунду, , містить значення [xi? 1,00,00,00], де x = {02}, а xi? 1 є ступенем x в (i починається з 1).

З малюнка можна побачити, що перші Nk слів розширеного ключа заповнені Cipher Key. У кожне наступне слово, w [i], кладеться значення отримане при операції XOR w [i? 1] і , ті XOR а попереднього і на Nk позицій раніше слів. Для слів, позиція яких кратна Nk, перед XOR му до w [i-1] застосовується трасформації, за якою слідує XOR з константою раунду Rcon [i]. Зазначена вище трансформація складається з циклічного зсуву байтів в слові (RotWord ()), за якою слідує процедура SubWord () - те ж саме, що і SubBytes (), тільки вхідні і вихідні дані будуть розміром в слово.

Важливо зауважити, що процедура KeyExpansion () для 256 бітного Cipher Key трохи відрізняється від тих, які застосовуються для 128 і 192 бітних шіфроключей. Якщо Nk = 8 і i? 4 кратно Nk, то SubWord () застосовується до w [i? 1] до XOR а.

KeyExpansion (byte key [4 * Nk], word w [Nb * (Nr +1)], Nk)

Псевдокод для Key Expansion


begintemp = 0; (i 6 and i mod Nk = 4) = SubWord (temp) if [i] = w [i-Nk] xor temp = i + 1while


Псевдокод для Key Expansion

Розшифрування

Псевдокоддля Inverse Cipher

InvCipher (byte in [4 * Nb], byte out [4 * Nb], word w [Nb * (Nr +1)]) state [4, Nb] = in (state, w [Nr * Nb, (Nr +1) * Nb-1]) round = Nr-1 step -1 downto 1 (state) (state) (state, w [round * Nb, (round +1) * Nb-1 ]) (state) for (state) (state) (state, w [Nr * N...


Назад | сторінка 6 з 27 | Наступна сторінка





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

  • Реферат на тему: Значення багатозначних слів у рекламних текстах
  • Реферат на тему: Архаїчне Значення слів у словнику української мови
  • Реферат на тему: Розпізнавання ключових слів у потоці мовлення за допомогою фонетичного стен ...
  • Реферат на тему: Походження слів та виразів
  • Реферат на тему: Вплив музики і слів на рослина