SHA (Secure Hash Algorithm hay tạm dịch là thuật toán băm an toàn) là tên gọi chung của 5 thuật toán mã hóa được dùng để chuyển một đoạn dữ liệu gốc nhất định thành một đoạn dữ liệu có chiều dài không đổi với xác suất khác biệt cao, nhằm tránh bị hacker giải mã dù dữ liệu bị đánh cắp dọc đường truyền tải.
Các thuật mã hóa giúp dữ liệu truyền tải an toàn hơn trên internet.
Những thuật giải này được gọi là "an toàn" bởi vì trên lý thuyết, cho một giá trị băm nhất định được tạo nên bởi một trong những thuật giải SHA, việc tìm lại được đoạn dữ liệu gốc là không khả thi. Ngoài ra, việc tìm được hai đoạn dữ liệu nhất định có cùng kết quả băm tạo ra bởi một trong những thuật giải SHA là cũng khả thi.
Điều đó có nghĩa là, bất cứ thay đổi nào trên đoạn dữ liệu gốc, dù rất nhỏ cũng sẽ tạo nên một giá trị băm hoàn toàn khác với xác suất rất cao. Mặc dù vậy, đầu năm 2005, ba nhà mật mã học người Trung Quốc đã phát triển thành công một thuật giải dùng để tìm được hai đoạn dữ liệu nhất định có cùng kết quả băm tạo ra bởi SHA-1, làm dấy lên mối lo ngại về độ an toàn của SHA-1.
Năm thuật giải SHA là SHA-1 (trả lại kết quả dài 160 bit), SHA-224 (trả lại kết quả dài 224 bit), SHA-256 (trả lại kết quả dài 256 bit), SHA-384 (trả lại kết quả dài 384 bit), và SHA-512 (trả lại kết quả dài 512 bit). Thuật giải SHA được phát triển bởi cục an ninh quốc gia Mĩ (National Security Agency hay NSA) và được phát hành thành chuẩn của Chính phủ Mỹ bởi Viện Công nghệ và Tiêu chuẩn Quốc gia Mỹ (National Institute of Standards and Technology hay NIST). Bốn thuật giải sau (tức trừ SHA-1) thường được gọi chung là SHA-2.
SHA-1 đang được sử dụng rộng rãi trong nhiều ứng dụng và giao thức an ninh khác nhau, bao gồm TLS, SSL, PGP, SSH, S/MIME và IPSec. Trong đó, SSL là giao thức mã hóa thường thấy khi truy cập các website đòi hỏi độ an toàn cao, như Gmail, Facebook, trang web thương mại điệntử, ngân hàng,...
Tính đến thời điểm này, thuật toán băm SHA-2 chưa bị phá vỡ.
Hiện SSL đang sử dụng thuật toán băm SHA-1. Đây là lý do vì sao khi SHA-1 không còn được hỗ trợ và bị SHA-2 thay thế hoàn toàn, sẽ khiến khoảng 37 triệu các thiết bị cũ không thể truy cập internet được nữa. Xét riêng Windows, từ Windows XP SP2 trở về trước đều không hỗ trợ SHA-2.
SHA-2 bao gồm bốn giải thuật SHA-224, SHA-256, SHA-384 và SHA-512. Ba thuật giải SHA-256, SHA-384 và SHA-512 được phát hành lần đầu vào năm 2001. Về giải thuật, các biến thể của SHA-2 không khác nhau, mặc dù chúng sử dụng giá trị biến, hằng số, độ dài lý tự,... khác nhau để mã hóa và tạo khóa giải mã.
Nguồn thông tin được HOCHOIMOINGAY.com sưu tầm từ Internet