Adler32 легко расшифровать и почему?

Я слышал, что мы не должны полагаться на Adler32, и я хочу спросить, почему.

Почему мы не должны доверять Adler32 хешу? Это обратимо? Или мы можем просто увидеть настоящий текст с легкостью?

2 ответа

Решение

Абсолютно нельзя использовать Adler32 для хеширования паролей.

Для коротких входных данных существенная информация может быть получена из 8-битной CRC. Обычно для криптографического хэша изменение входных данных на один бит изменится на 50% выходных битов.

Он не предназначен для предотвращения столкновений, это CRC. Многие хэш-функции предназначены для других целей, где коллизии не являются проблемой, такие как поиск по словарю или складские места в "клубе бутылок", который просто использует последние пару цифр номера участника, чтобы добиться несколько равномерного распределения бутылок по складским местам хранения.,

Пароль безопасности:

Недостаточно просто использовать хеш-функцию, а просто добавление соли мало что делает для повышения безопасности. Вместо этого добавьте в HMAC случайную соль в течение примерно 100 мс и сохраните соль с помощью хэша. Используйте такие функции, как PBKDF2, password_hash, Bcrypt и аналогичные функции. Смысл в том, чтобы заставить злоумышленника тратить много времени на поиск паролей грубой силой.

Одной из причин, по которой SHA-512 с солью недостаточно, является то, что ноутбук (мой) может выполнять 750 000 в секунду, это будет применяться к списку из 10 000 000 паролей, отсортированных по частоте использования. Затем существуют специальные программы, которые их заполняют. Если это не подводная охота, злоумышленник, вероятно, будет удовлетворен 90% взломанных паролей. Таким образом, если увеличить время работы компьютера с <2us до>100 мс, злоумышленнику потребуется 50 000 раз, и он, вероятно, перейдет на следующий сайт.

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

Вот почему: злоумышленник заходит на ваш сайт, получает пароли MD5, использует грубую силу со списком общих паролей и имеет имя пользователя и пароль пользователя. Теперь злоумышленник использует это на другом сайте, чтобы получить доступ к более конфиденциальным данным, поскольку большинство пользователей повторно используют пароли. Вы только что помогли скомпрометировать пользователя. Примечание. Приличная скорость хакера может составлять 1 миллиард в секунду. Атакующий полюбит ваш сайт, и вы даже не узнаете, что он был успешно атакован.

Никто не "дешифрует" хеш, а хеш не скрывает "настоящий текст" - это делает шифрование, а не хеширование. Но если вы имеете в виду, может ли Adler-32 использоваться в качестве криптографического хэша?, тогда абсолютно нет. Требование криптографического хэша состоит в том, что для предсказуемого оборудования и математики будет чрезвычайно трудно, практически невозможно, создать сообщение с данным хэшем. Это довольно легко сделать для Adler-32, и на самом деле легко с любым 32-битным хешем. 32-бит просто не достаточно.

Другие вопросы по тегам