Sinople — Википедия

Sinople
Создатель Филип Пакет
Создан 2003 г.
Размер ключа 128 бит
Размер блока 128 бит
Число раундов 64
Тип Несбалансированная Сеть Фейстеля

Sinopleсимметричный блочный криптоалгоритм, построенный на основе несбалансированной «сети Фейстеля». Алгоритм разработан в 2003 году.

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

[править | править код]
Структура D раунда алгоритма

Основные требования к алгоритму при его разработке:

  • Возможность программной и аппаратной реализации
  • Высокая скорость
  • Простота
  • Низкие требования к памяти
  • Высокий уровень безопасности

Алгоритм основан на 32-разрядных операциях и имеет 64 раунда, среди которых два типа — C и D. D раунды спроектированы для достижения максимальной диффузии, C раунды — для достижения перемешивания. F-функция D раунда использует один из элементов блока данных (D[3]) и текущий подключ (K[r]) для трансформации 3-х элементов блока данных. F-функция C раунда, напротив, использует первые три элемента блока данных и текущий подключ (K[r]) для трансформации последнего элемента блока данных (D[3]). Раунды D-типа выполняются до раундов C-типа. Сложение ключей с данными производится только через таблицы замен. Операции XOR (сложения по модулю 2) обязательно сочетаются с операциями ADD (сложения по модулю 232).

Структура С раунда алгоритма

Таблицы замен изначально заимствованы из алгоритма MARS и содержат 512 32-разрядных элементов, однако были жестко проанализированы на предмет усиления.

Ключевое расписание было спроектировано с учетом требований:

  • Простота
  • Используется та же процедура, что и при зашифровании и расшифровании
  • Установка ключа занимает меньше времени, нежели зашифрование
  • Исключение эквивалентных ключей
  • Исключение слабых ключей

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

[править | править код]

Алгоритм, согласно заявлению авторов, устойчив к линейному и дифференциальному анализу.