Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Криптографическая защита информации.doc
Скачиваний:
197
Добавлен:
04.12.2018
Размер:
1.91 Mб
Скачать

7.5. Возможные атаки на функции хэширования

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

где п – длина свертки, е – основание натуральных логарифмов. Наибольшей эта вероятность становится при r1 = r2 = 2п/2. В этом случае ее значение приблизительно равно 0,63.

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

Итеративный способ построения хэш-функции позволяет иногда при ее обращении или построении коллизий использовать метод "встречи посередине". Для защиты от этой опасности в конце сообщения обычно дописывают блоки с контрольной суммой и длиной сообщения.

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

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

  1. Для каких целей применяются хэш-функции?

2. Перечислите основные требования, предъявляемые к хэш-функциям.

3. Почему нельзя использовать в качестве хэш-функции ли­нейные отображения?

4. Сравните требования, предъявляемые к ключевым и бес­ключевым хэш-функциям.

Тема 8. Криптосистемы с открытым ключом

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

Каждый из корреспондентов системы обладает ключом k =(kз,kр), состоящим из открытого ключа kз и секретного ключа kр . Открытый ключ определяет правило зашифрования Еk, а секретный ключ – правило расшифрования Dk). Эти правила связаны соотношением Dk(Ek(M)) = С для любого открытого текста М и любого шифрованного текста С. Знание открытого ключа не позволяет за приемлемое время (или с приемлемой сложностью) он определить секретный ключ.

Для удобства записи обозначим правила зашифрования и расшифрования (на выбранном ключе k) произвольного корреспондента А символами ЕА и DА соответственно.

Корреспондент В, желая послать конфиденциальное сообщение М корреспонденту А, получает копию ЕА, вычисляет шифртекст С=ЕА(М), который направляет по каналу связи корреспонденту А. Получив сообщение С, корреспондент А применяет к нему преобразование DА, получая открытый текст М.

Открытый ключ не требуется сохранять в тайне. Необходимо лишь обеспечить его аутентичность, что, как правило сделать легче, чем обеспечить рассылку и сохранность секретныx ключей.

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

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

Рассмотрим конкретные примеры систем шифрования с открытыми ключами.