Hàm băm SHA-256 là gì?
SHA-256 là một thành viên của họ hàm băm SHA-2, cũng bao gồm SHA-224, SHA-384 và SHA-512. Nó được sử dụng rộng rãi trong các ứng dụng khác nhau như chứng chỉ kỹ thuật số, Bitcoin và các loại tiền điện tử khác. Vậy SHA-256 là gì? Hãy cùng BlockchainWork tìm hiểu thông qua bài viết này nhé!
Mục lục bài viết
Tổng quan về SHA-256.
SHA-256
Hàm băm là một hàm có các thuộc tính đặc trưng sau.
- Trả về dữ liệu đầu ra có độ dài cố định từ dữ liệu có độ dài tùy ý
- Dữ liệu chỉ có thể được chuyển đổi theo một hướng và về cơ bản không thể chuyển đổi dữ liệu đã băm trở lại như ban đầu.
SHA-256 là một hàm băm như vậy.
SHA-256 là viết tắt của “Thuật toán băm an toàn 256-bit” và đúng như tên gọi, bạn có thể nhận được một giá trị dài 256 bit (32 byte). Như bản chất của hàm băm, cùng một giá trị luôn thu được từ cùng một dữ liệu. Mặt khác, thậm chí dữ liệu hơi khác một chút cũng mang lại các giá trị hoàn toàn khác. Nó cũng được thiết kế để gây khó khăn cho việc tìm kiếm các dữ liệu khác có cùng giá trị băm dựa trên một dữ liệu.
Thuật toán cho SHA-256
SHA-256
Trong thuật toán SHA, giá trị băm ban đầu là cố định và thông tin được sử dụng để thay đổi giá trị này là dữ liệu đầu vào. Đối với SHA-256, dữ liệu đầu vào được chia thành 64 byte một lần. Dữ liệu này được đặt tên là “khối tin nhắn”. Nếu lượng dữ liệu đầu vào vượt quá 64 byte, nhiều khối thông báo sẽ được hình thành.
Sau đó, giá trị băm ban đầu được thay đổi bằng cách sử dụng khối thông báo đầu tiên để tính giá trị băm mới. Ngoài ra, nó cũng được thay đổi trong khối thông báo tiếp theo để có được giá trị băm mới và lặp lại quá trình này cho đến hết. Kết quả cuối cùng là giá trị băm được tính trên khối tin nhắn cuối cùng.
Tiêu chuẩn SHA-2
SHA-256 được NSA (Cơ quan An ninh Quốc gia) nghĩ ra và được NIST (Viện Tiêu chuẩn và Công nghệ Quốc gia) tiêu chuẩn hóa thành một trong những tiêu chuẩn xử lý thông tin liên bang (FIPS 180-4) vào năm 2001.
Một hiện tượng được gọi là “xung đột băm” xảy ra khi xem xét các thuật toán giá trị băm. Điều này đề cập đến tình huống bị trùng giá trị băm được tạo từ các dữ liệu khác nhau. Do độ dài bit của giá trị được tạo là cố định nên không có hàm băm nào hoàn toàn không có xung đột, bất kể độ dài của dữ liệu gốc. Do đó, độ dài bit của giá trị băm càng dài thì khả năng xảy ra xung đột băm càng ít.
Do tốc độ tránh va chạm hàm băm tăng gấp đôi khi số bit tăng lên 1, nên tỷ lệ tránh va chạm hàm băm đối với giá trị băm 256 bit lớn hơn 128 lần so với giá trị băm 128 bit là 2. Ngược lại, phải mất một lượng thời gian đáng kể để tìm dữ liệu có xung đột băm và hiện được coi là gần như không thể xác định được dữ liệu gốc. Do đó, độ dài 512 bit cung cấp cường độ băm cao hơn, nhưng SHA-512 là thuật toán được tối ưu hóa cho CPU 64 bit, vì vậy SHA-256 được tối ưu hóa cho CPU 32 bit giống như SHA-256.
Nói chung, SHA-512, có chiều dài dài nhất, là an toàn nhất, trong khi SHA-256 được cho là được sử dụng rộng rãi nhất do sự cân bằng tuyệt vời giữa tính dễ thực hiện, tốc độ tính toán và bảo mật mật mã.
Dịch vụ sử dụng SHA-256
Bitcoin sử dụng hai hàm băm, SHA-256 và RIPEMD-160. Các hàm băm này phù hợp để tính toán với GPU và ASIC (Mạch tích hợp dành riêng cho ứng dụng), là phần cứng dành riêng cho tính toán. Mặt khác, nhiều blockchain khác sử dụng thuật toán băm được phát minh để chúng khó tính toán bằng GPU và ASIC, để chúng có thể dễ dàng khai thác trên PC thông thường.
Ban đầu, SHA-256 được tính toán bởi CPU, nhưng nó đã chuyển sang khai thác GPU, sử dụng GPU để tính toán song song, sau đó khai thác FPGA, thực hiện phép tính này trên FPGA (Field-Programmable Gate Arra), trở thành xu hướng chủ đạo. Tuy nhiên, nếu bạn tạo một ASIC thực thi logic này, nó sẽ tiêu thụ ít năng lượng hơn và có thể thực hiện các hoạt động tốc độ cao, do đó, việc khai thác ASIC, sử dụng ASIC chuyên dụng, hiện đang là xu hướng chủ đạo.
Các hàm băm cũng được sử dụng trong chứng chỉ máy chủ SSL, là chứng chỉ kỹ thuật số cho giao tiếp được mã hóa SSL (Lớp cổng bảo mật) giữa trình duyệt web và máy chủ web. Cho đến một vài năm trước, hàm băm có tên SHA-1 thường được sử dụng, nhưng bây giờ SHA-2 là chủ đạo.
Chuyển từ SHA1 sang SHA2
SHA-1, tiền thân của SHA-2, là hàm băm tạo ra giá trị băm 160 bit (20 byte) và đã được nhiều ứng dụng và giao thức chấp nhận. Tuy nhiên, SHA-1 vẫn tiếp tục được sử dụng trên hầu hết các trang web trên thế giới mặc dù các lỗ hổng và mối nguy hiểm của nó đã được phát hiện và gây lo ngại. Trước tình hình kì này, NIST đã đưa ra khuyến nghị chuyển sang SHA-2 từ SHA-1, đã được sử dụng rộng rãi để mã hóa, vào năm 2010. Về 1, cụm từ “không dùng nữa” vẫn được giữ nguyên.
Tuy nhiên, bắt đầu từ năm 2013, Microsoft đã công bố chính sách ngừng sử dụng SHA-1 sẽ vô hiệu hóa việc sử dụng chứng chỉ máy chủ SSL sử dụng hàm băm SHA-1 sau năm 2017. Chính sách ngừng sử dụng tương tự đã được công bố đối với việc sử dụng SHA1 trong các trình duyệt như IE và Chrome. Hiện tại, SHA-1 đã được chuyển sang SHA-2 và SHA-2 đã trở thành tiêu chuẩn toàn cầu.
Kết luận
Tóm lại, SHA-256 là một hàm băm mật mã được sử dụng rộng rãi cho nhiều ứng dụng bảo mật. Đây là hàm một chiều nhận đầu vào và trả về giá trị băm có kích thước cố định 256 bit (32 byte). Nó được coi là một phương pháp an toàn và đáng tin cậy để đảm bảo tính toàn vẹn và tính xác thực của dữ liệu.
Một số ứng dụng phổ biến nhất của SHA-256 bao gồm tạo chữ ký số, băm mật khẩu và bảo vệ tính toàn vẹn của dữ liệu. Ngoài ra, nó được sử dụng rộng rãi trong ngành tiền kỹ thuật số, đặc biệt là bitcoin và các loại tiền điện tử khác, để tạo và xác minh giao dịch. Nhìn chung, SHA-256 là một công cụ quan trọng để đảm bảo tính bảo mật và tính toàn vẹn của thông tin kỹ thuật số.
BlockchainWork biên dịch
Nguồn: Gaiax blockchain
- Tìm hiểu thêm về BlockchainWork tại website: https://blockchainwork.net/
- Ứng viên nắm bắt cơ hội việc làm tại đây: https://blockchainwork.net/candidate-signup
- Nhà tuyển dụng kết nối các tài năng trẻ tại đây: https://blockchainwork.net/employer-signup
>> Có thể bạn quan tâm:
Các phương pháp tăng cường bảo mật các dự án Web3
Công nghệ Web3 đang trở thành một xu hướng quan trọng trong ngành công nghiệp công nghệ thông tin và truyền thông. Các dự án Web3 không chỉ mang lại những cơ hội mới mẻ mà còn tạo…
Tổng hợp khóa học, tài liệu Web3 miễn phí theo lộ trình cụ thể
Để bắt đầu học về blockchain, việc tìm nguồn tài liệu cũng như khóa học uy tín và miễn phí là rất quan trọng. Blockchain là một công nghệ mới mẻ và phức tạp, nó đòi hỏi người…
Kiểm toán Blockchain (Blockchain audit): Tầm quan trọng và các phương pháp hay nhất
Nền tảng blockchain đã và đang trở thành tâm điểm trong thế giới công nghệ. Blockchain đã gia nhập vào hầu hết mọi lĩnh vực, bao gồm quản lý chuỗi cung ứng, game, chăm sóc sức khỏe và quan trọng…
Các ứng dụng blockchain thực tế tại Việt Nam
Blockchain đã trở thành một công nghệ nổi bật trong nhiều lĩnh vực tại Việt Nam, đặc biệt là trong giáo dục, sức khỏe, giải trí, sản xuất, quản lý nhà nước và ngân hàng. Đặc biệt, blockchain…
SUI là gì? Tìm hiểu chi tiết về dự án SUI
Sự bùng nổ của các blockchain layer 1 vừa qua đang tạo ra một cuộc cách mạng trong lĩnh vực công nghệ và tài chính. Các nền tảng blockchain layer 1 như SUI, Bitcoin, Ethereum, Solana đều đang thu hút…