Keccak

İleri Seviye

Keccak ("ketçak" şeklinde okunur) Guido Bertoni, Joan Daemen, Michaël Peeters ve Gilles Van Assche tarafından tasarlanmış çok yönlü bir kriptografik işlevdir. Keccak başka amaçlar için kullanılabilse de SHA-1 ve SHA-2 gibi daha eski hash algoritmalarına kıyasla daha yüksek seviyede güvenlik sunan bir hash fonksiyonu olarak bilinir.

SHA, Güvenli Hash Algoritması (Secure Hash Algorithm) anlamına gelir ve ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından yayınlanmış bir dizi kriptografik hash işlevini ifade eder. Hem SHA-1 hem de SHA-2, ABD Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanmıştır, dolayısıyla da benzer bir yapı sunar. Keccak, SHA-2 ile aynı çıktı boyutunu (hash uzunlukları) desteklese de çalışma mekanizması oldukça farklıdır. Yine de Keccak SHA ailesinin bir parçasıdır ve genellikle SHA-3 olarak anılır.

SHA-1'e yönelik teorik saldırılar 2004 yılında gerçekleştirilmiş ve 2005 yılında kamuya açılmıştır. Birkaç yıl sonra 2011'de ise NIST, SHA-2'nin yeni standart hash fonksiyonu olarak kullanılacağını ilan etmiştir. Fakat SHA-1'den SHA-2'ye geçiş oldukça yavaş olmuştur ve geliştiricilerin ve bilgisayar bilimcilerinin büyük bir kısmı ancak 2017 yılının başlarında SHA-2'ye geçmiştir. Kısa bir süre sonra Şubat 2017'de Google başarılı bir SHA-1 çarpışma saldırısı yaptığını duyurmuştur ve o zamandan beri SHA-1 güvenli sayılmamakta ve kullanımı önerilmemektedir.
Keccak işlevi (SHA-3), NIST'nin SHA-1 ve SHA-2'nin olası kusurlarının üstesinden gelebilecek yeni bir kriptografik hash işlevi arayışı ile herkese açık bir yarışma ve güvenlik incelemesi sürecini duyurmasının ardından 2007 civarında geliştirilmeye başlamıştır.

Henüz SHA-2'ye yönelik önemli bir saldırı ortaya konulmamış olsa da hash fonksiyonlarının zaman içinde kırılması beklenmektedir ve yeni bir standart fonksiyonun geliştirilmesi yıllar alır. 2004 ve 2005'te SHA-1'e gerçekleştirilen başarılı saldırılarla birlikte bunu da göz önünde bulunduran NIST, yeni bir kriptografik hash algoritmasının yaratılması gerektiğinin farkına varmıştır. NIST, 2012'de Keccak'ı yarışmanın kazananı olarak ilan etmiş ve bu algoritmayı SHA ailesinin en yeni üyesi olarak standart hale getirmiştir (bu nedenle SHA-3 adı verilir). 

Keccak'ın NIST tarafından seçilmesinin nedenlerinden biri de diğer algoritmadan daha güvenli ve verimli olduğu kanıtlanan yenilikçi yapısıdır. Teknik olarak SHA-3 algoritması, SHA-1 ve SHA-2 tarafından kullanılan Merkle Damgård yapısının aksine sünger işlevlere (diğer bir deyişle sünger yapıya) dayanır.

Şimdilik SHA-2 hâlâ güvenli olarak kabul edilmekte ve yaygın olarak kullanılmaktadır. Örneğin, SHA-256 Bitcoin ve diğer kripto paralar tarafından kullanılır ve madencilik sürecinde çok önemli bir rol oynar. SHA-3'e yönelik başarılı bir saldırının gerçekleşme ihtimali uzak göründüğü için ileride bu algoritmanın daha fazla benimsendiğine şahit olabiliriz. Bununla birlikte, kriptografi alanı geliştikçe ve yeni kusurlar keşfedildikçe önümüzdeki yıllarda daha fazla kriptografik hash algoritmasının geliştirildiğini de muhtemelen göreceğiz.