Какую функцию SHA-2 будет использовать Facebook?

Я читал, что 1 октября 2015 года Facebook перейдет с SHA-1 на SHA-2, и мы должны обновить наши приложения: https://developers.facebook.com/blog/post/2015/06/02/SHA-2-Updates-Needed/

Вы знаете, какую функцию SHA-2 он будет использовать?

Я читал, что их несколько (224, 256, 384 или 512), и один из них (SHA-224) не работает с Windows XP SP3, который я использую (http://blogs.msdn.com)./b/alejacma/archive/2009/01/23/sha-2-support-on-windows-xp.aspx)


person Santino Mazzocchi    schedule 24.08.2015    source источник
comment
Вероятно, они будут поддерживать все хэш-функции семейства sha-2. Информации о наложении конкретного нет. Я бы рекомендовал спросить о безопасности на security.stackexchange.com.   -  person belford    schedule 24.08.2015
comment
Проверьте также: security.stackexchange.com/questions/87154/   -  person belford    schedule 24.08.2015


Ответы (1)


Вам не о чем беспокоиться, потому что использование SHA-224 довольно ограничено.

В этом вопросе CBroe указал на важное замечание:

Этот пост в блоге посвящен соединениям SSL, когда ваше приложение отправляет запросы API. Речь идет не о том, что вы делаете с данными в своем приложении, а о транспортном уровне.

Согласно https://crypto.stackexchange.com/questions/15151/sha-224-цели

Ответ от Ilmari Karonen:

Честно говоря, на практике очень мало причин для использования SHA-224.

Как отмечает fgrieu, SHA-224 — это просто SHA-256 с другим IV и с отбрасыванием 32 выходных битов. В большинстве случаев, если вам нужен хэш с более чем 128, но менее 256 битами, простое использование SHA-256 и самостоятельное усечение вывода до нужной длины в битах проще и так же эффективно, как использование SHA-224. Как вы заметили, SHA-256 также с большей вероятностью будет доступен на разных платформах, чем SHA-224, что делает его лучшим выбором для переносимости.

Тогда зачем вам вообще использовать SHA-224?

Очевидный вариант использования — если вам нужно реализовать существующий протокол, который указывает использование хэшей SHA-224. Хотя по причинам, описанным выше, это не очень распространенный выбор, я уверен, что такие протоколы существуют.

Кроме того, небольшое преимущество SHA-224 по сравнению с усеченным SHA-256 заключается в том, что из-за разных IV знание хэша SHA-224 данного сообщения не раскрывает ничего полезного о его хэше SHA-256 или наоборот. На самом деле это скорее функция «защиты от идиотов»; поскольку два хэша имеют разные имена, неосторожные пользователи могут предположить, что их выходные данные не имеют ничего общего, поэтому NIST изменил IV, чтобы убедиться, что это действительно так.

Тем не менее, это не то, на что вы обычно должны полагаться. Если вам действительно нужно вычислить несколько несвязанных хэшей одной и той же входной строки, вместо этого вы, вероятно, захотите использовать ключевой PRF, такой как HMAC, который может быть создан с использованием любой обычной хеш-функции (например, SHA-256).

Как вы упомянули, Windows XP с пакетом обновления 3 не поддерживает SHA-224, но поддерживает SHA-256: введите здесь описание изображения

Проверьте также: https:/ /security.stackexchange.com/questions/1751/what-are-the-realistic-and-most-secure-crypto-for-симметричный-асимметричный-хеш

Особенно: https://stackoverflow.com/a/817121/3964066

И: https://security.stackexchange.com/a/1755

Часть ответа Томаса Порнина:

ECDSA по 256-битной кривой уже обеспечивает «нерушимый» уровень безопасности (то есть примерно такой же уровень, как AES со 128-битным ключом или SHA-256 против коллизий). Обратите внимание, что на простых полях есть эллиптические кривые, а на бинарных полях — кривые; какой тип наиболее эффективен, зависит от задействованного оборудования (для кривых одинакового размера ПК предпочтет кривые на простом поле, но специализированное оборудование будет легче построить с двоичными полями; инструкции CLMUL на более новых процессорах Intel и AMD может это изменить).

SHA-512 использует 64-битные операции. Это быстро на ПК, не так быстро на смарткарте. SHA-256 часто лучше подходит для небольшого оборудования (включая 32-битные архитектуры, такие как домашние маршрутизаторы или смартфоны).

person belford    schedule 24.08.2015
comment
спасибо Белфорд. Также мне ответил Facebook, но вы должны использовать SHA256. - person Santino Mazzocchi; 25.08.2015