Шемякин лекции 2023 / Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии
.pdfЬлочные системы шифрования
Известно, что множество преобразований, реализуемых полной схемой ОЕ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