Компьютер, железо, софт…

Что такое компьютер? Как с ним работать? Как его настраивать? И многое другое…

Конкретные алгоритмы…

Мы уже ознакомились с понятием алгоритмов и для чего они делаются, а теперь рассмотрим конкретные примеры.

KATAN —семейство алгоритмов шифрования KATAN32, KATAN48, KATAN64. Число в названии алгоритма обозначает размер блока шифруемых данных в битах. Все алгоритмы используют 80 – битовый ключ шифрования.

Любой из алгоритмов KATAN загружает шифруемый блок данных в два сдвиговых регистра, образующих внутреннее состояние алгоритма. Шифрование состоит из 254 раундов, в каждом из которых используются нелинейные функции, формирующие обратную связь регистров.

Алгоритм PRESENT выполняет 31 раунд преобразований. Размер блока данных —64 бита. Поддерживаются ключи размером 80 и 128 битов.

Каждый раунд шифрования состоит из трех уровней:

  • уровень наложения фрагмента ключа операцией XOR;
  • уровень рассеивающих преобразований, где выполняется параллельная замена 4 – битовых фрагментов состояния с помощью идентичных таблиц замен S;
  • уровень перемешивающих преобразований, осуществляющий битовую перестановку аналогично бывшему стандарту шифрования DES.


Алгоритм Hummingbird шифрует данные 16 – битовыми блоками с использованием 256 – битового ключа. В основу этого алгоритма положена оригинальная гибридная архитектура. Процедура шифрования может быть представлена в виде непрерывной работы роторной машины, где в роли четырех виртуальных роторов выступают четыре алгоритма шифрования, выполняющих операции над короткими 16 – битовыми блоками данных. Основными компонентами алгоритма являются :

  • преобразование, представляющее собой «внутренний» 16 – битовый алгоритм шифрования;
  • он выполняет четыре раунда преобразований, в каждом из них осуществляются наложение ключа, табличная замена и битовая перестановка;
  • четыре регистра внутреннего состояния;
  • дополнительный 16 – разрядный сдвиговый регистр с линейной обратной связью.

В последнем активно используются операции сложения по модулю 216, с помощью которых значения регистров состояния накладываются на блоки шифруемых данных. Фактически высокоуровневую структуру алгоритма можно представить как четырехраундовый шифр с различными операциями обратной связи.

Также рекомендую почитать:

  1. Облегченная криптография.
  2. Облегченные алгоритмы шифрования

Ваш отзыв