Số bit của N Số thao tác Thời gian
100 9,6 x 108 16 phút 200 3,3 x 1012 38 ngày 300 1,3 x 1015 41 năm 400 1,7 x 1017 5.313 năm 500 1,1 x 1019 3,3 x 105 năm 1024 1,3 x 1026 4,2 x 1012 năm 2048 1,5 x 1035 4,9 x 1021năm
1.1.3.5. Hàm băm bảo mật SHA
Hàm băm là một thuật tốn khơng sử dụng khóa. Kết quả của hàm băm là một giá trị băm dài cố định được tính tốn dựa trên bản rõ. Từ một giá trị băm quá khó để phục hồi được bản rõ. Vì vậy hàm băm đơi khi cịn được gọi là hàm rút gọn bản tin (message digest) hay hàm một chiều (one-way function), xem Hình 1.7. Các thuật tốn băm thường được sử dụng để xác thực rằng các bản tin không bị thay đổi bởi một hành động chủ quan hoặc khách quan trên đường truyền từ nơi gửi đến nơi nhận. Một số hệ điều hành cũng thường sử dụng hàm băm để mã hóa mật khẩu. Lúc này, mật khẩu được lưu trữ bằng một giá trị băm nên việc đảm bảo an toàn cho mật khẩu là rất cao.
20
Các thuật toán băm đang được sử dụng phổ biến hiện nay bao gồm:
Thuật toán rút gọn bản tin MD (Message Digest algorithms): là một tập các thuật toán
băm mật mã MD2 [58], MD4 [59], MD5 được sử dụng phổ biến với giá trị băm dài
128-bit. Trong đó MD5 được sử dụng rộng rãi như một chuẩn xác thực trên Internet. Vào năm 1996, một nhà mật mã học người Đức, Hans Dobbertin, phát hiện ra lỗ hổng trong MD5 [60]. Trong khi vẫn chưa biết nó có phải là lỗi nghiêm trọng hay khơng nhưng những chun gia mã hóa bắt đầu đề nghị sử dụng những giải thuật khác, như SHA-1, SHA-2.
Thuật toán băm bảo mật SHA (Secure Hash Algorithm): là chuẩn băm bảo mật SHS
(Secure Hash Standard) do NIST chuẩn hóa và cơng bố. Trong đó, SHA-1 [61] là
thuật tốn tạo ra mã băm có chiều dài cố định là 160 bit. Về sau, có nhiều phiên bản nâng cấp đối với SHA, chủ yếu là tăng chiều dài mã băm, từ đó xuất hiện các phiên bản khác nhau của SHA, gọi chung là SHA-2 [16], bao gồm: SHA-224, SHA-256,
SHA-384 và SHA-512.