Hầu hết các ứng dụng của SHA-1 là khả năng tương tác: chúng tôi sử dụng SHA-1 khi chúng tôi triển khai các giao thức mà SHA-1 được bắt buộc. Dễ phát triển cũng được đưa vào tài khoản: triển khai SHA-1 trong nhiều ngôn ngữ và môi trường lập trình phổ biến hơn so với triển khai SHA-512.
Ngoài ra, hầu hết các hàm băm không có vấn đề về hiệu suất (ít nhất, không có vấn đề về hiệu suất trong đó hàm băm là nút cổ chai), có một số kiến trúc mà SHA-1 hiệu quả hơn SHA-512 . Hãy xem xét một bộ định tuyến Linksys cơ bản: nó sử dụng một CPU Mips-phái sinh, tốc độ 200 MHz. Một máy như vậy có thể được lập trình lại, ví dụ: với OpenWRT (một Linux nhỏ cho các hệ thống nhúng). Là một bộ định tuyến, nó có mạng nhanh (100Mbit/s). Giả sử bạn muốn băm một số dữ liệu (ví dụ như một phần của một số phần mềm VPN - một bộ định tuyến trông giống như một ứng cử viên tốt để chạy VPN). Với SHA-1, bạn sẽ nhận được khoảng 6 MB/s, sử dụng CPU đầy đủ. Điều đó đã khá thấp so với băng thông mạng. SHA-512 sẽ cung cấp cho bạn không quá 1,5 MB/s trên cùng một máy. Trên một hệ thống như vậy, sự khác biệt về hiệu suất không phải là không đáng kể. Ngoài ra, nếu tôi sử dụng SHA-1 trên router Linksys của tôi cho một số giao thức truyền thông, thì máy ở đầu kia của liên kết cũng sẽ phải sử dụng SHA-1.
Tin vui là có sự cạnh tranh liên tục để chọn hàm băm chuẩn mới, có tên mã là SHA-3. Một số ứng cử viên cạnh tranh cung cấp hiệu suất tương tự như SHA-1, hoặc thậm chí tốt hơn một chút, trong khi vẫn cho năng suất 512 bit và có thể (chắc chắn) an toàn như SHA-512.
Nguồn
2010-04-15 19:47:30
SHA-1 chưa bị nứt. – Joe
không phải tất cả các ứng dụng băm đều liên quan đến bảo mật – Javier
@Joe bạn có chắc chắn không? Tôi đã nghe nói về tất cả các loại mã hóa được hack gần đây với tất cả các máy tính lượng tử này xảy ra, có thể crack rất nhiều thuật toán trong vài giây. – Earlz