Главная страница

4 розд моног 2014. Обрунтування та аналіз математичних моделей симетричних блокових перетворень


Скачать 1.18 Mb.
НазваниеОбрунтування та аналіз математичних моделей симетричних блокових перетворень
Дата11.01.2022
Размер1.18 Mb.
Формат файлаdocx
Имя файла4 розд моног 2014.docx
ТипОбґрунтування
#328434
страница3 из 7
1   2   3   4   5   6   7



Внутрішній стан базового перетворення

g0,0

g0,1

g0,2

g0,3

g0,4

g0,5

g0,6

g0,7

g1,0

g1,1

g1,2

g1,3

g1,4

g1,5

g1,6

g1,7

g2,0

g2,1

g2,2

g2,3

g2,4

g2,5

g2,6

g2,7

g3,0

g3,1

g3,2

g3,3

g3,4

g3,5

g3,6

g3,7

g4,0

g4,1

g4,2

g4,3

g4,4

g4,5

g4,6

g4,7

g5,0

g5,1

g5,2

g5,3

g5,4

g5,5

g5,6

g5,7

g6,0

g6,1

g6,2

g6,3

g6,4

g6,5

g6,6

g6,7

g7,0

g7,1

g7,2

g7,3

g7,4

g7,5

g7,6

g7,7


Рис. 4.3 Заповнення внутрішнього стану

4.3.4 Алгоритм зашифрування в базовому режимі

Структура перетворення. Базове перетворення зашифрування визначено у такому вигляді [3-4]:

, ( 4.23)

Де:

  • – розмір внутрішнього стану блокового шифру у бітах;

  • – ключ зашифрування;

  • – довжина ключа шифрування у бітах;

  • – функція додавання циклового ключа ( ) за модулем 264;

  • – шар нелінійного бієктивного відображення, який виконує обробку векторів, що задані над (байтова підстановка);

  • – перестановка елементів внутрішнього стану (циклічний зсув рядків вправо при матричному поданні);

  • – лінійне перетворення, що здійснюється засобом множення матриці лінійного перетворення на матрицю внутрішнього стану над скінченним полем;

  • – функція додавання циклового ключа ( ) за модулем 2 , яа реалізує інволютивне перетворення.

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

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

Функція додавання циклового ключа за модулем 264. здійснює додавання за модулем 264 стовпців матриці внутрішнього стану і стовпців матриці циклового ключа , при цьому результат також є матрицею розміром байтів, тобто внутрішнім станом після додавання ключа. При чому при додаванні найменш значущі байти мають менший індекс, тобто використовується формат little endian[ ].

Шар нелінійного бієктивного відображення. Функція виконує заміну кожного елементу матриці внутрішнього стану на , де - засобом застосування випадкової підстановки[4].

Наприклад, нехай , тоді .

Перестановка елементів. Функція виконує циклічний зсув вправо рядків матриці стану . Кількість елементів зсуву залежить від номеру рядку , розміру блоку , та обчислюється за формулою .

Наприклад, 5-й рядок матриці стану шифру з 256-бітовим блоком зсувається вправо на 2 елемента.

Лінійне перетворення. При обчисленні результату функції кожен елемент матриці внутрішнього стану розглядається як елемент скінченного поля , що утворене незвідним поліномом = x8 + x4 + x3 + x2 + 1, або 0х11d у шістнадцятковому поданні.

Кожен елемент результуючої матриці стану отримується як результат множення векторів довжини 8 над скінченним полем згідно формули [ ]

, (4.24)

де – вектор, що утворює циркулянтну матрицю МДР - коду і складається з послідовності байтових констант у шістнадцятковому поданні, які інтерпретуються як елементи поля , при цьому циклічний зсув виконується відносно елементів вектора над скінченним полем[ ] ;

–й стовпець матриці стану .

Функція додавання циклового ключа за модулем 2. Функція має два вхідних аргументи: (внутрішній стан шифру) і (цикловий ключ -ї ітерації), кожен з яких поданий як матриця розміром байтів.

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

4.3.5 алгоритм розшифрування в базовому режимі.

Базове перетворення розшифрування. Базове перетворення розшифрування визначено наступним чином:

, (4.25)

де:

  • – розмір внутрішнього стану блокового шифру (у бітах);

  • – ключ шифрування;

  • – довжина ключа шифрування (у бітах);

  • – функція віднімання циклового ключа ( ) за модулем 264 (зворотна до );

  • – зворотне лінійне перетворення (множення матриці зворотного лінійного перетворення на матрицю внутрішнього стану над скінченним полем);

  • – зворотна перестановка елементів внутрішнього стану (циклічний зсув рядків вліво при матричному поданні);

  • – шар зворотного нелінійного бієктивного відображення, який виконує обробку векторів, заданих над (зворотна байтова підстановка);

  • – інволютивна функція додавання циклового ключа ( ) за модулем 2 (однакова для зашифрування і розшифрування).

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

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

Функція віднімання циклового ключа за модулем 264. є зворотною до і здійснює віднімання за модулем 264 стовпців матриці циклового ключа від стовпців матриці внутрішнього стану , при цьому результат також є матрицею розміром байтів (внутрішнім станом після віднімання[3-4].

При виконанні віднімання найменш значущі байти мають менший індекс, тобто використовується формат little endian[ ].

Шар зворотного нелінійного бієктивного відображення. Функція виконує заміну кожного елементу матриці внутрішнього стану на , де - підстановки, які наведені у додатку А[ ].

Наприклад, нехай , тоді .

Зворотна перестановка елементів. Функція виконує циклічний зсув вліво рядків матриці стану . Кількість елементів зсуву залежить від номеру рядку розміру блоку , та обчислюється за формулою
1   2   3   4   5   6   7


написать администратору сайта