Thuật toán Sha256 là gì? Mức độ an toàn Sha256

SHA-256 là một trong số những hàm băm này. SHA-256 là cách viết rút gọn của “Secure Hash Algorithm 256-bit”, đúng như tên gọi của nó biểu thị, bạn có thể thu được giá trị băm có độ dài 256 bit (32 byte). Theo tính chất hàm số băm, từ dữ liệu giống nhau luôn có thể thu được cùng một giá trị.

Mặt khác, từ những dữ liệu khác nhau dù chỉ một chút cũng thu được những giá trị khác nhau hoàn toàn. Ngoài ra, nó được thiết kế như một hàm băm dùng trong việc mã hóa, nên rất khó để tìm kiếm hiệu quả một dữ liệu khác có cùng giá trị băm với dữ liệu gốc.

Mã hoá SHA là gì ?

SHA ( Secure Hash Algorithm ) gồm có 5 thuật toán được gật đầu bởi FIPS – Tiêu chuẩn Xử lý tin tức Liên bang, dùng để chuyển một đoạn tài liệu nhất định thành một đoạn tài liệu có chiều dài không đổi với Xác Suất độc lạ cao. 5 thuật toán đó gồm có :

  • SHA-1 ( trả lại tác dụng dài 160 bit )
  • SHA-224 ( trả lại hiệu quả dài 224 bit )
  • SHA-256 ( trả lại hiệu quả dài 256 bit )
  • SHA-384 ( trả lại tác dụng dài 384 bit )
  • SHA-512 ( trả lại hiệu quả dài 512 bit )

Những thuật giải này được gọi là “ bảo đảm an toàn ” chính bới, theo nguyên văn của chuẩn mực FIPS 180 – 2 phát hành ngày 1/8/2002 :
Đối với một giá trị nhất định được tạo nên bởi một trong những thuật toán SHA, việc đo lường và thống kê là không khả thi để :

  • Tìm một thông điệp tương ứng với thông điệp đã được mã hóa
  • Tìm được hai đoạn tài liệu khác nhau có cùng tác dụng băm .

Bất cứ đổi khác nào trên đoạn tài liệu gốc, dù nhỏ, cũng sẽ tạo nên một giá trị băm trọn vẹn khác với Xác Suất rất cao .

Thuật toán SHA-256 là gì?

SHA-256 là thuật toán băm bảo mật thông tin với 256 bit ( hay 32 byte ) dùng để tạo ra những chuỗi băm không hề đảo ngược và mang tính độc nhất. Chính điều này đã làm cho thuật toán SHA256 tương thích để xác nhận mật khẩu, chống trá hình, đặc biệt quan trọng là để xác nhận hàm băm .
Ví dụ mã SHA-256 của một thông điệp như sau :
Dữ liệu “ The quick brown fox jumps over the lazy dog ”
⇒ Mã hóa “ d7a8fbb3 07 d78094 69 ca9abc b0082e4f 8 d55651e4 6 d3cdb76 2 d02d0bf 37 c9e592
Hàm băm SHA 256 có năng lực tương hỗ giải quyết và xử lý thô hiệu suất cao. Với những đồng Bitcoin tiên phong, bạn trọn vẹn hoàn toàn có thể tự đào bằng CPU trong máy tính tại nhà. Thế nhưng, theo thời hạn khi độ khó của đồng coin tăng lên. Thì để khai thác hiệu suất cao bạn cần phải sử dụng những bộ vi giải quyết và xử lý riêng không liên quan gì đến nhau có tên gọi là ASIC .

SHA-256 có an toàn không?

Cách dùng thông dụng của mã một chiều SHA là tạo ra dãy mã hóa của thông điệp trải qua cách tính hàm băm của chuỗi ghép từ thông điệp cần xác nhận với một khóa bí hiểm. Khóa bí hiểm rất dài, hoàn toàn có thể tưởng tượng như sau :

  • Dãy mã hóa = SHA256(“thông điệp cần xác thực”, “khóa bí mật”) = hash

Với tính chất của mã hóa một chiều nên dãy mã hóa có thể được công khai, thông điệp cũng có thể công khai, nhưng thành phần khóa bí mật không thể truy ngược lại được. Đơn giản vì suy ngược lại toàn văn dữ liệu gốc từ dãy mã hóa là không thể.

Cách duy nhất để truy ngược toàn văn dữ liệu gốc là thử mọi năng lực hoàn toàn có thể xảy ra của khóa bí hiểm và cách mà khóa được ghép với thông điệp cần xác nhận. Có nghĩa là với với việc kiểm tra mọi năng lực của nguồn vào để tìm ra dãy mã hóa mới giống với dãy mã hóa đã biết, chiêu thức này được gọi là BruteForce. Chúng ta hoàn toàn có thể xem xét như sau “ khóa bí hiểm ” = SHA256 ( “ secret-key ” ) = 256 bits
Với một sự biến hóa rất nhỏ trong thông điệp thì cũng sẽ tạo ra một giá trị băm khác trọn vẹn so với khởi đầu. Điều này có nghĩa là nếu bạn muốn kiểm tra hàng loạt giá trị của hàm băm để tìm ra giá trị giống nó thì có BruteForce = 2 ^ 256 năng lực .

Liệu hoàn toàn có thể tiến công Brute Force vào SHA-256 không ?

Cách dùng thông dụng của mã một chiều SHA là tạo ra chữ ký của thông điệp bằng cách tính hàm băm của chuỗi ghép từ thông điệp cần xác nhận với một khóa bí hiểm, khóa bí hiểm nói chung là rất dài :
Chữ ký = SHA256 ( “ thông điệp cần xác nhận ”, “ khóa bí hiểm ” ) = hash

Với đặc thù của mã một chiều, chữ ký hoàn toàn có thể được công khai minh bạch, thông điệp hoàn toàn có thể công khai minh bạch, nhưng thành phần khóa bí hiểm không hề truy ngược lại được vì suy ngược lại toàn văn dữ liệu gốc từ chữ ký là không hề .
Cách duy nhất để truy ngược lại toàn văn dữ liệu gốc là thử mọi năng lực hoàn toàn có thể của khóa bí hiểm và cách khóa được ghép với thông điệp cần xác nhận, điều này cũng đồng nghĩa tương quan với với việc kiểm tra mọi năng lực của nguồn vào để tìm ra chữ ký giống với chữ ký đã biết, giải pháp này gọi là Brute Force .

Vì mỗi đổi khác rất nhỏ ở tài liệu gốc, dù nhỏ, cũng sẽ tạo nên một giá trị băm trọn vẹn khác với Tỷ Lệ rất cao không hề dự báo trước, nên việc kiểm tra này chính là kiểm tra trên hàng loạt khoảng trống của giá trị băm, tức là BruteForce với 2256 năng lực, tương ứng với :
2256 = 115792089237316195423570985008687907853269984665640564039457584007913129639936 > 1078
Giả định mỗi máy tính cá thể có vận tốc 4G hz hoàn toàn có thể giải quyết và xử lý 1.4 G phép tính băm mỗi giây, 1.4 x109hash / s, Trái Đất có 7 tỷ người mỗi người có một máy tính như vậy, sức mạnh thống kê giám sát của toàn thể Trái Đất là : 1019 hash / s .

Trong dải Ngân Hà ( Milkyway ) có khoảng chừng 100 tỷ ngôi sao 5 cánh, giả định rằng 1 % trong số đó có nền văn minh như Trái Đất thì sức mạnh tính hash của Ngân Hà là : 1019 hash / s x 1 % x 100 × 109 = 1028 hash / s

Vũ trụ khả kiến được cho là có 100 tỷ thiên hà, và ngoài hành tinh toàn thể được cho là lớn gấp 10 lần như vậy, thì sức mạnh tính hash của thiên hà toàn thể là : 1028 hash / s x 100 × 109 x 10 = 1042 hash / s
Với vận tốc đo lường và thống kê này, để kiểm tra hàng loạt 1078 trường hợp, thiên hà toàn thể cần đến 1036 giây ≈ 3.17 × 1028 năm, hay ≈ 2.4 × 1018 lần tuổi của chính thiên hà, tức là việc này không khả thi .
Chính thế cho nên SHA-256 được cho là rất bảo đảm an toàn .

Ứng dụng của hàm băm SHA-256

Ứng dụng nổi tiếng nhất của thuật toán SHA là dùng trong hệ thống tiền điện tử Bitcoin. Đây là một hệ thống giao dịch tiền ảo trên mạng internet sử dụng mã SHA256 để xác nhận các giao dịch và lưu trữ dạng chuỗi các sự kiện lịch sử theo từng thời gian và được liên kết với nhau bởi các mã xác thực (BlockChain).

Qua bài viết này các bạn cũng đã hiểu thuật toán Sha256 là gì và ứng dụng của nó. Ngoài ra tính bảo mật của nó gần như là chắc chắn nên bạn hãy hoàn toàn yên tâm về dữ liệu của mình. Hãy áp dụng nó để đào ra được nhiều tiền ảo mới và trở thành thợ mỏ hàng đầu trên thị trường tiền ảo.

Xem thêm nội dung liên quan: