Теория
Контрольная сумма — короткое число, вычисляемое по данным, для обнаружения случайных ошибок передачи: CRC и Adler-32 обрабатывают поток байтов накопительным алгоритмом, выдавая на выходе фиксированное значение. Если при передаче биты исказились, сумма не совпадёт.
Контрольные суммы встроены в сетевые протоколы и форматы архивов: CRC32 используют в ZIP и PNG, Fletcher — в TCP-контроле. Это защита от помех, а не от злоумышленника — подделать сумму так же просто, как данные.
Важно: контрольные суммы не заменяют криптографические хеши — они ловят случайные сбои, а не намеренные изменения.
Пример с решением
- Условие. Найдите CRC32 строки «123456789».
- Формула. CRC32: полиномиальное деление потока битов с накоплением регистра.
- Подстановка. Девять байтов — стандартный проверочный вектор.
- Вычисление. Известный эталонный результат: CBF43926 (в hex).
- Ответ. CRC32(«123456789») = cbf43926. Калькулятор с этой строкой покажет сумму для каждого алгоритма: CRC16, CRC32, Adler-32, Fletcher.
Главное
- Контрольная сумма — компактный «отпечаток» от помех.
- Алгоритмы: CRC16/32, Adler-32, Fletcher.
- Не защищает от намеренных изменений.