SHA-256 và SHA-512 là bài viết nối tiếp bài viết SHA-1 - Secure Hash Algorithm 1. Cũng như SHA-1 nhằm để mã hóa dữ liệu, SHA-256 và SHA-512 tăng cường hơn khả năng bảo mật.
SHA-256
SHA-256 là một trong những hàm băm kế tiếp cho SHA-1 và là một trong những hàm băm mạnh nhất hiện có. SHA-256 không phức tạp hơn nhiều so với mã SHA-1 và chưa bị xâm phạm theo bất kỳ cách nào. Khóa 256 bit làm cho nó trở thành đôi bạn tốt với AES.
SHA-256 là một thuật toán được mô tả cụ thể của thuật toán SHA -2 như 512 và gần đây là các phiên bản 224 bit, ngoài ra nó còn là sự phát triển thành công từ người tiền nhiệm SHA -1, bản thân SHA -256 là một sự cải tiến của SHA-0. Thuật toán SHA -2 được NSA phát triển để trả lời vấn đề bảo mật của SHA -1. Thuật toán này nhận đầu vào là một thông điệp có độ dài bit tối đa là hai lũy thừa sáu mươi tư và cho ra kết quả checksum có độ dài 256 bit. Có vẻ như SHA -256 đang ngày càng được sử dụng nhiều hơn để thay thế hàm băm MD5 cũ, thậm chí ngay cả SHA-1 cũng có mức độ bảo mật tốt hơn MD5. SHA-256 thực sự là sự thay thế tốt nhất vì sự cân bằng giữa kích thước dữ liệu và mức độ an toàn. Như những chức năng mã hóa khác của họ hàng nhà SHA.
SHA-256 là một phương pháp áp dụng tốt để lưu trữ mật khẩu người dùng, vì nó an toàn hơn MD5 hoặc SHA-1. Ngay cả khi nó an toàn hơn, nó vẫn được cân nhắc sử dụng thêm tùy chọn là Salt để cải thiện an ninh. Salt là một gia vị, một chuỗi mà bạn thêm vào mật khẩu của người dùng để làm cho nó để thêm độ dài dữ liệu và thêm các ký tự đặc biệt để tăng sự phức tạp khi muốn truy ngược nguồn gốc. Điều này sẽ khiến việc phương pháp Bruteforce – vét cạn trở nên khó khăn hơn và rất có thể không tìm ra được thông điệp gốc.
Ví dụ
DỮ LIỆU | CHUỖI MÃ HÓA |
---|---|
123456 | 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 |
stdio.vn | 70c1f8f724f2969f8986c14c0c9a9bfbec6f2eba94dea5638c717c379924b328 |
Mã hóa SHA-256 | cfedbd263269913dbab9cdb797855918bff1678ed3fb38dcd346df076ab0f61d |
Dữ liệu trên được tạo từ công cụ mã hóa online SHA-256.
SHA-512
SHA-512 cũng là nằm trong SHA-2, nó có khả năng nhận đầu với với số lương hai lũy thừa một trăm hai mươi tám bit, SHA-512 trải qua nhiều hơn 25% vòng lặp so với SHA-256 vì vậy nó có độ trễ so với SHA-256. Trên bộ xử lý 64 bit, mỗi vòng có cùng số lượng thao tác, nhưng có thể xử lý gấp đôi dữ liệu mỗi vòng, vì các hướng dẫn xử lý các từ 64 bit thay vì các từ 32 bit. SHA-512 có thể nhanh hơn bao nhiêu trong điều kiện tối ưu. Tất nhiên là có phí bộ nhớ, độ trễ chỉ dẫn và các yếu tố khác liên quan; trên bộ xử lý Intel Ivy Bridge, thông báo SHA-512 nhanh hơn 1,54 lần và trên AMD Piledriver nó nhanh hơn 1,48 lần. Đối với các tin dữ liệu cần băm có độ dài nhỏ ít hơn 448 bit SHA-512 sẽ chậm hơn khoảng 1,25 lần.
SHA-512 có tốc độ chỉ bằng 60% SHA-256 nhưng có một lợi thế đó là đôi khi chúng ta muốn một quá trình sinh khóa chậm để kéo dài khóa, điều này thường được sử dụng để giảm thiểu các cuộc tấn công BruceForce và các cuộc tấn công có thể dự đoán trước các khóa yếu như mật khẩu.
Ví dụ
DỮ LIỆU | CHUỖI MÃ HÓA |
---|---|
STDIO | 75266828354bdf6e828f363c32b7ef003af56c9cf54da625762ca457adfe0159d9045c83aa71792e1cfec00029d41ae27f80e5b3137d9ed47551b6ff9fbb35e8 |
Password123 | 804f50ddbaab7f28c933a95c162d019acbf96afde56dba10e4c7dfcfe453dec4bacf5e78b1ddbdc1695a793bcb5d7d409425db4cc3370e71c4965e4ef992e8c4 |
02031287 | 0b0b9f4614d151278cf6b3173ca8cd74cd2e5e3eb6c2f34e4bde990a41226a695247e7729ed41ed08c5b6e474f3da817ec7701ad6544486d5c7b43712259f571 |
Dữ liệu trên được tạo từ công cụ mã hóa online SHA-512.