Контрольная сумма
Контро́льная су́мма — некоторое значение, рассчитанное из последовательности данных путём применения определённого алгоритма, используемое для проверки правильности передачи данных (для исключения влияния каких-либо помех при передаче).
С точки зрения математики КС является хеш-функцией, используемой для вычисления контрольного кода — небольшого количества бит внутри большого блока данных, например сетевого пакета или блока компьютерного файла, применяемого для обнаружения ошибок при передаче или хранении информации. Результат вычисления КС добавляется в конец блока данных непосредственно перед началом передачи или сохранения данных на каком-либо носителе информации. Впоследствии он проверяется для подтверждения её целостности. Популярность КС обусловлена тем, что подобная проверка просто реализуема в двоичном цифровом оборудовании, легко анализируется и хорошо подходит для обнаружения общих ошибок, вызванных наличием шума в каналах передачи данных.
Некоторые виды контрольных сумм:
- Циклический избыточный код (в частности, CRC8, CRC16, CRC32) применяется для проверки целостности передачи данных. Программы-архиваторы включают CRC исходных данных в созданный архив для того, чтобы получающий мог удостовериться в корректности полученных данных. Прост в реализации, при этом обеспечивает низкую вероятность возникновения коллизии, когда разные данные имеют одну и ту же контрольную сумму. Для вычисления используются побитовый сдвиг и Исключающее ИЛИ.
- MD5 и другие криптографические хеш-функции используются, например, для подтверждения целостности и подлинности передаваемых данных.
- Под названием «контрольное число» входит в состав номеров товаров и различных документов.