Контролна сума
From Wikipedia, the free encyclopedia
Контролна сума (на английски: checksum – „проверо(въ)чна сума“, „сума за проверка“) в математиката е някаква стойност, пресметната с определен алгоритъм, която се пресмята от последователността на данните. Използва се и при предаването на данни, за да се провери дали са предадени правилно (да се изключи влиянието на някакви смущения).
От гледна точка на математиката контролната сума е хешфункция, която се използва за изчисление на контролен код – няколко бита в голям масив от данни, например мрежов пакет или компютърен файл – който служи за откриване на грешки при предаването или съхранението на информацията. Резултатът от изчислението на контролната сума се добавя в края на масива непосредствено преди началото на предаването на данните или преди съхраняването им върху някакъв носител. Впоследствие кодът се проверява, за да се потвърди нейната цялостност (интегритет). Популярността на контролните суми е обусловена от това, че подобна проверка се реализира много просто в двоичната система, лесно се анализира и е подходяща за откриване на грешки от общ характер, дължащи се на смущения в каналите за предаване на данни.
Някои видове контролни суми са:
- CRC (в частност CRC8, CRC16, CRC32) се използва при проверка за цялостност на данните при предаването им. Програмите архиватори включват CRC на изходните данни в създадения архив, за да може получателят да се увери, че разархивираните данни са коректни. Прост за реализация, при това осигуряващ ниска вероятност за възникване на колизия на хешфункцията, когато различни данни имат една и съща контролна сума.
- MD5 и други криптографски хешфункции се използват например за удостоверяване целостта на данните.
- „Контролното число“ влиза в номера на стоки и различни документи.