Máy tính mã băm MD4
Đã xuất bản: lúc 22:53:56 UTC 16 tháng 2, 2025
Máy tính mã băm sử dụng hàm băm Message Digest 4 (MD4) để tính toán mã băm dựa trên văn bản đầu vào hoặc tệp tải lên.MD4 Hash Code Calculator
MD4 (Message Digest 4) là một hàm băm mật mã được Ronald Rivest thiết kế vào năm 1990. Nó tạo ra một giá trị băm cố định 128 bit (16 byte) từ một đầu vào có độ dài tùy ý. MD4 hiện được coi là bị phá vỡ về mặt mật mã do các lỗ hổng cho phép tấn công va chạm (tìm hai đầu vào khác nhau tạo ra cùng một hàm băm), vì vậy không nên sử dụng nó khi thiết kế các hệ thống mới. Nó được đưa vào đây trong trường hợp cần tạo mã băm tương thích ngược.
Tiết lộ đầy đủ: Tôi không viết phần triển khai cụ thể của hàm băm được sử dụng trên trang này. Đây là một hàm chuẩn đi kèm với ngôn ngữ lập trình PHP. Tôi chỉ tạo giao diện web để công khai ở đây cho thuận tiện.
Về thuật toán băm MD4
Tôi không phải là nhà toán học, vì vậy tôi sẽ cố gắng giải thích hàm băm này theo cách mà những người không chuyên toán học như tôi có thể hiểu được ;-) Nếu bạn thích lời giải thích thiên về toán học, bạn có thể tìm thấy trên nhiều trang web khác.
Được rồi, hãy nghĩ về MD4 như một máy hủy giấy đặc biệt. Nhưng thay vì hủy giấy, nó "xé" bất kỳ tin nhắn nào (như thư, mật khẩu hoặc sách) thành một biên lai nhỏ có kích thước cố định. Bất kể tin nhắn của bạn lớn hay nhỏ, máy hủy này luôn cung cấp cho bạn một biên lai nhỏ có độ dài chính xác là 16 byte (128 bit) hoặc 32 ký tự ở dạng thập lục phân.
Để hủy tin nhắn đúng cách, bạn cần thực hiện theo bốn bước sau:
Bước 1: Chuẩn bị tin nhắn
- Trước khi hủy, bạn phải điều chỉnh giấy sao cho vừa khít với máy hủy.
- Nếu tin nhắn của bạn quá ngắn, hãy thêm một số khoảng trống (như hình vẽ nguệch ngoạc hoặc nội dung thừa) để tờ giấy vừa vặn.
- Nếu quá dài, bạn hãy chia thành nhiều trang có cùng kích thước.
Bước 2: Thêm một con dấu bí mật
- Sau khi điều chỉnh tin nhắn, bạn thêm một con dấu bí mật ở cuối cho biết độ dài của tin nhắn gốc.
- Điều này giúp máy hủy tài liệu theo dõi được kích thước ban đầu của tin nhắn, bất kể bạn đã thêm bao nhiêu giấy đệm.
Bước 3: Quá trình cắt nhỏ (3 vòng ma thuật)
- Bây giờ tin nhắn sẽ được đưa vào máy hủy tài liệu.
- Máy hủy tài liệu có 4 bánh răng (A, B, C và D) quay cùng nhau theo một mô hình đặc biệt.
- Các bánh răng trải qua 3 vòng quay, trong đó chúng:
- Trộn các từ
- Lật ngược một số bộ phận
- Xoay chúng xung quanh như một khối Rubik
- Đập vỡ các mảnh khác nhau lại với nhau
- Mỗi vòng làm cho thông điệp trông ngày càng giống một mớ hỗn độn không thể nhận ra.
Bước 4: Biên lai cuối cùng
- Sau khi quay, lật và đập, máy hủy tài liệu sẽ cho ra một biên lai - một chuỗi ngắn gồm các số và chữ cái (dấu thăng).
- Biên lai này luôn có cùng độ dài, bất kể bạn xé một từ hay cả một cuốn sách!
Thật không may, theo thời gian, mọi người phát hiện ra rằng máy hủy tài liệu ma thuật này không hoàn hảo. Một số người thông minh đã tìm ra cách đánh lừa máy hủy tài liệu để đưa ra cùng một biên lai cho hai tin nhắn khác nhau (đây được gọi là va chạm ) và dự đoán cách các bánh răng sẽ quay và sau đó sử dụng nó để tạo ra biên lai giả. Vì lý do này, MD4 không còn được coi là an toàn cho những thứ quan trọng nữa.