Тройка
![]() | |
Общий | |
---|---|
Дизайнеры | Брюс Шнайер , Нильс Фергюсон , Стефан Лакс , Даг Уайтинг, Михир Белларе , Тадаёши Коно, Джон Каллас , Джесси Уокер |
Впервые опубликовано | 2008 |
Связано с | Иглобрюхая рыба , Две рыбы |
Деталь шифрования | |
Размеры ключей | 256, 512 или 1024 бита (размер ключа равен размеру блока) |
Размеры блоков | 256, 512 или 1024 бита |
Раунды | 72 (80 для размера блока 1024 бита) |
Скорость | 6.1 cpb на Core 2 . [1] |
Лучший публичный криптоанализ | |
атака, сочетающая ротационный криптоанализ с атакой отскока В октябре 2010 года была опубликована . Атака отличается известным ключом против 53 из 72 раундов в Threefish-256 и 57 из 72 раундов в Threefish-512. Это также влияет на хеш-функцию Skein . [2] |
Threefish — это с симметричным ключом, настраиваемый блочный шифр разработанный как часть хеш-функции Skein , участника конкурса хэш-функций NIST . Threefish не использует S-блоки или другие поиски по таблицам, чтобы избежать атак по таймингу кэша ; [1] его нелинейность возникает из-за чередующихся дополнений с исключающими ИЛИ . В этом отношении он похож на Salsa20 , TEA и кандидатов на SHA-3 CubeHash и BLAKE .
Threefish и хеш-функция Skein были разработаны Брюсом Шнайером , Нильсом Фергюсоном , Стефаном Лаксом , Дугом Уайтингом, Михиром Белларе , Тадаёши Коно, Джоном Калласом и Джесси Уокером.
Описание шифра [ править ]
Threefish работает со словами длиной 64 бита ( с прямым порядком байтов целые числа без знака ). — количество слов открытого текста, а также ключевых слов. Твик состоит из двух слов. Все сложения и вычитания определяются по модулю. .
Ключевое расписание [ править ]
Трирыбка шифрует в раунды и использование разные круглые ключи. После каждых четырех раундов и перед первым ключевые слова раунда добавляются в слова данных. Для расчета раундовых ключей необходимо дополнительное ключевое слово добавляется к исходным ключевым словам . Также дополнительное слово настройки добавляется к словам настройки .
Назначение, казалось бы, произвольной константы состоит в том, чтобы сорвать некоторые атаки, которые используют в своих интересах отношения между и другие ключевые слова.
Круглые ключевые слова теперь определяются следующим образом:
Здесь , где - номер раунда, в котором ключевое слово раунда используется.
Функция смешивания [ править ]

Функция mix принимает кортеж слов и возвращает еще один кортеж слов . Функция определяется следующим образом:
представляет собой фиксированный набор констант вращения, выбранный для достижения быстрой диффузии .
Трейд-ин [ править ]
На этапе перестановки позиции слов меняются местами в соответствии с постоянным шаблоном.Перестановка на уровне битов на этом этапе не достигается, но в этом нет необходимости, поскольку функции MIXобеспечивает перестановки на уровне битов в форме побитового вращения. [ нужна ссылка ] Шаг перестановки и константы вращенияв функциях MIX выбраны таким образом, что общий эффект представляет собой полную диффузию всех битов.в блоке данных. [ нужна ссылка ]
Поскольку эта перестановка фиксирована и не зависит от ключа, время, необходимое для ее вычисления, не обеспечивает информация о ключе или открытом тексте. Это важно, поскольку производительность большинства современных микропроцессоров Оптимизация может привести к тому, что время, необходимое для вычисления операции с массивом, будет зависеть от того, где данные хранятся в памяти.В шифрах, где поиск в массиве зависит либо от ключа, либо от открытого текста (как в случае этапа замены в AES),он может сделать шифр уязвимым для атак по времени , исследуя необходимое времядля шифрования. Таким образом, перестановка намеренно разработана так, чтобы гарантировать, что она будет выполняться одинаковым образом.независимо от используемого ключа или зашифрованных данных. [ нужна ссылка ]
Полный раунд Threefish
- если круглый ключ добавляется к слову
- функция смешивания применяется к парам слов, ширина вращения зависит от круглого числа и пара слов
- слова переставляются с использованием перестановки, независимой от круглого числа
Threefish256 и Threefish512 применяют этот раунд. раз ( ). Threefish1024 применяет его 80 раз ( ).
Заключительные операции [ править ]
После применения всех раундов ключевые слова последнего раунда добавляются к словам, и слова преобразуются обратно в строку байтов.
Безопасность [ править ]
атака, сочетающая ротационный криптоанализ с атакой отскока В октябре 2010 года была опубликована . Атака отличается известным ключом против 53 из 72 раундов в Threefish-256 и 57 из 72 раундов в Threefish-512. Это также влияет на хеш-функцию Skein . [2] Это продолжение предыдущей атаки, опубликованной в феврале, которая состоит из 39 и 42 раундов соответственно. [3] В ответ на эту атаку команда Skein изменила константы вращения, используемые в Threefish, и, таким образом, ключевые константы расписания для третьего раунда конкурса хэш-функций NIST. [1]
В 2009 году была опубликована соответствующая ключевая атака бумерангом на уменьшенную круглую версию Threefish. Для версии с 32 раундами временная сложность равна и сложность памяти ; для версии с 33 раундами временная сложность равна с незначительным использованием памяти. Атаки также работают против измененной версии Threefish: для версии с 32 раундами временная сложность равна и сложность памяти ; для версии с 33 раундами временная сложность равна с незначительным использованием памяти. [4]
См. также [ править ]
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б с Фергюсон, Нильс; Удачи, Стефан; Шнайер, Брюс; Уайтинг, Дуг; Белларе, Михир; Коно, Тадаёси; Каллас, Джон; Уокер, Джесси (1 октября 2010 г.), Семейство хэш-функций Skein (PDF) , заархивировано из оригинала (PDF) 24 августа 2014 г. Документ, в котором был представлен Threefish.
- ↑ Перейти обратно: Перейти обратно: а б Ховратович Дмитрий; Николич, Ивица; Рехбергер, Кристиан (2014). «Вращательные атаки с отскоком на уменьшенный моток» . Журнал криптологии . 27 (3): 452–479. дои : 10.1007/S00145-013-9150-0 .
- ^ Ховратович Дмитрий; Николич, Ивица (2010). «Ротационный криптоанализ ARX» . В Хонге, Сохи; Ивата, Тецу (ред.). Быстрое программное шифрование, 17-й международный семинар, FSE 2010, Сеул, Корея, 7–10 февраля 2010 г., Пересмотренные избранные статьи . Конспекты лекций по информатике. Том. 6147. Спрингер. стр. 333–346. дои : 10.1007/978-3-642-13858-4_19 .
- ^ Чен, Цзячжэ; Цзя, Кэтинг (2010). «Улучшенные атаки бумерангом связанными клавишами на Threefish-512 с уменьшенным количеством раундов» . В Кваке, Джин; Дэн, Роберт Х.; Вон, Юджэ; Ван, Гуйлинь (ред.). Информационная безопасность, практика и опыт, 6-я Международная конференция ISPEC 2010, Сеул, Корея, 12–13 мая 2010 г. Труды . Конспекты лекций по информатике. Том. 6047. Спрингер. стр. 1–18. дои : 10.1007/978-3-642-12827-1_1 .