Pull to refresh

Comments 4

- Устойчивость к атаке нахождения второго прообраза (или second preimage resistance) — это означает, что, имея одно сообщение и его хеш, должно быть очень сложно или практически невозможно найти другое сообщение, которое даст тот же самый хеш.

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

а это не одно и то же?

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

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

Устойчивость к коллизиям

И вот тут хорошо бы сказать, что для любых хешей есть теоретические пределы такой стойкости, равно как и стойкости к подбору прообразов. А именно, для коллизий это O(2^(n/2)), для подбора прообразов -- O(2^n). Если хеш даёт 256 бит, то надо 2^256 попыток для подбора прообраза и 2^128 попыток подбора коллизии, т.е. 2 разных сообщений с одинаковым хешем. А вот у MD5 стойкости к коллизиям нет -- там кажется за доли секунды можно сгенерировать коллизию. Для SHA1 в известной статье сгенерировали коллизию за примерно полсотни тысяч долларов (по расценкам амазона в момент написания статьи). Для SHA2/3 информации о подобной нестойкости нет.

> в общем, SHA-2 обычно быстрее, чем SHA-3, особенно в программной реализации

А особенно в аппаратной реализации, обычно ровно наоборот.

Да, точно, спасибо за замечание!

Sign up to leave a comment.

Articles