SC2000 (шифр)

Материал из Википедии — свободной энциклопедии
Это текущая версия страницы, сохранённая InternetArchiveBot (обсуждение | вклад) в 22:37, 13 июня 2023 (Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.9.5). Вы просматриваете постоянную ссылку на эту версию.
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
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 года.