204
ло инвертировать, когда x выбирается единообразно из
большой области, такой как
{0, 1}n. Речь не идет о сложности инвертирования H , если x выбирается из како-то
другой области, или если x выбирается согласно какому-то другому распределе-
нию. Кроме того, стойкость прообраза не подразумевает
конкретное количество
времени, необходимое для поиска прообраза. Например,
хэш-функция
H , для которой вычисление x ∈{0, 1}n с учетом H(x) требует время 2n/2, могла
бы все еще считаться стойкой к нахождению прообраза, но это бы все еще зна-
чило, что 30-битный пароль мог бы быть восстановлен всего лишь за время 215.
Если мы смод елируем H как случайный оракул, тогда мы сможем формально
доказать защиту, которую мы хотим, а именно, восстановление pw из hpw (предпо-
лагая, что pw выбирается единообразно изD) требует |D|/2 вычислений H в среднем.
Вышеописанное подразумевает, что атакующий не
осуществлял никакой
предварительной обработки. Как мы видели в Разделе 5.4.3, хотя предваритель-
ная обработка может быть использована для генерирования больших таблиц,
которые обеспечивают инверсию (даже случайной функции!) быстрее, чем ме-
тод перебора. Это серьезная проблема на практике: даже если пользователь вы-
бирает пароль как случайную комбинацию из 8 буквенно-цифровых символов,
предоставляя парол ю пространство размером N = 628 ≈ 247.6, может случиться
атака с использованием времени и пространства N 2/3 ≈ 232 , которая будет
очень эффективной. Таблицы могут быть сгенерированы один раз и могут быть
использованы для взлома сотен тысяч паролей в случае нарушения работы сер-
вера. Такие атаки рег улярно происходят на практике.
Достарыңызбен бөлісу: