Линейное преобразование (Stribog)
В хеш-функции Стрибог во внутреннем шифре используется линейное преобразование L. Это преобразование выполняется путем умножения строки матрицы состояния на некоторую фиксированную матрицу. В ГОСТ Р 34.11 – 2012 не описан способ построения этой матрицы. Хотел бы узнать по какому принципу была построена эта матрица преобразовния?
Ссылки
[link1] https://en.wikipedia.org/wiki/Rijndael_mix_columns
Точно не знаю, но очень похоже на Rijndael mix columns[link1], только взяли другой неприводимый многочлен в F(28) и другой циркулянт для исходной матрицы. В AES эти параметры выбирали по принципу оптимизации получающихся диффузионных свойств в отношении расхода ресурсов.
Почему в шифрах обчыно используют неприводимые многочлены для построения линейных преобразований? Почему нельзя взять приводимый многочлен?
Тогда не будет естественным образом создаваться обратимого преобразования (перестановки).
Так Стрибог это же хеш-функция и обратимости линейного преобразование не требуется? Или все таки требуется?
Хэш-функция, конструкия функции сжатия которой использует в своей основе блочный шифр.