Контрольна сума
Контро́льна су́ма — деяке значення, розраховане на основі набору даних з використанням певного алгоритму, що використовується для перевірки цілісності даних при їх передачі або збереженні. Також контрольні суми можуть використовуватись для швидкого порівняння двох наборів даних на нееквівалентність: з великою ймовірністю різні набори даних матимуть відмінні контрольні суми. Це може бути застосовано, наприклад, для детектування комп'ютерних вірусів.
З точки зору математики контрольна сума є хеш-функцією, що використовується для обчислення контрольного коду — великої кількості біт всередині великого блока даних, наприклад, мережевого пакету або блоку комп'ютерного файлу, що використовується для виявлення помилок під час передачі або збереження інформації. Значення контрольної суми зазвичай додається до початку або кінця блоку даних безпосередньо перед початком передачі або запису даних на носій інформації. У майбутньому це значення перевіряється для підтвердження цілісності даних.
Популярність використання контрольних сум для перевірки цілісності даних зумовлена тим, що подібна перевірка просто реалізується у двійковому цифровому обладнанні, легко аналізується і добре підходить для виявлення загальних помилок, що викликані наявністю шуму в каналах передачі даних.
- Циклічний надлишковий код (у тому разі, CRC8, CRC16, CRC32) використовується для перевірки цілісності передачі даних. Програми-архіватори включають CRC вхідних даних в створений архів для того, щоб отримувач міг впевнитись в коректності отриманих даних. Така контрольна сума проста в реалізації і забезпечує низьку ймовірність виникнення колізій.
- MD5 та інші криптографічні хеш-функції використовуються, наприклад, для підтвердження цілісності і достовірності даних, що передаються.
- Під назвою «контрольне число» входить до складу номерів товарів та документів.
- (англ.)Приклад реалізації CRC32 на С (RFC 1952)
- (англ.)Fsum Frontend — бібліотека для роботи з контрольними сумами. Підтримує 96 алгоритмів.
- (англ.)Okteta — шістнадцятковий редактор для KDE 4 [Архівовано 23 листопада 2010 у Wayback Machine.]