Keccak (phát âm là “ketchak”) là một hàm mã hóa linh hoạt được thiết kế bởi Guido Bertoni, Joan Daemen, Michaël Peeters và Gilles Van Assche. Mặc dù Keccak có thể được sử dụng cho nhiều mục đích khác nhau, nhưng nó được biết đến nhiều nhất như là một hàm băm cung cấp mức độ bảo mật cao hơn khi so sánh với các thuật toán băm cũ hơn, như SHA-1 và SHA-2.
SHA là từ viết tắt của Secure Hash Algorithm (Thuật toán băm bảo mật) và liên quan đến một tập hợp các hàm băm mã hóa do Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) công bố. Cả SHA-1 và SHA-2 đều được thiết kế bởi Cơ quan An ninh Quốc gia Hoa Kỳ (NSA) và do đó chúng có cấu trúc tương tự nhau. Mặc dù Keccak hỗ trợ cùng một kích thước đầu ra (độ dài băm) như SHA-2 nhưng cơ chế hoạt động của nó là khác nhau. Tuy nhiên, Keccak là một phần của gia đình SHA và thường được gọi là SHA-3.
Mặc dù chưa có cuộc tấn công đáng kể nào vào SHA-2 được chứng minh, nhưng người ta vẫn cho rằng các hàm băm sẽ bị bẻ khóa theo thời gian và phải mất nhiều năm để phát triển một hàm tiêu chuẩn mới. Chú ý đến điều đó, cùng với các cuộc tấn công thành công chống lại SHA-1 vào năm 2004 và 2005, NIST nhận thấy cần phải tạo ra một thuật toán băm mã hóa mới. Vào năm 2012, NIST đã tuyên bố Keccak là thuật toán chiến thắng của cuộc thi và nó trở thành thành viên tiêu chuẩn mới nhất của gia đình SHA (đó là SHA-3).
Một trong những lý do khiến Keccak được NIST chọn là do cơ cấu tổ chức đổi mới của nó, được chứng minh là an toàn và hiệu quả hơn các thuật toán khác. Về mặt kỹ thuật, thuật toán SHA-3 dựa trên cái gọi là hàm xốp (hoặc cấu trúc bọt biển) - trái ngược với cấu trúc Merkle Damgård được SHA-1 và SHA-2 sử dụng.
Ngành khoa học sử dụng các lý thuyết và công thức toán học để mã hóa và giải mã thông tin.
Bằng chứng để xác minh rằng các giao dịch là hợp lệ mà không tiết lộ bất kỳ thông tin nào về các giao dịch ...