왜 MD5가 여전히 많이 사용됩니까?


17

MD5는 문서화 된 취약점 이있는 것으로 보이지만 그 사용법은 널리 퍼져 있습니다. 다른 대안 (예 : SHA-2)이 더 강력 해 보일 때 실행 가능한 옵션으로 남아있는 이유가 있습니까?

답변:


16

생성이 빠르며 충돌이 이론적으로 가능하다는 사실은 큰 문제가 아닙니다. 즉, 새로운 사본의 다운로드를 피하기 위해 캐시 된 파일이 변경되었는지 확인합니다.

1996 년에 수행 빠른 벤치 마크 프로그램 다음 :

            Digest Performance in MegaBytes per Second

      Pentium P5     Power Mac    SPARC 4     DEC Alpha
          90 MHz        80 MHz      110 MHz      200 MHz

MD5         13.1          3.1         5.1          8.5
SHA1         2.5          1.2         2.0          3.3

현대식 임베디드 칩의 경우, MD5는 동일한 정보를 위해 SHA1보다 2-3 배 더 빠를 수 있습니다.


10

MD5 해시는 대부분의 멘탈 작업에 "충분히 충분"합니다. 같은 수의 바이트에서 의미있는 충돌을 일으키는 것은 여전히 ​​매우 어렵다는 것을 기억하십시오.

예를 들어, 다음 주에 신뢰할 수있는 미러에서 새로운 Ubuntu 9.10을 다운로드한다고 가정 해보십시오. 파일이 올 바르고 완전히 다운로드되었는지 확인하려고합니다. MD5를 실행하고 ISO를 해시하십시오. 해시와 게시 된 해시를 비교하십시오. 해시가 일치하면 ISO가 올 바르고 완전히 복사되었는지 확인할 수 있습니다.


더 이상 어렵지 않습니다. 그리고 sha256sum filename.iso대신 어떻게 달리기가 더 어렵 md5sum filename.iso습니까?
기계 달팽이

또한 ISP가 악의적 인 경우 MD5는 ISO가 올바르게 다운로드되었음을 보증 하지 않습니다 . ISP는 악의적 인 일을하기 위해 ISO 이미지를 조작 할 수 있습니다.
기계 달팽이

4
  1. 짧아서 읽기 쉽습니다.
  2. 다른 시스템과의 큰 상호 운용성
  3. 그것은 일반적입니다-모두가 그것에 익숙해 있습니다.

염장으로 보안을 향상시킬 수 있습니다.


3

MD5는 빠르고 빠르고 충돌 비율이 낮기 때문에 체크섬 해시 기능으로 널리 사용됩니다. MD5 체크섬은 32 개의 16 진 숫자로 구성되며 충돌의 확률은 ~ 3.42e34에서 1을 제공합니다. 이론적으로 미국 크기의 국가에있는 모든 컴퓨터의 모든 파일을 해시하고 충돌 (*)을 생성 할 수는 없습니다.

암호화의 경우 보안이 중간 정도의 관심사 인 경우 MD5가 올바른 대안입니다. 데이터베이스 암호 또는 대부분 속도에 대한 내부 보안이 필요한 기타 필드를 해싱하는 데 매우 유용한 옵션이지만 MD5는 강력한 암호화가 중요하지 않은 합리적인 수준의 보안을 제공하기 때문입니다.


(*) 대부분의 체크섬 목적의 경우, 충돌은 비슷한 원점과 크기가 동일한 두 객체간에 발생하는 경우에만 의미가 있습니다. MD5 고유 확률이 높음에도 불구하고 두 개의 매우 다른 파일간에 충돌이 발생할 수 있습니다. 1.5Mb 데이터베이스 파일과 35k gif 파일이 있다고 가정 해보십시오. 대부분의 경우 이것은 무의미한 충돌입니다. MD5는 파일 인덱싱의 한 요소 일 뿐이므로 더욱 그렇습니다. 또 다른 중요한 파일 크기입니다.


2

MD5는 널리 사용 되었기 때문에 널리 사용되며, 기존 시스템에서 명백한 문제가 될만큼 충분히 중요한 것은 아닙니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.