ОПРЕДЕЛЕНИЕ криптографических хеш-функций
Криптографическая хеш-функция - это математическая функция, используемая в криптографии. Типичные хеш-функции принимают входные данные переменной длины для возврата выходных данных фиксированной длины. Криптографическая хеш-функция сочетает в себе возможности передачи сообщений хеш-функций со свойствами безопасности.
BREAKING DOWN Криптографические хэш-функции
Хеш-функции - это часто используемые структуры данных в вычислительных системах для таких задач, как проверка целостности сообщений и аутентификация информации. Но они считаются криптографически слабыми. Криптографические хеш-функции добавляют функции безопасности к типичным хеш-функциям, что затрудняет обнаружение содержимого сообщения или информации о получателях и отправителях.
В частности, криптографические хеш-функции обладают тремя свойствами
- Они «без столкновений». Проще говоря, никакие два входных хэша не должны отображаться на один и тот же выходной хэш. Они могут быть скрыты. Проще говоря, должно быть трудно угадать входное значение для хеш-функции по ее выводу. Они должны быть дружелюбными к головоломкам. То есть, должно быть трудно выбрать вход, который обеспечивает предопределенный вывод. Таким образом, входные данные должны быть выбраны из максимально широкого распределения.
Три свойства, изложенные выше, являются желательными, но они не всегда могут быть реализованы на практике. Например, несоответствие в выборочных пространствах для входных хешей и выходов гарантирует, что возможны коллизии. Пример этого был продемонстрирован недавно, когда Инициатива цифровой валюты MIT обнаружила уязвимость коллизий в IOTA.
Криптографические хеш-функции широко используются в криптовалютах для анонимной передачи информации о транзакциях. Например, биткойн, оригинальная и самая крупная криптовалюта, использует криптографическую хэш-функцию SHA-256 в своем алгоритме. Точно так же IOTA, платформа для Интернета вещей, имеет свою криптографическую хэш-функцию, известную как Curl.