Тигр (хэш-функция)
Общий | |
---|---|
Дизайнеры | Росс Андерсон и Эли Бихам |
Впервые опубликовано | 1996 |
Деталь | |
Размеры дайджеста | 192, 128, 160 |
Раунды | 24 |
В криптографии Тигр [ 1 ] — это криптографическая хэш-функция, разработанная Россом Андерсоном и Эли Бихамом в 1995 году для повышения эффективности на 64-битных платформах. Размер хеш-значения Tiger составляет 192 бита. Усеченные версии (известные как Tiger/128 и Tiger/160) могут использоваться для совместимости с протоколами, предполагающими определенный размер хеша. В отличие от семейства SHA-2 , особые значения инициализации не определены; это просто префиксы полного хеш-значения Tiger/192.
Тигр2 [ 2 ] это вариант, в котором сообщение дополняется путем добавления байта с шестнадцатеричным значением 0x80, как в MD4 , MD5 и SHA , а не с шестнадцатеричным значением 0x01, как в случае Tiger. В остальном оба варианта идентичны.
Алгоритм
[ редактировать ]Тигр основан на конструкции Меркла-Дамгорда . Функция одностороннего сжатия работает с 64-битными словами, сохраняя 3 слова состояния и обрабатывая 8 слов данных. Существует 24 раунда, в которых используется комбинация операций смешивания с исключающим ИЛИ и сложением/вычитанием, поворотом и поиском в S-блоке , а также довольно сложный алгоритм планирования ключей для получения 24 раундовых ключей из 8 входных слов.
Несмотря на быстроту программного обеспечения, большие S-блоки Tiger (четыре S-блока, каждый с 256 64-битными записями общим объемом 8 КиБ ) затрудняют реализацию аппаратных средств или микроконтроллеров . [ нужна ссылка ]
Использование
[ редактировать ]Tiger часто используется в форме хеш-дерева Меркла , где он называется TTH ( Tiger Tree Hash ). TTH используется многими клиентами в сетях обмена файлами Direct Connect и Gnutella и может быть дополнительно включен в BitTorrent. метафайл [ 3 ] для лучшей доступности контента.
Рассматривался вариант включения Tiger в стандарт OpenPGP , но от него отказались в пользу RIPEMD -160. [ 4 ] [ 5 ]
СПИД
[ редактировать ]В RFC 2440 TIGER упоминается как не имеющий OID , тогда как в стандартах кодирования GNU TIGER указан как имеющий OID. 1.3.6.1.4.1.11591.12.2
. [ 6 ] В поддереве IPSEC HMAC-TIGER назначается OID. 1.3.6.1.5.5.8.1.3
. [ 7 ] OID для TTH пока не объявлен.
Порядок байтов
[ редактировать ]Спецификация Tiger не определяет способ вывода вывода, а только определяет результат как три упорядоченных 64-битных целых числа. Программа «testtiger» на домашней странице автора была предназначена для облегчения тестирования исходного кода теста, а не для определения какого-либо конкретного порядка печати. Протоколы Direct Connect и ADC, а также программа tthsum
используйте порядок байтов с прямым порядком байтов, который также предпочитает один из авторов. [ 8 ]
Примеры
[ редактировать ]В приведенном ниже примере 192-битные (24-байтовые) хэши Tiger представлены как 48 шестнадцатеричных цифр в порядке байтов с прямым порядком байтов. Ниже показаны 43-байтовые входные данные ASCII и соответствующие хэши Tiger:
Tiger("The quick brown fox jumps over the lazy dog") = 6d12a41e72e644f017b6f0e2f7b44c6285f06dd5d2c5b075 Tiger2("The quick brown fox jumps over the lazy dog") = 976abff8062a2e9dcea3a1ace966ed9c19cb85558b4976d8
Даже небольшое изменение в сообщении (с очень высокой вероятностью) приведет к совершенно другому хешу, например, изменению д, чтобы с :
Tiger("The quick brown fox jumps over the lazy cog") = a8f04b0f7201a0d728101c9d26525b31764a3493fcd8458f Tiger2("The quick brown fox jumps over the lazy cog") = 09c11330283a27efb51930aa7dc1ec624ff738a8d9bdd3df
Хэш строки нулевой длины:
Tiger("") = 3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3 Tiger2("") = 4441be75f6018773c206c22745374b924aa8313fef919f41
Криптоанализ
[ редактировать ]В отличие от MD5 или SHA-0/1, не существует известных эффективных атак на полный 24-зарядный Tiger. [ 9 ] за исключением псевдоблизкого столкновения. [ 10 ] В то время как MD5 обрабатывает свое состояние с помощью 64 простых 32-битных операций на 512-битный блок и SHA-1 с 80, Tiger обновляет свое состояние с помощью в общей сложности 144 таких операций на 512-битный блок, дополнительно усиленных большим внешним видом S-box. UPS.
Джон Келси и Стефан Лакс обнаружили атаку с обнаружением коллизий на 16-раундовом Tiger с временной сложностью, эквивалентной примерно 2 44 вызовы функции сжатия и еще одна атака, которая находит псевдо-близкие столкновения в 20-раундовом Тигре с работой меньше, чем у 2 48 вызовы функций сжатия. [ 9 ] Флориан Мендель и др. улучшили эти атаки, описав атаку со столкновением, охватывающую 19 раундов Tiger, и атаку с псевдостолкновением из 22 раундов. Эти атаки требуют усилий, эквивалентных примерно 2 62 и 2 44 оценки функции сжатия Тайгера соответственно. [ 11 ]
См. также
[ редактировать ]- Сводка безопасности хеш-функции
- Сравнение криптографических хэш-функций
- Список хэш-функций
- Змей — блочный шифр тех же авторов.
Ссылки
[ редактировать ]- ^ Росс Андерсон и Эли Бихам (8 февраля 1996 г.). «Tiger: новая быстрая хэш-функция» . Быстрое программное шифрование 3 . Кембридж . Проверено 3 марта 2017 г.
- ^ «Тестовые векторы Tiger2» . Проект НЕССИ . 25 февраля 2005 г. Проверено 3 марта 2017 г.
- ^ Фейт, Гарольд (12 февраля 2012 г.). «P2P:Протокол:Технические характеристики:Необязательные хэши: корень TTH» . Проверено 18 ноября 2017 г.
- ^ Каллас, Джон (18 августа 2004 г.). "Re: переосмысление ТИГРА" . Архивировано из оригинала 14 июля 2014 г.
- ^ Порнин, Томас (25 октября 2013 г.). «Как вы используете хэш-функцию Tiger с GPG?» .
- ^ «Поведение программы для всех программ: распределение OID» . ГНУ . Проверено 18 ноября 2017 г.
- ^ «Справочная запись для OID 1.3.6.1.5.5.8.1.3 – hmacTIGER» . 18 октября 1998 г. Проверено 18 ноября 2017 г.
- ^ «Дайджест::Модуль Tiger» . КПАН . Проверено 3 марта 2017 г.
- ^ Jump up to: а б Джон Келси; Стефан Лакс (2006). «Столкновения и близкие столкновения для тигра с уменьшенным диаметром» (PDF) . Быстрое программное шифрование 13 . Грац . Архивировано из оригинала (PDF) 4 марта 2016 г.
- ^ Мендель, Флориан; Винсент, Реймен. «Криптоанализ хеш-функции Тигра». АЗИЯКРИПТ 2007 . Шпрингер Берлин/Гейдельберг. стр. 536–550. дои : 10.1007/978-3-540-76900-2_33 .
- ^ Флориан Мендель; Барт Пренил; Винсент Реймен; Хиротака Ёсида; Дай Ватанабэ (2006). «Обновленная информация о Тигре» (PDF) . Индокрипт 7 . Калькутта .