1. SHA là gì?

SHA (Secure Hash Algorithm) là giải thuật mã hoá an toàn vì:

  • Từ một giá trị băm, việc tìm lại đoạn dữ liệu đã tạo nên giá trị băm này là không khả thi.
  • Từ 2 đoạn dữ liệu ban đầu, việc tạo ra được kết quả cùng một giá trị băm là không khả thi.

Ví dụ nếu bạn dùng mật khẩu cá nhân để tạo ra 1 giá trị băm, thì theo lý thuyết SHA, từ giá trị băm này việc tìm ngược lại mật khẩu là điều không thể. Tương tự, 2 mật khẩu khác nhau sẽ không thể tạo ra 1 giá trị băm giống nhau.

2. SHA-1:

là giải thuật băm trả lại kết quả là giá trị băm có độ dài 160 bit, được coi là giải thuật thay thế MD5, 1 giải thuật băm 128bit. SHA-1 được sử dụng trong TLS/SSL, SSH…

3. SHA-2:

phổ biến nhất là SHA-256, là một hàm SHA mà kết quả trả về là 1 giá trị băm có độ dài 256bit. Hàm SHA-256 này khá là thông dụng và được sử dụng trong mạng lưới bitcoin nên chắc nhiều người đã nghe đến nó. Ngoài ra còn có SHA-224, SHA-384, SHA-512, các con số đi theo sau tương ứng với độ dài bit của giá trị băm. 3. Hồi tháng 2 năm ngoái (2017), giải thuật SHA-1 đã bị Google phá vỡ, họ có đã tạo ra 2 file PDF với cùng một giá trị băm, nhưng hiển thị 2 nội dung hoàn toàn khác nhau. Đã đến lúc SHA-1 bị khai tử và thế giới đang chuyển dần sang giải thuật băm an toàn hơn như SHA-2.

Ứng dụng của SHA:

  • Chữ ký số
  • Mã hoá token trong cơ chế xác thực người dùng.
  • Quản lý mật khẩu 4. Giao thức an ninh mạng..