Алгоритм вычисления контрольной суммы

Рассмотрим алгоритм вычисления контрольной суммы (КС).

КС — способ цифровой идентификации некоторой последовательности данных, который заключается в вычислении контрольного значения её кода.

С точки зрения математики КС является типом хэш-функции, используемой для вычисления контрольного кода (КК). КК есть небольшое количество бит внутри большого блока данных, например, сетевого пакета, применяемого для обнаружения ошибок при передаче или хранении информации. Результат вычисления КС добавляется в конец блока данных непосредственно перед началом передачи или сохранения данных на каком -либо носителе информации. Впоследствии он проверяется для подтверждения целостности переданной информации. Популярность КС обусловлена тем, что подобная проверка просто реализуема в двоичном цифровом оборудовании, легко анализируется и хорошо подходит для обнаружения общих ошибок, вызванных наличием шума в каналах передачи данных.

Принцип КС основан на использовании свойств двоичного многочлена, в виде которого представляется исходная битовая последовательность блока данных. При этом каждый бит такой последовательности соответствует одному из полиномиальных коэффициентов. Например, десятичное число 90 (1011010 в двоичной записи) соответствует многочлену следующего вида: