Облегченная криптография.
К облегченной криптографии относятся алгоритмы, разрабатываемые специально для устройств с ограниченными или крайне ограниченными вычислительными ресурсами. В принципе критерии, по которым тот или иной криптографический алгоритм можно отнести к облегченной криптографии, достаточно размыты. Тем не менее общие свойства таких алгоритмов —сверхнизкие требования к ресурсам того устройства, на котором предполагается их использовать, а именно:
- к требуемой площади кристалла, на котором алгоритм может быть аппаратно реализован ;
- к вычислительной мощности микропроцессора или микроконтроллера, на котором выполняются вычисления;
- к оперативной памяти устройства;
- к энергонезависимой памяти устройства и т. п.
Облегченная криптография представляет собой относительно свежее направление в криптографии —первые известные достижения в этой области появились не более десяти лет назад. Посмотрим, какие бывают облегченные алгоритмы шифрования и чем они отличаются от обычных.
Для начала рассмотрим алгоритм Curupira.
Одним из авторов алгоритма Curupira является Винсент Риджмен, который входит в число создателей AES, современного стандарта шифрования США. Curupira несколько похож на AES, только в нем используются более простые операции, а также у него меньшее внутреннее состояние, размер которого всего 96 бит, а не 128 битов, как у алгоритма AES.
Curupira шифрует данные 96 – битовыми блоками с использованием ключа одного из следующих фиксированных размеров: 96, 144 и 192 бита. Блок данных представляется в виде байтового массива размером 3×4, над которым в каждом раунде выполняется следующая последовательность операций:
- табличная замена каждого байта состояния;
- байтовая перестановка в пределах строк массива состояния;
- рассеивающее преобразование, выполняемое путем умножения фиксированной матрицы на состояние алгоритма;
- наложение операцией XOR ключа шифрования на состояние определенного фрагмента.
Количество раундов алгоритма не является строго определенным. Для каждого размера ключа предусмотрено минимальное и максимальное число раундов: от 10 для 96 – битового ключа до 23 для 192 – битового. Перед первым раундом на блок данных операцией XOR накладывается первый фрагмент ключа, а в последнем раунде не выполняется рассеивающее преобразование.
Также рекомендую почитать:
Ваш отзыв