Как вычислить разумное количество бит для контрольной суммы? - PullRequest
1 голос
/ 23 марта 2011

У меня есть около 1500 байтов данных, для которых я хочу построить контрольную сумму, чтобы в случае повреждения данных вероятность того, что контрольная сумма все еще совпадает с данными, меньше, чем, скажем, 1 на 10 ^ 15, то есть достаточно низкая вероятность того, чтоЯ могу относиться к этому так, как это никогда не произойдет.

Вопрос в том, сколько бит я должен вычислить?У меня есть вычисления sha-160, которые дают мне 160-битный хэш моих данных, но я ожидаю, что это намного больше, чем необходимо.Поэтому я думаю, что мог бы урезать полученный хеш до 40 младших битов и использовать его как достаточно большой битовый шаблон, чтобы в случае повреждения данных я, скорее всего, его обнаружил.

Так что вопросв два раза, сколько битов достаточно хорошо, и подходит ли использование младших битов хэша sha-160?

1 Ответ

2 голосов
/ 23 марта 2011

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

...