Хеш-функция или раздробяваща-функция (на английски: hash-function – насичаща функция) е еднопосочна, математическа функция, която служи за "раздробяване", сгъстяване на дадено множество. Входният масив от данни с произволна дължина се преобразува в изходен низ с фиксирана дължина. Друга дефиниция е компактно представяне на входната последователност, което наричаме още цифрова сигнатура, отпечатък или извлечение (message digest, digital fingerprint).
Казано на обикновен език, един променлив по размер текст може да бъде пресъздаден като едно строго определено, съответстващо на текста число, наречено хеш (дроб), хеш-стойност или извлечение (digest). Прилагането на хеш-функция се нарича накратко „хеширане“.
Хеширането се прилага за сравнение на данните: ако два масива имат различни хеш-стойности, те гарантирано са различни; ако хеш-стойностите са еднакви, масивите най-вероятно са еднакви. В общия случай не се наблюдава еднозначно съответствие между изходните данни и хеш-стойността поради това, че броят на значенията на хеш-функцията е по-малък от вариантите на входния масив, т.е. съществуват множество масиви, чиито хеш-стойности са еднакви – това се нарича колизия. Вероятността за възникване на колизии играе важна роля при оценката на качеството на една хеш-функция.
Приложение в криптографията
Хеш-функциите се използват много често за удостоверяване на източника (Message Authentication Codes – MAC) или за удостоверяване на целостта на данните (Message Detection Codes – MDC), като изпращачът хешира (шифрира) съобщението, предава кодираното число по обикновена, нешифрирана връзка и накрая получателят де-хешира (дешифрира) полученото число.
Copyright 2024 puzzlefactory.com Всички права запазени.