Контрольная сумма с низкой вероятностью ложного отрицания - PullRequest
0 голосов
/ 01 марта 2012

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

Во-вторых, как я могу уменьшить вероятность ложных негативов?Какова лучшая схема проверки чека для этого.Обратите внимание, что каждое слово в буфере имеет размер 64 бита или 8 байтов, что является длинной переменной в 64-битной системе.

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Предполагая, что реализация контрольной суммы вменяема, вероятность того, что случайно выбранная входная строка столкнется с эталонной входной строкой, будет 1 на 2 n , где n - длина контрольной суммы в битах.

Однако, если вы говорите о вводе, который отличается от оригинала небольшим количеством битов, то вероятность коллизии, как правило, намного, намного ниже.

0 голосов
/ 01 марта 2012

Одна из возможностей - взглянуть на тезис Т. Максино под названием « Эффективность контрольных сумм для встроенных сетей » (PDF), в котором содержится анализ некоторых известных контрольных сумм.

Однако обычно лучше использовать CRC, которые имеют дополнительные преимущества, такие как обнаружение ошибок пакета.

Для них ценным ресурсом является статья П. Купмана «Выбор кодов циклического избыточного кода (CRC) для встроенных сетей » (PDF).

...