SHA-2, ABD Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanmış kriptografik özet (hash) fonksiyonları kümesidir.Kriptografik özet fonksiyonları, hesaplanmış “özet” (çalıştırılan algoritmanın çıktısı) ile bilinen ve beklenen özet değerinin karşılaştırılmasıyla, dijital veri üzerinde yürüyen matematiksel operasyonlardır. Özet fonksiyonları ile bir kişi verinin bütünlüğüne karar verebilir. Örneğin, yüklenmiş bir dosyanın özet değerini hesaplamak ve sonucu önceden açıklanmış özet sonucu ile karşılaştırmak, yüklemenin değiştirilip değiştirilmediğini veya üzerinde oynama yapılıp yapılmadığını gösterebilir. Kriptografik Hash fonksiyonlarının kilit noktası çakışma dirençleridir: hiç kimse aynı özet çıktısı veren iki farklı girdi bulamamalıdır.
SHA-2, kendinden önce gelen SHA-1’den önemli farklılıklar içermektedir. SHA-2 ailesi basamakları (hash değerleri) 224, 256, 384 veya 512 bit olan altı hash fonksiyonundan oluşur: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256, SHA-256 ve SHA-512 sırasıyla 32-bit ve 64-bitlik kelimelerle hesaplanmış orijinal özet fonksiyonlarıdır. Farklı kaydırma miktarları ve toplama sabitleri kullanırlar ancak yapıları neredeyse aynıdır. SHA-224 ve SHA-384 ilk ikisinin farklı başlangıç değerleri ile hesaplanmış, basitçe kesilmiş versiyonlarıdır. SHA-512/224 ve SHA-512/256 da SHA-512’nin kesilmiş versiyonlarıdır ama başlangıç değerleri Federal Bilgi İşleme Standardı () PUB 180-4’te tanımlanmış metot kullanılarak üretilmiştir. SHA-2, Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) bir Birleşik Devletler federal standardı (FIPS) tarafından 2001’de yayınlanmıştır. SHA-2 algoritmalar ailesi Birleşik Devletler 6829355 patentinde patentlenmiştir. Birleşik Devletler patenti telifsiz lisans altında yayımlamıştır.
2005’te, SHA-1 çakışmalarını, önceden mümkün olduğu düşünülen adım sayısından 2000 daha az adımda bulmak için bir algoritma geliştirilmiştir. 2017’de SHA-1 çakışmasının bir örneği yayımlanmıştır. SHA-1 tarafından bırakılan güvenlik marjini planlanandan zayıftır ve bu sebeple, kullanımı artık dijital imzalar gibi çakışma direncine bağımlı uygulamalar için önerilmemektedir. SHA-2, SHA-1 algoritmasına bazı benzerlikler taşısa da, bu ataklar SHA-2’ye başarılı bir şekilde genişletilememiştir.
Şu anda en iyi açık ataklar, aşağıda Kriptanaliz ve Doğrulama bölümünde gösterildiği gibi SHA-256’nın 52 turu veya SHA-512’nin 57 turu için direncini ve SHA-256’nin 46 turu için çakışma direncini kırmaktadır.
Özet (Hash) Standartları
FIPS PUB 180-2’nin yayımlanmasıyla, NIST SHA ailesinde üç tane ek özet fonksiyonu eklemiştir. Algoritmalar toplu olarak SHA-2 diye bilinir ve basamak uzunlukları (bit cinsinden) ile isimlendirilmişlerdir: SHA-256, SHA-384 ve SHA-512.
Algoritmalar ilk olarak 2001’de FIPS PUB 180-2 taslağında, public review and comments (kamu değerlendirmesi ve yorumları) kabul edildiğinde, yayımlanmışlardır. Ağustos 2002’de FIPS PUB 180-2, Nisan 1995’te yayımlanan FIPS PUB 180-1’in yerini alarak yeni Güvenli Hash Standardı haline geldi. Güncellenmiş standart, SHA-2 ailesinin iç çalışmalarını tanımlamasıyla tutarlı güncellenmiş teknik notasyonla birlikte orijinal SHA-1 algoritmasını içerir.
Şubat 2004’te FIPS PUB 180-2 için, iki anahtarlı Üçlü DES’in anahtar uzunluğuyla eşleşmesi amacıyla SHA-224 için tanımlanmış ek bir değişkeni belirten bir değişiklik bildirimi yayımlandı. Ekim 2008’de standart, FIPS PUB 180-3’te değişiklik bildirimindeki SHA-224 dahil olmak üzere güncellendi, ama bunun dışında standartta başka temel değişim yapılmadı. Standardı güncellemekteki başlıca motivasyon özet algoritmaları hakkındaki güvenlik bilgilerini ve Special Publications 800-107 ve 800-57 için kullanım önerilerini yeniden yerleştirmekti. Detaylı test verisi ve örnek mesaj özetleri de standarttan kaldırıldı ve ayrı belge olarak temin edildi.
Ocak 2011'de NIST,SP800-131A'yı yayınladı ve 2013 yılının sonuna kadar federal hükûmetin kullanımına izin verebilen 80 bit'lik (SHA-1 tarafından sağlanan) asgari güvenliğin 112 bitlik güvenlikle (SHA-2 tarafından sağlanan) değiştiğini belirtti. Yayın tarihinden itibaren minimum gereksinim ve önerilen güvenlik seviyesi bu şekilde değiştirildi.
Mart 2012’de standart, SHA-512/224 ve SHA-512/256 özet fonksiyonları eklenerek ve SHA-512’nin kesilmiş versiyonları için başlangıç değerleri üretmek üzere bir metot tanımlanarak FIPS PUB 180-4’te güncellendi. Buna ek olarak, gerçek-zamanlı video veya ses beslemesi gibi özet verisinin içerik üretimi ile aynı anda hesaplanmasına izin verilerek, girdi verisini hash hesaplamasından önce eklemekteki kısıtlama kaldırıldı. Son veri bloğunu eklemek hala özet değeri çıktısından önce gerçekleştirilmelidir.
Temmuz 2012’de NIST, kriptografik anahtar yönetimi için rehberlik sağlayan SP800-57’yi tekrar gözden geçirdi. Yayın, 2013’ten sonra özet güvenliği 112-bitten az olan dijital imzaların üretilmesine izin vermemektedir. 2007'den önceki revizyon, 2010'un sonuna kadar olan kesintiyi belirtti. Ağustos 2012’de NIST, SP800-107’yi aynı şekilse gözden geçirdi.
NIST özet fonksiyonu yarışması yeni hash fonksiyonu SHA-3’ü 2012 yılında seçti. SHA-3 algoritması, SHA-2’den türetilmemiştir.
Uygulamalar
Daha fazla detay için kriptografik özet fonksiyonları başlığına bakabilirsiniz.
SHA-2 özet fonksiyonu, yaygın olarak kullanılan bazı güvenlik uygulamalarında ve protokollerde kullanılmaktadır, örneğin TLS ve SSL, PGP, SSH, S/MIME, and IPsec.
SHA-256, Debian yazılım paketleri doğrulama sürecinde ve DKIM mesaj imzalama standardında yer almaktadır; SHA-256 and SHA-512'nin DNSSEC'de kullanılması önerilmektedir. Unix ve Linux üreticileri, güvenli şifre özeti için 256-512 bit SHA-2'yi kullanmayı tercih etmektedir.
Bitcoin gibi birkaç kripto para birimi işlemleri doğrulama yapmak, para iletimlerini kanıtlamak veya hisseleri hesaplamak için SHA-256 kullanır. ASIC SHA-2'nın çalışma hızındaki artış, kripto temelli ispat çalışmalarının daha fazla kullanılmasına neden oldu.
SHA-1 ve SHA-2, ABD'de bazı bölgelerde, kullanılması yasalar tarafından gerekli olan güvenli özet algoritmalarıdır. Başka şifreleme algoritmaları ve protokolleriyle birlikte devlet uygulamaları, hassas sınıflandırılmamış bilgilerin korunması için bu fonksiyonları kullanır. FIPS PUB 180-1, özel ve ticari kuruluşlar tarafından SHA-1'in benimsenmesini ve kullanılmasını teşvik etmiştir. Hükûmet, uygulamalarında SHA-1 kullanmayı bırakmaya başlamıştır. ABD Ulusal Standartlar ve Teknoloji Enstitüsü "Federal ajanslar, SHA-1 kullanmayı en kısa sürede çakışma direnci gerektiren uygulamalar için bırakmalı ve 2010'dan sonra bu uygulamalarda SHA-2 ailesi özet fonksiyonları kullanmalıdır" açıklamasında bulunmuştur.
NIST'in bu açıklaması SHA-1'in bırakılma hızını arttırmıştır.
SHA-2 fonksiyonları, SHA-1'den daha iyi güvenlik olmasına rağmen kabul edilme süreci hızlı değildi. Bu durumun nedenleri, Windows XP, SP2 veya daha üst sürümü çalıştıran sistemlerin SHA-2 için desteklenmemiş olması ve henüz SHA-1 çakışmaları bulunmadığı için durumun acil olarak algılanamaması olabilir. Google Chrome ekibi, web tarayıcısının 2014'ün sonlarından 2015'in başlarına kadar bir süre boyunca SHA-1'e bağımlı TLS sertifikalarını kademeli olarak reddetmek için bir plan yaptıklarını açıkladı. Benzer şekilde Microsoft, Internet Explorer ve Edge'in kamuya açık SHA-1 imzalı TLS sertifikaları Şubat 2017'den itibaren onaylamayacağını açıkladı.
Kriptanaliz ve Doğrulama
Mesaj özetindeki bitlerin sayısının L olduğu bir özet fonksiyonu için belirli bir mesaj özetine karşılık gelen başka bir mesaj bulmak daima kaba kuvvet saldırısı (brute force attack) kullanılarak 2L hesaplamada yapılabilir. Buna saldırıya denir. Saldırı L'ye ve hesaplamaların yapıldığı ortama bağlı olarak pratik olabilir ya da olmayabilir. İkinci kriterse aynı mesaj özetini üreten (çakışma olarak bilinen) iki farklı mesaj bulmamasıdır, doğum günü saldırısı (birthday attack) için ortalama sadece 2L/2 hesaplama gerektirir.
Şifre saklama işlemleri gibi kriptografik özetleri kullanan uygulamalar çakışma () saldırısından en az etkilenirler. Belirli bir hesap için şifrenin oluşturulması, yanı sıra orijinal mesajın özet değerine( dosyasında saklanmaktadır) erişimi gerektirir. Şifrelenmiş bir mesajın açılması bu saldırılarla mümkün değildir. Bununla birlikte en güvenli özet fonksiyonu bile zayıf parolalara karşı olan kaba kuvvet saldırılarını engellemez.
Belge imzalama durumlarında, bir saldırgan mevcut bir belge için basitçe sahte imza oluşturamaz; saldırganın zararsız ve zararlı olmak üzere iki adet belge üretmesi ve gizli anahtar sahibinin zararsız belgeyi imzalamasını istemesi gereklidir. Bunun mümkün olduğu bazı pratik koşullar vardır; 2008 yılının sonuna kadar, MD5 çakışmasıyla, yaygın olarak kullanılan web tarayıcıları tarafından kabul edilebilecek sahte SSL sertifikaları oluşturmak mümkündü.
SHA-3 yarışması sırasında kriptografik özet analizine olan ilginin artması, SHA-2 ailesinde birkaç yeni saldırı ortaya çıkardı; bunların en iyileri aşağıdaki tabloda verilmiştir. Sadece çakışma saldırılarının karmaşıkları pratiktir; Saldırıların hiçbiri özet fonksiyonlarının tüm turları için geçerli değildir.
2012'de, Sony araştırmacıları sözde-çakışma saldırılarına karşı, SHA-256'nın 52 tura ve SHA-512'nin 57 tura uzatılmasını önerdi
Yayın yeri | Yıl | Saldırı Yöntemi | Saldırı | Versiyon | Tur | Karmaşıklık |
---|---|---|---|---|---|---|
New Collision Attacks Against Up To 24-step SHA-2 | 2008 | Deterministic | Çakışma | SHA-256 | 24/64 | 228.5 |
SHA-512 | 24/80 | 232.5 | ||||
Preimages for step-reduced SHA-2 | 2009 | Preimage | SHA-256 | 42/64 | 2251.7 | |
43/64 | 2254.9 | |||||
SHA-512 | 42/80 | 2502.3 | ||||
46/80 | 2511.5 | |||||
Advanced meet-in-the-middle preimage attacks | 2010 | Meet-in-the-middle | Preimage | SHA-256 | 42/64 | 2248.4 |
SHA-512 | 42/80 | 2494.6 | ||||
Higher-Order Differential Attack on Reduced SHA-256 | 2011 | Sözde-Çakışma | SHA-256 | 46/64 | 2178 | |
33/64 | 246 | |||||
Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 family | 2011 | Preimage | SHA-256 | 45/64 | 2255.5 | |
SHA-512 | 50/80 | 2511.5 | ||||
Sözde-Çakışma | SHA-256 | 52/64 | 2255 | |||
SHA-512 | 57/80 | 2511 | ||||
Improving Local Collisions: New Attacks on Reduced SHA-256 | 2013 | Differential | Çakışma | SHA-256 | 31/64 | 265.5 |
Sözde-Çakışma | SHA-256 | 38/64 | 237 | |||
Branching Heuristics in Differential Collision Search with Applications to SHA-512 | 2014 | Heuristic differential | Sözde-Çakışma | SHA-512 | 38/80 | 240.5 |
Analysis of SHA-512/224 and SHA-512/256 | 2016 | Differential | Çakışma | SHA-256 | 28/64 | practical |
SHA-512 | 27/80 | practical | ||||
Sözde-Çakışma | SHA-512 | 39/80 | practical |
Resmi Doğrulama
Ana makale:
FIPS onaylı güvenlik işlevlerinin uygulamaları, Ulusal Standartlar Teknoloji Enstitüsü (NIST) ve Communications Security Establishment (CSE) ile ortaklaşa yürütülen CMVP programı aracılığıyla resmen doğrulanabilir. Gayri resmi doğrulama için NIST sitesinde, çok sayıda test vektörü üretmek içeren paketler, NIST'in sitesinde indirilebilir ancak bazı uygulamalar için sonuçta ortaya çıkan doğrulama, kanun tarafından gerekli görülen resmi CMVP doğrulamasının yerine geçmez.
Aralık 2013'ten itibaren, SHA-256'nın 1300'den ve SHA-512 'nin 900den fazla fazla geçerliliği varken yalnızca 5 tanesi mesajları her iki değişkene de destek verirken sekizin katı olmayan bit sayılarıyla çalışabilmektedir. (bkz. SHS Validation List 17 Haziran 2017 tarihinde Wayback Machine sitesinde .)
Test Değerleri
Boş stringlerin özet değerleri: (0 uzunluğundaki giriş metinlerinin).
SHA224("") 0x d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f SHA256("") 0x e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 SHA384("") 0x 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b SHA512("") 0x cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e SHA512/224("") 0x 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 SHA512/256("") 0x c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a
Mesajdaki ufak bir değişiklik bile (çok büyük olasılıkla), avalanche effect(çığ etkisi) nedeniyle çok farklı bir özet oluşmasına sebep olacaktır. Örneğin, bu cümlenin sonuna bir nokta eklemek özet değerindeki bitlerinin neredeyse yarısını (224'ün 111'ü) değiştirir:
SHA224("") 0x 730e109bd7a8a32b1cb9d9a09aa2325d2430587ddbc0c38bad911525 SHA224(".") 0x 619cba8e8e05826e9b8c519c0a5c68f4fb653e8a3d8aa04bb2c8cd4c
Sözde Kodu
SHA-256 algoritması için sözde kod aşağıdaki gibidir. W [16..63] kelimelerinin bitleri arasındaki karıştırma işlemleri SHA-1'e kıyasla büyük oranda artmıştır.
Note 1: All variables are 32 bit unsigned integers and addition is calculated modulo 232 Note 2: For each round, there is one round constant k[i] and one entry in the message schedule array w[i], 0 ≤ i ≤ 63 Note 3: The compression function uses 8 working variables, a through h Note 4: Big-endian convention is used when expressing the constants in this pseudocode, and when parsing message block data from bytes to words, for example, the first word of the input message "abc" after padding is 0x61626380 Initialize hash values: (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19): h0 := 0x6a09e667 h1 := 0xbb67ae85 h2 := 0x3c6ef372 h3 := 0xa54ff53a h4 := 0x510e527f h5 := 0x9b05688c h6 := 0x1f83d9ab h7 := 0x5be0cd19 Initialize array of round constants: (first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311): k[0..63] := 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 Pre-processing: begin with the original message of length L bits append a single '1' bit append K '0' bits, where K is the minimum number >= 0 such that L + 1 + K + 64 is a multiple of 512 append L as a 64-bit big-endian integer, making the total post-processed length a multiple of 512 bits Process the message in successive 512-bit chunks: break message into 512-bit chunks for each chunk create a 64-entry message schedule array w[0..63] of 32-bit words (The initial values in w[0..63] don't matter, so many implementations zero them here) copy chunk into first 16 words w[0..15] of the message schedule array Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array: for i from 16 to 63 s0 := (w[i-15] rightrotate 7) xor (w[i-15] rightrotate 18) xor (w[i-15] rightshift 3) s1 := (w[i-2] rightrotate 17) xor (w[i-2] rightrotate 19) xor (w[i-2] rightshift 10) w[i] := w[i-16] + s0 + w[i-7] + s1 Initialize working variables to current hash value: a := h0 b := h1 c := h2 d := h3 e := h4 f := h5 g := h6 h := h7 Compression function main loop: for i from 0 to 63 S1 := (e rightrotate 6) xor (e rightrotate 11) xor (e rightrotate 25) ch := (e and f) xor ((not e) and g) temp1 := h + S1 + ch + k[i] + w[i] S0 := (a rightrotate 2) xor (a rightrotate 13) xor (a rightrotate 22) maj := (a and b) xor (a and c) xor (b and c) temp2 := S0 + maj h := g g := f f := e e := d + temp1 d := c c := b b := a := temp1 + temp2 Add the compressed chunk to the current hash value: h0 := h0 + a h1 := h1 + b h2 := h2 + c h3 := h3 + d h4 := h4 + e h5 := h5 + f h6 := h6 + g h7 := h7 + h Produce the final hash value (big-endian): digest := hash := h0 append h1 append h2 append h3 append h4 append h5 append h6 append h7
ch
ve maj
değerlerinin hesaplanması SHA-1 için anlatıldığı şekilde optimize edilebilir.
SHA-224 ile SHA-256 aşağıdaki maddeler haricinde aynıdır:
- İlk özet değeri
h0
,h7
'den farlıdır - Çıktı
h7
atlanarak oluşturulmuştur.
SHA-224 initial hash values (in big endian): (The second 32 bits of the fractional parts of the square roots of the 9th through 16th primes 23..53) h[0..7] := 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4
SHA-512 ile SHA-256 aşağıdaki maddeler haricinde yapı olarak aynıdır:
- Mesaj 1024-bitlik parçalara bölünmüştür,
- Başlangıç değerleri ve tur sabitleri 64 bite uzatılır,
- 64 yerine 80 tur vardır,
- Mesaj planlama dizisi w, 64 32-bit kelime yerine 80 64-bit kelime içerir,
- Mesaj planlama dizisi w'yi genişletmek için, döngü 16 ile 63 aralığında değil 16 ile 79 aralığında çalışır,
- Tur sabitleri ilk 80 asal sayıdır 2..409,
- Hesaplamalar için kullanılan kelime boyutu 64 bit uzunluğundadır,
- Mesajın uzatılmış uzunluğu (ön işleme tabi tutulmadan önce), 128 bitlik bir big-endian tam sayıdır,
- Kullanılan kaydırma ve tur sayıları farklıdır.
SHA-512 initial hash values (in big-endian): h[0..7] := 0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1, 0x510e527fade682d1, 0x9b05688c2b3e6c1f, 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179 SHA-512 round constants: k[0..79] := [ 0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc, 0x3956c25bf348b538, 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118, 0xd807aa98a3030242, 0x12835b0145706fbe, 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2, 0x72be5d74f27b896f, 0x80deb1fe3b1696b1, 0x9bdc06a725c71235, 0xc19bf174cf692694, 0xe49b69c19ef14ad2, 0xefbe4786384f25e3, 0x0fc19dc68b8cd5b5, 0x240ca1cc77ac9c65, 0x2de92c6f592b0275, 0x4a7484aa6ea6e483, 0x5cb0a9dcbd41fbd4, 0x76f988da831153b5, 0x983e5152ee66dfab, 0xa831c66d2db43210, 0xb00327c898fb213f, 0xbf597fc7beef0ee4, 0xc6e00bf33da88fc2, 0xd5a79147930aa725, 0x06ca6351e003826f, 0x142929670a0e6e70, 0x27b70a8546d22ffc, 0x2e1b21385c26c926, 0x4d2c6dfc5ac42aed, 0x53380d139d95b3df, 0x650a73548baf63de, 0x766a0abb3c77b2a8, 0x81c2c92e47edaee6, 0x92722c851482353b, 0xa2bfe8a14cf10364, 0xa81a664bbc423001, 0xc24b8b70d0f89791, 0xc76c51a30654be30, 0xd192e819d6ef5218, 0xd69906245565a910, 0xf40e35855771202a, 0x106aa07032bbd1b8, 0x19a4c116b8d2d0c8, 0x1e376c085141ab53, 0x2748774cdf8eeb99, 0x34b0bcb5e19b48a8, 0x391c0cb3c5c95a63, 0x4ed8aa4ae3418acb, 0x5b9cca4f7763e373, 0x682e6ff3d6b2b8a3, 0x748f82ee5defb2fc, 0x78a5636f43172f60, 0x84c87814a1f0ab72, 0x8cc702081a6439ec, 0x90befffa23631e28, 0xa4506cebde82bde9, 0xbef9a3f7b2c67915, 0xc67178f2e372532b, 0xca273eceea26619c, 0xd186b8c721c0c207, 0xeada7dd6cde0eb1e, 0xf57d4f7fee6ed178, 0x06f067aa72176fba, 0x0a637dc5a2c898a6, 0x113f9804bef90dae, 0x1b710b35131c471b, 0x28db77f523047d84, 0x32caab7b40c72493, 0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c, 0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817] SHA-512 Sum & Sigma: S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39) S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41) s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7) s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)
SHA-384 ile SHA-521 aşağıdaki maddeler haricinde aynıdır:
- İlk özet değeri
h0
,h7
'den farlıdır - Çıktı h6 ve h7 atlanarak oluşturulmuştur.
SHA-384 initial hash values (in big-endian): h[0..7] := 0xcbbb9d5dc1059ed8, 0x629a292a367cd507, 0x9159015a3070dd17, 0x152fecd8f70e5939, 0x67332667ffc00b31, 0x8eb44a8768581511, 0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4
SHA-512/t ile SHA-512 aşağıdaki maddeler haricinde aynıdır:
- İlk özet değeri
h0
danh7
'ye SHA-512/t ilk değer oluşturma fonksiyonu tarafından üretilir. - Çıktı
h0
ileh7
arasındaki t bitlik kesişimden oluşur, - t 384'e eşit değildir, bunun yerine SHA-384 belirtildiği şekilde kullanılmalıdır.
- t değerlerinin 224 ve 256 onaylandığı özellikle belirtilmektedir.
SHA-512/t ilk değer üretme fonksiyonu değiştirilmiş SHA-512'yi ASCII dizesi "SHA-512 / t" üzerinden hesaplar, t ondalık gösteriminin yerini alır. Değiştirilmiş SHA-512 ile SHA-512 h0
h7
başlangıç değerleri, 0xa5a5a5a5a5a5a5a5
hexadecimal değeriyle XOR 'lanması dışında aynıdır.
SHA-2 ailesi karma işlevleri için örnek C uygulaması RFC 6234.'de bulunabilir
SHA Fonksiyonlarının Karşılaştırılması
Aşağıdaki tabloda, iç durum ; her bir veri bloğunun sıkıştırma işlemi sonundaki "iç özet değeri toplamı" dır.
Daha fazla bilgi için:
Algoritma ve çeşitleri | Çıktı boyutu (bitler) | İç durum boyutu (bitler) | Blok boyutu (bitler) | Maksimum mesaj boyutu (bitler) | Turlar | İşlemler | Güvenlik bitleri (Bilgi) | Örnek performans (/s) | İlk kez yayınlanışı | |
---|---|---|---|---|---|---|---|---|---|---|
MD5 (referans olarak) | 128 | 128 (4 × 32) | 512 | Limitsiz | 64 | And, Xor, Rot, Add (mod 232), Or | <64 (çakışma bulundu) | 335 | 1992 | |
160 | 160 (5 × 32) | 512 | 264 − 1 | 80 | And, Xor, Rot, Add (mod 232), Or | <80 (çakışma bulundu) | - | 1993 | ||
SHA-1 | 160 | 160 (5 × 32) | 512 | 264 − 1 | 80 | <63 (çakışma bulundu) | 192 | 1995 | ||
SHA-2 | SHA-224 SHA-256 | 224 256 | 256 (8 × 32) | 512 | 264 − 1 | 64 | And, Xor, Rot, Add (mod 232), Or, Shr | 112 | 139 | 2001 |
SHA-384 SHA-512 SHA-512/224 SHA-512/256 | 384 512 224 256 | 512 (8 × 64) | 1024 | 2128 − 1 | 80 | And, Xor, Rot, Add (mod 264), Or, Shr | 192 256 112 128 | 154 | 2001 | |
SHA3-224 SHA3-256 SHA3-384 SHA3-512 | 224 256 384 512 | 1600 (5 × 5 × 64) | 1152 1088 832 576 | Limitsiz | 24 | And, Xor, Rot, Not | 112 128 192 256 | - | 2015 | |
SHAKE128 SHAKE256 | d (isteğe bağlı) d (isteğe bağlı) | 1344 1088 | min(d/2, 128) min(d/2, 256) | - | 2015 |
İşlemler sütununda, "Rot" , "Shr" ise işlemlerini ifade eder.SHA-3 dışındaki algoritmaların hepsi, modüler toplama kullanır.
Yukarıdaki performans numaraları, 64-bit modunda Linux altında 2.2 GHz hızında çalışan ve yalnızca genel karşılaştırma için kaba bir nokta olarak sunulan bir AMD Opteron 8354 üzerinde tek parçacıklı bir uygulama içindir. Modern işlemci mimarileri üzerinde daha ayrıntılı performans ölçümleri aşağıdaki tabloda verilmiştir.
İşlemci Mimarisi | Frekans | Algoritma | Kelime Uzunluğu (bit) | Döngü/byte | MiB/s x86 | Döngü/byte | MiB/s x86-64 |
---|---|---|---|---|---|---|---|
Intel Ivy Bridge | 3.5 GHz | SHA-256 | 32-bit | 16.80 | 199 | 13.05 | 256 |
SHA-512 | 64-bit | 43.66 | 76 | 8.48 | 394 | ||
3.8 GHz | SHA-256 | 32-bit | 22.87 | 158 | 18.47 | 196 | |
SHA-512 | 64-bit | 88.36 | 41 | 12.43 | 292 |
SHA-256, 32-bit hesaplamalar için tasarlandığı için x86 mimarisinde 64-bit işlemciler için optimize edilmiş koddan yararlanır.SHA-512'nin 32-bitlik uygulamaları 64-bitlik uygulamalarından önemli ölçüde yavaştır. Her iki algoritmanın farklı çıktı boyutlarına sahip varyantları, mesaj genişletme ve sıkıştırma fonksiyonları aynı olduğu ve yalnızca başlangıç özet değerlerinden dolayı çıktı boyutları farklı olduğu için benzer şekilde performans gösterecektir.MD5 ve SHA-1'in en iyi uygulamaları, modern işlemcilerde bayt başına 4,5 ila 6 devir arasında performans gösterir.
Testler tarafından 3.5 GHz saat hızında bir Intel Xeon E3-1275 V2 çalıştıran hidra8 ve 3.8 GHz hızında bir AMD A10-5800K çalışan hydra9 sistemlerinde gerçekleştirildi. Yukarıdaki Döngü/bayt hızları, yazılımını kullanarak 4,096 baytlık bir mesajı işleyen bir algoritmanın performansıdır. MiB / s performansı tek bir çekirdekteki CPU saat hızından çıkarılır; Gerçek dünyadaki performansı, çeşitli faktörlere bağlı olarak değişecektir.
Ayrıca bakınız
Kaynakça
- ^ "On the Secure Hash Algorithm family" 14 Ekim 2014 tarihinde Wayback Machine sitesinde . (PDF).
- ^ "Cryptographic Hash Function" 10 Temmuz 2017 tarihinde Wayback Machine sitesinde .. About.com
- ^ US 6829355
- ^ ""Licensing Declaration for US patent 6829355."". 16 Haziran 2016 tarihinde kaynağından . Erişim tarihi: 29 Nisan 2017.
- ^ "Schneier on Security: Cryptanalysis of SHA-1" 14 Nisan 2017 tarihinde Wayback Machine sitesinde .. Schneier.com.
- ^ Cryptology Group at Centrum Wiskunde & Informatica (CWI) and the Google Research Security, Privacy and Anti-abuse Group. "Shattered: We have broken SHA-1 in practice" 12 Nisan 2017 tarihinde Wayback Machine sitesinde .. SHAttered.
- ^ Dmitry Khovratovich, Christian Rechberger & Alexandra Savelieva (2011). "Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 family" 22 Temmuz 2016 tarihinde Wayback Machine sitesinde . (PDF). IACR Cryptology ePrint Archive. 2011:286.
- ^ Mario Lamberger & Florian Mendel (2011). "Higher-Order Differential Attack on Reduced SHA-256" 29 Mart 2017 tarihinde Wayback Machine sitesinde . (PDF). IACR Cryptology ePrint Archive. 2011:37.
- ^ Federal Register Notice 02-21599, Announcing Approval of FIPS Publication 180-2 14 Mart 2022 tarihinde Wayback Machine sitesinde .
- ^ "FIPS 180-2 with Change Notice 1" 12 Mart 2012 tarihinde Wayback Machine sitesinde . (PDF). csrc.nist.gov
- ^ Federal Register Notice E8-24743, Announcing Approval of FIPS Publication 180-3
- ^ a b FIPS SP 800-107 Recommendation for Applications Using Approved Hash Algorithms 19 Mart 2013 tarihinde Wayback Machine sitesinde .
- ^ a b FIPS SP 800-57 Recommendation for Key Management: Part 1: General 26 Haziran 2013 tarihinde Wayback Machine sitesinde .
- ^ . 27 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Nisan 2017.
- ^ FIPS SP 800-131A Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths 4 Eylül 2011 tarihinde Wayback Machine sitesinde .
- ^ Federal Register Notice 2012-5400, Announcing Approval of FIPS Publication 180-4
- ^ "NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition" 30 Nisan 2017 tarihinde Wayback Machine sitesinde .
- ^ . Google.
- ^ RFC 5702,RFC-Editor.org 21 Nisan 2017 tarihinde Wayback Machine sitesinde .
- ^ Ulrich Drepper, Unix crypt with SHA-256/512 18 Haziran 2010 tarihinde Wayback Machine sitesinde .
- ^ National Institute on Standards and Technology Computer Security Resource Center, NIST's Policy on Hash Functions 9 Haziran 2011 tarihinde Wayback Machine sitesinde .,
- ^ "Secure Hashing" 29 Nisan 2017 tarihinde Wayback Machine sitesinde .. NIST.
- ^ Microsoft Corporation,Overview of Windows XP Service Pack 3 17 Ocak 2009 tarihinde Wayback Machine sitesinde .
- ^ Chromium Blog, September 5, 2014, Gradually sunsetting SHA-1 13 Haziran 2015 tarihinde Wayback Machine sitesinde .
- ^ Eric Mill. "SHAAAAAAAAAAAAA" 1 Mart 2017 tarihinde Wayback Machine sitesinde .. SHAAAAAAAAAAAAA.com.
- ^ Filippo Valsorda, The Unofficial Chrome SHA1 Deprecation FAQ 30 Haziran 2017 tarihinde Wayback Machine sitesinde .
- ^ "An update to our SHA-1 deprecation roadmap - Microsoft Edge Dev BlogMicrosoft Edge Dev Blog 27 Haziran 2017 tarihinde Wayback Machine sitesinde .". blogs.windows.com.
- ^ Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, MD5 considered harmful today: Creating a rogue CA certificate 25 Mart 2017 tarihinde Wayback Machine sitesinde ., accessed March 29, 2009.
- ^ Ji Li, Takanori Isobe and Kyoji Shibutani, Sony China Research Laboratory and Sony Corporation, Converting Meet-in-the-Middle Preimage Attack into Pseudo Collision Attack: Application to SHA-2 4 Haziran 2016 tarihinde Wayback Machine sitesinde .
- ^ Somitra Kumar Sanadhya; Palash Sarkar (2008). "New Collision Attacks Against Up To 24-step SHA-2" (PDF). IACR Cryptology ePrint Archive. Cilt 2008:270. 22 Temmuz 2016 tarihinde kaynağından (PDF). Erişim tarihi: 30 Nisan 2017.
- ^ Kazumaro Aoki; Jian Guo; Krystian Matusiewicz; Yu Sasaki; Lei Wang (2009). "Preimages for step-reduced SHA-2". Advances in Cryptology - 2009. Lecture Notes in Computer Science. Cilt 5912. Springer Berlin Heidelberg. ss. 578-597. doi:10.1007/978-3-642-10366-7_34. ISBN . ISSN 0302-9743. 29 Haziran 2016 tarihinde kaynağından . Erişim tarihi: 30 Nisan 2017.
- ^ Jian Guo; San Ling; Christian Rechberger; Huaxiong Wang (2010). "Advanced meet-in-the-middle preimage attacks: First results on full Tiger, and improved results on MD4 and SHA-2" (PDF). Advances in Cryptology - 2010. Lecture Notes in Computer Science. Cilt 6477. Springer Berlin Heidelberg. ss. 56-75. doi:10.1007/978-3-642-17373-8_4. ISBN . ISSN 0302-9743. 5 Mayıs 2012 tarihinde kaynağından (PDF). Erişim tarihi: 30 Nisan 2017.
- ^ Mario Lamberger; Florian Mendel (2011). (PDF). IACR Cryptology ePrint Archive. Cilt 2011:37. 29 Mart 2017 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 29 Nisan 2017.
- ^ Dmitry Khovratovich, Christian Rechberger; Alexandra Savelieva (2011). (PDF). IACR Cryptology ePrint Archive. Cilt 2011:286. 22 Temmuz 2016 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 29 Nisan 2017.
- ^ Florian Mendel; Tomislav Nad; Martin Schläffer (2013). . Advances in Cryptology – 2013. Lecture Notes in Computer Science. Cilt 7881. Springer Berlin Heidelberg. ss. 262-278. doi:10.1007/978-3-642-38348-9_16. ISBN . ISSN 0302-9743. 6 Kasım 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Nisan 2017.
- ^ Maria Eichlseder and Florian Mendel and Martin Schläffer (2014). "Branching Heuristics in Differential Collision Search with Applications to SHA-512" (PDF). IACR Cryptology ePrint Archive. Cilt 2014:302. 29 Haziran 2016 tarihinde kaynağından (PDF). Erişim tarihi: 30 Nisan 2017.
- ^ Christoph Dobraunig; Maria Eichlseder; Florian Mendel (2016). "Analysis of SHA-512/224 and SHA-512/256" (PDF). 15 Temmuz 2017 tarihinde kaynağından (PDF). Erişim tarihi: 30 Nisan 2017.
- ^ . 14 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Haziran 2013.
- ^ Found on an 8354 2.2 GHz processor running 64-bit Linux
- ^ "The MD5 Message-Digest Algorithm". 26 Nisan 2017 tarihinde kaynağından . Erişim tarihi: 18 Nisan 2016.
- ^ . 24 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Şubat 2017.
- ^ . 23 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2016.
- ^ . 6 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2016.
- ^ SUPERCOP Benchmarks Measurements of hash functions, indexed by machine 4 Aralık 2013 tarihinde Wayback Machine sitesinde .
- ^ "SUPERCOP".
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
SHA 2 ABD Ulusal Guvenlik Ajansi NSA tarafindan tasarlanmis kriptografik ozet hash fonksiyonlari kumesidir Kriptografik ozet fonksiyonlari hesaplanmis ozet calistirilan algoritmanin ciktisi ile bilinen ve beklenen ozet degerinin karsilastirilmasiyla dijital veri uzerinde yuruyen matematiksel operasyonlardir Ozet fonksiyonlari ile bir kisi verinin butunlugune karar verebilir Ornegin yuklenmis bir dosyanin ozet degerini hesaplamak ve sonucu onceden aciklanmis ozet sonucu ile karsilastirmak yuklemenin degistirilip degistirilmedigini veya uzerinde oynama yapilip yapilmadigini gosterebilir Kriptografik Hash fonksiyonlarinin kilit noktasi cakisma direncleridir hic kimse ayni ozet ciktisi veren iki farkli girdi bulamamalidir SHA 2 kendinden once gelen SHA 1 den onemli farkliliklar icermektedir SHA 2 ailesi basamaklari hash degerleri 224 256 384 veya 512 bit olan alti hash fonksiyonundan olusur SHA 224 SHA 256 SHA 384 SHA 512 SHA 512 224 SHA 512 256 SHA 256 ve SHA 512 sirasiyla 32 bit ve 64 bitlik kelimelerle hesaplanmis orijinal ozet fonksiyonlaridir Farkli kaydirma miktarlari ve toplama sabitleri kullanirlar ancak yapilari neredeyse aynidir SHA 224 ve SHA 384 ilk ikisinin farkli baslangic degerleri ile hesaplanmis basitce kesilmis versiyonlaridir SHA 512 224 ve SHA 512 256 da SHA 512 nin kesilmis versiyonlaridir ama baslangic degerleri Federal Bilgi Isleme Standardi PUB 180 4 te tanimlanmis metot kullanilarak uretilmistir SHA 2 Ulusal Standartlar ve Teknoloji Enstitusu NIST bir Birlesik Devletler federal standardi FIPS tarafindan 2001 de yayinlanmistir SHA 2 algoritmalar ailesi Birlesik Devletler 6829355 patentinde patentlenmistir Birlesik Devletler patenti telifsiz lisans altinda yayimlamistir 2005 te SHA 1 cakismalarini onceden mumkun oldugu dusunulen adim sayisindan 2000 daha az adimda bulmak icin bir algoritma gelistirilmistir 2017 de SHA 1 cakismasinin bir ornegi yayimlanmistir SHA 1 tarafindan birakilan guvenlik marjini planlanandan zayiftir ve bu sebeple kullanimi artik dijital imzalar gibi cakisma direncine bagimli uygulamalar icin onerilmemektedir SHA 2 SHA 1 algoritmasina bazi benzerlikler tasisa da bu ataklar SHA 2 ye basarili bir sekilde genisletilememistir Su anda en iyi acik ataklar asagida Kriptanaliz ve Dogrulama bolumunde gosterildigi gibi SHA 256 nin 52 turu veya SHA 512 nin 57 turu icin direncini ve SHA 256 nin 46 turu icin cakisma direncini kirmaktadir Ozet Hash StandartlariOne iteration in a SHA 2 family compression function The blue components perform the following operations Ch E F G E F E G displaystyle operatorname Ch E F G E land F oplus neg E land G Ma A B C A B A C B C displaystyle operatorname Ma A B C A land B oplus A land C oplus B land C S0 A A 2 A 13 A 22 displaystyle Sigma 0 A A ggg 2 oplus A ggg 13 oplus A ggg 22 S1 E E 6 E 11 E 25 displaystyle Sigma 1 E E ggg 6 oplus E ggg 11 oplus E ggg 25 The bitwise rotation uses different constants for SHA 512 The given numbers are for SHA 256 The red displaystyle color red boxplus is addition modulo 232 for SHA 256 or 264 for SHA 512 FIPS PUB 180 2 nin yayimlanmasiyla NIST SHA ailesinde uc tane ek ozet fonksiyonu eklemistir Algoritmalar toplu olarak SHA 2 diye bilinir ve basamak uzunluklari bit cinsinden ile isimlendirilmislerdir SHA 256 SHA 384 ve SHA 512 Algoritmalar ilk olarak 2001 de FIPS PUB 180 2 taslaginda public review and comments kamu degerlendirmesi ve yorumlari kabul edildiginde yayimlanmislardir Agustos 2002 de FIPS PUB 180 2 Nisan 1995 te yayimlanan FIPS PUB 180 1 in yerini alarak yeni Guvenli Hash Standardi haline geldi Guncellenmis standart SHA 2 ailesinin ic calismalarini tanimlamasiyla tutarli guncellenmis teknik notasyonla birlikte orijinal SHA 1 algoritmasini icerir Subat 2004 te FIPS PUB 180 2 icin iki anahtarli Uclu DES in anahtar uzunluguyla eslesmesi amaciyla SHA 224 icin tanimlanmis ek bir degiskeni belirten bir degisiklik bildirimi yayimlandi Ekim 2008 de standart FIPS PUB 180 3 te degisiklik bildirimindeki SHA 224 dahil olmak uzere guncellendi ama bunun disinda standartta baska temel degisim yapilmadi Standardi guncellemekteki baslica motivasyon ozet algoritmalari hakkindaki guvenlik bilgilerini ve Special Publications 800 107 ve 800 57 icin kullanim onerilerini yeniden yerlestirmekti Detayli test verisi ve ornek mesaj ozetleri de standarttan kaldirildi ve ayri belge olarak temin edildi Ocak 2011 de NIST SP800 131A yi yayinladi ve 2013 yilinin sonuna kadar federal hukumetin kullanimina izin verebilen 80 bit lik SHA 1 tarafindan saglanan asgari guvenligin 112 bitlik guvenlikle SHA 2 tarafindan saglanan degistigini belirtti Yayin tarihinden itibaren minimum gereksinim ve onerilen guvenlik seviyesi bu sekilde degistirildi Mart 2012 de standart SHA 512 224 ve SHA 512 256 ozet fonksiyonlari eklenerek ve SHA 512 nin kesilmis versiyonlari icin baslangic degerleri uretmek uzere bir metot tanimlanarak FIPS PUB 180 4 te guncellendi Buna ek olarak gercek zamanli video veya ses beslemesi gibi ozet verisinin icerik uretimi ile ayni anda hesaplanmasina izin verilerek girdi verisini hash hesaplamasindan once eklemekteki kisitlama kaldirildi Son veri blogunu eklemek hala ozet degeri ciktisindan once gerceklestirilmelidir Temmuz 2012 de NIST kriptografik anahtar yonetimi icin rehberlik saglayan SP800 57 yi tekrar gozden gecirdi Yayin 2013 ten sonra ozet guvenligi 112 bitten az olan dijital imzalarin uretilmesine izin vermemektedir 2007 den onceki revizyon 2010 un sonuna kadar olan kesintiyi belirtti Agustos 2012 de NIST SP800 107 yi ayni sekilse gozden gecirdi NIST ozet fonksiyonu yarismasi yeni hash fonksiyonu SHA 3 u 2012 yilinda secti SHA 3 algoritmasi SHA 2 den turetilmemistir UygulamalarDaha fazla detay icin kriptografik ozet fonksiyonlari basligina bakabilirsiniz SHA 2 ozet fonksiyonu yaygin olarak kullanilan bazi guvenlik uygulamalarinda ve protokollerde kullanilmaktadir ornegin TLS ve SSL PGP SSH S MIME and IPsec SHA 256 Debian yazilim paketleri dogrulama surecinde ve DKIM mesaj imzalama standardinda yer almaktadir SHA 256 and SHA 512 nin DNSSEC de kullanilmasi onerilmektedir Unix ve Linux ureticileri guvenli sifre ozeti icin 256 512 bit SHA 2 yi kullanmayi tercih etmektedir Bitcoin gibi birkac kripto para birimi islemleri dogrulama yapmak para iletimlerini kanitlamak veya hisseleri hesaplamak icin SHA 256 kullanir ASIC SHA 2 nin calisma hizindaki artis kripto temelli ispat calismalarinin daha fazla kullanilmasina neden oldu SHA 1 ve SHA 2 ABD de bazi bolgelerde kullanilmasi yasalar tarafindan gerekli olan guvenli ozet algoritmalaridir Baska sifreleme algoritmalari ve protokolleriyle birlikte devlet uygulamalari hassas siniflandirilmamis bilgilerin korunmasi icin bu fonksiyonlari kullanir FIPS PUB 180 1 ozel ve ticari kuruluslar tarafindan SHA 1 in benimsenmesini ve kullanilmasini tesvik etmistir Hukumet uygulamalarinda SHA 1 kullanmayi birakmaya baslamistir ABD Ulusal Standartlar ve Teknoloji Enstitusu Federal ajanslar SHA 1 kullanmayi en kisa surede cakisma direnci gerektiren uygulamalar icin birakmali ve 2010 dan sonra bu uygulamalarda SHA 2 ailesi ozet fonksiyonlari kullanmalidir aciklamasinda bulunmustur NIST in bu aciklamasi SHA 1 in birakilma hizini arttirmistir SHA 2 fonksiyonlari SHA 1 den daha iyi guvenlik olmasina ragmen kabul edilme sureci hizli degildi Bu durumun nedenleri Windows XP SP2 veya daha ust surumu calistiran sistemlerin SHA 2 icin desteklenmemis olmasi ve henuz SHA 1 cakismalari bulunmadigi icin durumun acil olarak algilanamamasi olabilir Google Chrome ekibi web tarayicisinin 2014 un sonlarindan 2015 in baslarina kadar bir sure boyunca SHA 1 e bagimli TLS sertifikalarini kademeli olarak reddetmek icin bir plan yaptiklarini acikladi Benzer sekilde Microsoft Internet Explorer ve Edge in kamuya acik SHA 1 imzali TLS sertifikalari Subat 2017 den itibaren onaylamayacagini acikladi Kriptanaliz ve DogrulamaMesaj ozetindeki bitlerin sayisinin L oldugu bir ozet fonksiyonu icin belirli bir mesaj ozetine karsilik gelen baska bir mesaj bulmak daima kaba kuvvet saldirisi brute force attack kullanilarak 2L hesaplamada yapilabilir Buna saldiriya denir Saldiri L ye ve hesaplamalarin yapildigi ortama bagli olarak pratik olabilir ya da olmayabilir Ikinci kriterse ayni mesaj ozetini ureten cakisma olarak bilinen iki farkli mesaj bulmamasidir dogum gunu saldirisi birthday attack icin ortalama sadece 2L 2 hesaplama gerektirir Sifre saklama islemleri gibi kriptografik ozetleri kullanan uygulamalar cakisma saldirisindan en az etkilenirler Belirli bir hesap icin sifrenin olusturulmasi yani sira orijinal mesajin ozet degerine dosyasinda saklanmaktadir erisimi gerektirir Sifrelenmis bir mesajin acilmasi bu saldirilarla mumkun degildir Bununla birlikte en guvenli ozet fonksiyonu bile zayif parolalara karsi olan kaba kuvvet saldirilarini engellemez Belge imzalama durumlarinda bir saldirgan mevcut bir belge icin basitce sahte imza olusturamaz saldirganin zararsiz ve zararli olmak uzere iki adet belge uretmesi ve gizli anahtar sahibinin zararsiz belgeyi imzalamasini istemesi gereklidir Bunun mumkun oldugu bazi pratik kosullar vardir 2008 yilinin sonuna kadar MD5 cakismasiyla yaygin olarak kullanilan web tarayicilari tarafindan kabul edilebilecek sahte SSL sertifikalari olusturmak mumkundu SHA 3 yarismasi sirasinda kriptografik ozet analizine olan ilginin artmasi SHA 2 ailesinde birkac yeni saldiri ortaya cikardi bunlarin en iyileri asagidaki tabloda verilmistir Sadece cakisma saldirilarinin karmasiklari pratiktir Saldirilarin hicbiri ozet fonksiyonlarinin tum turlari icin gecerli degildir 2012 de Sony arastirmacilari sozde cakisma saldirilarina karsi SHA 256 nin 52 tura ve SHA 512 nin 57 tura uzatilmasini onerdi Yayin yeri Yil Saldiri Yontemi Saldiri Versiyon Tur KarmasiklikNew Collision Attacks Against Up To 24 step SHA 2 2008 Deterministic Cakisma SHA 256 24 64 228 5SHA 512 24 80 232 5Preimages for step reduced SHA 2 2009 Preimage SHA 256 42 64 2251 743 64 2254 9SHA 512 42 80 2502 346 80 2511 5Advanced meet in the middle preimage attacks 2010 Meet in the middle Preimage SHA 256 42 64 2248 4SHA 512 42 80 2494 6Higher Order Differential Attack on Reduced SHA 256 2011 Sozde Cakisma SHA 256 46 64 217833 64 246Bicliques for Preimages Attacks on Skein 512 and the SHA 2 family 2011 Preimage SHA 256 45 64 2255 5SHA 512 50 80 2511 5Sozde Cakisma SHA 256 52 64 2255SHA 512 57 80 2511Improving Local Collisions New Attacks on Reduced SHA 256 2013 Differential Cakisma SHA 256 31 64 265 5Sozde Cakisma SHA 256 38 64 237Branching Heuristics in Differential Collision Search with Applications to SHA 512 2014 Heuristic differential Sozde Cakisma SHA 512 38 80 240 5Analysis of SHA 512 224 and SHA 512 256 2016 Differential Cakisma SHA 256 28 64 practicalSHA 512 27 80 practicalSozde Cakisma SHA 512 39 80 practicalResmi Dogrulama Ana makale FIPS onayli guvenlik islevlerinin uygulamalari Ulusal Standartlar Teknoloji Enstitusu NIST ve Communications Security Establishment CSE ile ortaklasa yurutulen CMVP programi araciligiyla resmen dogrulanabilir Gayri resmi dogrulama icin NIST sitesinde cok sayida test vektoru uretmek iceren paketler NIST in sitesinde indirilebilir ancak bazi uygulamalar icin sonucta ortaya cikan dogrulama kanun tarafindan gerekli gorulen resmi CMVP dogrulamasinin yerine gecmez Aralik 2013 ten itibaren SHA 256 nin 1300 den ve SHA 512 nin 900den fazla fazla gecerliligi varken yalnizca 5 tanesi mesajlari her iki degiskene de destek verirken sekizin kati olmayan bit sayilariyla calisabilmektedir bkz SHS Validation List 17 Haziran 2017 tarihinde Wayback Machine sitesinde Test DegerleriBos stringlerin ozet degerleri 0 uzunlugundaki giris metinlerinin SHA224 0x d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f SHA256 0x e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 SHA384 0x 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b SHA512 0x cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e SHA512 224 0x 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 SHA512 256 0x c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a Mesajdaki ufak bir degisiklik bile cok buyuk olasilikla avalanche effect cig etkisi nedeniyle cok farkli bir ozet olusmasina sebep olacaktir Ornegin bu cumlenin sonuna bir nokta eklemek ozet degerindeki bitlerinin neredeyse yarisini 224 un 111 u degistirir SHA224 0x 730e109bd7a8a32b1cb9d9a09aa2325d2430587ddbc0c38bad911525 SHA224 0x 619cba8e8e05826e9b8c519c0a5c68f4fb653e8a3d8aa04bb2c8cd4cSozde KoduSHA 256 algoritmasi icin sozde kod asagidaki gibidir W 16 63 kelimelerinin bitleri arasindaki karistirma islemleri SHA 1 e kiyasla buyuk oranda artmistir Note 1 All variables are 32 bit unsigned integers and addition is calculated modulo 232 Note 2 For each round there is one round constant k i and one entry in the message schedule array w i 0 i 63 Note 3 The compression function uses 8 working variables a through h Note 4 Big endian convention is used when expressing the constants in this pseudocode and when parsing message block data from bytes to words for example the first word of the input message abc after padding is 0x61626380 Initialize hash values first 32 bits of the fractional parts of the square roots of the first 8 primes 2 19 h0 0x6a09e667 h1 0xbb67ae85 h2 0x3c6ef372 h3 0xa54ff53a h4 0x510e527f h5 0x9b05688c h6 0x1f83d9ab h7 0x5be0cd19 Initialize array of round constants first 32 bits of the fractional parts of the cube roots of the first 64 primes 2 311 k 0 63 0x428a2f98 0x71374491 0xb5c0fbcf 0xe9b5dba5 0x3956c25b 0x59f111f1 0x923f82a4 0xab1c5ed5 0xd807aa98 0x12835b01 0x243185be 0x550c7dc3 0x72be5d74 0x80deb1fe 0x9bdc06a7 0xc19bf174 0xe49b69c1 0xefbe4786 0x0fc19dc6 0x240ca1cc 0x2de92c6f 0x4a7484aa 0x5cb0a9dc 0x76f988da 0x983e5152 0xa831c66d 0xb00327c8 0xbf597fc7 0xc6e00bf3 0xd5a79147 0x06ca6351 0x14292967 0x27b70a85 0x2e1b2138 0x4d2c6dfc 0x53380d13 0x650a7354 0x766a0abb 0x81c2c92e 0x92722c85 0xa2bfe8a1 0xa81a664b 0xc24b8b70 0xc76c51a3 0xd192e819 0xd6990624 0xf40e3585 0x106aa070 0x19a4c116 0x1e376c08 0x2748774c 0x34b0bcb5 0x391c0cb3 0x4ed8aa4a 0x5b9cca4f 0x682e6ff3 0x748f82ee 0x78a5636f 0x84c87814 0x8cc70208 0x90befffa 0xa4506ceb 0xbef9a3f7 0xc67178f2 Pre processing begin with the original message of length L bits append a single 1 bit append K 0 bits where K is the minimum number gt 0 such that L 1 K 64 is a multiple of 512 append L as a 64 bit big endian integer making the total post processed length a multiple of 512 bits Process the message in successive 512 bit chunks break message into 512 bit chunks for each chunk create a 64 entry message schedule array w 0 63 of 32 bit words The initial values in w 0 63 don t matter so many implementations zero them here copy chunk into first 16 words w 0 15 of the message schedule array Extend the first 16 words into the remaining 48 words w 16 63 of the message schedule array for i from 16 to 63 s0 w i 15 rightrotate 7 xor w i 15 rightrotate 18 xor w i 15 rightshift 3 s1 w i 2 rightrotate 17 xor w i 2 rightrotate 19 xor w i 2 rightshift 10 w i w i 16 s0 w i 7 s1 Initialize working variables to current hash value a h0 b h1 c h2 d h3 e h4 f h5 g h6 h h7 Compression function main loop for i from 0 to 63 S1 e rightrotate 6 xor e rightrotate 11 xor e rightrotate 25 ch e and f xor not e and g temp1 h S1 ch k i w i S0 a rightrotate 2 xor a rightrotate 13 xor a rightrotate 22 maj a and b xor a and c xor b and c temp2 S0 maj h g g f f e e d temp1 d c c b b a temp1 temp2 Add the compressed chunk to the current hash value h0 h0 a h1 h1 b h2 h2 c h3 h3 d h4 h4 e h5 h5 f h6 h6 g h7 h7 h Produce the final hash value big endian digest hash h0 append h1 append h2 append h3 append h4 append h5 append h6 append h7 ch ve maj degerlerinin hesaplanmasi SHA 1 icin anlatildigi sekilde optimize edilebilir SHA 224 ile SHA 256 asagidaki maddeler haricinde aynidir Ilk ozet degeri h0 h7 den farlidir Cikti h7 atlanarak olusturulmustur SHA 224 initial hash values in big endian The second 32 bits of the fractional parts of the square roots of the 9th through 16th primes 23 53 h 0 7 0xc1059ed8 0x367cd507 0x3070dd17 0xf70e5939 0xffc00b31 0x68581511 0x64f98fa7 0xbefa4fa4 SHA 512 ile SHA 256 asagidaki maddeler haricinde yapi olarak aynidir Mesaj 1024 bitlik parcalara bolunmustur Baslangic degerleri ve tur sabitleri 64 bite uzatilir 64 yerine 80 tur vardir Mesaj planlama dizisi w 64 32 bit kelime yerine 80 64 bit kelime icerir Mesaj planlama dizisi w yi genisletmek icin dongu 16 ile 63 araliginda degil 16 ile 79 araliginda calisir Tur sabitleri ilk 80 asal sayidir 2 409 Hesaplamalar icin kullanilan kelime boyutu 64 bit uzunlugundadir Mesajin uzatilmis uzunlugu on isleme tabi tutulmadan once 128 bitlik bir big endian tam sayidir Kullanilan kaydirma ve tur sayilari farklidir SHA 512 initial hash values in big endian h 0 7 0x6a09e667f3bcc908 0xbb67ae8584caa73b 0x3c6ef372fe94f82b 0xa54ff53a5f1d36f1 0x510e527fade682d1 0x9b05688c2b3e6c1f 0x1f83d9abfb41bd6b 0x5be0cd19137e2179 SHA 512 round constants k 0 79 0x428a2f98d728ae22 0x7137449123ef65cd 0xb5c0fbcfec4d3b2f 0xe9b5dba58189dbbc 0x3956c25bf348b538 0x59f111f1b605d019 0x923f82a4af194f9b 0xab1c5ed5da6d8118 0xd807aa98a3030242 0x12835b0145706fbe 0x243185be4ee4b28c 0x550c7dc3d5ffb4e2 0x72be5d74f27b896f 0x80deb1fe3b1696b1 0x9bdc06a725c71235 0xc19bf174cf692694 0xe49b69c19ef14ad2 0xefbe4786384f25e3 0x0fc19dc68b8cd5b5 0x240ca1cc77ac9c65 0x2de92c6f592b0275 0x4a7484aa6ea6e483 0x5cb0a9dcbd41fbd4 0x76f988da831153b5 0x983e5152ee66dfab 0xa831c66d2db43210 0xb00327c898fb213f 0xbf597fc7beef0ee4 0xc6e00bf33da88fc2 0xd5a79147930aa725 0x06ca6351e003826f 0x142929670a0e6e70 0x27b70a8546d22ffc 0x2e1b21385c26c926 0x4d2c6dfc5ac42aed 0x53380d139d95b3df 0x650a73548baf63de 0x766a0abb3c77b2a8 0x81c2c92e47edaee6 0x92722c851482353b 0xa2bfe8a14cf10364 0xa81a664bbc423001 0xc24b8b70d0f89791 0xc76c51a30654be30 0xd192e819d6ef5218 0xd69906245565a910 0xf40e35855771202a 0x106aa07032bbd1b8 0x19a4c116b8d2d0c8 0x1e376c085141ab53 0x2748774cdf8eeb99 0x34b0bcb5e19b48a8 0x391c0cb3c5c95a63 0x4ed8aa4ae3418acb 0x5b9cca4f7763e373 0x682e6ff3d6b2b8a3 0x748f82ee5defb2fc 0x78a5636f43172f60 0x84c87814a1f0ab72 0x8cc702081a6439ec 0x90befffa23631e28 0xa4506cebde82bde9 0xbef9a3f7b2c67915 0xc67178f2e372532b 0xca273eceea26619c 0xd186b8c721c0c207 0xeada7dd6cde0eb1e 0xf57d4f7fee6ed178 0x06f067aa72176fba 0x0a637dc5a2c898a6 0x113f9804bef90dae 0x1b710b35131c471b 0x28db77f523047d84 0x32caab7b40c72493 0x3c9ebe0a15c9bebc 0x431d67c49c100d4c 0x4cc5d4becb3e42b6 0x597f299cfc657e2a 0x5fcb6fab3ad6faec 0x6c44198c4a475817 SHA 512 Sum amp Sigma S0 a rightrotate 28 xor a rightrotate 34 xor a rightrotate 39 S1 e rightrotate 14 xor e rightrotate 18 xor e rightrotate 41 s0 w i 15 rightrotate 1 xor w i 15 rightrotate 8 xor w i 15 rightshift 7 s1 w i 2 rightrotate 19 xor w i 2 rightrotate 61 xor w i 2 rightshift 6 SHA 384 ile SHA 521 asagidaki maddeler haricinde aynidir Ilk ozet degeri h0 h7 den farlidir Cikti h6 ve h7 atlanarak olusturulmustur SHA 384 initial hash values in big endian h 0 7 0xcbbb9d5dc1059ed8 0x629a292a367cd507 0x9159015a3070dd17 0x152fecd8f70e5939 0x67332667ffc00b31 0x8eb44a8768581511 0xdb0c2e0d64f98fa7 0x47b5481dbefa4fa4 SHA 512 t ile SHA 512 asagidaki maddeler haricinde aynidir Ilk ozet degeri h0 dan h7 ye SHA 512 t ilk deger olusturma fonksiyonu tarafindan uretilir Cikti h0 ile h7 arasindaki t bitlik kesisimden olusur t 384 e esit degildir bunun yerine SHA 384 belirtildigi sekilde kullanilmalidir t degerlerinin 224 ve 256 onaylandigi ozellikle belirtilmektedir SHA 512 t ilk deger uretme fonksiyonu degistirilmis SHA 512 yi ASCII dizesi SHA 512 t uzerinden hesaplar t ondalik gosteriminin yerini alir Degistirilmis SHA 512 ile SHA 512 h0 h7 baslangic degerleri 0xa5a5a5a5a5a5a5a5 hexadecimal degeriyle XOR lanmasi disinda aynidir SHA 2 ailesi karma islevleri icin ornek C uygulamasi RFC 6234 de bulunabilirSHA Fonksiyonlarinin KarsilastirilmasiAsagidaki tabloda ic durum her bir veri blogunun sikistirma islemi sonundaki ic ozet degeri toplami dir Daha fazla bilgi icin SHA Fonksiyonlarinin Karsilastirilmasi degistir Algoritma ve cesitleri Cikti boyutu bitler Ic durum boyutu bitler Blok boyutu bitler Maksimum mesaj boyutu bitler Turlar Islemler Guvenlik bitleri Bilgi Ornek performans s Ilk kez yayinlanisiMD5 referans olarak 128 128 4 32 512 Limitsiz 64 And Xor Rot Add mod 232 Or lt 64 cakisma bulundu 335 1992160 160 5 32 512 264 1 80 And Xor Rot Add mod 232 Or lt 80 cakisma bulundu 1993SHA 1 160 160 5 32 512 264 1 80 lt 63 cakisma bulundu 192 1995SHA 2 SHA 224 SHA 256 224 256 256 8 32 512 264 1 64 And Xor Rot Add mod 232 Or Shr 112 139 2001SHA 384 SHA 512 SHA 512 224 SHA 512 256 384 512 224 256 512 8 64 1024 2128 1 80 And Xor Rot Add mod 264 Or Shr 192 256 112 128 154 2001SHA3 224 SHA3 256 SHA3 384 SHA3 512 224 256 384 512 1600 5 5 64 1152 1088 832 576 Limitsiz 24 And Xor Rot Not 112 128 192 256 2015SHAKE128 SHAKE256 d istege bagli d istege bagli 1344 1088 min d 2 128 min d 2 256 2015 Islemler sutununda Rot Shr ise islemlerini ifade eder SHA 3 disindaki algoritmalarin hepsi moduler toplama kullanir Yukaridaki performans numaralari 64 bit modunda Linux altinda 2 2 GHz hizinda calisan ve yalnizca genel karsilastirma icin kaba bir nokta olarak sunulan bir AMD Opteron 8354 uzerinde tek parcacikli bir uygulama icindir Modern islemci mimarileri uzerinde daha ayrintili performans olcumleri asagidaki tabloda verilmistir Islemci Mimarisi Frekans Algoritma Kelime Uzunlugu bit Dongu byte MiB s x86 Dongu byte MiB s x86 64Intel Ivy Bridge 3 5 GHz SHA 256 32 bit 16 80 199 13 05 256SHA 512 64 bit 43 66 76 8 48 3943 8 GHz SHA 256 32 bit 22 87 158 18 47 196SHA 512 64 bit 88 36 41 12 43 292 SHA 256 32 bit hesaplamalar icin tasarlandigi icin x86 mimarisinde 64 bit islemciler icin optimize edilmis koddan yararlanir SHA 512 nin 32 bitlik uygulamalari 64 bitlik uygulamalarindan onemli olcude yavastir Her iki algoritmanin farkli cikti boyutlarina sahip varyantlari mesaj genisletme ve sikistirma fonksiyonlari ayni oldugu ve yalnizca baslangic ozet degerlerinden dolayi cikti boyutlari farkli oldugu icin benzer sekilde performans gosterecektir MD5 ve SHA 1 in en iyi uygulamalari modern islemcilerde bayt basina 4 5 ila 6 devir arasinda performans gosterir Testler tarafindan 3 5 GHz saat hizinda bir Intel Xeon E3 1275 V2 calistiran hidra8 ve 3 8 GHz hizinda bir AMD A10 5800K calisan hydra9 sistemlerinde gerceklestirildi Yukaridaki Dongu bayt hizlari yazilimini kullanarak 4 096 baytlik bir mesaji isleyen bir algoritmanin performansidir MiB s performansi tek bir cekirdekteki CPU saat hizindan cikarilir Gercek dunyadaki performansi cesitli faktorlere bagli olarak degisecektir Ayrica bakinizKriptografik ozet fonksiyonu SHA 1 MD5Kaynakca On the Secure Hash Algorithm family 14 Ekim 2014 tarihinde Wayback Machine sitesinde PDF Cryptographic Hash Function 10 Temmuz 2017 tarihinde Wayback Machine sitesinde About com US 6829355 Licensing Declaration for US patent 6829355 16 Haziran 2016 tarihinde kaynagindan Erisim tarihi 29 Nisan 2017 Schneier on Security Cryptanalysis of SHA 1 14 Nisan 2017 tarihinde Wayback Machine sitesinde Schneier com Cryptology Group at Centrum Wiskunde amp Informatica CWI and the Google Research Security Privacy and Anti abuse Group Shattered We have broken SHA 1 in practice 12 Nisan 2017 tarihinde Wayback Machine sitesinde SHAttered Dmitry Khovratovich Christian Rechberger amp Alexandra Savelieva 2011 Bicliques for Preimages Attacks on Skein 512 and the SHA 2 family 22 Temmuz 2016 tarihinde Wayback Machine sitesinde PDF IACR Cryptology ePrint Archive 2011 286 Mario Lamberger amp Florian Mendel 2011 Higher Order Differential Attack on Reduced SHA 256 29 Mart 2017 tarihinde Wayback Machine sitesinde PDF IACR Cryptology ePrint Archive 2011 37 Federal Register Notice 02 21599 Announcing Approval of FIPS Publication 180 2 14 Mart 2022 tarihinde Wayback Machine sitesinde FIPS 180 2 with Change Notice 1 12 Mart 2012 tarihinde Wayback Machine sitesinde PDF csrc nist gov Federal Register Notice E8 24743 Announcing Approval of FIPS Publication 180 3 a b FIPS SP 800 107 Recommendation for Applications Using Approved Hash Algorithms 19 Mart 2013 tarihinde Wayback Machine sitesinde a b FIPS SP 800 57 Recommendation for Key Management Part 1 General 26 Haziran 2013 tarihinde Wayback Machine sitesinde 27 Mart 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 29 Nisan 2017 FIPS SP 800 131A Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths 4 Eylul 2011 tarihinde Wayback Machine sitesinde Federal Register Notice 2012 5400 Announcing Approval of FIPS Publication 180 4 NIST Selects Winner of Secure Hash Algorithm SHA 3 Competition 30 Nisan 2017 tarihinde Wayback Machine sitesinde Google RFC 5702 RFC Editor org 21 Nisan 2017 tarihinde Wayback Machine sitesinde Ulrich Drepper Unix crypt with SHA 256 512 18 Haziran 2010 tarihinde Wayback Machine sitesinde National Institute on Standards and Technology Computer Security Resource Center NIST s Policy on Hash Functions 9 Haziran 2011 tarihinde Wayback Machine sitesinde Secure Hashing 29 Nisan 2017 tarihinde Wayback Machine sitesinde NIST Microsoft Corporation Overview of Windows XP Service Pack 3 17 Ocak 2009 tarihinde Wayback Machine sitesinde Chromium Blog September 5 2014 Gradually sunsetting SHA 1 13 Haziran 2015 tarihinde Wayback Machine sitesinde Eric Mill SHAAAAAAAAAAAAA 1 Mart 2017 tarihinde Wayback Machine sitesinde SHAAAAAAAAAAAAA com Filippo Valsorda The Unofficial Chrome SHA1 Deprecation FAQ 30 Haziran 2017 tarihinde Wayback Machine sitesinde An update to our SHA 1 deprecation roadmap Microsoft Edge Dev BlogMicrosoft Edge Dev Blog 27 Haziran 2017 tarihinde Wayback Machine sitesinde blogs windows com Alexander Sotirov Marc Stevens Jacob Appelbaum Arjen Lenstra David Molnar Dag Arne Osvik Benne de Weger MD5 considered harmful today Creating a rogue CA certificate 25 Mart 2017 tarihinde Wayback Machine sitesinde accessed March 29 2009 Ji Li Takanori Isobe and Kyoji Shibutani Sony China Research Laboratory and Sony Corporation Converting Meet in the Middle Preimage Attack into Pseudo Collision Attack Application to SHA 2 4 Haziran 2016 tarihinde Wayback Machine sitesinde Somitra Kumar Sanadhya Palash Sarkar 2008 New Collision Attacks Against Up To 24 step SHA 2 PDF IACR Cryptology ePrint Archive Cilt 2008 270 22 Temmuz 2016 tarihinde kaynagindan PDF Erisim tarihi 30 Nisan 2017 Kazumaro Aoki Jian Guo Krystian Matusiewicz Yu Sasaki Lei Wang 2009 Preimages for step reduced SHA 2 Advances in Cryptology 2009 Lecture Notes in Computer Science Cilt 5912 Springer Berlin Heidelberg ss 578 597 doi 10 1007 978 3 642 10366 7 34 ISBN 978 3 642 10366 7 ISSN 0302 9743 29 Haziran 2016 tarihinde kaynagindan Erisim tarihi 30 Nisan 2017 Jian Guo San Ling Christian Rechberger Huaxiong Wang 2010 Advanced meet in the middle preimage attacks First results on full Tiger and improved results on MD4 and SHA 2 PDF Advances in Cryptology 2010 Lecture Notes in Computer Science Cilt 6477 Springer Berlin Heidelberg ss 56 75 doi 10 1007 978 3 642 17373 8 4 ISBN 978 3 642 17373 8 ISSN 0302 9743 5 Mayis 2012 tarihinde kaynagindan PDF Erisim tarihi 30 Nisan 2017 Mario Lamberger Florian Mendel 2011 PDF IACR Cryptology ePrint Archive Cilt 2011 37 29 Mart 2017 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 29 Nisan 2017 Dmitry Khovratovich Christian Rechberger Alexandra Savelieva 2011 PDF IACR Cryptology ePrint Archive Cilt 2011 286 22 Temmuz 2016 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 29 Nisan 2017 Florian Mendel Tomislav Nad Martin Schlaffer 2013 Advances in Cryptology 2013 Lecture Notes in Computer Science Cilt 7881 Springer Berlin Heidelberg ss 262 278 doi 10 1007 978 3 642 38348 9 16 ISBN 978 3 642 38348 9 ISSN 0302 9743 6 Kasim 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 30 Nisan 2017 Maria Eichlseder and Florian Mendel and Martin Schlaffer 2014 Branching Heuristics in Differential Collision Search with Applications to SHA 512 PDF IACR Cryptology ePrint Archive Cilt 2014 302 29 Haziran 2016 tarihinde kaynagindan PDF Erisim tarihi 30 Nisan 2017 Christoph Dobraunig Maria Eichlseder Florian Mendel 2016 Analysis of SHA 512 224 and SHA 512 256 PDF 15 Temmuz 2017 tarihinde kaynagindan PDF Erisim tarihi 30 Nisan 2017 14 Ekim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 13 Haziran 2013 Found on an 8354 2 2 GHz processor running 64 bit Linux The MD5 Message Digest Algorithm 26 Nisan 2017 tarihinde kaynagindan Erisim tarihi 18 Nisan 2016 24 Nisan 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 23 Subat 2017 23 Ekim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 27 Ocak 2016 6 Agustos 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 27 Ocak 2016 SUPERCOP Benchmarks Measurements of hash functions indexed by machine 4 Aralik 2013 tarihinde Wayback Machine sitesinde SUPERCOP