Анимация
JavaScript
|
Главная Библионтека / / / / / / / / Рис. 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
Рис 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 |