Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шемякин лекции 2023 / Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии

.pdf
Скачиваний:
27
Добавлен:
30.05.2023
Размер:
7.75 Mб
Скачать

Надежность шифров

Легко заметить, что пересечение 0\(и) слОу{у) состоит лишь из двух точек — й и у . Поэтому (р{у) е {с1,у} . По предположению индукции <р(с1 ) = я?, а так как — биек­ ция, то <р(у) = у , что и требуется.

Мы доказали равенство (50). Тем самым теорема дока­ зана.

Согласно теореме А.А.Маркова, в классе эндоморфных шифров, не изменяющих длины сообщений, не распростра­ няют искажений типа замены знаков, например, шифры пе­ рестановки, поточные шифры однозначной замены, а также их композиции типа шифр замены — шифр перестановки.

Шифры, не распространяющие искажений типа “ пропуск-вставка знаков”

При исследовании свойств шифров, не распростра­ няющих искажений типа “пропуск знаков”, так же, как и в предыдущем случае, ограничимся рассмотрением лишь эн­ доморфных шифров. Отметим также, что исследование во­ проса об искажениях типа “вставка знаков” производится совершенно аналогично, поэтому далее пойдет речь лишь об искажениях типа “пропуск знаков”.

Приведем результат характеризации множества Е под­ становок на множестве X = У , отвечающего подстановоч­

ной модели эндоморфного шифра

не распро­

страняющего искажений типа “пропуск знаков”.

I

 

В данном случае X = У = \ ^ А Л , где А

— алфавит со-

/1=1

 

общений. Пусть 8 — бинарное отношение на множестве X , определенное следующим образом. Пусть а ,а !€ Х , тогда

201

I лава 7

а е а ' о 3 /€ 1= (ах,...,ах ),а'= (ах,...,а]_1 ,а]+1 ,...,аА).

Через 8 к обозначим “степень” отношения 8 :

а 8 ка'<?> З а 1 ,...,#*-1 е X , абга1,...,#*-1^ # 1.

Определение 3. Будем говорить, что шифр '^п=(Х,Е) не распространяет искажений типа “пропуск знаков ”, ес­ ли для любых х, у е X , любого к , меньшего длины слова х ,

а

также любого

е е Е из условия Х8 ку следует,

что

(е~] х ) е к -1 у ) .

 

 

 

 

 

Обозначим через 7ГЬ отображение множества X

в се­

бя, определенное для любого а = 19...,ад) е X

формулой

 

тгь (а\,...,ал ) = (к(ах\...,тг(ах )),

 

 

где п — некоторая

подстановка множества

А , а

через

/

— отображение

X

в себя, меняющее порядок следова­

ния букв любого слова на противоположный: /(а],...,ад ) = = (ад,...,а]).

Приведем без доказательства следующий результат [Глу98,99].

Теорема. Если Т,п - ( Х , Е ) шифр, не распростра­ няющий искажений типа “пропуск знаков ”, то для любого

е е Е либо е = 7ГЬ, либо е = / (при подходящем

тте8 (А)).

Таким образом, класс шифров, не распространяющих искажений типа “пропуск-вставка знаков”, более беден,

202

Надежность шифров

нежели класс шифров, не распространяющих искажений типа замены знаков. Таковыми являются, например, шифры простой замены (или одноалфавитные шифры замены) или шифры простой замены, усложненные перестановкой, осу­ ществляющей изменение порядка следования знаков любо­ го слова на противоположный.

Контрольные вопросы

1.Как определяются энтропия и избыточность языка?

2.Как можно качественно охарактеризовать избыточность языка?

3.Какие тексты на русском языке имеют большую избы­ точность: литературные или технические?

4.Почему неопределенность шифра по открытому тексту (или по ключу) можно рассматривать как меру теорети­ ческой стойкости шифра?

5.Как зависит расстояние единственности для шифра от энтропии языка?

6. Найдите расстояние единственности для шифра Виже­ нера, который используется для шифрования русских технических текстов с избыточностью 0,5.

7. Какие атаки используются в криптоанализе?

8. Каким образом априорные вероятностные распределе­ ния на множествах открытых текстов и ключей индуци­ руют вероятностное распределение на множестве шиф­ рованных текстов?

9.Какой шифр называется совершенным (для атаки на ос­ нове шифртекста)?

10.В каком случае шифр модульного гаммирования явля­ ется совершенным (для атаки на основе шифртекста)?

11.Верно ли, что лишь шифры табличного гаммирования являются совершенными?

12.Чем отличаются понятия теоретической и практической стойкости шифра?

203

I лава 7

13.Что такое имитостойкость шифра? Что может служить мерой имитостойкости шифра? Является ли шифр гам­ мирования имитостойким?

14.Что такое совершенная имитостойкость шифра?

15.Является ли шифр гаммирования шифром, не размно­ жающим искажений типа “замена знаков”, “пропуск знаков”?

Гл а ва 8

Блочные системы шифрования

Используемые в настоящее время системы шифрования делятся на два класса: блочные и поточные системы. Как отмечалось в § 3.2, основной критерий такого разделения — мощность алфавита, над знаками которого производится опе­ рация шифрования. Если открытый текст перед шифрованием разбивается на блоки, состоящие из нескольких знаков, то есть исходное сообщение обрабатывается блоками, то мы имеем дело с блочным шифром. Если каждый знак сообще­ ния шифруется отдельно, то такой шифр — поточный.

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

Естественно, что точное значение мощности алфавита, начиная с которого шифр следует считать уже не поточным, а блочным, назвать нельзя. Более того, с развитием техники эта характеристика меняется в сторону увеличения. Например, в настоящее время используются 16- и 32-разрядные процессо­ ры, а перспективная шифровальная техника проектируется уже на 64-разрядных процессорах. Поэтому при построении

поточных шифров могут быть использованы алфавиты мощ-

032 о64 ностью 2 и 2 .

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

205

Глава 8

повышения стойкости криптографических алгоритмов. Как отмечалось в гл. 7, все естественные языки обладают большой информационной избыточностью. Интегральной характери­ стикой избыточности служит энтропия текста. При шифрова­ нии текстов с малой энтропией имеется возможность приме­ нения методов, аналогичных методам вскрытия шифра про­ стой замены. С увеличением мощности алфавита энтропия на один знак в “новом алфавите” также увеличивается. Таким образом, использование статистических закономерностей открытых сообщений при проведении криптографического анализа блочных шифров существенно затрудняется. Кроме того, анализ блочных шифров неразрывно связан с исследо­ ванием преобразований алфавитов большой мощности, а как правило, увеличение размеров задачи приводит к нелинейно­ му росту трудоемкости ее решения, что также приводит к снижению эффективности известных методов криптографи­ ческого анализа.

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

§8.1. Принципы построения блочных шифров

Как правило, алфавитом, на котором действует блочный шифр, является множество двоичных векторов-блоков откры­ того текста одинаковой длины (64, 128 и т. д.). Сама реализа­ ция преобразований столь больших алфавитов является слож­

206

Ьлочные системы шифрования

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

В [ШенбЗ] К. Шеннон сформулировал общий принцип построения шифрующих преобразований — принцип “пере­ мешивания”. Суть его состоит в требовании, чтобы примене­ ние шифрующего преобразования к наборам аргументов, от­ личающихся в незначительном числе позиций, приводило к существенному изменению результата. Обеспечить выполне­ ние этого требования в сочетании с простотой реализации конкретного отображения в общем случае представляется затруднительным. Поэтому К. Шеннон предложил реализо­ вывать сложные преобразования в виде суперпозиции не­ скольких простых некоммутирующих отображений. Подход К. Шеннона, использующий итеративное построение преобра­ зований, в настоящее время является магистральным путем синтеза блочных шифров.

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

Обычно используются базовые преобразования двух ти­ пов — сложные в криптографическом отношении локальные преобразования над отдельными частями шифруемых блоков и простые преобразования, переставляющие между собой части шифруемых блоков. В криптографической литературе первые преобразования получили название “перемешиваю­ щих”, а вторые — “рассеивающих”. Качественно можно ска­ зать, что перемешивание усложняет восстановление взаимо­ связи статистических и аналитических свойств открытого и шифрованного текстов, а рассеивание распространяет влия­ ние одного знака открытого текста на большое число знаков шифртекста, что позволяет сгладить влияние статистических

207

I лава 8

свойств открытого текста на свойства шифртекста. Следует отметить, что в данном случае перемешивание понимается в обычном смысле, а не как качественное свойство шифра, вве­ денное К. Шенноном.

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

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

Получили распространение алгоритмы, в которых осуще­ ствляются преобразования над векторами, представляющими собой левую и правую половины содержимого регистра сдви­ га. Для построения таких алгоритмов часто используется кон­ струкция, называемая сетью Фейстеля (Ре1з1е1 Ые1\уогк) (см. рис. 25).

Рис. 25

Преобразование, реализуемое сетью Фейстеля в / -м цик­ ле шифрования, имеет вид

208

Ьлочные системы шифрования

г , = х 2,

(1)

У2 = Х , Ф / , ( Х 2,к,),

где X — входной блок, разделенный на две половины Х 1 и

Х 2, а (У{, У2) — результат зашифрования блока X на клю­ че к, с помощью функции / 1.

Алгоритм шифрования реализуется несколькими итера­ циями преобразования сети Фейстеля с использованием клю­ ча к . При этом очередная (/ -я) итерация использует в каче­ стве входного блока X результат предыдущей итерации и ключ к{, вычисляемый определенным образом по ключу к .

Функция / г может зависеть или не зависеть от номера ите­

рации.

Ценность преобразований подобного вида заключается в том, что даже если / 1 не является обратимой функцией, пре­

образование сети Фейстеля обратимо. В самом деле, из (1) сразу следует, что

§ 8.2. Примеры блочных шифров

Американский стандарт шифрования данных ОЕ8

Стандарт шифрования данных БЕ 8 (Ваш ЕпсгурИоп 81ап<$аг($) опубликован Национальным бюро стандартов США в 1977 г. В 1980 г. этот алгоритм был принят Нацио­ нальным институтом стандартов и технологий США (НИСТ) в качестве стандарта шифрования данных для защиты от несанкционированного доступа к важной, но несекретной

209

I лава 8

информации в государственных и коммерческих организаци­ ях США.

К достоинствам ОЕ8 можно отнести простоту ключевой системы, высокую скорость аппаратной и программной реа­ лизации, достаточно высокую криптографическую стойкость алгоритма шифрования при заданной длине ключа.

Алгоритм ОЕ8, используя комбинацию ряда подстановок и перестановок, осуществляет шифрование 64-битовых бло­ ков данных с помощью 56-битового ключа к . Схема алго­ ритма ЭЕ8 изображена на рис. 26, 27.

Рис. 26

Процесс шифрования состоит в начальной перестановке битов входного блока, шестнадцати циклах шифрования и, наконец, конечной перестановке битов.

Отметим, что все приводимые ниже таблицы являются стандартными и должны использоваться при реализации ал­ горитма БЕ8 в неизменном виде. Все перестановки и коды в аблицах подобраны разработчиками таким образом, чтобы максимально затруднить процесс вскрытия шифра путем подбора ключа.

210