Подтвердить что ты не робот

Какая разница между хэш-алгоритмами SHA-2 и SHA-3?

Я знаю, что SHA-224, SHA-256, SHA-384 и SHA-512 являются частью семейства функций хэш-функции SHA-2 . Но теперь есть новый алгоритм хеширования SHA-3.

Не могли бы вы рассказать мне разницу между SHA-2 и SHA-3? Когда и почему я должен использовать SHA-3? И какой безопасный алгоритм хеширования действительно включает SHA-3?

4b9b3361

Ответ 1

SHA-3, также известный как Keccak (его первоначальное имя до его выбора в качестве победителя NIST SHA-3 конкуренция), является совершенно новым алгоритмом хэширования, который не имеет ничего общего с SHA-1 и SHA-2.

Действительно, одна из заявленных причин, по которым NIST выбрала Кечкака над другими финалистами конкурса SHA-3, была его несходством с существующими алгоритмами SHA-1/2; утверждалось, что это несходство делает его лучшим дополнением к существующим алгоритмам SHA-2 (которые по-прежнему считаются безопасными и рекомендованы NIST), а также уменьшает вероятность того, что любые будущие криптоаналитические прорывы могут поставить под угрозу безопасность как SHA- 2 и SHA-3.

На каком-то фоне соревнование по хэш-функции SHA-3 было первоначально объявлено NIST в 2007 году, после того как некоторые новые криптоаналитические атаки назвали безопасность SHA-1 под вопросом. В то время как нападения на SHA-1 в основном представляли собой теоретический интерес, опасались, что дальнейшие усовершенствования этих методов могут позволить практические атаки на столкновение с SHA-1 и что те же методы могут применяться и к SHA-2, который имеет аналогичный дизайн для SHA-1. Таким образом, NIST решила провести конкурс на выбор преемника SHA-2, который будет называться SHA-3.

Тем не менее, в то время как реальная атака столкновения в реальном мире на SHA-1 была наконец продемонстрирована в 2017 году, страшные атаки на SHA-2 потерпели неудачу материализоваться. В настоящее время принято считать, что разрыв SHA-2 будет не таким простым, как это было десять лет назад, и поэтому все варианты SHA-2 по-прежнему считаются безопасными в обозримом будущем. Однако, поскольку NIST обещал, что SHA-3 будет выбран в 2012 году, и поскольку многие люди потратили немало времени и усилий на отправку и оценку новых хеш-функций для соревнований, а так как были некоторые действительно приятные проекты среди финалистов было бы позором не выбирать никого из них как победителя. Поэтому NIST решил выбрать Keccak как SHA-3 и рекомендовать его как альтернативу (не преемнику) хэш-функции SHA-2.

Что все это значит, что если вам нужна безопасная и стандартизованная хэш-функция, вы можете выбрать SHA-2 или SHA-3. Если вы чувствуете себя параноиком, вы можете даже захотеть использовать их и разработать свою криптосистему, чтобы она оставалась безопасной, даже если одна из хэш-функций была нарушена.