Skein (хеш-функция)

редактировать
Skein
Skein permutat ion.png
Общие
ДизайнерыБрюс Шнайер, Нильс Фергюсон и др.
На основеThreefish
CertificationФиналист SHA-3
Подробности
Размеры дайджеста произвольно
Структура
Раунды72 (размер блока 256 и 512), 80 (размер блока 1024)
Скорость6,1 cpb на Core 2.
Функция Threefish Mix

Skein - это криптографическая хэш-функция и один из пяти финалистов конкурса хэш-функций NIST. Введенный в качестве кандидата на роль стандарта SHA-3, преемника SHA-1 и SHA-2, он в конечном итоге проиграл кандидату хэша NIST Keccak.

Название Skein указывает на то, как функция Skein переплетает входные данные, аналогично мотку пряжи.

Содержание
  • 1 История
  • 2 Функциональность
  • 3 Криптоанализ
  • 4 Примеры хэшей Skein
  • 5 Ссылки
  • 6 Внешние ссылки
    • 6.1 Реализации
История

Skein был создан Брюсом Шнайером, Нильс Фергюсон, Стефан Лакс, Дуг Уайтинг, Михир Белларе, Тадаёши Коно, Джон Каллас и Джесси Уокер.

Skein основан на Threefish настраиваемом блочном шифре, сжатом с использованием режима цепочки (UBI), варианта Matyas– Режим хеширования Meyer – Oseas, при этом для гибкости используется дополнительная система аргументов с низкими накладными расходами.

Алгоритм Скейна и эталонная реализация были переданы в общественное достояние.

Функциональность

Skein поддерживает размеры внутренних состояний 256, 512 и 1024 бит, и произвольные размеры вывода.

Авторы заявляют, что 6,1 циклов на байт для любого размера вывода на Intel Core 2 Duo в 64-битном режиме.

Ядро Threefish основано на функции MIX, которая преобразует 2 64-битных слова с помощью одного сложения, вращения на константу и XOR. Режим цепочки UBI объединяет входное значение цепочки с входной строкой произвольной длины и выдает выходной сигнал фиксированного размера.

Нелинейность Threefish полностью проистекает из комбинации операций сложения и исключающего ИЛИ ; он не использует S-блоки. Функция оптимизирована для 64-битных процессоров, а в документе Skein определены дополнительные функции, такие как рандомизированное хеширование, параллелизируемое хеширование дерева, потоковый шифр ., персонализация и функция получения ключа .

Криптоанализ

В октябре 2010 года была проведена атака, сочетающая ротационный криптоанализ с атакой обратного удара был опубликован. Атака обнаруживает вращательные столкновения для 53 из 72 выстрелов в Threefish-256 и 57 из 72 выстрелов в Threefish-512. Это также влияет на хеш-функцию Skein. Это продолжение более ранней атаки, опубликованной в феврале, которая прерывает 39 и 42 раунда соответственно.

Команда Skein изменила константу key schedule для раунда 3 хэш-функции NIST. конкуренции, чтобы сделать эту атаку менее эффективной, даже если они считают, что хеш-код был бы безопасным без этих настроек.

Примеры хеш-кодов Skein

Хеш-значения пустой строки.

Скейн-256-256 ( "") c8877087da56e072870daa843f176e9453115929094c3a40c463a196c29bf7ba Скейн-512-256 ( "") 39ccc4554a8b31853b9de7a1fe638a24cce6b35a55f2431009e18780335d2621 Скейн-512-512 ( "") bc5b4c50925519c290cc634277ae3d6257212395cba733bbad37a4af0fa06af41fca7903d06564fea7a2d3730dbdb80c1f85562dfcc070334ea4d1d9e72cba7a

Даже небольшое изменение в сообщении будет (с подавляющей вероятностью) приводят к в основном другому хеш-функции из-за лавинного эффекта . Например, добавив точку в конце предложения:

Skein-512-256 ("Быстрая коричневая лиса перепрыгивает через ленивого пса ") b3250457e05d3060b1a4bbc1428bc75a3f525ca389aeab96cfa34638d96e492a 512-Skein "быстрая коричневая лиса прыгает через ленивую собаку.") 41e829d7fca71c7d7154ed8fc8a069f274dd664ae0ed29d365d919f4e575eebb Лялька-512-512 ( "быстрая коричневая лиса прыгает через ленивую собаку ") 94c2ae036dba8783d0b3f7d6cc111ff810702f5c77707999be7e1c9486ff238a7044de734293147359b4ac7e1d09cd247c351d69826b78dcddd951f0ef912713 Лялька-512-512 ( "быстрая коричневая лиса прыгает через ленивую собаку.") 658223cb3d69b5e76e3588ca63feffba0dc2ead38a95d0650564f2a39da8e83fbb42c9d6ad9e03fbfde8a25a880357d457dbd6f74cbcb5e728979577dbce5436
Литература
Внешние ссылки

Реализации

Последняя правка сделана 2021-06-08 04:45:21
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте