손상을 감지하는 것은 전적으로 정확하지 않습니다. 소프트웨어의 무결성을 확인하는 것이보다 정확한 사용법입니다. 일반적으로 소프트웨어는 단일 서버에서 배포되지 않습니다. 여러 서버에서 동일한 소프트웨어가 배포 될 수 있습니다. 따라서 특정 소프트웨어를 다운로드 할 때 다운로드 속도를 높이기 위해 대상과 가장 가까운 서버가 다운로드 소스로 선택됩니다. 그러나 이러한 '비공식'(타사) 서버를 항상 신뢰할 수있는 것은 아닙니다. 그들은 / 포함 할 수 있습니다 트로이 목마 / 바이러스 / 애드웨어 / 인 프로그램에 백도어 좋지 않다 .
따라서 다운로드 한 소프트웨어가 관련 조직에서 출시 한 '공식'소프트웨어와 정확히 동일하도록 체크섬이 사용됩니다. 체크섬을 생성하는 데 사용되는 알고리즘은 프로그램을 약간만 변경해도 완전히 다른 체크섬이됩니다.
Practical Unix 및 인터넷 보안 에서 가져온 예
MD5 (파란색 상자에 $ 1500가 있습니다.) = 05f8cfc03f4e58cbee731aa4a14b3f03
MD5 (파란색 상자에 $ 1100가 있습니다.) = d6dee11aae89661a45eb9d21e30d34cb
단일 문자 (및 문자 내에서 단일 이진 비트 만)가 다른 메시지는 완전히 다른 메시지 다이제스트를 갖습니다.
다운로드 한 파일에 '공식'웹 사이트에 제공된 체크섬과 동일한 체크섬이 있으면 소프트웨어를 수정하지 않은 것으로 가정 할 수 있습니다.
참고 : 이론적으로 두 개의 서로 다른 파일은 동일한 해시 값을 가질 수 있습니다. 해시 / 체크섬 알고리즘이 안전한 것으로 간주 되려면 동일한 체크섬을 생성하는 다른 파일을 찾는 것이 계산적으로 매우 비싸야합니다.