Máy tính mã băm MD4
Đã xuất bản: lúc 22:53:56 UTC 16 tháng 2, 2025
Cập nhật lần cuối: lúc 09:07:49 UTC 12 tháng 1, 2026
MD4 Hash Code Calculator
MD4 (Message Digest 4) là một hàm băm mật mã được thiết kế bởi Ronald Rivest 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 giá trị 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.
Giới thiệu 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 về toán học như tôi có thể hiểu được ;-) Nếu bạn thích lời giải thích chuyên sâu về toán học hơn, bạn có thể tìm thấy nó trên nhiều trang web khác.
Được rồi, hãy tưởng tượng 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ỳ thông điệp 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. Cho dù thông điệp của bạn lớn hay nhỏ, máy hủy giấy này luôn cho bạn một biên lai nhỏ có độ dài chính xác 16 byte (128 bit), hoặc 32 ký tự ở dạng thập lục phân.
Để xé nhỏ tin nhắn đúng cách, bạn cần thực hiện bốn bước sau:
Bước 1: Chuẩn bị thông điệp
- Trước khi xé giấy, bạn phải điều chỉnh giấy sao cho vừa khít với máy xé giấy.
- Nếu tin nhắn của bạn quá ngắn, bạn có thể thêm một vài khoảng trống (như hình vẽ hoặc chữ viết tắt) để giấy vừa khít.
- Nếu quá dài, bạn có thể chia nó 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 chỉnh sửa 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 giấy theo dõi kích thước ban đầu của thông điệp, bất kể bạn đã thêm bao nhiêu phần thừa.
Bước 3: Quá trình xé vụn (3 vòng ma thuật)
- Giờ thì thông điệp sẽ được đưa vào máy hủy giấy.
- Máy nghiền có 4 bánh răng (A, B, C và D) quay cùng nhau theo một kiểu đặc biệt.
- Các bánh răng trải qua 3 vòng quay, trong đó chúng: Trộn lẫn các từ; Lật ngược một số bộ phận; Xoay chúng xung quanh như khối Rubik; Đập vỡ các mảnh khác nhau lại với nhau.
- Mỗi vòng lặp lại khiến thông điệp càng trở nên rối rắm và khó nhận ra.
Bước 4: Hóa đơn cuối cùng
- Sau tất cả các thao tác quay, lật và đập, máy hủy giấy sẽ nhả ra một biên lai - một chuỗi ngắn các số và chữ cái (mã băm).
- 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, người ta phát hiện ra rằng chiếc máy hủy giấy thần kỳ 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 giấy để nó tạo ra cùng một biên lai cho hai tin nhắn khác nhau (điều này được gọi là xung đột) và dự đoán cách các bánh răng sẽ quay, sau đó sử dụng nó để tạo ra các biên lai giả. Vì lý do này, MD4 không còn được coi là an toàn cho những thông tin quan trọng nữa.
Đọc thêm
Nếu bạn thích bài viết này, bạn cũng có thể thích những gợi ý sau:
