Máy tính mã băm RIPEMD-160
Đã xuất bản: lúc 21:41:07 UTC 18 tháng 2, 2025
Máy tính mã băm sử dụng hàm băm RACE Integrity Primitives Evaluation Message Digest 160 bit (RIPEMD-160) để tính toán mã băm dựa trên dữ liệu nhập vào là văn bản hoặc tệp tải lên.RIPEMD-160 Hash Code Calculator
RIPEMD-160 là một hàm băm mật mã lấy dữ liệu đầu vào (hoặc thông điệp) và tạo ra đầu ra có kích thước cố định, 160 bit (20 byte), thường được biểu diễn dưới dạng số thập lục phân gồm 40 ký tự.
RIPEMD (RACE Integrity Primitives Evaluation Message Digest) là một họ các hàm băm mật mã được thiết kế để cung cấp tính toàn vẹn của dữ liệu thông qua băm. Nó được phát triển vào giữa những năm 1990 như một phần của dự án RACE (Nghiên cứu và Phát triển Công nghệ Truyền thông Tiên tiến tại Châu Âu) của EU.
Phiên bản RIPEMD 160 bit vẫn được coi là an toàn và là biến thể được sử dụng nhiều nhất, có lẽ nổi tiếng nhất là trong Bitcoin, nơi nó được sử dụng cùng với SHA-256 để tạo địa chỉ.
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 RIPEMD-160
Tôi không phải là nhà toán học hay nhà mật mã học, nhưng tôi sẽ cố gắng giải thích cách hàm băm này hoạt động theo cách mà những người không phải là nhà toán học có thể hiểu được. Nếu bạn thích lời giải thích toán học chính xác về mặt khoa học hơn, tôi chắc rằng bạn có thể tìm thấy điều đó trên nhiều trang web khác ;-)
RIPEMD sử dụng cấu trúc Merkle-Damgård, đây là điểm chung với họ thuật toán băm SHA-2. Tôi đã mô tả chúng hoạt động tương tự như máy xay sinh tố trên các trang khác và điều tương tự cũng đúng với RIPEMD:
Bước 1 - Chuẩn bị (Bổ sung dữ liệu)
- Đầu tiên, RIPEMD đảm bảo "thành phần" vừa khít với máy xay. Nếu không, nó sẽ thêm một số "chất độn" để làm tròn (giống như việc thêm dữ liệu).
Bước 2 - Khởi động Blender (Khởi tạo)
- Máy xay sinh tố bắt đầu với một thiết lập cụ thể - như tốc độ, công suất và vị trí lưỡi dao. Đây là các giá trị bắt đầu đặc biệt được gọi là vectơ khởi tạo.
Bước 3 - Quá trình trộn (Xử lý dữ liệu)
- Đây là phần thú vị: RIPEMD không chỉ có một bộ lưỡi dao. Nó có hai máy xay hoạt động cạnh nhau (trái và phải).
- Mỗi máy xay xử lý nguyên liệu theo cách khác nhau. Một máy cắt nhỏ trong khi máy kia xay, sử dụng tốc độ, hướng và kiểu lưỡi dao khác nhau.
- Họ trộn, hoán đổi và xoắn dữ liệu 80 lần (giống như pha trộn các chu kỳ để đảm bảo mọi thứ được trộn hoàn hảo).
Bước 4 - Pha trộn cuối cùng (Kết hợp kết quả)
- Sau khi trộn xong, RIPEMD kết hợp kết quả từ cả hai máy xay thành một hỗn hợp mịn cuối cùng.
Phiên bản 160 bit là phiên bản được sử dụng phổ biến nhất của RIPEMD, đặc biệt là do nó được sử dụng để tạo địa chỉ Bitcoin cùng với SHA-256.