2012-03-01 6 views
0

지금은 버퍼에 단어를 추가하는 간단한 체크섬 체계를 사용하고 있습니다. 첫째, 제 질문은 거짓 부정의 확률입니다. 즉, 수신 시스템이 데이터가 다를 때도 송신 시스템과 동일한 체크섬을 계산합니다.가짜 확률이 낮은 체크섬

두 번째로, 어떻게 잘못된 음화의 가능성을 줄일 수 있습니까? 가장 좋은 체크섬 계획은 무엇입니까? 버퍼의 각 단어는 64 비트 시스템에서 긴 변수 인 크기가 64 비트 또는 8 바이트임을 유의하십시오. 온전한 체크섬 구현 가정

+3

CRC, MD5 또는 SHA와 같은 업계 표준 체크섬을 사용하지 않는 이유가 있습니까? – Jon

+0

단어의 순서가 중요하지 않다는 것을 정확히 이해합니까? 참고 : 각 입력 (데이터베이스에 저장)에 고유 한 ID를 할당하면 확률을 0으로 줄일 수 있습니다. 질문에 그 값이 필요합니까? –

+0

변경 사항이 감지되지 않을 확률을 부여하는 것은 다양한 변경 확률을 부여하는 경우에만 가능합니다. 다른 체크섬은 다른 변경 패턴에 대해 다르게 동작합니다. – AProgrammer

답변

1

후 기준 입력 스트링과 충돌 임의로 선택 입력 스트링의 확률 N는 비트 체크섬 길이가 2 N, 1이다.

그러나 비트 수가 적은 원본과 다른 입력에 대해 이야기하는 경우 충돌 가능성은 일반적으로 훨씬 낮습니다.

+0

두 항목에 대해서만 적용됩니다. 충돌의 확률은 엔트리의 수에 달려 있습니다. 또한 생일의 역설을보세요 –

+0

@yi_H : 나는 하나의 입력 문자열이 참조 입력과 충돌 할 확률에 대해 말하고 있습니다. 내 대답을 분명히하자. –

+0

yepp 나는 또한 거의 같은 시간에 내 코멘트를 업데이트했다.) –