체크섬은 얼마나 독특합니까?


11

정렬이 필요한 파일이 많이 있습니다. 슬프게도 이름은 같지만 내용이 다른 많은 파일이 있으며 파일 이름이 다른 동일한 내용이 있습니다.

md5sum파일에 대한 체크섬을 생성 하는 데 사용 하려고 생각하고 있지만 알아야합니다. 두 개의 다른 파일 (예 : 다른 내용)이 동일한 체크섬을 생성 할 수 있습니까?

그렇다면 얼마나 일어날 가능성이 있습니까?

두 개의 서로 다른 파일이 하나의 체크섬 프로그램 중 하나에 대해 동일한 체크섬을 생성 할 수 있다는 가정하에 두 개의 서로 관련이없는 (즉, 동일한 "패밀리"가 아닌) 체크섬 프로그램을 사용하여 두 개의 체크섬을 생성 할 수 있습니까? 한 번에 두 번 모두 일어날 수 없을까요?


2
md5 / sha2 / etc는 데이터의 HASH이므로 많은 비트의 정보를 작은 비트 공간에 매핑하므로 충돌이 발생할 수 있습니다. 해시는 고유 한 키가 아니며 그것이 목표라면 ... 다른 일을하는 것이 좋습니다.
mdpc

파일 정렬의 경우 MD5가 좋습니다. 에서 crypto.stackexchange.com/a/18337/49945 , 두 개의 서로 다른 콘텐츠의 체크 충돌 확률은 1 ^ 43 (10)에 대해 1 인 128 ^ 2이다. 정말, 아주 드 rare니다. 마이크로 초당 하나의 비교를 수행하면 평균적으로 10 ^ 20 년에 한 번 충돌이 발생합니다. 빅뱅 이후 ~ 10 ^ 9 년이 지났으므로 지금까지 빅뱅과의 마이크로 초당 하나의 비교에서 한 번의 충돌이 발생할 확률은 10 ^ 11의 1에 불과합니다. 1 천억 개의 동시 컴퓨터가 주어 졌을 때, 오직 하나만이 충돌을 보았을 것입니다.
ToolmakerSteve

... 파일을 정렬 할 때 해시 알고리즘을 사용하는 이유는 확실하지 않습니다. 이름이 같은 파일이 있으면 다른 기준으로 식별 할 수 있어야합니다. 예를 들어 파일에 대한 고유 한 경로 가 있거나 일부 저장 장치 내에 바이트 오프셋 이 있어야 합니까? 이들 중 하나가 파일을 고유하게 참조하는 더 유용한 방법입니다.
ToolmakerSteve

답변:


11

내용은 같지만 파일 이름이 다른 두 파일 : ( file1file2 ) :

cat file1
this is a simple file

cat file2
this is a simple file

md5sum file1
7de45bf879db49de7e2eacea23e6c165  file1
md5sum file2
7de45bf879db49de7e2eacea23e6c165  file2

내용은 다르지만 파일 이름은 동일한 두 파일 : ( file1file1 )

cat file1
this is a simple file
cat file1
this is a simple file with extra contents
md5sum file1 #first file1
7de45bf879db49de7e2eacea23e6c165  file1
md5sum file1 #second file1
c7c8f3fd9ddd7a926c31416a69063e4e  file1

로부터 위키 항목,

그러나 실제 세계에서 동일하지 않은 두 파일이 동일한 해시를 갖도록 특별히 작성되지 않은 한 동일한 MD5 해시를 가질 가능성은 거의 없습니다.

그러나 MD5 알고리즘에는 자체 결함이 있습니다.

그러나 이제 MD5 충돌을 쉽게 생성 할 수 있으므로 파일을 만든 사람이 동일한 체크섬으로 두 번째 파일을 만들 수 있으므로이 기술은 일부 형태의 악의적 인 변조를 방지 할 수 없습니다. 또한 체크섬을 신뢰할 수없는 경우 (예 : 다운로드 한 파일과 동일한 채널을 통해 얻은 경우) MD5는 오류 검사 기능 만 제공 할 수 있습니다. 큰 파일을 다운로드 할 때 더 가능성이 높아집니다.

sha1 알고리즘을 사용할 때는 충돌을 일으키는 것이 쉽지 않기 때문에 체크섬 계산에 sha1을 사용하는 것이 좋습니다 . 여기에서 볼 수 있듯이 sha1 체크섬 생성은 매우 쉽습니다 .


참고 : 문제는 파일 정렬 에 관한 것입니다 . 사용 권장 사항 sha1은 해당 작업과 관련이 없습니다. 보안 에 대해 걱정할 때만 중요 합니다.
ToolmakerSteve
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.