Интернет магазин китайских планшетных компьютеров |
||||||||||||||||
Компьютеры - Whirlpool (криптография) - Описание30 марта 2011Оглавление: 1. Whirlpool (криптография) 2. Описание 3. Криптостойкость 4. Применение ВведениеВ данной статье описывается последняя версия Whirlpool. В отличие от первой версии S-box определен, а диффузная матрица заменена на новую после доклада Taizo Shirai и Kyoji Shibutani . Whirlpool состоит из повторного применения функции сжатия , основой которой является специальный 512-битный блочный шифр W с 512-битным ключом. Используемые обозначения и операцииВ алгоритме используются операции в поле Галуа Многочлены для краткости записываются в шестнадцатеричном представлении. Например, запись
Формат данныхКак уже говорилось выше, Whirlpool построена на специальном блочном шифре W, который работает с 512-битными данными. В преобразованиях промежуточный результат вычисления хеша называется хеш-состоянием или просто состоянием. При вычислениях состояние обычно представляется матрицей состояния. Для Whirlpool это матрица в Проще говоря, заполнение матрицы состояния данными происходит построчно. При этом каждый байт матрицы представляет собой соответствующий многочлен в ПреобразованияНелинейное преобразование γФункция Блок подстановки описывается следующей таблицей замен:
Циклическая перестановка πПерестановка Задача данного преобразования перемешать байты строк матрицы состояния между собой. Линейная диффузия θЛинейная диффузия
Другими словами, матрица состояния умножается справа на матрицу
Как уже упоминалось выше, MDS матрица в последней версии Whirlpool была изменена благодаря статье Taizo Shirai и Kyoji Shibutani . Они проанализировали MDS матрицу второй версии Whirlpool и указали на возможность повышения устойчивости Whirlpool к дифференциальному криптоанализу. Также они предложили 224 кандидата на место новой MDS матрицы . Из этого списка авторы Whirlpool выбрали вариант, наиболее легко реализуемый в аппаратном обеспечении. Добавление ключа σФункция добавления ключа Константы раунда cВ каждом раунде Отсюда видно, что первая строка матрицы c является результатом применения блока подстановки S к байтовым числам Остальные 7 строк нулевые. Функция раунда ρДля каждого раунда Расширение ключаДля каждого раунда Таким образом, из известного ключа K производится необходимая последовательность K,...,K ключей для каждого раунда блочного шифра W. Блочный шифр WСпециальный 512-битный блочный шифр где ключи K,...,K порождены описанной выше процедурой расширения ключа. В хеш-функции Whirlpool число раундов R = 10. Дополнение входного сообщенияWhirlpool, как и любая другая хеш-функция, должна осуществлять хеширование сообщения произвольной длины. Поскольку внутренний блок шифрования W работает с 512-битными входными сообщениями, то исходное сообщение необходимо разбить на блоки по 512 бит. При этом последний блок, который содержит конец сообщения, может оказаться не полным. Для решения данной задачи Whirlpool использует алгоритм Меркле-Дамгаарда дополнения входного сообщения. Результатом дополнения сообщения M является сообщение M', длина которого кратна 512. Пусть L длина исходного сообщения. Тогда M' получается в несколько шагов:
Дополненное сообщение M' записывается в виде и разбивается на 512-битные блоки для дальнейшей обработки. Функция сжатия
Функция сжатия Whirlpool
В Whirlpool применяется схема хеширования Miyaguchi-Preneel .
где IV) — 512-битная строка, заполненная "0". Вычисление хешаДайджестом для сообщения M является выходное значение Ht функции сжатия, преобразованное обратно в 512-битную строку: Просмотров: 5515
|