В криптографии, атака нахождения прообразакриптографической хеш-функции — это попытка отыскать сообщение с заданным значением хеша. Существуют два типа подобных атак:
Атака нахождения первого прообраза: по данному значению хеша h найти такое сообщение m, что hash(m) = h.[1]
Атака нахождения второго прообраза: по данному сообщению m1 найти отличное от него сообщение m2 такое, что hash(m2) = hash(m1).[1]
Для идеальной n-битовой хеш-функции сложность нахождения первого прообраза составляет 2n, что считается высоким показателем, учитывая среднюю длину хеш-значений (порядка 160 бит). Если злоумышленник не может провести атаку с меньшими затратами, то такая хеш-функция считается устойчивой к атаке нахождения прообраза.
Разработанные на сегодняшний момент атаки на прообраз не являются практически пригодными. Если такую атаку возможно будет применить на практике, то это сильно повлияет на многие протоколы сети Интернет. В данном ключе, слово «практический» означает, что атака может быть проведена за разумное время при разумных затратах. Атака по нахождению прообраза, которая стоит миллиарды и занимает десятилетия вычислений, совсем не практична; в то же время атака, на которую уйдёт всего несколько тысяч долларов и несколько недель вычислений, применима на практике.
Все известные на сегодняшний момент применимые или почти применимые на практике атаки[2][3][4] на MD5 и SHA-1 — это коллизионные атаки, которые легче для проведения[5]. Устойчивость к нахождению прообраза можно свести к устойчивости к коллизиям.
↑Bruce Morton, Clayton Smith.Why We Need to Move to SHA-2 (неопр.). CA Security Council (30 января 2014). Дата обращения: 23 января 2018. Архивировано 12 января 2021 года.