SC2000 (шифр)

Из Википедии, бесплатной энциклопедии

SC2000
Создатель Fujitsu
Создан 2000 г.
Опубликован 2000 г.
Размер ключа 128, 192, 256 бит
Размер блока 128 бит
Число раундов 6.5 или 7.5
Тип Сеть Фейстеля и SP-сеть

SC2000 — в криптографии симметричный блочный криптоалгоритм, разработанный фирмой Fujitsu и университетом г. Токио в 2000 году. В алгоритме используется 128-битный блок и ключ длиной от 128 до 256 бит (совместим со стандартом AES и поддерживает типовые длины ключа — 128/192/256). Был рекомендован комитетом CRYPTREC в 2003 году для использования государственными учреждениями Японии, однако в 2013 году был перемещён в список "кандидатов" в рекомендованные шифры.[1] Участвовал в конкурсе 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-битных ключей (приводящих к идентичному результату шифрования) за 239 операций.[2]

  1. Specifications of e-Government Recommended Ciphers. CRYPTREC. Дата обращения: 26 ноября 2013. Архивировано 3 сентября 2012 года.
  2. Alex Biryukov, Ivica Nikolić. [http://orbilu.uni.lu/bitstream/10993/18750/1/biryukov-nikolic-colliding%20keys-sc2000-sac2014.pdf Colliding Keys for SC2000-256] (неопр.). Архивировано 24 сентября 2016 года.