Keccak kripto varlık dünyasında önemli yer sahibi olan bir kriptografi algoritmasıdır. İlk olarak 2008 yılında Keccak kullanıldı. Keccak, başka amaçlar için kullanılabilse de SHA-1 ve SHA-2 gibi daha eski hash algoritmalarına kıyasla daha üst düzey bir güvenlik sunan bir hash algoritması olarak da bilinir. Keccak, SHA-3 isimli bir hash fonksiyonu standardı olarak tanınmıştır. Keccak algoritması, ağda güvenli bir şekilde veri ve bilgilerin bütünlüğünü sağlamak, veri gizliliğini korumak veya dijital imzalama benzeri çeşitli kriptografik sebepler için de kullanılır.
Keccak özellikle saldırı durumlarına dayanıklı bir yapıya sahiptir. Bu dayanıklı yapısı Keccak’ı diğer hash algoritmaları ve fonksiyonlarından ayıran en önemli özelliktir. Keccak algoritması belirli bir blok boyutunda verileri alır ve tutar. Keccak algoritması bu tutulan verilerin üzerinden geçer. Sonrasında ise çıktı olarak sabit boyutlu bir hash değeri üretir. Keccak, SHA-2 gibi diğer hash algoritma ve fonksiyonlarına kıyasen daha az miktarda işlem gerçekleştirerek, daha yüksek bir güvenlik seviyesi sağlar.
SHA, Secure Hash Algorithm’in bir kısaltmasıdır. SHA, Amerika Birleşik Devletleri Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından yayınlanmış bir dizi kriptografik karma işlevini belirtir. Aynı zamanda SHA-1 ve SHA-2, Amerika Birleşik Devletleri Ulusal Güvenlik Ajansı (NSA) tarafından üretilmiştir. Bu sebeple benzer bir yapıya sahiptir.
Keccak algoritması, bir diğer adı ile SHA-3, 2007 yılında gerçekleşen ve NIST’in düzenlediği bir yarışmada geliştirilmiştir. Bu yarışma halka açık bir yarışmadır. Bu yarışmanın düzenlenmesinde yer alan amaç ise SHA-1 ve SHA-2’nin kusurlarını ve açıklarını giderecek bir hash algoritması aramak ve bulmaktır.
2004 yılında SHA-1’e farklı teorik saldırılar düzenlenmiştir. Bu saldırılar 2005 yılında ise halka duyurulmuştur. Bunun sonrasında 2011 yılında yeni SHA-2, NIST tarafından yeni bir standart şifreleme algoritması olarak kabul edilmiştir. Bununla birlikte ise SHA-1’den SHA-2’ye geçiş çok yavaş gerçekleşmiştir. 2017 yılının başlarında geliştiriciler ve bilgisayar bilimcilerinin büyük bir çoğunluğu SHA-2’ye nihayet geçebilmiştir. Kısa bir süre sonra Google, 2017 yılının şubat ayında başarılı bir SHA-1 çarpışma saldırısı (collision attack) yaşandığını duyurmuştur. Bu olaydan sonra SHA-1’e duyulan güven iyice azalmış ve kullanımı düşmüştür.
Henüz SHA-2’ye yönelik ağır bir saldırı düzenlenmemiş olsa da hash algoritmaları zamanla bazı yetkinliklerini kaybeder. Bu sebeple bu hash fonksiyonları ve algoritmaları eskir ve yeni algoritmaların geliştirilmesi gerekir. Yeni bir hash algoritmasının ya da fonksiyonunun geliştirilmesi ise yıllar alan bir süreçtir. Bu yüzden NIST, 2012 yılında yarışmanın kazananı Keccak algoritmasını SHA-3 olarak değerlendirir ve yeni standart haline gelmesini sağlar.
Keccak’ın NIST tarafından beğenilmesini ve seçilmesini sağlayan en önemli sebeplerden birisi, diğer hash algoritmalarından ve fonksiyonlarından daha güvenli ve verimli olmasıdır. Teknik anlamda incelendiğinde SHA-3 algoritması, SHA-1 ve SHA-2 tarafından tercih edilen Merkle Damgård yapısının tersine sünger işlevlerine dayanır. Günümüzde ise hala SHA-2 yaygın olarak kullanılır.