Хэш-функция сопоставляет данные любого размера со значением фиксированного размера. Один и тот же входной сигнал всегда дает один и тот же выходной сигнал. Изменение одного бита полностью меняет выходной сигнал. Это свойство делает хэши полезными для проверки целостности. Загрузите файл и сравните его хэш с опубликованным значением. Если они совпадают, файл прибыл в целостном виде. Если нет, значит, что-то в нем изменилось.
Хэш-функции — односторонние. От хеша к исходным данным нельзя вернуться. Это делает их полезными для хранения паролей. Системы хранят хэш пароля, а не сам пароль. При входе в систему она хэширует введенный вами текст и сравнивает его с сохраненным хешем. Если база данных скомпрометирована, злоумышленник получает хеши, а не пароли. Слабые пароли все еще можно взломать с помощью радужных таблиц или перебора, поэтому важно использовать «соль». Соль — это случайные данные, добавляемые к каждому паролю перед хэшированием, поэтому одинаковые пароли дают разные хеши. SHA-256 и SHA-3 — распространенные криптографические хеши. MD5 и SHA-1 являются уязвимыми и не должны использоваться в целях безопасности. Хэш-функции также используются в блокчейнах, цифровых подписях и дедупликации файлов.
Свойства хэш-функции
- Детерминированный — одинаковые входные данные, одинаковые выходные данные.
- Быстро — быстро вычисляется
- Устойчивость к прообразу — необратима
- Устойчивость к коллизиям — сложно найти два входных значения с одинаковым хешем.
Хэш — это отпечаток пальца, а не шифрование. Он доказывает целостность. Он не скрывает данные.
Comments
No comments yet. Be the first to share a thought.
Leave a comment