MD4 해시 코드 계산기
게시됨: 2025년 2월 16일 오후 10시 52분 22초 UTC
텍스트 입력이나 파일 업로드를 기반으로 해시 코드를 계산하기 위해 MD4(Message Digest 4) 해시 함수를 사용하는 해시 코드 계산기입니다.MD4 Hash Code Calculator
MD4(Message Digest 4)는 1990년 로널드 리베스트가 설계한 암호화 해시 함수입니다. 임의의 길이의 입력에서 고정된 128비트(16바이트) 해시 값을 생성합니다. MD4는 충돌 공격(동일한 해시를 생성하는 두 개의 다른 입력 찾기)을 허용하는 취약성으로 인해 현재 암호화적으로 손상된 것으로 간주되므로 새로운 시스템을 설계할 때 사용해서는 안 됩니다. 이전 버전과 호환되는 해시 코드를 생성해야 하는 경우 여기에 포함됩니다.
전체 공개: 이 페이지에서 사용된 해시 함수의 구체적인 구현은 제가 직접 작성하지 않았습니다. PHP 프로그래밍 언어에 포함된 표준 함수입니다. 편의를 위해 웹 인터페이스만 공개하여 여기에서 사용할 수 있도록 만들었습니다.
MD4 해시 알고리즘에 대하여
저는 수학자가 아니므로 수학에 관심이 없는 사람들도 이해할 수 있도록 해시 함수를 설명하려고 노력하겠습니다 ;-) 수학적인 설명을 선호하신다면 다른 많은 웹사이트에서 찾을 수 있습니다.
좋습니다. MD4를 특수한 종이 파쇄기로 생각해보세요. 하지만 종이를 파쇄하는 대신 모든 메시지(예: 편지, 비밀번호 또는 책)를 작고 고정된 크기의 영수증으로 "파쇄"합니다. 메시지가 아무리 크든 작든 이 파쇄기는 항상 정확히 16바이트(128비트) 길이의 작은 영수증을 제공합니다. 16진수 형태로는 32자입니다.
메시지를 올바르게 분쇄하려면 4단계를 거쳐야 합니다.
1단계: 메시지 준비
- 파쇄하기 전에 종이가 파쇄기에 완벽하게 맞도록 조정해야 합니다.
- 메시지가 너무 짧다면 낙서나 채우기 같은 빈 공간을 추가해서 종이에 딱 맞게 넣을 수 있습니다.
- 너무 길다면 같은 크기의 여러 페이지로 나누세요.
2단계: 비밀 스탬프 추가
- 메시지를 조정한 후에는 원래 메시지의 길이를 알려주는 비밀 스탬프를 끝에 추가합니다.
- 이렇게 하면 아무리 많은 양의 채우기 재료를 추가하더라도 분쇄기가 메시지의 원래 크기를 추적하는 데 도움이 됩니다.
3단계: 분쇄 과정(3라운드의 마법)
- 이제 해당 메시지는 분쇄기로 옮겨집니다.
- 파쇄기에는 4개의 기어(A, B, C, D)가 있어 특별한 패턴으로 함께 회전합니다.
- 기어는 3번 회전하며 다음과 같은 동작을 합니다.
- 단어를 섞다
- 일부 부분을 뒤집어 보세요
- 루빅큐브처럼 돌려보세요
- 다양한 조각을 함께 부수세요
- 라운드가 진행될수록 메시지는 알아볼 수 없을 정도로 엉망진창처럼 보입니다.
4단계: 최종 영수증
- 회전, 뒤집기, 분쇄 등의 작업을 거친 후 분쇄기는 영수증을 뱉어냅니다. 영수증은 짧은 숫자와 문자로 구성된 문자열(해시)입니다.
- 이 영수증은 단어 하나만 잘랐든 책 전체를 잘랐든 항상 길이가 같습니다!
불행히도 시간이 지나면서 사람들은 이 마법의 분쇄기가 완벽하지 않다는 것을 알게 되었습니다. 몇몇 영리한 사람들은 분쇄기를 속여 두 개의 다른 메시지에 대해 같은 영수증을 주는 방법( 충돌 이라고 함)과 기어가 어떻게 회전할지 예측한 다음 가짜 영수증을 만드는 방법을 알아냈습니다. 이 때문에 MD4는 더 이상 중요한 것에 대해 안전하지 않은 것으로 간주됩니다.