id: Гость   вход   регистрация
текущее время 01:07 20/04/2024
Автор темы: Гость, тема открыта 01/12/2014 21:44 Печать
Категории: криптоанализ, атаки
http://www.pgpru.com/Форум/Криптография/AESлинейноеПреобразование
создать
просмотр
ссылки

AES (линейное преобразование)


Здесь есть матрица для AES https://github.com/okazymyrov/MDS/blob/master/Data.sage. Есть пара вопросов:
1) Зачем для AES используется многочлен modulus = x^8+x^4+x^3+x+1? Там же вроде как должен быть m(x) = x^4 + 1.
2) Для реализации преобразования можно использовать как матрицу над GF(2^8), так и соответствующую двоичную матрицу?



 
Комментарии
— unknown (02/12/2014 09:46)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
2.1.2 Multiplication

In the polynomial representation, multiplication in GF(2) corresponds with multiplication of polynomials modulo an irreducible binary polynomial of degree 8. A polynomial is irreducible if it has no divisors other than 1 and itself. For Rijndael, this polynomial is called m(x ) and given by 8
m(x) = x8 + x4 + x3 + x + 1
or ‘11B’ in hexadecimal representation.


The multiplication defined above is associative and there is a neutral element (‘01’). For any binary polynomial b(x) of degree below 8, the extended algorithm of Euclid can be used to compute polynomials a(x), c(x) such that b(x)a(x) + m(x)c(x) = 1. Hence, a(x) • b(x) mod m(x) = 1 or b−1(x) = a(x) mod m(x)


© Joan Daemen, Vincent Rijmen "The Rijndael Block Cipher. AES Proposal."


А по модулю 1 + x4 — это не умножению многочленов, а умножение многочлена на число (возведение в степень числа x, получающаяся циклическим сдвигом байтов внутри вектора). Действительно, в MixColumn (линейном смешивании) именно это и используется. Что имеется в виду по вашей ссылке — не разбирал. Возможно, судя по операции, нелинейный слой S-блоков или соединение его с линейным в одну операцию.

По поводу второго вопроса — представлять матрицу можно в любом удобном виде, результат от этого не поменяется.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3