SHA-3 Keccak Algoritması
1. SHA-3 KECCAK ALGORİTMASININ TARİHÇESİ
SHA-3 Keccak Algoritması
1. SHA-3 KECCAK ALGORİTMASININ TARİHÇESİ
Keccak algoritması; Bertoni, Joan Daemen, Peeters ve Van Assche’nin eseridir. PANAMA ve Radiogatun önceki fonksiyonlarına dayanmaktadır. PANAMA 1998 yılında Daemen ve Craig Clapp tarafından tasarlandı. Panama’nın halefi Radiogatun, Daemen, Peeters ve Assche tarafından tasarlandı. 2006 yılında “NIST Hash Workshop” isimli çalışmada sunuldu.
2006 yılında NIST, yeni şifreleme fonksiyonu olan SHA-3'ü oluşturmak için organizasyon düzenledi. SHA-3'ün SHA-2'nin yerini alması amaçlanmamıştır. Çünkü SHA-2 üzerinde önemli bir saldırı stili görülmemişitr. Fakat geçmişte SHA0–1 ve MD5'e yapılan saldırılar yüzünden SHA-3'e ihtiyaç duyulduğu farkedildi.
İlgili organizasyonda on dört algoritma seçildi ve Keccak algoritması da son tura kadar yükseldi. Daha sonrasında organizasyonun galibi Keccak algoritması olarak seçildi. 2015 yılında ise NIST, SHA-3'ün bir standart haline geldiğini açıkladı.
2. KECCAK ALGORİTMASI TANIMI
Keccak çok yönlü bir şifreleme fonksiyonudur. SHA-1 ve SHA-2 gibi eski karışık algoritmalara kıyasla daha yüksek düzeyde güvenlik sağlayan bir şifreleme algoritmasıdır.
SHA, güvenli şifreleme algoritması anlamına gelir. NIST tarafından yayınlanan bir dizi şifreleme fonksiyonlarını ifade eder. Hem SHA-1 hem de SHA-2 NSA (ABD Ulusal Güvenlik Ajansı) tarafından hazırlanmıştır. Bu nedenle benzer yapılar sunmaktadır. Keccak, SHA-2 ile aynı çıktı boyutunu desteklese de çalışma mekanizması farklıdır. Yine de Keccak SHA ailesinin bir parçası ve SHA-3 olarak kabul edilir.
SHA-1e yönelik saldırılar 2004’te gerçekleştirildi. 2011’de SHA-2 NIST tarafından kullanılacak yeni şifreleme algoritmsaı olarak ilan edildi. Bununla birlikte SHA-1’den SHA-2’ye geçiş yavaştı ve 2017’de anca büyük bir yüzde geçebildi. Günümüzde SHA-1 güvenli sayılmamaktadır.
Henüz SHA-2’ye yönelik önemli bir saldırı gösterilmemesine ragmen, şifreleme algoritmalarının zaman içinde kırılması beklenmekte, bu nedenle yeni fonksiyon geliştirilmiştir.
Kriptografik şifreleme dışında Keccak algoritmasının diğer kullanım alanları da kimlik doğrulama ve rasgele sayı üretimidir. Keccak fonksiyonu sponge (sünger) fonksiyonuna dayanmaktadır. Sünger fonksiyonu temel olarak şifreleme işlemlerini genelleştirmek için bir çözüm sağlar. Girdi değişken boyutlu bir uzunluk dizesi ve çıktı sabit uzunluk permütasyonuna dayanan değişken bir fonksiyondur. Sünger fonksiyonu aşağıdaki görseldeki gibidir.
Şekil 2.1 — Sünger Fonksiyonu
Sünger fonksiyonunun terimleri aşağıdaki gibidir.
R: oran
B: bit bloklarının genişliği
C: kapasite
D: çıkış dizesinin uzunluğu
N: giriş dizesinin uzunluğu
F: permütasyon fonksiyonu
Z: bit dizesi
S: b bitlerinden, r ve c’den oluşan durumdur.
2.1.KECCAK ALGORİTMASININ DETAYLI TANIMI
Keccak, kullanıcının seçebileceği çeşitli parametrelere sahip bir algoritmadır. NIST, SHA-3 standardı için hangi parametrelerin kullanacağına henüz kesin birk arar vermemiştir.
SHA-3 şifreleme algoritması için NIST tarafından aşağıdaki uzunlukların desteklenmesi gereksinim olarak belirtilmiştir.
· 224 bit
· 256 bit
· 384 bit
· 512 bit
SHA-3 iki tür modda kullanılabilir.
SHA2 Değiştirme Modu: Bu modda SHA-3, 224, 256, 384 veya 512 bitlik sabit uzunlukta çıktılar üretir.
Değişken Mod: Çok sayıda çıkış biti üretmek için SHA-3’ün kullanılmasını sağlayan moddur.
SHA-1 ve SHA-2’nin aksine, Keccak Merkle konstrüksiyonuna güvenmemektedir. Bundan ziyade “Sponge” denilen konstrüksiyona dayanmaktadır. Sponge konstrüksiyonu iki aşamadan oluşur.
Emici: Faz blokları algoritmadan geçirilir ve işlenir.
Sıkma: Faz için uygun uzunlukta bir çıkış biti hesaplanır.
Aşağıdaki şekil Keccak diyagramını gösterir. Her iki faz içinde benzer fonksiyonlar kullanılır. Bu fonksiyon, Keccak-f olarak adlandırılmaktadır.
Şekil 2.2 Sünger Fonksiyonu Aşamaları
Giriş ve çıkış boyutlarının yanı sıra Keccak algoritmasının güvenlik seviyesinin ekstra olarak yapılandırabileceği parametreler de mevcuttur. İlgili parametreler aşağıdaki gibidir.
B durumun genişliğidir, yani b = r + c
L ise aşağıdaki değerleri alabilir.
b = 25 · 2
l = 0,1,…,6
Bu ise b’nin genişlik {25,50,100,200,400,800,1600} durumuna sahip olabileceği anlamına gelir.
R, bit hızı anlamına gelmektedir. R, bir ileti bloğunun uzunluğuna eşittir.
C ise kapasitedir. R + C’nin durum genişlikleri: r + c = b ≤ {25,50,100,200,400,800,1600}
Şekil 2.3. Emiş ve Sıkma İşlemi
SHA-3 için b = 1600 bitlik genişlik durumu kullanılır. Bu durumda sırasıyla iki kapasite c = 256 ve c = 512’nin izlediği iki bit hızı r = 1344 ve r = 1088 değerlerine izin verir.
Güvenlik düzeyi bir saldırganın şifrelemeyi kırmak için gerçekleştirmesi gereken hesaplama sayısını göstermektedir. Örneğin 128 bitlik bir güvenlik düzeyinde, kişinin 2128 hesaplama yapması gerekir.
3. GİRDİ VE ÇIKTI ÜRETİMİ
Bir iletinin şifreleme işlevi tarafından işlenmesinden önce, girdinin gerçekleştirilmesi gerekir. Bunun nedeni, girişin r bitlerinin katı olan bir uzunluğa sahip olmasıdır. SHA-3’te kullanılan özel güvenlik hususları mevcuttur. Bu giriş mesajı yani m için girdi doldurma kuralı aşağıdaki gibidir.
pad(m) = m||P1 0⋆ 1 = …, x1,x0
Şema, önceden belirlenmiş bir P bit dizesinin ardından biri ve ardından en küçük 0 ve 1 sayılarını sonlandırarak yeni dizenin toplam uzunluğunun r’nin katları olacak şekilde ekler. P değeri, SHA-3’ün kullanıldığı moda ve çıkış uzunluğuna bağlıdır ve aşağıdaki tabloda açıklanmıştır.
Şekil 3.1 P ve Çıkış Uzunlukları
SHA-2’nin değişim modunda, girdi doldurma kuralı tarafından eklenen minimum bit sayısı yedidir. Yani 110 0111 veya 111 0111 bitleridir. Eklenen maksimum dolgu bit sayısı r + 1’dir.
SHA-2 değişim modu kullanırken çıktı Keccak-f fonksiyonunun son çağrışımı, yani fazın son turu, y0’ın bir parçası olan karma çıktıyı üretir.
4. KECCAK FONKSİYONU
Keccak-f fonksiyonu aynı zamanda Keccak-f permütasyonu olarak da isimlendirilmektedir.
Buradaki -f ikinci ismini almasının ardındaki olay, fonksiyon 2^b giriş değerlerini değiş tokuş(permüte) etmektedir. Yani her b-bit tam sayısı bijektif bir şekilde (bire bir eşleme) bir b-bit tam sayı değerine eşlenmektedir. Buradaki permütasyon DES’de kullanılan bit permütasyonlarından farklıdır.
Şekil 4.1 Keccak Fonksiyonunun İç Yapısı
Burada fonksiyon
adet turdan oluşmaktadır. Her bir tur b = r + c bitlerinden oluşan girişe sahiptir. Tur sayısı “l” parametresine bağlıdır:
“l” parametresi aynı zamanda state genişliği b’ nin belirlenmesinde de önemli rol oynamaktadır.
Aşağıdaki tabloda state genişliğine karşılık gelen tur sayıları verilmiştir. Yukarıda bahsetmiş olduğumuz denklemlerle hesaplanmaktadır.
L=6 ‘ya kadar gittiğinde SHA-3’te en fazla tur sayısı 24 olmaktadır.
Şekil 4.2 Keccak-f Tur Sayısı ve Durum Genişliği
Turlar, her i turunda farklı bir değer alan tur sabiti RC[i] dışında aynıdır. Tur sabiti yalnızca tur fonksiyonunun Iota adımında kullanılır.
Şekil 4.1.’de gösterildiği gibi her tur Yunan alfabesindeki harflerle gösterilen beş adımlık bir diziden meydana gelmektedir: θ (theta), ρ (rho), π (pi), χ (chi) and ι (iota). Her adım tüm state’i etkilemektedir. Aşağıdaki şekilde state’i 3-boyutlu düzlem dizisinde görebilirsiniz:
Şekil 4.3 Her Küpün Bir Biti Temsil Ettiği Keccak Durumu, SHA-3 için 5564 bitlik bir dizidir.
Şekil 4.4 State Array’in Parçaları
State dizisi b = 5 5 w ‘ya eşittir ve w =
‘dir. Daha önce bahsedildiği üzere SHA-3 için l=6 seçilmelidir ve bu sebeple w = 64 olarak hesaplanır.
Belirli bir (x,y) koordinatlarına ait w bitlerine şerit(lane) adı verilmektedir. Keccak fonksiyonunda ilk adım θ (theta) adımı ile başlar fakat sonraki adımların sırasının herhangi bir önemi yoktur. Bu da SHA-1 ve SHA-2 ‘ye göre daha az enerji tüketmesini sağlar.
4.1.THETA ADIMI
θ (theta) Adımını anlamanın en rahat yolu yukarıdaki şekilde gösterildiği gibi dizinin her bir ögesinin w bitlik tek bir kelimeden oluşan iki boyutlu bir dizi olarak görülmesidir.
Bu diziyi x,y = 0,1,…,4, A(x,y) olarak tanımlarsak θ (theta) Adımı şöyle gerçekleşir :
Şekil 4.5 Theta Adımı Dizisi
C ve D w bit uzunluğunda 5 kelime içeren tek boyutlu dizelerden oluşmaktadır.
⊕ iki w-bit işleneni arasındaki bit bazında XOR işlemini ifade etmektedir, rot(C [], 1)) ise işlenenin bir bitlik rotasyonunu(dönüşünü) ifade etmektedir ve bu dönüş Şekil 4.3.’e bakacak olursak z ekseni yönünde gerçekleşmektedir. Yukarıdaki denklemlerde tüm modulo değerleri 5 olarak alınır yani C(-1) = C(4)’ tür.
Şekil 4.6 Theta Adımı
Yukarıdaki şekilde bit düzeyinde θ (theta) Adımını görmektesiniz. Burada her bit XOR işlemiyle “komşusu olan” 10 bitlik kısmın ve orijinal bitin toplamı kendisi ile değiştirilir. Yani 11 bitin toplamı orijinal bit ile XOR’a girmektedir.
⊕ bitin solundaki 5 bitlik kolon
⊕ bitin sağındaki 5 bitlik kolon ve 1 adım önündeki bit
4.2. ρ (rho) ve π (pi) ADIMLARI
Sonraki iki adımda state array A’dan 5*5 boyutlu bir auxiliary array hesaplanır. Her iki adımda aşağıdaki şekilde hesaplanabilir. B[i,j] w bitlik bir kelimeyi ifade etmektedir.
Şekil 4.7 Hesaplama Yöntemi
Burada rot(A[], i), A’nın bir kelimesini i’nin konumlarına göre döndürmektedir. Dönme sayısı aşağıdaki dönme sabiti tablosundan edinilir.
Şekil 4.8 Dönme Sabitleri
Şekil 4.9 b = 200 (1=3) için p
Şekil 4.9 Tek Bir Dilime Uygulanan π gösterimi
Pi ve rho adımlarını anlatacak olursak: A state arrayinin 25 şeridinin her birini alırlar ki bu da w bitli sözcüklere karşılık gelmektedir ve sabit sayıda konumda döndürürler (Rho Adımı). Sonrasında döndürülmüş olan şerit yeni B dizisinde farklı bir konuma yerleştirilir (pi Adımı). (3,1) konumundaki şeridi ele alacak olursak yani w-bit kelimesi A[3,1] demektir bu. Dönme sabitleri tablosuna (Şekil 4.8) baktığımızda sözcük 55 bitlik konumlarla döndürülür. Döndürülen sözcük daha sonra B[1, 2.3 + 3.1] = B[1,4] konumuna yerleştirilir. Buradaki 4 değeri modulo 5 olduğu için elde edilir.
4.3. χ (chi) ADIMI
Chi adımında, önceki adımda hesaplanmış olan B dizisi manipüle edilir ve sonuç state array A’ya yerleştirilir. Chi adımı şeritler(w-bit kelimeler) üzerinde çalışmaktadır. Hesaplanması şu şekilde sağlanır:
Burada B¯[i, j] değeri [i,j] konumundaki şeridin bit düzeyinde tümleyenini gösterir ve ∧, iki işlenenin bit düzeyinde Boolean AND işlemidir. Diğer tüm adımlarda olduğu gibi, endeksler modulo 5 alınmaktadır. İşlemi açıklayacak olursak, χ Adımlarının şeridi [x,y] konumundaki durumuyla, şeridin [x+2,y] konumunun yine şeridin [x+1,y] konumuyla mantıksal AND işleminde sonra XOR yapması olarak ifade edilebilir.
Şekil 4.10 Keccak-f’nin x Adımı
Üst sıra B dizisinin beş şeridini temsil ederken, alt sıra A state arrayinin beş şeridini göstermektedir.
4.4. ι (IOTA) ADIMI
Iota Adımı en basit adım olarak nitelendirilmektedir. A’nın [0,0] konumundaki şeridine önceden tanımlı bir w-bit sabiti eklemektedir.
Şekil 4.11 IOTA Adımı
Tur sabiti RC[i], yürütülmekte olan i turuna göre farklılık göstermektedir. Daha önce de belirttiğimiz gibi, SHA-3 için
24 turdur.
Şekil 4.12 Her Tura Ait RC[i] Değerleri. Her Sabit 64-Bit Uzunluğunda ve Hexadecimaldir.
5. YAZILIM VE DONANIM ÜZERİNDE UYGULAMA
Hash algoritması hesaplanırken zamanın çoğu Keccak-f üzerinde harcanır. Bu nedenle aşağıda paylaşılmış olan anlatım bu işlevi yazılım ve donanımda uygulamaya deyinmektedir.
SHA-3 olarak Keccak kullanılması durumunda 25 kelimede saklanan her biri 64 bitlik 1600 bit olarak hesaplanmaktadır. Modern PC’lerin çoğunda bulunan 64 bit CPU’larda, bir 64 bit şerit doğal olarak bir kayıtta saklanabilir. Ayrıca, Intel ve AMD’den çoğu 32 bit CPU, 64 bit üzerindeki bazı talimatları özellikle Keccak-f’nin 5 adımındaki ana işlemler olan bitsel Boole işlemlerini destekler. Genel olarak konuşursak, Keccak yazılım uygulamasına oldukça uygundur. Bu özelliği diğer SHA karma algoritmalarıyla paylaşır. Modern Intel Core CPU’larda yüksek düzeyde optimize edilmiş bir SHA-3 uygulaması, yaklaşık 13 döngü/bayt hızında yürütülebilir, bu da örneğin yaklaşık 230 MByte/s (veya yaklaşık 1,84 Gbit/s) verim anlamına gelir. işlemci 3 GHz hızında çalışıyorsa. Gömülü sistemlerde çok popüler olan 8 bit CPU’larda SHA-3 yaklaşık 1110 devir/bayt hızında uygulanabilir. 10 MHz’lik bir saat frekansı varsayıldığında, bu yaklaşık 9 kByte/sn veya kabaca 72 kbit/sn’lik bir sonuç demektir.
Keccak’ın donanım uygulamaları için çok uygun olduğu yatsınamaz bir gerçektir. Algoritma, donanımda SHA-2'den çok daha verimlidir. Yüksek hızlı paralelleştirilmiş bir mimari, yaklaşık 100.000 geçit eşdeğeri alanıyla 30 Gbit/sn veya daha yüksek verimlere kolayca ulaşabilir. Performans spektrumunun diğer tarafında, 10.000'den az geçit eşdeğeri olan çok küçük bir seri donanım motoru, yine de birkaç 10 Mbit/sn’lik verim elde edebilir.
6. SONUÇ VE EK NOKTALAR
SHA-3 Seçim Süreci ABD Ulusal Standartlar ve Teknoloji Enstitüsü NIST tarafından Aday Algoritması Talebi 2007'de yayınlandı. Yeni karma işlevinin seçilmesi için dört kriter güvenlik, performans, kriptografik olgunluk (yani, iyi bir algoritmanın nasıl anlaşıldığı ve analiz edildiği) ve çeşitlilik (yani iç yapının SHA-2'den ne kadar farklı olduğu). 2008 sonlarında başvurular alındıktan sonra, NIST tarafından ele alınan 51 algoritmanın uluslararası bilim topluluğu tarafından yoğun bir şekilde analiz edilmesinin üzerinden dört yıl geçmiştir. Ana odak, algoritmaları kripto analiz etmek ve performanslarını incelemekti. Resmi NIST web sitesinde, 1., 2. ve 3. Tur’un sonundaki resmi raporlar da dahil olmak üzere, yarışma hakkında birçok kaynak bulunmaktadır. Çok yönlü seçim çabasına en iyi genel bakış, ECRYPT (European Network of Excellence in Cryptography) tarafından sağlanan SHA-3 Hayvanat Bahçesi projesidir. SHA-3 Hayvanat Bahçesi, özellikle (i) her SHA-3 algoritmasına genel bir bakış sağlayan ve (ii) her bir karma fonksiyonunun kripto analizi özetleyen wiki benzeri bir web kaynağıdır.
Keccak ile ilgili olarak, algoritmayı açıklayan resmi referans belgesidir. Dört algoritma tasarımcısı, yazılım ve donanım kodu (HDL) ve uygulayıcılar için oldukça faydalı olabilecek Keccak’ın sözde kod açıklaması dahil olmak üzere, hash işlevi hakkında birçok yararlı bilgi içeren bir web sitesi tutar.
Keccak ve SHA-2 Keccak sünger yapısına dayanmaktadır ve bu nedenle SHA-1 ve SHA-2 gibi MD4 ailesine ait hash işlevlerinden oldukça farklı bir yapıya sahiptir. Bölüm 1.1'de bahsedildiği gibi, 2004 yılında SHA-1'de ciddi zayıflıklar bulunmasına rağmen, bunlar şimdiye kadar SHA-1'den çok daha güçlü olan hash fonksiyonları topluluğu olan SHA-2'ye taşınmamıştır. Birçok simetrik kripto araştırmacısı, SHA-1 saldırısının SHA-2'ye karşı pratik bir tehdit oluşturacağından ciddi şekilde şüphe ediyor. Bu gelişmenin bir sonucu olarak, sonunda NIST standartları olacak iki özet fonksiyonu (tam olarak: SHA-2 ailesi ve SHA-3 ailesi) olacaktır. Bu, aşağıdaki nedenlerden dolayı mutlaka kötü bir durum değildir. Birincisi, SHA-2 ve Keccak çok farklı tasarım ilkelerine dayanmaktadır. Hash işlevlerinden birine karşı büyük bir kripto analitik atılım olursa (ve bu büyük bir zorunluluktur), saldırının diğerine uygulanmama olasılığı yüksektir. İkincisi, SHA-2 ve Keccak farklı uygulama özelliklerine sahiptir. Bu nedenle, belirli bir uygulama için, verilen platform için daha uygun davranışı gösteren algoritmayı seçebilmek faydalı olabilir. Örneğin, Keccak daha donanım dostudur ve genellikle pille çalışan cihazlar için geçerli olan, güç veya maliyet kısıtlaması olan gömülü uygulamalar için daha uygundur. Son olarak, Keccak daha çok yönlüdür ve belirli uygulamalar için çekici olabilen salt hash’lemeden daha fazla amaç için kullanılabilir.
Sünger Yapıları ve Keccak’ın Güvenliği Sünger yapısı veya sünger işlevi, karma işlevleri oluşturmaya yeni bir yaklaşımdır. Keccak tasarımcıları tarafından 2007'de bir ECRYPT atölyesinde önerilmiştir. Genel olarak, bir sünger yapısı, keyfi boyutta bir girdi alan ve kullanıcının ihtiyaç duyduğu herhangi bir uzunlukta bir çıktı hesaplayan bir fonksiyon olarak görülebilir. Belirli bir permütasyon işlevi f yinelenerek bir sünger yapısı kolayca oluşturulabilir. İlginç bir şekilde, bir sünger yapısı, akış şifreleri ve mesaj doğrulama kodları (MAC’ler) oluşturmak için de kullanılabilir. Sünger konstrüksiyonlarına genel bir giriş ve daha fazla kaynak Keccak tasarımcıları tarafından sağlanan The Sponge Functions Corner web sitesinde bulunabilir. Sünger yapıların arkasındaki teori ve güvenlik özellikleri hakkında çok daha fazlasını içeren daha kapsamlı bir inceleme referansda verilmektedir.
SHA-3 yarışmasının bir parçası olarak, bilim camiasının Keccak’taki (ve tabii ki diğer tüm SHA-3 aday algoritmalarındaki) zayıflıkları keşfetmeye yönelik yoğun çabaları olmuştur. Bugüne kadar, uzak bir başarı şansı olan hiçbir saldırı görünmüyor. Okuyucuya en son teknoloji hakkında bir fikir vermek için: Şimdiye kadar bilinen “en iyi” saldırı, yaklaşık 2500 (!) adım gerektirir ve yalnızca Keccak’ın 8 mermi ile küçültülmüş bir versiyonuna karşı çalışır. Bölüm 1.4'ten SHA-3'ün 24 tur gerektirdiğini hatırlıyoruz. Keccak’ın güvenlik analizi ile ilgili çeşitli araştırma makalelerine genel bir bakış, referans olarak bulunabilir.
Keccak Uygulaması Modern 32 ve 64 bit CPU’larda Keccak’ı hızlandırmak için bir dizi düşük seviyeli uygulama mağazası mevcuttur. Referanslarda iyi bir genel bakışla detaylar görülebilir. Performans ölçümlerini otomatik olarak sağlamak bir kıyaslama test takımı, ECRYPT’i 1 olarak oluşturur ve Dan Bernstein ile Tanja Lange tarafından sürdürülen eBAC’lerdir. eBAC, çok çeşitli yazılım platformu SHA-3 ve diğer yerlerde’lerde, simetrik ve asimetrikler için performans sağlar. Bölüm 1.5'te, modern gibi, SHA-3 64 bit CPU’larda SHA-1 ile benzer bir performans gösterir. Keccak seçiminin diğer finalistlerinden, SHA-1 ve SHA-3 seçimi çok daha verimlidir. Verimlilik-alan Keccak katan bir finalist karma işlevlerinden ve S’den yaklaşık 5 kat daha verimliydi.
7. ALINAN DERSLER
Keccak, NIST tarafından yönetilen beş yıllık uluslararası hash fonksiyonu yarışmasının bir parçası olarak geliştirildi.
· Yazma sırasında SHA-3 standardı Keccak’a göre belirlenmektedir.
· SHA-3 federal bir ABD standardı haline gelerek ve SHA- ile birlikte olacaktır.
· 2. Her ikisi de şu anda çok güvenlidir, yani pratikte makul bir başarı şansı olan bilinen herhangi bir saldırı yoktur.
· Keccak sünger konstrüksiyona dayalıdır ve bu nedenle SHA-1 ve SHA-2'den oldukça farklı bir iç yapıya sahiptir.
· Keccak 224, 256, 384 ve 512 bit çıkış uzunluklarıyla ve — SHA-1 ve SHA-2 blok tabanlı işlevlerin aksine — isteğe bağlı bir çıkış uzunluğuyla çalıştırılabilir.
· Keccak, yazılımda kabaca SHA-1'den daha hızlıdır, ancak donanımda çok daha verimlidir (hızlı, az enerji) ve bu nedenle gömülü uygulamalar için çok uygundur.
KAYNAKLAR
1- Christof Paar Jan Pelzl, SHA-3 and The Hash Function Keccak
2- NIST, SHA-3 Standard, 2015
3- Gomez Pardo — Gomez Rodriguez, The SHA-3 Family of Cryptographic Hash Functions and Extendable-Output Functions
4- Joan Daemen, Introduction to SHA-3 and Keccak
메타데이터
- post_id
- 423f7e4e224b
- slug
- sha-3-keccak-algori̇tmasi-423f7e4e224b
- url
- https://medium.com/@aykutmertpekdemir/sha-3-keccak-algori%CC%87tmasi-423f7e4e224b
- canonical_url
- https://medium.com/@aykutmertpekdemir/sha-3-keccak-algori%CC%87tmasi-423f7e4e224b
- author_url
- https://medium.com/@aykutmertpekdemir
- status
- ok
- fetched_at
- 2026-07-27 13:32:51