Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [ 34 ] 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

/ / / /

/ / / /

Рис. 2.9.2. Шифр САТЕ-2: а- разделение на слои вдоль оси х; б - отдельный слой Lxk, А: = О, 3

Рис. 2.9.3. Шифр САТЕ-2: а - р азделение на слои вдоль оси у; б - отдельный слой i, А: = 0,3

y-7 У1

X / / у

С->



2.9.4. Шифр САТЕ-2: а-

разделение на слои вдоль оси z; б - отдельный слой U, А: = О, 3



Ассемблер в задачах защиты информ; лаза lP°P:}P:il.

"71

/ / /

7 У

MixRcw

/ /

/ / У

MixRm

MixRow

,-*-

Рис 2.9.5. Преобразование MixLayer: а - перемешивание слоя по строкам,;

б - перемешивание слоя по столбцам.; Ri, Ci - исходное состояние соответственно i-u строки i

столбца; Ri, Ci - результат преобразования соответственно i - й строки и i -го столбца (г = 0,3 )


[Counter Р "


Рис 2.9.6. Преобразование 32-разрядного слова MixWord:

Counter - счетчик, usMeHflrooiuij свое состояние в каждом такте преобразования, RSm - 8-разрядный стохастический сумматор (R-блок)

Блочный шифр GATE-3. Основные идеи, лежащие в основе проекта:

представление входных и выходных блоков данных, всех промежуточных результг тов преобразований в виде кубического массива байтов 4x4x4 (рис. 2.9.1, а);

использование секретного ключа произвольного размера (до 256 байтов);

включение в состав раундовой операции всего двух преобразований - перемещивани слоя по горизонтали (MixLayerRight) и перемещивания слоя по вертикал (MixColumnDown);

использование стохастического сумматора при выполнении преобразований Mixlayei Последовательность раундового преобразования блока данных (MixBlock) размеро

512 бит (4x4x4x8), имеющего структуру, показанную на рис. 2.9.1, где а, у,

X = 0,3, :V = 0,3,2 = 03 - байты:

1) разбиение блока данных на слои (Layers) L, Lu Li, Ьг вдоль оси х (рис. 2.9.2);

2) перемещивание слоев (MixLayer) Lq, L.,i, L2, Li путем выполнения для каждого слс Lxi, операций MixLayerRight и MixLayerDown;

3) разбиение блока данных на слои Lyo, Lyu Ly2, Ly вдоль оси>» (рис. 2.9.3);

4) перемещивание слоев (MixLayer) Ly, Lyi, Ly2, Ly путем выполнения для каждого слс ik операций MixLayerRight и MixLayerDown;

5) разбиение блока данных на слои L, Li, L22, L вдоль оси z (рис. 2.9.4);

6) перемешивание слоев (MixLayer) L, Lu L2, zs путем выполнения для каждого слс 4к операций MixLayerRight и MixLayerDown.

Преобразования, осуществляемые при выполнении функции MixLayer, показаны i Рис. 2.9.7. Преобразование слова MixLayer, в котором участвуют 32-разрядные слов; "оки (MixLayerDown) и 32-разрядные слова-столбцы (MixLayerRight) w, показаны i Рис. 2.9.8.



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

UixLayerRiglit

Counter


Puc. 2.9.8. Преобразования MixLayerDown u MixLayerRight: a - схема преобразования; б - вариант схемы 32-разрядного стохастического сумматора КЗтзг; в - условное графическое обозначение 8-разрядного стохастического сумматора RSm; Counter - счетчик, изменяющий свое состояние в каждом такте преобразования

Рис. 2.9.7. Преобразования MixLayerDown и MixLayerRight



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [ 34 ] 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88