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

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

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

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

Известно, что множество преобразований, реализуемых полной схемой ОЕ8, не образует группу [Сагп90]. Там же показано, что множество преобразований ОЕ8 порождает группу подстановок (степени 2 64 ), мощность которой пре­

вышает число 102499. Поэтому многократное шифрование с помощью ОЕ8 имеет смысл.

Возможны варианты двойного и тройного шифрования с использованием алгоритма БЕ8. В одном из них предлагается шифровать блок М открытого текста три раза

с помощью двух ключей кх и к2. Уравнение шифрования в

этом случае имеет вид С = Ек (Эк2(Ек (М ))) . Введение в

такую схему операции расшифрования

обеспечивает

совместимость схемы со схемой однократного использования ЭЕ8. Для этого достаточно выбрать одинаковые ключи.

При трехкратном шифровании можно применить три раз­ личных ключа. Уравнение шифрования в этом случае прини­ мает вид С = Е кз (Ек (М ))) . При этом возрастает общая

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

суммарное число ключей ( 2 56л) не превзойдет общее число преобразований, реализуемых схемой, то есть общее число простых замен, “из которых состоит"’ данный шифр замены.

§ 8.5. Методы анализа алгоритмов блочного шифрования

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

Как отмечалось выше, серьезным недостатом режима простой замены является то, что зашифрование одинаковых

231

\лава 8

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

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

Показательно, что при случайном выборе блоков откры­ того текста их повторение является не столь уж редким со­ бытием. Напомним известный парадокс “дней рождениг(\ который заключается в том, что если имеется выборка объе­

ма, сравнимого с л[Ы , из множества из N элементов, то ве­ роятность того, что в ней окажутся два одинаковых элемента, сравнима с 1/2. Этот парадокс показывает, что при случай­ ном выборе блоков открытого текста для получения повтора

достаточно взять в среднем порядка блоков, где N — общее число блоков, которые теоретически могут встретить­ ся в открытом тексте. Применительно к алгоритмам БЕ8 и ГОСТ, которые оперируют с двоичными векторами длины

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

232

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

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

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

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

23

Iлава 8

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

Отдельно остановимся на методах анализа криптографи­ ческих алгоритмов, основанных на принципе многократного использования блочных шифров. Р. Меркль и М. Хеллман [Мег, Не1] на примере ЭЕ8 показали, как, используя метод встречи посередине, можно вскрыть схему двукратного шиф­ рования.

Рассмотрим метод вскрытия блочного шифра при исполь­ зовании двойного шифрования в общем случае.

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

ритм вскрытия неизвестных ключей кх и к2 состоит из двух этапов.

На первом этапе перебираются все возможные варианты ключа к . Для каждого варианта к ключа к вычисляются значения АВК(к) = Ек( М ) , после чего значения к поме­

щаются в память по адресу А В Я (к ) .

На втором этапе опробуются

возможные варианты ключа

к2. Для опробуемого варианта

к ’ ключа к2

вычисляются

значения АВК(к') = В к,(С) и

производится

обращение в

память по адресу АВК(к'). Если по этому адресу памяти записи отсутствуют, то происходит переход к опробованию

следующего варианта

к ' ключа к2. Если же

по адресу

АВК(к')

в памяти хранится ключ к , то образуется допусти­

мая пара

ключей

(к, к 1), удовлетворяющая

равенству

С = Е к,(Ек(М)).

234

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

Заметим, что в ячейку памяти с номером АОЯ(к') могут

попасть несколько вариантов ключа к (для это т память необходимо соответствующим образом организовать). Для каждого из них пара (к,к') является допустимым ключом.

Несложно заметить, что для реализации данного алго­ ритма требуется 2|АГ| опробований и столько же операций

обращения к памяти, где |АГ| — общее число ключей шифра.

Таким образом, вместо \К^ операций, требуемых при полном переборе ключей, затраты метода встречи посередине состав­ ляют порядка 4|^С| операций (операции опробования и обра­

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

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

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

Таким образом, линейный анализ сводит задачу опреде­ ления ключей к решению системы линейных уравнений, в

235

/ лава 8

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

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

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

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

236

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

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

§ 8.6. Рекомендации по использованию алгоритмов блочного шифрования

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

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

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

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

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

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

237

( лава 8

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

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

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

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

238

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

временно снимается острота проблемы обеспечения уникаль­ ности синхропосылки.

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

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

2.Как реализуется предложенный К. Шенноном принцип “перемешивания” при практической реализации алго­ ритмов блочного шифрования?

3.Каковы основные недостатки алгоритма ЭЕ8 и пути их устранения?

4.Как связан “парадокс дней рождений” с криптографиче­ скими качествами блочных шифров в режиме простой замены?

5.В каких случаях можно рекомендовать использовать

блочный шифр в режиме простой замены?

6. От каких потенциальных слабостей позволяет избавиться использование блочных шифров в режимах шифрования с обратной связью?

239

Глава 9

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

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

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

§ 9.1. Синхронизация поточных шифрсистем

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

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

240