İçeriğe atla

SHA-1: Revizyonlar arasındaki fark

Vikipedi, özgür ansiklopedi
[kontrol edilmemiş revizyon][kontrol edilmiş revizyon]
İçerik silindi İçerik eklendi
Kkubra9 (mesaj | katkılar)
Değişiklik özeti yok
RabiaEry (mesaj | katkılar)
kDeğişiklik özeti yok
1. satır: 1. satır:
'''SHA-1''''in açılımı '''Secure Hashing Algorithm 1''''dir. Özetleme fonksiyonlarından olan SHA-1 herhangi bir uzunluktaki bir [[metin]]in sabit uzunluktaki özetini oluşturur. Bu özet, [[veri bütünlüğü]] ve [[Kimlik Doğrulama|kimlik doğrulaması]] ile ilgili uygulamalarda temel yapı [[taş]]ı haline gelmiştir. SHA, (Secure Hash Algorithm) [[National Security Agency|NSA]] (National Security Agency) tarafından tasarlanmıştır.
SHA-1 (Güvenli Hash(Özetleme) Algoritması - 1) Birleşik Devletler Ulusal Güvenlik Ajansı tarafından tasarlanıp  Ulusal Standartlar ve Teknoloji Enstitüsü(NIST) tarafından yayınlanan ve Birleşik Federal Bilgi İşleme Standardı olan bir [[Kriptografik özet fonksiyonu|şifreleme özet fonksiyonu]]dur. [3] SHA-1, bir ileti özeti olarak bilinen 160 bitlik (20 bayt) bir hash değeri üretir. Bir SHA-1 hash değeri genellikle 40 basamaklı bir [[onaltılık taban]]daki sayı olarak işlenir.


SHA-0, SHA-1 ve SHA-2 olmak üzere üç sürümü vardır. SHA-3 için yine uluslararası bir [[yarışma]] devam etmektedir ve bu yarışmanın sonunda birinci algoritmanın kullanıma sunulacağı duyuruldu.<ref>[http://en.wikipedia.org/wiki/SHA-1 İngilizce Vikipedi ] 27 Ekim 2010 Tarihinde erişildi.</ref>
SHA-1 artık bazı ataklara karşı güvenli sayılmıyor. 2005 yılında şifreleme uzmanları, SHA-1'e karşı bir saldırı buldular ve devam etmek için algoritmanın yeterli nitelikte olmadığını düşündüler; [4] 2010 yılından beri pek çok kuruluş SHA-1 yerine [[SHA-2]] veya [[SHA-3]]'ün yer almasını önerdi. [5] [6] [7] [[Microsoft]], [8] [[Google]], [9] [[Apple]] ve [10] [[Mozilla]] [11] [12] [13] tarayıcılarının 2017 yılına kadar SHA-1 [[SSL sertifikaları]]nın kabulünü durduracağını duyurdu.


==== SHA-1 Collision ====
23 Şubat 2017'de [[CWI Amsterdam]] ve [[Google]], saldırı durumunun bir kanıtı olarak aynı SHA-1 hash değerini üreten iki benzer PDF dosyası yayınlayarak SHA-1 [14] [15 ]'e karşı bir [[çakışma saldırısı]] gerçekleştirildiğini açıkladılar. [16]
Çeşitli kaynaklarda ki haberlere göre SHA-1 için çakışma bulundu. 2 farklı PDF dosyasının aynı özeti vermesi üzerine SHA-1 algoritması tarihin tozlu sayfalarındaki yerini aldı.<ref>[http://www.sibersavunma.net/sha-1-kriptoloji-algoritmasi-oldu/][http://stackoverflow.com/questions/23964033/git-fatal-sha1-collision-found]</ref>


==Gelişme==
== Kaynakça ==
{{kaynakça}}


== Dış bağlantılar ==
SHA1’ in tasarımı [[MIT]] de çalışan [[Ronald L.Rivest]] tarafından tasarlanan [[MD4]] ve [[MD5]] [[mesaj özetleme]] algoritmalarının tasarımına benzerdir. Rivest in kullandığı ilkelere benzer bir şekilde mesaj özeti üretilir. Ancak SHA-1, MD4 ve MD5 e göre daha tutarlı bir tasarıma sahiptir. 


SHA-1, ABD Hükümeti'nin [[Capstone projesi]]nin bir parçası olarak geliştirilmiştir.[17] Algoritmanın orijinal spesifikasyonu; 1993 yılında ABD Hükümet standartları ajansı [[NIST]] (Ulusal Standartlar ve Teknoloji Enstitüsü) tarafından Secure Hash Standard, [[FIPS]] PUB 180 başlığı altında yayınlandı. [18] [19] Bu sürüm artık sıklıkla SHA-0 olarak adlandırılmaktadır. Yayınlanmasından kısa bir süre sonra [[NSA]] tarafından geri çekilerek 1995 yılında FIPS PUB 180-1 standardına  uygun SHA-1 olarak belirtilen yeniden düzenlenerek eski versiyonun yerini almıştır. SHA-1; özetleme fonksiyonunun mesaj zamanlamasında SHA-0'dan yalnızca tek bir bit dönüşüyle farklılık göstermektedir. NSA'ya göre, bu, orijinal algoritmada şifreleme güvenliğini azaltan bir kusurun düzeltilmesi için yapılmıştır. Ancak daha fazla açıklama getirilmemiştir. 
[[Dosya:SHA-1.svg|frame|right|
SHA-1 özetleme fonksiyonunda bir iterasyon şöyle gerçekleşmektedir:
A, B, C, D ve E; 32 bitlik sözcüklerdir;
F, değişen doğrusal olmayan bir fonksiyondur;
''<sub><<<n  ; </sub>''n kadar sola kaydırmayı belirtir; n değeri her operasyon için değişir.
Wt round t’deki genişletilmiş mesajı gösterir.
K<sub>t</sub> round t’deki sabit değeri belirtir.
[[Image:Boxplus.png|Addition]] ise  mod 2<sup>32</sup> ‘de toplama işlemini belirtir.]]


==Uygulamalar==

'''Şifreleme'''

Bu konu hakkında daha fazla bilgi için bkz: Şifreleme özetleme fonksiyonu § Uygulamalar.

SHA-1, [[TLS]]/[[SSL]], [[PGP]], [[SSH]], [[S/MIME]] ve [[IPsec]] de dahil olmak üzere yaygın olarak kullanılan pek çok güvenlik uygulamasının ve protokolünün bir parçasını oluşturur. Bu uygulamalar ayrıca MD5'i de kullanabilir; hem MD5 hem de SHA-1 [[MD4]]'den soyutlanmıştır. SHA-1  özetleme işlemi, [[Git]], [[Mercurial]] ve [[Monotone]] gibi dağıtılmış revizyon kontrol sistemlerinde revizyonları tanımlamak ve veri bozulmasını saptamak için kullanılmıştır. Bu algoritma, önyükleme yaparken [[Nintendo]]'nun Wii oyun konsolu üzerinde imza doğrulaması için de kullanılmış, ancak yazılımın ilk uygulamalarında önemli bir eksiklik olan bir saldırganın sisteminin güvenlik şemasını atlatmasına izin verilmiştir. [20]

SHA-1 ve SHA-2 hassas olmayan sınıflandırılmış bilgilerin korunması için, diğer şifreleme algoritmaları ve protokolleri de dahil olmak üzere bazı [[ABD Hükümeti|ABD]] uygulamalarında kullanılmak üzere yasalarca gerekli olup kullanılan özetleme algoritmalarıdır. FIPS PUB 180-1, özel ve ticari kuruluşlar tarafından SHA-1'in benimsenmesini ve kullanılmasını da teşvik etmiştir. SHA-1, devlet kullanımlarının çoğundan geri çekilmektedir;  ABD Ulusal Standartlar ve Teknoloji Enstitüsü "Federal ajanslar, SHA-1'i pratik olarak en kısa sürede çarpışma direnci gerektiren uygulamalar için kullanmayı bırakmalı ve 2010'dan sonra bu uygulamalarda [[SHA-2]] ailesi özetleme fonksiyonlarını kullanmalıdır" demiştir. [21][22]

Güvenli Özetleme Algoritması’nın yayınlanması için en önemli faktör, içinde yer aldığı [[Dijital İmza Standardı]] idi.

SHA özetleme fonksiyonları SHACAL blok şifrelemeleri temelinde kullanılmıştır.

'''Veri Bütünlüğü'''

[[Git]] ve [[Mercurial]] gibi gözden geçirme kontrol sistemleri, güvenlik için değil, kazara bozulma nedeniyle verilerin değişip değişmediğinden emin olmak için SHA-1'i kullanmaktadır. [[Linus Torvalds]] Git hakkında şunları söylemiştir:

Disk bozulması, DRAM’de bozulma veya herhangi bir sorununuz varsa Git onları farkedecektir. Bu, bir garanti değil, bir soru da değil. Kötü niyetli olmayı deneyen insanlar olabilir. Ancak başaramazlar. [...] Hiç kimse SHA-1'i kıramadı, ancak SHA-1'in Git ile ilgili bir güvenlik özelliği bile yok. Tamamıyla tutarlılık kontrolünden ibaret. Güvenlik parçaları başka yerlerde, bu nedenle birçok insan Git'in SHA-1'i kullandığını ve SHA-1'in şifreleme açısından güvenlik için kullanıldığını ve bu yüzden büyük bir güvenlik özelliği olduğunu düşünüyorlar. Aslında güvenlikle alakalı hiçbir şey yoktur, sadece en iyi hash(karma değer) değerini elde edebilirsiniz. [...]

Size garanti veririmki, verilerinizi Git'e koyarsanız, beş yıl sonra sabit diskinizden DVD'ye ne olursa olsun yeni teknolojiye dönüştürüp onu kopyaladıktan beş yıl sonra bu sorunun doğruluğunu da onaylayabilirsiniz. Geri aldığınız veriler, koyduğunuz verilerle aynıdır. [...]

İlgilendiğim konulardan bir diğeri, insanların çekirdek kaynak kodu depolarını bozmaya çalışan BitKeeper siteleridir. [23] Bununla birlikte, Git bir saldırı durumunda bir nesnenin en eski sürümünü tutarak saldırganın gizlice dosyaların üzerine yazmasını önleyeceği için SHA-1'in [[ikinci-ön görüntü direnci]]ni güvenlik özelliği olarak gerektirmez. [24]

==Şifreleme Analizi ve Doğrulama==

İleti özet akışındaki bitlerin sayısı olan L bir özetleme fonksiyonu için belirli bir ileti özetine karşılık gelen bir ileti bulmak için her zaman yaklaşık 2''<sup>L</sup>'' değerlendirmede brute force kullanılarak yapılabilir. Buna [[öngörüntü direnci]] saldırısı denir. Ön görüntü direnci saldırısı, L'ye ve belirli bilgi işlem ortamına bağlı olarak pratik olabilir veya olmayabilir. Aynı mesaj özetini üreten iki farklı mesaj, çakışma bulmak, bir doğum günü saldırısı (birthday attack) kullanarak ortalama yaklaşık 1.2 ×  2''<sup>L</sup>''<sup>/2</sup> hesaplama ile bulunabilir. Bir özetleme fonksiyonun gücü genellikle mesaj özet uzunluğunun yarısının simetrik bir şifresi ile karşılaştırılmaktadır. Bu sebeple SHA-1'in başlangıçta 80 bit gücüne sahip olduğu düşünülüyordu.

Şifreleme için çalışan analistler[kimler?], SHA-0 için çarpışma çiftleri üretmişler ve ilk beklenen 2<sup>80</sup> değerlendirmeden daha az sayıda SHA-1 çarpışması üreten algoritmalar bulmuşlardır.

Pratikteki güvenlik anlamında, bu yeni saldırılarla ilgili büyük bir endişe olmuş ve bu durumun daha etkili saldırılara yol açabileceği düşünülmüştür. Şifre saklama gibi şifreleme için hash(karma) değerleri kullanan bazı uygulamalar bir çarpışma saldırısından en az etkilenenlerdir. Belirli bir hesap için uygun bir şifre oluşturmak, bir ön imha saldırısı ve özgün şifrenin önemli ya da önemsiz olması için erişilmesini gerektirir. Şifrelemeyi ters çevirmek (örneğin bir kullanıcının hesabının şifresini deneyerek bulmak gibi) saldırıları durdurmaz. Zayıf parolaların güvenli özet değerleri bile brute-force saldırılarına karşı dayanıksızdır.

Bir belge imzalanması durumunda, bir saldırgan mevcut belgenin imzasını basitçe taklit edemez: Saldırgan, zararsız ve zarar veren bir çift belge üretmek ve gizli anahtar sahibinin zararsız belgeyi imzalamasını sağlamak zorundadır. Bunu mümkün kılan bazı pratik koşullar vardır; örneğin 2008'in sonuna kadar bir [[MD5]] çarpışması kullanarak sahte [[SSL]] sertifikaları oluşturmak mümkündü. [25]

Algoritmaların blok ve yinelemeli yapısı ve bazı adımların eksikliği sebebiyle, tüm SHA fonksiyonları (SHA-3 [26] hariç), uzunluk uzantısı ve kısmi mesaj çarpışma saldırılarına karşı savunmasızdır. [27] Bu saldırılar bir saldırganın, yalnızca anahtarlı bir hash - SHA (ileti || anahtar) veya SHA (anahtar || ileti) ile imzalanmış bir iletiyi, iletiyi genişletip anahtarı bilmeden hash(karma) değerini yeniden hesaplayarak oluşturmasına olanak tanır. Bu saldırıları önlemek için basit bir gelişme, iki kez hash yapmaktır: SHAd (mesaj) = SHA (SHA (0b || mesajı)) (0b uzunluğu, sıfır blok, hash fonksiyonunun blok boyutuna eşittir).

'''Saldırılar'''

[[Rijmen]] ve [[Oswald]], 2005 yılı başlarında 2<sup>80</sup> den az  değerlendirme ile çarpışmalara neden olan SHA-1’in – 80 round’dan 53’ü  –  azaltılmış bir versiyonuna yönelik saldırı yayınladılar. [28]

2005'in Şubat ayında [[Xiaoyun Wang]], [[Yiqun Lisa Yin]] ve [[Hongbo Yu]] tarafından bir saldırı yayınlandı. [29] Saldırılar, 2<sup>69</sup> ‘dan daha az deneme ile SHA-1'in tam sürümünde çarpışmalar bulabildi. (Brute force ile ise 2<sup>80</sup> deneme gerektiği savunuldu.)

Araştırmacılar, analizlerinin SHA-0'daki orijinal diferansiyel saldırı, SHA-0'daki yakın çarpışma saldırısı, çoklu blok çarpışma tekniklerinin yanı sıra çarpışma arama saldırısında kullanılan mesaj modifikasyon tekniklerine dayandığını söylüyor. MD5 ve/veya SHA-1'i kırmanın, bu güçlü analitik teknikler olmadan mümkün olamayacağını söylüyorlar.[30] Araştırmacılar, 58 round’dan oluşan SHA-1 için 2<sup>33</sup> hash işlemi ile bir çarpışma önermişlerdir. 2005 yılının Ağustos ayında tam saldırının anlatıldığı belge, CRYPTO konferansında yayınlanmıştır.

Bir röportajda Yin, kabaca, aşağıdaki iki zayıf noktadan yararlandıklarını söylemiştir: Bunlardan birincisi, dosyanın önişleme basamağının yeterince karmaşık olmaması; diğeri ise, ilk 20 turdaki(round) bazı matematik işlemlerinin beklenmedik güvenlik sorunlarına sahip olmasıdır. [31]

17 Ağustos 2005'te, Xiaoyun Wang, [[Andrew Yao]] ve [[Frances Yao]] adına, CRYPTO 2005 Rump Oturumu'nda  SHA-1'deki bir çarpışmayı bulmak için gereken karmaşıklığı  2<sup>63</sup> 'e düşüren; SHA-1 saldırısı üzerinde bir iyileşme sağlandığı bildirildi. [32] 18 Aralık 2007 tarihinde ise Martin Cochran tarafından bu durumun ayrıntıları açıklanmış ve doğrulanmıştır. [33]

Christophe De Cannière ve Christian Rechberger, [[ASIACRYPT]] 2006'da en iyi makale ödülünü alan " SHA-1 Özellikleri Bulma: Genel Sonuçlar ve Uygulamalar [[SHA-1#cite note-34|[34]]] " adlı makalede SHA-1 saldırısını daha da geliştirmiştir. 64 turdan oluşan SHA-1 için iki bloklu bir çarpışma sunulmuş ve 2<sup>35</sup> özetleme fonksiyonu değerlendirmesiyle optimize edilmemiş yöntemler kullanılarak bulunmuştur. Bu saldırı, yaklaşık 2<sup>35</sup> değerlendirmenin eşdeğerini gerektirdiğinden önemli bir teorik açıklık olarak görülmektedir. [35] Saldırı, Grechnikov tarafından 2010 yılında 73 round’a kadar genişletilmiştir. [36] Bununla birlikte, bir özetleme fonksiyonunun 80 roundunda fiili bir çarpışma bulmak önemli bir miktarda zaman gerektiriyor. Bu amaçla, 8 Ağustos 2007 yılında, BOINC dağıtılmış bilgi işlem platformu kullanılarak [[Graz Teknoloji Üniversitesi]] tarafından SHA-1 için bir çarpışma araştırması organize edildi. Ancak 12 Mayıs 2009 yılında bu amaçla sunulan araştırmada yeterli gelişme sağlanamadığından durdurulmuştur. [37]

Christian Rechberger ve Christophe De Cannière, CRYPTO 2006'daki Rump Oturumu'nda SHA-1 üzerinde, bir saldırganın en azından bir mesajın bölümlerini seçmesine izin verecek bir çarpışma saldırısı keşfettiklerini iddia etti. [38] [39]

2008 yılında Stéphane Manuel tarafından yapılan bir saldırı metodolojisinde,  2<sup>51  </sup> ila 2<sup>57</sup> işlemin tahmini teorik karmaşıklığı ile hash çarpışmalarını bildirildi. [40] Ancak, daha sonra, yerel çarpışma yollarının aslında bağımsız olmadığı görüldü ve bu çalışma öncesinde zaten bilinen en etkili çarpışma vektörünün aktarılması ile bu iddia geri çekildi. [41]

Cameron McDonald, Philip Hawkes ve Josef Pieprzyk, Eurocrypt 2009 yılında yapılan Rump Oturumu'nda iddia edilen 2<sup>52</sup> karmaşıklığa sahip bir saldırı sundular. [42] Bu saldırıya eşlik eden "Karmaşıklığı O (2<sup>52</sup>) olan SHA-1 için Diferansiyel Yolu" adlı makalenin yazarlarının tahminlerinin yanlış olduğunun keşfedilmesi ile saldırı geri çekildi. [43]

Marc Stevens [44]  bulut sunucularından CPU gücünü kiralayarak tek bir hash değerini kırmak için tahmini maliyeti 2.77M olan SHA-1'e yönelik bir saldırı yapmıştır.[45] Stevens, bu saldırıyı HashClash adlı bir projede geliştirip, [46] bunun için diferansiyel yol saldırısı uygulamıştır. 8 Kasım 2010 yılında, 2<sup>57.5</sup> karmaşıklığa eşdeğer bir karmaşıklıkla çalışan tam SHA-1'e karşı tamamen çarpışmaya yakın bir çarpışma saldırısı yaşadığını iddia etti.  Bu saldırının 2<sup>61</sup> civarında bir karmaşıklıkla tam bir çarpışmaya kadar uzatılabileceği tahmin ediliyor.

==== SHAppening ====
8 Ekim 2015 yılında Marc Stevens, Pierre Karpman ve Thomas Peyrin, SHA-1'in özetleme fonksiyonunda, yalnızca  2<sup>57</sup> SHA-1 değerlendirmesi gerektiren bir çarpışma saldırısı yayınladı. Bu, tam SHA-1 özetleme fonksiyonunda (bir saldırgan özgürce başlangıç durumu seçemezse) bir çarpışmaya dönüşmez. Ancak SHA-1 için güvenlik taleplerini zayıflatır. İlk kez tam SHA-1'e karşı bir saldırı gösterilmiştir; çünkü önceki saldırıların hepsi, gerçekleştirmek için çok pahalıydı. Yazarlar bu önemli atılımı SHA-1'in SHAppening'in kriptografisinde isimlendirmişlerdir. [6]

Buradaki yöntem, Joux ve Peyrin'in yardımcı yolları (veya bumerang'lar) hızlandırma tekniğinin yanı sıra, [[NVIDIA]]'nın yüksek performanslı / maliyet etkin GPU kartlarını kullandıkları önceki çalışmalarına dayanıyordu. Çarpışma, toplam 64 grafik kartına sahip 16 düğümlü bir kümede bulundu. Yazarlar, benzer bir çarpışmanın [[EC2]]'de 2.000 ABD dolarına GPU satın alarak bulunabileceğini tahmin ediyorlardı. [6]

Yazarlar, yayın sırasında SHA-1 için tam bir çarpışma yaratacak kadar EC2 CPU / GPU zamanını kiralamanın maliyetinin 75,000$ ila 120,000$ arasında olduğunu ve bunun suç örgütlerinin bütçesinin içinde olduğunu not edilmesini ve ulusal istihbarat kurumlarından bahsedilmemesini söylemiştir. Bu nedenle yazarlar tarafından, SHA-1'in mümkün olduğunca çabuk kullanılmaması önerilmektedir. [6]

==== SHAttered - İlk açık çarpışma ====
23 Şubat 2017 yılında Google, yaklaşık olarak 2<sup>63.1</sup> SHA-1 değerlendirmede aynı SHA-1 hash değerine sahip iki farklı PDF dosyası oluşturabilen SHAttered saldırısını duyurdu. Bu saldırı, 2<sup>80</sup> SHA-1 değerlendirmesi yapması beklenen bir doğum günü saldırısıyla SHA-1 çarpışmasını brute force ile gerçekleştirmekten yaklaşık 100.000 kat daha hızlı olduğu savunuldu. Saldırı "6,500 yıllık tek işlemci hesaplamaları ve 110 yıllık tek GPU hesaplamaları olarak eşdeğer işlem gücünü" gerektiriyordu.[açıklama gerekiyor]

'''SHA-0'''

1998 yılında [[CRYPTO]] konferansında iki Fransız araştırmacı, [[Florent Chabaud]] ve [[Antoine Joux]] SHA-0 saldırısını açıkladılar. Çakışmalar 2<sup>61</sup> karmaşıklıkta ve 2<sup>80</sup> denn biraz daha fazla boyutta olan bir özet fonksiyonu bulundu. [47]

2004 yılında [[Bilham]] ve Chen SHA-0 için neredeyse aynı özet değerine sahip  iki ayrı mesaj bulduklarını açıkladılar. Buldukları bu çakışmada 160 bitin 142 si birbirine eşit çıkmıştır. Ayrıca SHA-0 için tam çakışmalar 80 round yerine 62 roundda bulunmuştur. [alıntı gerekiyor]

12 Ağustos 2004’de Joux, Carribault ,Lemuet ve Jalby SHA-0 için tam çakışmanın bir algoritmasını açıkladılar. Bu algoritma Chabaud ve Joux’un saldırısının bir genellemesi kullanılarak yapıldı. Bu çarpışma 2<sup>51</sup> zaman karmaşıklığına sahipti ve 256 [[Itanium 2]] işlemcili [[süper bilgisayar]]da bile 80.000 işlemci saati sürdü.(Normal bilgisayarlar için bu süre bilgisayarların tam kullanım şartında 13 güne denk gelmektedir.)

17 Ağustos 2004’de CRYPTO’nun Rump oturumunda [[MD5]],SHA-0 ve diğer özet fonksiyonlarına karşı atakların ilk sonuçları Wang, Feng, Lai ve Yu tarafından açıklandı. SHA-0’a karşı olan saldırının zaman karmaşıklığı 2<sup>40</sup> olarak açıklandı. Bu süre Joux ve arkadaşlarının saldırılarından çok daha iyi bir zaman karmaşıklığıydı. [48][49]

Şubat 2005 de Xiaoyun Wang, Yiqun Lisa Yin ve Hongbo Yu tarafından SHA-0’a karşı 2<sup>39</sup> opeasyonda çakışma bulunan bir saldırı açıklandı. [29][50]

2008 yılında yapılan bumerang saldırısıyla çakışma bulma zaman karmaşıklığı 2<sup>33.6</sup> ya kadar düşürülmüştür. Bu süre ortalama bir bilgisayarda hesaplanması 1 saat sürmektedir.[51]

SHA-0 karşı yapılan saldırılar sonucunda bazı araştırmacılar yeni bir şifreleme sistemi olan SHA-1’i kullanmayı önerdiler. CRYTO 2004 sonuçları yayınlandıktan sonra NIST, SHA-1'in yeni varyasyonlarını 2010 yılına kadar aşamalı olarak çıkarmayı planladıklarını açıkladı. [52]

'''RESMI ONAYLAMA'''

Esas makale: [[Cryptographic Module Validation Program|''Cryptographic Module Validation Program'']]

Tüm FIPS onaylı güvenlik fonksiyonlarının uygulamaları, Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) ve Communications Security Establishment (CSE) tarafından ortaklaşa yürütülen CMVP programı aracılığıyla doğrulanabilir. Resmi olmayan doğrulamalar için ise fazla sayıda test vektörleri üreten paket NIST’in sitesinden indirilebilir. Fakat bu indirilen dosyadaki test vektörleri ile doğrulama yapılsa bile bu doğrulamalar resmi CMVP doğrulamasının yerine geçmez. 

Aralık 2013’den itibaren, SHA-1’in 2000’den fazla doğrulanmış uygulamalarından 14 tanesi 8 in katı olmayan mesaj uzunluğuna sahip bitleri işleyebiliyordu. (bkz. [[SHS Doğrulama Listesi]])

==ÖRNEKLER VE SÖZDE KOD==

'''Örnek Özetler'''

Aşağıda onaltılık tabanda SHA-1 mesajlarının özet değerleri ve girdi olarak [[ASCII]] yi kullanarak [[Base64]] de ikili veriler olarak gösterilen örnekler verilmiştir.
SHA1("The quick brown fox jumps over the lazy dog")
gives hexadecimal: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
gives [[Base64]] binary to [[ASCII]] text encoding: L9ThxnotKPzthJ7hu3bnORuT6xI=

Mesajdaki küçük bir değişiklik bile sonuçta birçok bitin değişmesine sebep olur. Örneğin aşağıdaki cümlede dog kelimesi cog olarak değiştirildiğinde 160 bitin 81’i için farklı değerler içeren özet değeri üretilir. 

SHA1("The quick brown fox jumps over the lazy cog")
gives hexadecimal: de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3
gives [[Base64]] binary to [[ASCII]] text encoding: 3p8sf9JeGzr60+haC9F9mxANtLM=

Sıfır uzunluğundaki stringin hash değeri: SHA1("")
gives hexadecimal: da39a3ee5e6b4b0d3255bfef95601890afd80709
gives [[Base64]] binary to [[ASCII]] text encoding: 2jmj7l5rSw0yVb/vlWAYkK/YBwk=

==SHA-1 SÖZDE KODU==

SHA-1 algoritmasının [[sözde kod]]u aşağıdaki gibidir.
<span style="color: green;">''Note 1: All variables are unsigned 32-bit quantities and wrap modulo 2<sup>32</sup> when calculating, except for''</span>
<span style="color: green;">''ml, the message length, which is a 64-bit quantity, and''</span>
<span style="color: green;">''hh, the message digest, which is a 160-bit quantity.''</span>
<span style="color: green;">''Note 2: All constants in this pseudo code are in [[endianness|big endian]].''</span>
<span style="color: green;">''Within each word, the most significant byte is stored in the leftmost byte position''</span>
<span style="color: green;">''Initialize variables:''</span>
h0 = 0x67452301
h1 = 0xEFCDAB89
h2 = 0x98BADCFE
h3 = 0x10325476
h4 = 0xC3D2E1F0
ml = message length in bits (always a multiple of the number of bits in a character).
<span style="color: green;">''Pre-processing:''</span>
append the bit '1' to the message e.g. by adding 0x80 if message length is a multiple of 8 bits.
append 0 ≤ k &lt; 512 bits '0', such that the resulting message length in ''bits''
is [[modular arithmetic|congruent]] to −64 ≡ 448 (mod 512)
append ml, the original message length, as a 64-bit [[Endianness|big-endian]] integer. Thus, the total length is a multiple of 512 bits.
<span style="color: green;">''Process the message in successive 512-bit chunks:''</span>
break message into 512-bit chunks
'''for''' each chunk
break chunk into sixteen 32-bit big-endian words w[i], 0 ≤ i ≤ 15
<span style="color: green;">''Extend the sixteen 32-bit words into eighty 32-bit words:''</span>
'''for''' i '''from''' 16 to 79
w[i] = (w[i-3] '''xor''' w[i-8] '''xor''' w[i-14] '''xor''' w[i-16]) '''[[Circular shift|leftrotate]]''' 1
<span style="color: green;">''Initialize hash value for this chunk:''</span>
a = h0
b = h1
c = h2
d = h3
e = h4
<span style="color: green;">''Main loop:''</span><ref name=":0" /><ref>{{cite web|url=http://www.faqs.org/rfcs/rfc3174.html|title=RFC 3174 - US Secure Hash Algorithm 1 (SHA1)|publisher=}}</ref>
'''for''' i '''from''' 0 '''to''' 79
'''if''' 0 ≤ i ≤ 19 '''then'''
f = (b '''and''' c) '''or''' (('''not''' b) '''and''' d)
k = 0x5A827999
'''else if''' 20 ≤ i ≤ 39
f = b '''xor''' c '''xor''' d
k = 0x6ED9EBA1
'''else if''' 40 ≤ i ≤ 59
f = (b '''and''' c) '''or''' (b '''and''' d) '''or''' (c '''and''' d)
k = 0x8F1BBCDC
'''else if''' 60 ≤ i ≤ 79
f = b '''xor''' c '''xor''' d
k = 0xCA62C1D6
temp = (a '''leftrotate''' 5) + f + e + k + w[i]
e = d
d = c
c = b '''leftrotate''' 30
b = a
a = temp
<span style="color: green;">''Add this chunk's hash to result so far:''</span>
h0 = h0 + a
h1 = h1 + b
h2 = h2 + c
h3 = h3 + d
h4 = h4 + e
<span style="color:green;">''Produce the final hash value (big-endian) as a 160-bit number:''</span>
hh = (h0 '''leftshift''' 128) '''or''' (h1 '''leftshift''' 96) '''or''' (h2 '''leftshift''' 64) '''or''' (h3 '''leftshift''' 32) '''or''' h4

hh numarası onaltılık tabanda yazılabilen mesaj özetidir. Genelde ASCII metin kodlaması için Base64 ikilik taban kullanılarak yazılır.

Kullanılan sabit olan değerler şu şekilde seçilir: Dört roundda kullanılan k değeri 230 kere 2,3,5 ve 10’un kareköklerinin alınmasıyla oluşturulur. H0’dan h3 değerlerine kadar ilk dört başlatma değerlerinin MD5 algoritması ile aynıdır ve beşinci değer (h4) bunlara benzerdir.

Orijinal FIPS PUB 180-1 formülü yerine, yukarıda bulunan ana döngüdeki f fonksiyonunu hesaplamak için aşağıdaki ifadeler kullanılabilir.

<span style="color: green;">''Bitwise choice between ''c'' and ''d'', controlled by ''b''.''</span>
(0 ≤ i ≤ 19): f = d '''xor''' (b '''and''' (c '''xor''' d)) <span style="color: green;">''(alternative 1)''</span>
(0 ≤ i ≤ 19): f = (b '''and''' c) '''xor''' (('''not''' b) '''and''' d) <span style="color: green;">''(alternative 2)''</span>
(0 ≤ i ≤ 19): f = (b '''and''' c) + (('''not''' b) '''and''' d) <span style="color: green;">''(alternative 3)''</span>
(0 ≤ i ≤ 19): f = vec_sel(d, c, b) <span style="color: green;">''(alternative 4)''</span>
&nbsp;
<span style="color: green;">''Bitwise majority function.''</span>
(40 ≤ i ≤ 59): f = (b '''and''' c) '''or''' (d '''and''' (b '''or''' c)) <span style="color: green;">''(alternative 1)''</span>
(40 ≤ i ≤ 59): f = (b '''and''' c) '''or''' (d '''and''' (b '''xor''' c)) <span style="color: green;">''(alternative 2)''</span>
(40 ≤ i ≤ 59): f = (b '''and''' c) + (d '''and''' (b '''xor''' c)) <span style="color: green;">''(alternative 3)''</span>
(40 ≤ i ≤ 59): f = (b '''and''' c) '''xor''' (b '''and''' d) '''xor''' (c '''and''' d) <span style="color: green;">''(alternative 4)''</span>
(40 ≤ i ≤ 59): f = vec_sel(c, b, c '''xor''' d) <span style="color: green;">''(alternative 5)''</span>


w[i] = (w[i-3] '''xor''' w[i-8] '''xor''' w[i-14] '''xor''' w[i-16]) '''[[Circular shift|leftrotate]]''' 1

yukarıdaki gösterim yerine aşağıdaki gösterimde kullanılabilir:

w[i] = (w[i-6] '''xor''' w[i-16] '''xor''' w[i-28] '''xor''' w[i-32]) '''[[Circular shift|leftrotate]]''' 2

Bu dönüşüm tüm operandları 64-bit hizalamaya uygun hale getirirmeyi sağlar. Ayrıca bu dönüşüm w[i] ve w[i-3] üzerindeki bağımlılğı da kaldırır. Böylece daha etkili bir x86 SSE komutları gibi 4 vektör uzunluğunda SIMD uygulaması gerçekleşebilir.

==SHA Fonksiyonlarının Karşılaştırılması==

Aşağıdaki tabloda iç durum, veri bloklarının her sıkıştırılmasından sonraki ‘ iç özet toplamı’ anlamına gelir.

Daha fazla bilgi için: [[Merkle-Damgard Yapısı]]

Performans algoritmalar arasında değişiklik gösterebileceği gibi, özel uygulamalar ve donanımlara göre de değişir. [[OpenSSL]] aracında hız komutu bulunur. Bu hız komutu kullanıcının sistemdeki çeşitli algoritmaları ölçer. 

==Ayrıca Bakınız==

* [[Hash function security summary]]

* [[Comparison of cryptographic hash functions]]

* [[cryptlib]]

* [[Crypto++]]

* [[Digital timestamping]]

* [[Hashcash]]

* [[Hash collision]]

* [[International Association for Cryptologic Research]]

* [[Libgcrypt]]

* [[md5deep]]

* [[OpenSSL]]

* [[PolarSSL]]

* [[RIPEMD-160]]

* [[Secure Hash Standard]]

* [[sha1sum]]

* [[Tiger (cryptography)]]

* [[Whirlpool (cryptography)]]

==Notlar==

1.   ''"Attacks on Hash Functions and Applications"  ''

2.   ^ [[SHA-1#cite ref-shatteredpaper 2-0|Jump up to:'''''<sup>a</sup>''''']] [[SHA-1#cite ref-shatteredpaper 2-1|'''''<sup>b</sup>''''']] '' "The first collision for full SHA-1"  . Retrieved 23 February 2017''

3.   ^ [[SHA-1#cite ref-:0 3-0|Jump up to:'''''<sup>a</sup>''''']] [[SHA-1#cite ref-:0 3-1|'''''<sup>b</sup>''''']] <nowiki>http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf</nowiki>

4.   [[SHA-1#cite ref-4|'''Jump up^''']] '' "Schneier on Security: Cryptanalysis of SHA-1"''

5.   [[SHA-1#cite ref-5|'''Jump up^''']] ''"NIST.gov - Computer Security Division - Computer Security Resource Center"''

6.  ^ [[SHA-1#cite ref-shappening 6-0|Jump up to:'''''<sup>a</sup>''''']] [[SHA-1#cite ref-shappening 6-1|'''''<sup>b</sup>''''']] [[SHA-1#cite ref-shappening 6-2|'''''<sup>c</sup>''''']] [[SHA-1#cite ref-shappening 6-3|'''''<sup>d</sup>''''']] '' "The SHAppening: freestart collisions for SHA-1". Retrieved 2015-10-09''

7.   [[SHA-1#cite ref-7|'''Jump up^''']] '' "SHA-1 Freestart Collision" ''

8.   [[SHA-1#cite ref-8|'''Jump up^''']] [[Contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx|''"Windows Enforcement of Authenticode Code Signing and Timestamping"'']]''. Retrieved 2016-08-07''

9.   [[SHA-1#cite ref-9|'''Jump up^''']] ''"Intent to Deprecate: SHA-1 certificates". Retrieved 2014-09-04''

10. [[SHA-1#cite ref-10|'''Jump up^''']] ''"Safari and WebKit ending support for SHA-1 certificates - Apple Support". Retrieved 2017-02-04''

11. [[SHA-1#cite ref-11|'''Jump up^''']] ''"Bug 942515 - stop accepting SHA-1-based SSL certificates with notBefore >= 2014-03-01 and notAfter >= 2017-01-01, or any SHA-1-based SSL certificates after 2017-01-01". Retrieved 2014-09-04''

12. [[SHA-1#cite ref-12|'''Jump up^''']] ''"CA:Problematic Practices - MozillaWiki". Retrieved 2014-09-09''

13. [[SHA-1#cite ref-13|'''Jump up^''']] ''"Phasing Out Certificates with SHA-1 based Signature Algorithms | Mozilla Security Blog". Retrieved 2014-09-24''

14. [[SHA-1#cite ref-14|'''Jump up^''']] ''"CWI, Google announce first collision for Industry Security Standard SHA-1". Retrieved 2017-02-23''

15. [[SHA-1#cite ref-googleblog 15-0|'''Jump up^''']] ''"Announcing the first SHA1 collision" ''

16. [[SHA-1#cite ref-16|'''Jump up^''']] ''"SHAttered". Retrieved 2017-02-23''

17. [[SHA-1#cite ref-17|'''Jump up^''']] RSA FAQ on Capstone

18. [[SHA-1#cite ref-18|'''Jump up^''']] '' Proceedings of International Conference on Advances in Computing''

19. [[SHA-1#cite ref-19|'''Jump up^''']] 

20. [[SHA-1#cite ref-20|'''Jump up^''']] '' "Thank you, Datel". Retrieved 2014-10-05 ''

21. [[SHA-1#cite ref-21|'''Jump up^''']] National Institute on Standards and Technology Computer Security Resource Center, NIST's March 2006 Policy on Hash Functions, accessed September 28, 2012.

22. [[SHA-1#cite ref-22|'''Jump up^''']] National Institute on Standards and Technology Computer Security Resource Center, NIST's Policy on Hash Functions, accessed September 28, 2012.

23. [[SHA-1#cite ref-23|'''Jump up^''']] ''"Tech Talk: Linus Torvalds on git". Retrieved November 13, 2013''

24. [[SHA-1#cite ref-24|'''Jump up^''']] '' "Re: Starting to think about sha-256?" . Retrieved 30 May 2016''

25. [[SHA-1#cite ref-25|'''Jump up^''']] '' "MD5 considered harmful today: Creating a rogue CA certificate". Retrieved March 29, 2009''

26. [[SHA-1#cite ref-26|'''Jump up^''']] ''"Strengths of Keccak - Design and security" . Retrieved 20 September 2015 ''

27. [[SHA-1#cite ref-27|'''Jump up^''']] Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno, Cryptography Engineering, John Wiley & Sons, 2010. ISBN 978-0-470-47424-2

28. [[SHA-1#cite ref-28|'''Jump up^''']] ''"Cryptology ePrint Archive: Report 2005/010"''

29. ^ [[SHA-1#cite ref-autogenerated1 29-0|Jump up to:'''''<sup>a</sup>''''']] [[SHA-1#cite ref-autogenerated1 29-1|'''''<sup>b</sup>''''']] ''"SHA-1 Broken - Schneier on Security"''

30. [[SHA-1#cite ref-30|'''Jump up^''']] MIT.edu, [[Massachusetts Institute of Technology]]

31. [[SHA-1#cite ref-31|'''Jump up^''']] '' "Fixing a hole in security" ''

32. [[SHA-1#cite ref-32|'''Jump up^''']] ''"New Cryptanalytic Results Against SHA-1 - Schneier on Security"''

33. [[SHA-1#cite ref-33|'''Jump up^''']] Notes on the Wang et al. 2<sup>63</sup> SHA-1 Differential Path

34. [[SHA-1#cite ref-34|'''Jump up^''']] '' "Finding SHA-1 Characteristics: General Results and Applications"''

35. [[SHA-1#cite ref-35|'''Jump up^''']] ''"IAIK Krypto Group — Description of SHA-1 Collision Search Project". Retrieved 2009-06-30''

36. [[SHA-1#cite ref-36|'''Jump up^''']] ''"Collisions for 72-step and 73-step SHA-1: Improvements in the Method of Characteristics". Retrieved 2010-07-24''

37. [[SHA-1#cite ref-37|'''Jump up^''']] ''"SHA-1 Collision Search Graz". Retrieved 2009-06-30''

38. [[SHA-1#cite ref-38|'''Jump up^''']] ''"heise online - IT-News, Nachrichten und Hintergründe" ''

39. [[SHA-1#cite ref-39|'''Jump up^''']] ''"Crypto 2006 Rump Schedule"''

40. [[SHA-1#cite ref-40|'''Jump up^''']] '' "Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1" . Retrieved 2011-05-19''

41. [[SHA-1#cite ref-41|'''Jump up^''']] '' "Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1". Retrieved 2012-10-04'' the most efficient disturbance vector is Codeword2 first reported by Jutla and Patthak

42. [[SHA-1#cite ref-42|'''Jump up^''']] SHA-1 collisions now 2^52

43. [[SHA-1#cite ref-43|'''Jump up^''']] ''"Cryptology ePrint Archive: Report 2009/259"''

44. [[SHA-1#cite ref-Cryptanalysis of MD5 .26 SHA-1 44-0|'''Jump up^''']] Cryptanalysis of MD5 & SHA-1

45. [[SHA-1#cite ref-45|'''Jump up^''']] ''"When Will We See Collisions for SHA-1? - Schneier on Security"''

46. [[SHA-1#cite ref-46|'''Jump up^''']] ''"Google Project Hosting"''

47. [[SHA-1#cite ref-47|'''Jump up^''']] '' Differential Collisions in SHA-0  [[CRYPTO]] ''

48. [[SHA-1#cite ref-48|'''Jump up^''']] ''"Report from Crypto 2004"''

49. [[SHA-1#cite ref-49|'''Jump up^''']] '' [[Usenet newsgroup|Newsgroup]][[News:sci.crypt|sci.crypt]] [[Usenet|Usenet:]][[News:fgrieu-05A994.05060218082004@individual.net|fgrieu-05A994.05060218082004@individual.net]]''

50. [[SHA-1#cite ref-50|'''Jump up^''']] '''(Chinese)''' Sdu.edu.cn, [[Shandong University]]

51. [[SHA-1#cite ref-51|'''Jump up^''']] '' "Collisions on SHA-0 in One Hour"''

52. [[SHA-1#cite ref-52|'''Jump up^''']] National Institute of Standards and Technology

53. [[SHA-1#cite ref-53|'''Jump up^''']] ''"<nowiki>RFC 3174</nowiki> - US Secure Hash Algorithm 1 (SHA1)"''

54. [[SHA-1#cite ref-54|'''Jump up^''']] '' "Improving the Performance of the Secure Hash Algorithm (SHA-1)" , retrieved 2010-04-02''

55. [[SHA-1#cite ref-55|'''Jump up^''']] ''"Crypto++ 5.6.0 Benchmarks". Retrieved 2013-06-13''

56. [[SHA-1#cite ref-56|'''Jump up^''']] Found on an [[AMD Opteron]] 8354 2.2 GHz processor running 64-bit Linux[[SHA-1#cite note-55|<sup>[55]</sup>]]

57. [[SHA-1#cite ref-57|'''Jump up^''']] ''"The MD5 Message-Digest Algorithm". Retrieved 2016-04-18''

58. [[SHA-1#cite ref-58|'''Jump up^''']] ''"Announcing the first SHA1 collision". Retrieved 2017-02-23''

59. [[SHA-1#cite ref-59|'''Jump up^''']] ''"The Sponge Functions Corner". Retrieved 2016-01-27''

60. [[SHA-1#cite ref-60|'''Jump up^''']] ''"The Keccak sponge function family". Retrieved 2016-01-27''

==Dış Kaynaklar==

* [http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html CSRC Cryptographic Toolkit] – Official [[National Institute of Standards and Technology|NIST]] site for the Secure Hash Standard
* [http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf FIPS 180-4: Secure Hash Standard (SHS)]
* RFC 3174 (with sample C implementation)
* [http://www.zdnet.com/news/fixing-a-hole-in-security/141588 Interview with Yiqun Lisa Yin concerning the attack on SHA-1]
* [http://www.heise-online.co.uk/security/Hash-cracked--/features/75686 Explanation of the successful attacks on SHA-1] (3 pages, 2006)
* [http://www.cryptography.com/cnews/hash.html Cryptography Research – Hash Collision Q&amp;A]
* [http://www.OnlineHashcrack.com Online SHA1 hash crack using Rainbow tables]
* [http://www.hashproject.eu Hash Project Web Site: software- and hardware-based cryptanalysis of SHA-1]
* {{dmoz|Science/Math/Applications/Communication_Theory/Cryptography/Algorithms/Message_Digests}}
* {{YouTube|5q8q4PhN0cw|Lecture on SHA-1}} by [http://www.emsec.rub.de/chair/_staff/christof-paar/ Christof Paar]


{| class="wikitable"
|
{| class="wikitable"
|
{| class="wikitable"
| colspan="2" |[[Cryptographic hash function|'''Cryptographic hash functions''']]''' & [[Message authentication code|message authentication codes]]'''
|-
| colspan="2" |
|-
| colspan="2" |·         [[List of hash functions|List]]

·         [[Comparison of cryptographic hash functions|Comparison]]

·         [[Hash function security summary|Known attacks]]
|-
| colspan="2" |
|-
|'''Common functions'''
|·         [[MD5]]

·         SHA-1

·         [[SHA-2]]

·         [[SHA-3]]

·         [[BLAKE (hash function)#BLAKE2|BLAKE2]]
|-
| colspan="2" |
|-
|[[NIST hash function competition|'''SHA-3 finalists''']]
|·         [[BLAKE (hash function)|BLAKE]]

·         [[Grøstl]]

·         [[JH (hash function)|JH]]

·         [[Skein (hash function)|Skein]]

·         [[SHA-3|Keccak (winner)]]
|-
| colspan="2" |
|-
|'''Other functions'''
|·         [[Elliptic curve only hash|ECOH]]

·         [[Fast syndrome-based hash|FSB]]

·         [[GOST (hash function)|GOST]]

·         [[HAS-160]]

·         [[HAVAL]]

·         [[Kupyna]]

·         [[LAN Manager#LM hash details|LM hash]]

·         [[MD2 (cryptography)|MD2]]

·         [[MD4]]

·         [[MD6]]

·         [[MDC-2]]

·         [[N-Hash]]

·         [[RIPEMD]]

·         [[RadioGatún]]

·         [[SWIFFT]]

·         [[Snefru]]

·         [[Streebog]]

·         [[Tiger (cryptography)|Tiger]]

·         [[Very smooth hash|VSH]]

·         [[Whirlpool (cryptography)|WHIRLPOOL]]
|-
| colspan="2" |
|-
|[[Key derivation function|'''Key derivation functions''']]
|·         [[bcrypt]]

·         [[Crypt (C)|crypt]]

·         [[PBKDF2]]

·         [[scrypt]]

·         [[Argon2]]

·         [[Lyra2]]
|-
| colspan="2" |
|-
|[[Message authentication code|'''MAC functions''']]
|·         [[Data Authentication Algorithm|DAA]]

·         [[CBC-MAC]]

·         [[Hash-based message authentication code|HMAC]]

·         [[One-key MAC|OMAC]]/[[One-key MAC|CMAC]]

·         [[PMAC (cryptography)|PMAC]]

·         [[VMAC]]

·         [[UMAC]]

·         [[Poly1305]]
|-
| colspan="2" |
|-
|[[Authenticated encryption|'''Authenticated''']]

[[Authenticated encryption|'''encryption''']]''' modes'''
|·         [[CCM mode|CCM]]

·         [[CWC mode|CWC]]

·         [[EAX mode|EAX]]

·         [[Galois/Counter Mode|GCM]]

·         [[IAPM (mode)|IAPM]]

·         [[OCB mode|OCB]]
|-
| colspan="2" |
|-
|'''Attacks'''
|·         [[Collision attack]]

·         [[Preimage attack]]

·         [[Birthday attack]]

·         [[Brute-force attack]]

·         [[Rainbow table]]

·         [[Side-channel attack]]

·         [[Length extension attack]]
|-
| colspan="2" |
|-
|'''Design'''
|·         [[Avalanche effect]]

·         [[Collision (computer science)|Hash collision]]

·         [[Merkle–Damgård construction]]

·         [[Sponge function]]
|-
| colspan="2" |
|-
|'''Standardization'''
|·         [[CRYPTREC]]

·         [[NESSIE]]

·         [[NIST hash function competition|NIST hash function competition]]
|-
| colspan="2" |
|-
|'''Utilization'''
|·         [[Post-quantum cryptography#Hash-based cryptography|Hash-based cryptography]]

·         [[Key stretching]]

·         [[Merkle tree]]

·         [[Message authentication]]

·         [[Proof-of-work system|Proof of work]]

·         [[Salt (cryptography)|Salt]]
|}
|}
|-
|
|-
|
{| class="wikitable"
|[[[SHA-1|show]]]

·         [[Şablon:Cryptography navbox|v]]

·         [[Şablon tartışma:Cryptography navbox|t]]

·         e

[[Cryptography|'''Cryptography''']]
|}
|}
[[Kategori:Kriptoloji]]
[[Kategori:Kriptoloji]]

Sayfanın 15.02, 24 Nisan 2017 tarihindeki hâli

SHA-1'in açılımı Secure Hashing Algorithm 1'dir. Özetleme fonksiyonlarından olan SHA-1 herhangi bir uzunluktaki bir metinin sabit uzunluktaki özetini oluşturur. Bu özet, veri bütünlüğü ve kimlik doğrulaması ile ilgili uygulamalarda temel yapı taşı haline gelmiştir. SHA, (Secure Hash Algorithm) NSA (National Security Agency) tarafından tasarlanmıştır.

SHA-0, SHA-1 ve SHA-2 olmak üzere üç sürümü vardır. SHA-3 için yine uluslararası bir yarışma devam etmektedir ve bu yarışmanın sonunda birinci algoritmanın kullanıma sunulacağı duyuruldu.[1]

SHA-1 Collision

Çeşitli kaynaklarda ki haberlere göre SHA-1 için çakışma bulundu. 2 farklı PDF dosyasının aynı özeti vermesi üzerine SHA-1 algoritması tarihin tozlu sayfalarındaki yerini aldı.[2]

Kaynakça

  1. ^ İngilizce Vikipedi 27 Ekim 2010 Tarihinde erişildi.
  2. ^ [1][2]

Dış bağlantılar