Однонаправленная хеш функция хорошо используется в криптографии дл подписи электронных документов и для хранения паролей в ОС. Хеш функция принимает в качестве аргумента документ М произвольной длины и возвращает хеш значение этого документа фиксированной длины. А в общем случае хешированная информация эта сжатое двоичное представление основного сообщения произвольной длины. Значение хеш функции сложным образом зависит от открытого сообщения и не позволяет восстановить само открытое значение. Хеш функция образует выходное значение с фиксированной длиной М при задании двух входных значений длиной n. Этими значениями являются блок исходного текста Mi и хеш значение Hi-1 предыдущего блока текста.
В криптографии хеш-функции используются для решения следующих задач:
осуществление контроля целостности данных при их передачи или хранении
аутентификации источника данных
При решении первой задачи для каждого набора данных вычисляется значение хеш функции (это значение называется код аутентификации или имитовставка). Это значение передается или храниться вместе с набором данных. При получении данных пользователь вычисляет значение хеш функции и сравнивает ее с имеющимся контрольным значением. Кроме того хеш функция может использоваться для обнаружения модификации сообщения. То есть служить в качестве криптографической контрольной суммы. В этом качестве функция хеширования используется при формировании проверки ЭЦП. Для того чтобы функция хеширования могла быть надлежащим образом использована в процессе аутентификации она должна удовлетворять следующим требованиям:
возможностью применения к аргументу любого размера
простотой и удобством вычисления для любых значений аргумента
чувствительностью к любым изменениям в открытом тексте
свойством необратимости, то есть задача подбора открытого текста по значениям хеш функции должна быть вычислительно не разрешима
вероятность того что значение хеш функции двух различных документов совпадут должна быть ничтожна мала.