Контролна сума (на английски: checksum – „проверо(въ)чна сума“, „сума за проверка“) в математиката е някаква стойност, пресметната с определен алгоритъм, която се пресмята от последователността на данните. Използва се и при предаването на данни, за да се провери дали са предадени правилно (да се изключи влиянието на някакви смущения).

От гледна точка на математиката контролната сума е хешфункция, която се използва за изчисление на контролен код – няколко бита в голям масив от данни, например мрежов пакет или компютърен файл – който служи за откриване на грешки при предаването или съхранението на информацията. Резултатът от изчислението на контролната сума се добавя в края на масива непосредствено преди началото на предаването на данните или преди съхраняването им върху някакъв носител. Впоследствие кодът се проверява, за да се потвърди нейната цялостност (интегритет). Популярността на контролните суми е обусловена от това, че подобна проверка се реализира много просто в двоичната система, лесно се анализира и е подходяща за откриване на грешки от общ характер, дължащи се на смущения в каналите за предаване на данни.

Някои видове контролни суми са:

  • CRC (в частност CRC8, CRC16, CRC32) се използва при проверка за цялостност на данните при предаването им. Програмите архиватори включват CRC на изходните данни в създадения архив, за да може получателят да се увери, че разархивираните данни са коректни. Прост за реализация, при това осигуряващ ниска вероятност за възникване на колизия на хешфункцията, когато различни данни имат една и съща контролна сума.
  • MD5 и други криптографски хешфункции се използват например за удостоверяване целостта на данните.
  • „Контролното число“ влиза в номера на стоки и различни документи.

При файловете

редактиране

Да кажем, че сме създали текстов файл със съдържание: Test. Контролната сума (MD5) на този файл ще бъде:

Test 0cbc6611f5540bd0809a388dc95a615b

Ако добавим или махнем само един знак, цялата контролна сума се променя:

Test. f4020e91252aafd4b18d8acd17f883db

Освен за проверка за грешки този метод се използва, за да се установи дали даден файл, разпространяван от друг издател, е идентичен с оригиналния файл. Например една фирма предлага безплатна компютърна програма, дистрибутор на която обаче може да е и друга фирма. За да се провери дали втората фирма е променила изходния код на програмата, превръщайки я в злонамерен софтуер, може да се провери дали контролната сума на тази програма съвпада с тази на фирмата производител.

Вижте също

редактиране

Външни препратки

редактиране
    Тази страница частично или изцяло представлява превод на страницата „Контрольная сумма“ в Уикипедия на руски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​