Страница 4


Хеш-фукнция

Свойства хеш-функции

Хеш-функция (англ. hash function от hash — «превращать в фарш»), или функция свёртки — функция, осуществляющая преобразование массива входных данных произвольной длины в выходную битовую строку установленной длины, выполняемое определённым алгоритмом. Преобразование, производимое хеш-функцией, называется хешированием. Исходные данные называются входным массивом, «ключом» или «сообщением». Результат преобразования называется «хешем», «хеш-кодом», «хеш-суммой», «сводкой сообщения».[7]

Свойства хеш-функции:

Определения :

Существует несколько терминов, связанных с хеш-функцией:
Хеш
элемент области значений, соотнесённый с заранее известным элементом из области определения.
Хеширование
это процесс получения хеша.
Коллизия
ситуация, при которой нарушается условие инъективности хеш-функции.

Производительность хеширования в среднем случае зависит от того, насколько хорошо хеш-функция приближена к биективной k-совершенной хеш-функции, где разность количества отношейний любых двух элементов области значений стремиться к нулю. Другими словами, каждый элемент области значений обладает минимально возможным количеством отношений. Данное хеширование автор книги [2, с. 291] Томас Кормен называет простым равномерным хешированием.

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