
Thuật toán Keccak là hàm băm mật mã do Guido Bertoni, Joan Daemen, Michaël Peeters và Gilles Van Assche phát triển, được Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) chọn làm chuẩn SHA-3 (Secure Hash Algorithm 3) vào năm 2012. Trong lĩnh vực blockchain, Keccak được ứng dụng rộng rãi nhờ hiệu suất, độ an toàn và tính linh hoạt, giữ vai trò trung tâm đặc biệt trong mạng Ethereum. Ethereum sử dụng Keccak-256 làm hàm băm chủ đạo để tạo địa chỉ tài khoản, xác thực tính toàn vẹn dữ liệu giao dịch và xây dựng cây Merkle cùng nhiều hoạt động quan trọng khác. So với các thuật toán băm truyền thống, Keccak dựa trên thiết kế Sponge Construction, có khả năng xử lý đầu vào với độ dài bất kỳ và sinh đầu ra cố định, đồng thời chống lại các cuộc tấn công va chạm, tiền ảnh và tiền ảnh thứ hai. Nhờ đó, Keccak trở thành thành phần không thể thay thế trong việc đảm bảo bất biến dữ liệu blockchain và an toàn hệ thống, đóng vai trò trọng yếu trong hạ tầng tiền mã hóa hiện đại.
Keccak ra đời vào năm 2007, được nhóm mật mã học người Bỉ và Ý phát triển để tham gia cuộc thi SHA-3 do NIST tổ chức. Cuộc thi nhằm tìm kiếm giải pháp thay thế SHA-2 để ứng phó rủi ro tấn công mật mã tiềm tàng. Sau năm năm đánh giá nghiêm ngặt và nhiều vòng tuyển chọn, Keccak đã vượt qua 64 đề xuất vào tháng 10 năm 2012, chính thức trở thành chuẩn SHA-3 nhờ thiết kế sponge construction sáng tạo, hiệu năng bảo mật vượt trội và khả năng triển khai phần cứng hiệu quả. Thiết kế cốt lõi của Keccak là hàm sponge, nguyên thủy mật mã linh hoạt xử lý dữ liệu qua hai giai đoạn: hấp thụ và ép, hỗ trợ đầu vào và đầu ra có độ dài tùy biến. Thiết kế này vừa tăng tính đa dụng của thuật toán, vừa tăng cường khả năng chống tấn công.
Trong lĩnh vực blockchain, Keccak được ứng dụng khi ngành bắt đầu tìm kiếm giải pháp băm hiệu quả hơn sau khi Bitcoin xuất hiện. Khi Vitalik Buterin - nhà sáng lập Ethereum - thiết kế giao thức Ethereum, ông chọn Keccak-256 làm hàm băm cốt lõi dựa trên ưu điểm về hiệu suất tính toán và bảo mật. So với SHA-256 của Bitcoin, Keccak có hiệu năng tốt hơn về gia tốc phần cứng và tính toán song song, hỗ trợ tốt cho nhu cầu xử lý phức tạp của hợp đồng thông minh. Nhờ sự phát triển nhanh chóng của hệ sinh thái Ethereum, Keccak dần trở thành công cụ băm tiêu chuẩn trong ngành blockchain, được nhiều chuỗi công khai và ứng dụng phi tập trung (DApp) lựa chọn. Quá trình phát triển của Keccak phản ánh thành công trong việc chuyển hóa công nghệ mật mã từ nghiên cứu học thuật sang ứng dụng công nghiệp, đánh dấu sự trưởng thành của công nghệ bảo mật nền tảng blockchain.
Cơ chế hoạt động của Keccak dựa trên thiết kế sponge construction, mẫu thiết kế mật mã độc đáo chia quá trình băm thành hai giai đoạn: hấp thụ và ép. Trong giai đoạn hấp thụ, dữ liệu đầu vào được chia thành các khối có kích thước cố định, từng khối sẽ được XOR với trạng thái nội bộ và trộn thông qua hàm hoán vị Keccak-f. Hàm hoán vị Keccak-f là quá trình hoán vị giả ngẫu nhiên lặp lại gồm năm phép toán con: θ (Theta), ρ (Rho), π (Pi), χ (Chi) và ι (Iota). Các phép toán này đảm bảo chỉ một thay đổi nhỏ ở dữ liệu đầu vào cũng gây biến đổi lớn ở đầu ra thông qua các phép biến đổi tuyến tính và phi tuyến trên từng bit, đạt hiệu ứng thác lũ. Sau mỗi lần hoán vị, trạng thái nội bộ được cập nhật cho tới khi xử lý hết các khối dữ liệu đầu vào.
Ở giai đoạn ép, thuật toán trích xuất giá trị băm cố định từ trạng thái nội bộ. Người dùng có thể chỉ định độ dài đầu ra tùy nhu cầu; ví dụ, Keccak-256 của Ethereum sinh ra giá trị băm 256 bit (32 byte). Ưu điểm của thiết kế sponge construction là tính linh hoạt và khả năng mở rộng, hỗ trợ đầu vào và đầu ra có độ dài khác nhau mà vẫn duy trì độ bảo mật cao. Trạng thái nội bộ của Keccak thường là 1.600 bit, chia thành hai phần: tốc độ (rate) và dung lượng (capacity). Tốc độ xác định lượng dữ liệu hấp thụ mỗi lần, còn dung lượng liên quan đến mức độ bảo mật của thuật toán. Dung lượng càng lớn thì khả năng chống tấn công càng cao nhưng tốc độ xử lý giảm. Trong Ethereum, dung lượng của Keccak-256 được đặt ở mức 512 bit, đảm bảo cân bằng giữa bảo mật và hiệu suất.
Ưu điểm kỹ thuật của Keccak còn thể hiện ở khả năng thân thiện với phần cứng và tính toán song song. Nhờ cấu trúc đơn giản và đều đặn của hàm hoán vị, Keccak có thể được triển khai hiệu quả trên các nền tảng phần cứng như ASIC (Application-Specific Integrated Circuits) và FPGA (Field-Programmable Gate Arrays), giúp tăng tốc độ tính toán băm đáng kể. Điều này đặc biệt quan trọng với các mạng blockchain cần thực hiện nhiều thao tác băm, giảm thời gian xác thực giao dịch của các nút mạng. Ngoài ra, khả năng chống tấn công máy tính lượng tử của Keccak cũng mang lại giá trị tiềm năng trong kỷ nguyên hậu lượng tử, đảm bảo an toàn dài hạn cho blockchain.
Keccak cũng đối mặt với một số rủi ro và thách thức trong thực tế ứng dụng. Đầu tiên là vấn đề tương thích do khác biệt chuẩn hóa. Dù Keccak được NIST chọn làm chuẩn SHA-3, phiên bản SHA-3 công bố cuối cùng lại có những khác biệt nhỏ so với Keccak gốc, chủ yếu ở cơ chế bổ sung (padding). Các dự án blockchain áp dụng Keccak từ sớm như Ethereum sử dụng phiên bản gốc thay vì SHA-3 chuẩn hóa bởi NIST, dẫn đến kết quả băm không tương thích giữa các hệ thống. Khi tích hợp Keccak, nhà phát triển cần xác định rõ phiên bản sử dụng để tránh rủi ro bảo mật hoặc lỗi chức năng do nhầm lẫn. Sự khác biệt chuẩn hóa này cũng làm tăng độ phức tạp khi tương tác chuỗi chéo và di chuyển công nghệ.
Thứ hai là bài toán cân bằng giữa tối ưu hiệu suất và tiêu thụ tài nguyên. Dù Keccak có ưu thế về triển khai phần cứng, chi phí tính toán vẫn có thể trở thành nút thắt ở môi trường hạn chế tài nguyên (như thiết bị IoT hoặc ứng dụng nhẹ). Đặc biệt ở các kịch bản cần thao tác băm thường xuyên như giao dịch tần suất cao hoặc thực thi hợp đồng thông minh quy mô lớn, vấn đề tiêu thụ năng lượng và độ trễ của Keccak có thể ảnh hưởng tới hiệu năng hệ thống. Thêm nữa, dù độ bảo mật của Keccak đã được kiểm chứng nghiêm ngặt, các phương pháp tấn công trong lĩnh vực mật mã vẫn liên tục phát triển và có thể xuất hiện kỹ thuật mới nhắm vào thiết kế sponge construction trong tương lai. Dù chưa ghi nhận mối đe dọa thực tế nào, các dự án blockchain cần liên tục theo dõi tiến bộ nghiên cứu học thuật và cập nhật biện pháp bảo vệ kịp thời.
Cuối cùng là rủi ro liên quan tới nhận thức và sử dụng sai của người dùng. Nhiều nhà phát triển và người dùng chưa nhận diện rõ sự khác biệt giữa Keccak và SHA-3, có thể lựa chọn sai thư viện hoặc cấu hình tham số khi triển khai thực tế, dẫn tới rủi ro bảo mật. Ví dụ, nếu nhầm lẫn cho rằng Ethereum sử dụng SHA-3 thay vì Keccak-256, có thể gây lỗi tạo địa chỉ hoặc xác thực chữ ký. Mặt khác, độ phức tạp của Keccak đòi hỏi kiểm toán và rà soát mã nguồn nghiêm ngặt hơn, cần kiến thức chuyên sâu về mật mã để phát hiện lỗ hổng tiềm ẩn. Ở cấp độ pháp lý, một số quốc gia có quy định hạn chế sử dụng thuật toán băm mật mã, các bên phát triển dự án cần đảm bảo tuân thủ để tránh rủi ro pháp lý từ lựa chọn kỹ thuật.
Khi công nghệ blockchain ngày càng phát triển và máy tính lượng tử tiến gần, hướng đi của Keccak có thể bao gồm tối ưu hiệu suất, tăng cường khả năng chống tấn công lượng tử và thúc đẩy thống nhất chuẩn. Ngành công nghiệp cần cân bằng giữa đổi mới công nghệ và ổn định bảo mật, đảm bảo Keccak tiếp tục là nền tảng mật mã vững chắc cho hệ sinh thái phi tập trung.
Mời người khác bỏ phiếu


