왜 MD5가 여전히 많이 사용됩니까? 보이지만 그 사용법은 널리

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



답변

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

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 배 더 빠를 수 있습니다.


답변

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

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


답변

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

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


답변

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

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


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


답변

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