<<
>>

Алгоритмы с симметричным криптографическим ключом

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

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

Криптографические алгоритмы могут быть реализованы как аппаратно (что повышает скорость их работы), так и программно (для повышения гибкости).

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

и перестановки могут быть реализованы при помощи простых электрических цепей. На рис. 8.5 показано устройство, называющееся Р-блоком (литера Р означает permutation — перестановка) и используемое для перестановки восьми входных разрядов. Если пронумеровать входные биты сверху вниз (01234567), выход этого конкретного Р-блока будет выглядеть как 36071245. При помощи соответствующего внутреннего устройства Р-блока (распайки проводов) можно заставить его выполнять любую операцию перестановки практически со скоростью света, так как никакие вычисления в нем не производятся, а просто-напросто передается сигнал со входа на выход.

Такое решение соответствует принципу Керкгофа: взломщик знает, что используется метод перестановки битов. Однако он не знает ключа, заключающегося в порядке перестановок.

Подстановки (то есть замещения) выполняются S-блоками (S означает substitution — подстановка, замена), как показано на рис. 8.5, б. В данном примере на вход подается 3-битный открытый текст, а на выходе появляется 3-битный зашифрованный текст. Для каждого входного сигнала выбирается одна из восьми выходных линий декодера путем установки ее в 1. Все остальные линии устанавливаются в 0. Затем эти восемь линий проходят через Р-блок, представляющий собой вторую ступень S-блока. Третья ступень производит обратное кодирование одной из восьми линий в 3-битовое двоичное число. Такое устройство заменяет восьмеричные числа 01234567 на 24506713 соответственно. То есть 0 заменяется числом 2, 1 — числом 4 и т. д. Опять же, при соответствующей распайке проводов Р-блока внутри S-блока можно реализовать любой вариант подстановки. К тому же такое устройство может быть встроено в аппаратуру и работать на огромных скоростях, поскольку шифраторы и дешифраторы вносят лишь одну или две вентильных задержки (менее 1 нс), а время распространения сигнала внутри Р-блока может быть менее 1 пс.

Настоящая сила этих элементов становится очевидна, если сформировать каскад из этих устройств, как показано на рис. 8.5, в. Получившееся в результате устройство называется продукционным шифром. В данном примере на первом этапе (Р,) 12 входных линий меняются местами. Теоретически, вторая ступень могла бы быть S-блоком, отображающим одно 12-разрядное число в другое 12-разрядное число. Однако такое устройство должно содержать в средней ста-

дии 212 = 4096 перекрещенных проводов. Вместо этого вход разбивается на четыре группы по 3 разряда, с каждой из которых операция замены выполняется независимо. Хотя такой метод представляет собой лишь частный случай общего решения, его мощь достаточно высока. Выход продукционного шифра можно сделать сложной функцией входа, используя достаточно большое количество дополнительных ступеней.

Продукционные шифры, работающие с ¿-битными входами и производящие ¿-битные последовательности, широко распространены. Обычно значение ¿ колеблется от 64 до 256.

<< | >>
Источник: Э. ТАНЕНБАУМ. КОМПЬЮТЕРНЫЕ СЕТИ 4-Е ИЗДАНИЕ. 2003

Еще по теме Алгоритмы с симметричным криптографическим ключом:

  1. Симметричные фигуры
  2. Анализ завершенности и симметричности мандалы
  3. Sшrvig Morten. Базовые алгоритмы Qt 4 (Qt 4's Generic Algorithms), 2000
  4. АЛГОРИТМ
  5. АЛГОРИТМ УДАЧИ
  6. Дж. Клейнберг, Е. Тардос. Алгоритмы: разработка и применение. Классика Computers Science, 2016
  7. Алгоритм исцеления:
  8. Алгоритм избавления от боли
  9. § 2. АЛГОРИТМ АНАЛИЗА ПСИХОЛОГО-ПЕДАГОГИЧЕСКИХ СИТУАЦИЙ
  10. Алгоритм обработки результатов.