Interested Article - SC2000 (шифр)

SC2000 — в криптографии симметричный блочный криптоалгоритм , разработанный фирмой Fujitsu и университетом г. Токио в 2000 году . В алгоритме используется 128-битный блок и ключ длиной от 128 до 256 бит (совместим со стандартом AES и поддерживает типовые длины ключа — 128/192/256). Был рекомендован комитетом CRYPTREC в 2003 году для использования государственными учреждениями Японии , однако в 2013 году был перемещён в список " кандидатов " в рекомендованные шифры . Участвовал в конкурсе Nessie , но не попал во второй раунд, хотя и показал достаточную устойчивость к атакам — причиной стала его слишком сложная структура и опасение в вероятности скрытых уязвимостей .

Структура шифра

SC2000 — шифр со смешанной структурой: здесь используются элементы сети Фейстеля и подстановочно-перестановочной сети .

Алгоритм выполняет 6.5 (для 128-битного ключа)или 7.5 (для ключа длиной 192—256 бит) раундов шифрования. Каждый из раундов состоит из запросов к таблице подстановки, добавления ключа и бесключевой двухраундовой сети Фейстеля . Применяется три таблицы замены: S-Box размером 4x4 бит используется в начале каждого раунда , размером 5x5 бит и 6x6 бит — внутри сети Фейстеля.

Расширение ключа в алгоритме SC2000 выполняется в два этапа: основе секретного симметричного ключа генерируется промежуточный ключ, затем из промежуточного ключа вычисляется нужное количество фрагментов расширенного ключа.

Один раунд шифра довольно сложен и состоит из следующих операций: Входное 128-битное значение делится на 4 подблока по 32 бита, на каждый из них операцией XOR накладывается 32-битный фрагмент расширенного ключа. Выполняется операция T, которая разбивает блок данных на 32 подблока по 4 бита каждый.

Каждый 4-битный подблок проходит через таблицу подстановки S4, которая выглядит так: (2,5,10,12,7,15,1,11,13,6,0,9,4,8,3,14)

Далее блок данных разбивается на 32-битные подблоки с помощью операции T’, обратной к операции T. Выполняется наложение операцией XOR других четырёх фрагментов расширенного ключа. Значения первой пары подблоков передаются на вход функции F. В результате выполнения данной функции получаются два 32-битных значения, которые накладываются операцией XOR на два первых подблока. Первая пара подблоков меняется местами с второй парой подблоков, затем выполняется повторно прошлый шаг трансформации.

Безопасность

Детального анализа полнораундового SC2000 пока не проводилось, но вариант с сокращенным до 4.5 числом раундов уязвим при использовании диффериниального и линейного криптоанализа .

В 2014 в алгоритме расширения ключа была обнаружена уязвимость, позволяющая найти пару эквивалентных 256-битных ключей (приводящих к идентичному результату шифрования) за 2 39 операций .

Ссылки

  1. (неопр.) . CRYPTREC. Дата обращения: 26 ноября 2013. 3 сентября 2012 года.
  2. Alex Biryukov, Ivica Nikolić. [ Colliding Keys for SC2000-256] (неопр.) . 24 сентября 2016 года.

Same as SC2000 (шифр)