Keccak, được phát âm là "ketchak", là một hàm mã hóa linh hoạt được tạo ra bởi Guido Bertoni, Joan Daemen, Michaël Peeters và Gilles Van Assche. Mặc dù Keccak có nhiều ứng dụng tiềm năng khác nhau, nó được biết đến nhiều nhất như một hàm băm cung cấp tính bảo mật cao hơn so với các thuật toán băm cũ như SHA-1 và SHA-2.
SHA là từ viết tắt của Secure Hash Algorithm (Thuật toán Băm An toàn) và đại diện cho một loạt các hàm băm mật mã học được phát triển bởi Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST). Cả SHA-1 và SHA-2 đều được tạo ra bởi Cơ quan An ninh Quốc gia Hoa Kỳ (NSA) và có cấu trúc tương tự nhau. Mặc dù Keccak có cùng kích thước đầu ra (độ dài băm) như SHA-2, cơ chế hoạt động của nó khác biệt đáng kể. Tuy nhiên, Keccak được coi là một phần của SHA và thường được gọi là SHA-3.
Tóm lại, các cuộc tấn công lý thuyết vào SHA-1 đã được tiết lộ vào năm 2004, dẫn đến việc NIST tuyên bố SHA-2 là hàm băm tiêu chuẩn mới vào năm 2011. Quá trình chuyển đổi chậm từ SHA-1 sang SHA-2 sau đó đã bị một cuộc tấn công va chạm SHA-1 thành công vào năm 2017, khiến SHA-1 trở nên không an toàn và không được khuyến khích sử dụng. Keccak, còn được gọi là SHA-3, được phát triển để khắc phục các lỗ hổng tiềm ẩn trong SHA-1 và SHA-2, giành chiến thắng trong một cuộc thi do NIST tổ chức vào năm 2012 và trở thành thành viên mới nhất của họ SHA. Cấu trúc đổi mới và việc dựa vào các hàm bọt biển đã giúp Keccak được lựa chọn. Trong khi SHA-2 vẫn được sử dụng rộng rãi và an toàn, việc chấp nhận SHA-3 trong tương lai có thể bị ảnh hưởng bởi khả năng chống chịu các cuộc tấn công của nó. Ngoài ra, sự phát triển liên tục của mật mã học có thể dẫn đến việc phát triển các thuật toán băm mật mã mới trong những năm tới.