Хеш-функция

от Уикипедия, свободната енциклопедия

Направо към: навигация, търсене

Хеш-функция или раздробяваща-функция (англ. hash-function - насичаща функция) е математическа функция, която служи за "раздробяване", сгъстяване на дадено множество. Входните променливи водят до достатъчно определени изходни точки от множеството. Друга дефиниция [1] е компактно представяне на входната последователност, което наричаме още цифрова сигнатура, отпечатък или извлечение (message digest, digital fingerprint).

Казано на обикновен език, един променлив по размер текст може да бъде пресъздаден като едно строго определено, съответстващо на текста число, наречено хеш (дроб) или извлечение (digest). Използват се за удостоверяване на източника (Message Authentication Codes - MAC) или за удостоверяване на целостта на данните (Message Detection Codes - MDC), като изпращачът хешира (шифрира) съобщението, предава кодираното число по обикновена, нешифрирана връзка и накрая получателят де-хешира (дешифрира) полученото число.

Пример за хеш-функция, която кодира имена с цели числа от 0 до 15. Обърнете внимание на съвпадението между ключовете "John Smith" и "Sandra Dee".

Съдържание

[редактиране] Свойства на хеш-функциите, прилагани в криптографията

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

  • еднопосочност - за дадена хеш h да е трудно да бъде изчислено съобщение m, такова че h = hash (m)\,.
  • втора еднопосочност (слабо отбягване на съвпадения) - за дадено съобщение м1 е трудно да се намери друго съобщение м2 със съвпадащи изходни стойности hash (m1) \neq hash (m2)., т.е да няма съвпадения.
  • отбягване на съвпадения (силно отбягване на съвпадения) - трудно е да се намерят две различни съобщения със съвпадаща хеш-стойност hash (m1) \neq hash (m2)..

[редактиране] Видове хеш-функции

[редактиране] Препратки

[редактиране] Източници

  1. Великотърновски университет.