Конкретные алгоритмы…
Мы уже ознакомились с понятием алгоритмов и для чего они делаются, а теперь рассмотрим конкретные примеры.
KATAN —семейство алгоритмов шифрования KATAN32, KATAN48, KATAN64. Число в названии алгоритма обозначает размер блока шифруемых данных в битах. Все алгоритмы используют 80 – битовый ключ шифрования.
Любой из алгоритмов KATAN загружает шифруемый блок данных в два сдвиговых регистра, образующих внутреннее состояние алгоритма. Шифрование состоит из 254 раундов, в каждом из которых используются нелинейные функции, формирующие обратную связь регистров.
Алгоритм PRESENT выполняет 31 раунд преобразований. Размер блока данных —64 бита. Поддерживаются ключи размером 80 и 128 битов.
Каждый раунд шифрования состоит из трех уровней:
- уровень наложения фрагмента ключа операцией XOR;
- уровень рассеивающих преобразований, где выполняется параллельная замена 4 – битовых фрагментов состояния с помощью идентичных таблиц замен S;
- уровень перемешивающих преобразований, осуществляющий битовую перестановку аналогично бывшему стандарту шифрования DES.
Алгоритм Hummingbird шифрует данные 16 – битовыми блоками с использованием 256 – битового ключа. В основу этого алгоритма положена оригинальная гибридная архитектура. Процедура шифрования может быть представлена в виде непрерывной работы роторной машины, где в роли четырех виртуальных роторов выступают четыре алгоритма шифрования, выполняющих операции над короткими 16 – битовыми блоками данных. Основными компонентами алгоритма являются :
- преобразование, представляющее собой «внутренний» 16 – битовый алгоритм шифрования;
- он выполняет четыре раунда преобразований, в каждом из них осуществляются наложение ключа, табличная замена и битовая перестановка;
- четыре регистра внутреннего состояния;
- дополнительный 16 – разрядный сдвиговый регистр с линейной обратной связью.
В последнем активно используются операции сложения по модулю 216, с помощью которых значения регистров состояния накладываются на блоки шифруемых данных. Фактически высокоуровневую структуру алгоритма можно представить как четырехраундовый шифр с различными операциями обратной связи.
Также рекомендую почитать:
Ваш отзыв