3.7. Уровень безопасности
55
дать возникновения коллизии, когда значение
P Q/N
приближается к еди-
нице. В этом случае наиболее эффективным выбором будет
P
≈
Q
≈
√
N
.
Как видите, мы вновь получили оценку парадокса задачи о днях рождения.
Отметим, что двусторонняя атака обладает определенной гибкостью в отно-
шении выбора
P
и
Q
. Иногда элементы одного множества легче получить,
чем элементы второго, поэтому размер множеств может быть и неодинаков.
Единственным требованием является соблюдение условия
P Q
≈
N
. Мы мо-
жем выбрать
P
≈
N
1
/
3
, а
Q
≈
N
2
/
3
. В приведенном выше примере злоумыш-
ленник может составить таблицу из
2
40
значений MAC и ожидать первого
совпадения уже после
2
24
прослушанных транзакций.
Проводя теоретический анализ того, насколько легко взломать систему,
мы часто принимаем размер обоих множеств равным
√
N
, поскольку это
минимизирует количество шагов, которые должен предпринять злоумыш-
ленник. На практике необходимо анализировать, насколько элементы одного
множества труднее получить, чем элементы другого. Проводя двустороннюю
атаку в реальной жизни, величины
P
и
Q
следует выбирать таким образом,
чтобы удовлетворить условие
P Q
≈
N
при наименьших возможных затратах.
3.6.8
Другие типы атак
До сих пор в основном речь шла об атаках на
функции шифрования. Ана-
логичным образом можно определить атаки на другие криптографические
функции, такие, как аутентификация, цифровые подписи и т.п. Они будут
рассматриваться по мере необходимости.
3.7
Уровень безопасности
Теоретически, приложив достаточно усилий, злоумышленник может взло-
мать любую криптографическую систему.
Вопрос заключается в том,
сколько
работы ему необходимо проделать. Чтобы получить количественную оценку
нагрузки на злоумышленника, атаку можно сравнить с поиском, выполняе-
мым путем полного перебора вариантов. Если для осуществления атаки необ-
ходимо проделать
2
235
шагов, это эквивалентно полному перебору вариантов
для 235-битового значения.
Много раз отмечая, что злоумышленнику необходимо проделать опреде-
ленное количество шагов, мы до сих пор не уточнили, что же такое шаг. Это
продиктовано не только свойственной нам — чего греха таить — ленью, но
и стремлением упростить анализ. Если речь идет о попытке взлома функции
шифрования, одним шагом можно считать одну процедуру шифрования за-
данного сообщения с заданным ключом. Иногда шаг атаки включает в себя
всего лишь одно обращение к таблице. Все зависит от конкретной ситуации.