Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В ходе побайтовой замены каждый байт матрицы данных заменяется на новое значение того же размера, индексируя общий для всех байтов вектор замен S 8-в-8 бит:
yij = S[xij], 1£i£4, 1£j£n,
где n - число столбцов матрицы данных - 4,6 или 8. Единственный узел замен в шифре Rijndael конструируется с помощью следующего алгебраического соотношения:
S[y] = (x4+x3+x2+x+1) + y-1 (x7+x6+x5+x4+1) mod (x8+1).
При этом обращение ненулевых байтов осуществляется в описанном выше конечном поле GF(28), для нулевого байта полагают 0-1 = 0. Таким образом, байтовая замена определяется как обращение элемента-байта в конечном поле GF(28), доопределенное для нулевого элемента поля, с последующим аффинным преобразованием результата. Коэффициенты этого преобразования выбраны таким образом, чтоб у полученного узла замен отсутствовали точки неподвижности (S[y] = y), и "антинеподвижности" (S[y] = ~y). Тильдой (знаком "~") обозначена операция побитового дополнения своего аргумента.
Естественно, указанная выше формула для построения узла замен не предназначена для использования непосредственно во время шифрования - гораздо эффективнее использовать уже готовый узел замен:
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
0x | 7c | 7b | f2 | 6b | 6f | c5 | 2b | fe | d7 | ab | ||||||
1x | ca | c9 | 7d | fa | f0 | ad | d4 | a2 | af | 9c | a4 | c0 | ||||
2x | b7 | fd | 3f | f7 | cc | a5 | e5 | f1 | d8 | |||||||
3x | c7 | c3 | 9a | e2 | eb | b2 | ||||||||||
4x | 2c | 1a | 1b | 6e | 5a | a0 | 3b | d6 | b3 | e3 | 2f | |||||
5x | d1 | ed | fc | b1 | 5b | 6a | cb | be | 4a | 4c | cf | |||||
6x | d0 | ef | aa | fb | 4d | f9 | 7f | 3c | 9f | a8 | ||||||
7x | a3 | 8f | 9d | f5 | bc | b6 | da | ff | f3 | d2 | ||||||
8x | cd | 0c | ec | 5f | c4 | a7 | 7e | 3d | 5d | |||||||
9x | 4f | dc | 2a | ee | b8 | de | 5e | 0b | db | |||||||
Ax | e0 | 3a | 0a | 5c | c2 | d3 | ac | e4 | ||||||||
Bx | e7 | c8 | 6d | 8d | d5 | 4e | a9 | 6c | f4 | ea | 7a | ae | ||||
Cx | ba | 2e | 1c | a6 | b4 | c6 | e8 | dd | 1f | 4b | bd | 8b | 8a | |||
Dx | 3e | b5 | f6 | 0e | b9 | c1 | 1d | 9e | ||||||||
Ex | e1 | f8 | d9 | 8e | 9b | 1e | e9 | ce | df | |||||||
Fx | 8c | a1 | 0d | bf | e6 | 2d | 0f | b0 | bb |
Заменяющее значение выбирается на пересечении строки, определяемой старшей 16-ричной цифрой заменяемого значения, и столбца, определяемого его младшей цифрой.
Дата публикования: 2015-01-10; Прочитано: 289 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!