Kriptografide, SHA-1 (Secure Hash Algorithm 1) NSA (National Security Agency) tarafından dizayn edilmiş ve NIST (National Institute of Standarts and Technology) tarafından yayınlanmış bir Amerika Birleşik Devletleri Federal Bilgi İşleme Standartı (Federal Information Processing Standard)'nda bir kriptografik özet fonksiyonudur. SHA-1, mesaj özeti olarak da bilinen 160-bit özet değeri üretir. Bir SHA-1 özet değeri genellikle 40 basamaklı bir onaltılık sayı olarak üretilir.
SHA-1 artık güvenli bir algoritma olarak düşünülmemektedir. Kriptanalistlerin 2005'te yaptığı bir saldırıyla SHA-1'in devam eden kullanım için yeterince güvenli olmadığını ispatladılar. Bu yüzden 2010'dan beri SHA-1 yerine daha güvenli olan SHA-2 veya öneriliyor. 2017 itibarıyla ise Microsoft,Google,Apple ve Mozilla SHA-1 desteğini çekeceklerini açıkladılar.
23 Şubat 2017'de ve Google SHA-1'e yaptıklarını duyurdular ve iki farklı PDF dosyasının aynı SHA-1 özetini ürettiklerini kanıtladılar.
Gelişimi
SHA-1 ile üretilen mesaj özeti, MIT'den tarafından tasarlanmış ve MD5 algoritmaları ile üretilen benzer fakat daha sade bir yapıdadır.
SHA-1 Amerika Birleşik Devletlerinin kapmasında üretilmiştir. Algoritmanın orijinal özellikleri NIST (National Institute of Standards and Technology) tarafından 1993 yılında Güvenli Özet Standartı, PUB 180, başlığı altında yayınlandı.(18-19). Bu versiyon şu anda SHA-0 olarak bilinmektedir. Bu versiyon NSA tarafından yayınlanmasından kısa bir süre sonra geri çekilerek tekrar gözden geçirilmiş ve 1995 yılında FIPS PUB 180-1'de SHA-1 olarak yayınlanmıştır. SHA-1'in SHA-0'dan tek farkı, SHA-1'in mesaj planındaki bir bit işlemi rotasyonudur. NSA'ya göre bu işlem orijinal algoritmadaki şifreleme güvenliğini azaltan bir hatayı çözmek için yapılmıştır, fakat NSA bunun hakkında daha fazla bilgi paylaşmamıştır. Gerçekten de SHA-0 bilinen tekniklerle SHA-1'den daha önce kırılmıştır.
Uygulamaları
Kriptografi
SHA-1 TLS, SSL, PGP, SSH, (S/MIME) ve IPsec gibi birçok güvenlik uygulaması ve protokolünün bir parçası olarak kullanılmaktadır. Bu uygulamalarda SHA-1 yerine MD5 da kullanılabilmektedir. Hem SHA-1 hem de MD5, 'ten yola çıkılarak tasarlanmışlardır. Ayrıca SHA-1 Git, Mercurial ve gibi sistemlerinde revizyonların belirlenmesinde ve veri bozulmalarının ve/veya müdahalelerinin algılanmasında kullanılmaktadır. Algoritma Nintedo Wii oyun konsollarında booting sırasında imza doğrulaması sağlamak için kullanılmıştır, fakat algoritmanın ilk uygulanmasında saldırganların sistemin güvenlik planını rahatlıkla geçebildiği önemli bir açık oluşmuştur.
Başka kriptografik algoritma ve protokolleri kullanan ABD Hükümeti uygulamalarında hassas ve gizli bilgilerin güvenliği için SHA-1 ve SHA-2 kriptografik özet algoritmalarının kullanılması yasalar tarafından zorunlu tutulmuştur. Ayrıca FIPS PUB 180-1, özel kurumların da SHA-1 algoritmasını kullanmasını desteklemiştir. SHA-1 artık hükümet işlerinin çoğunda kullanılmıyor. NIST ( National Institute of Standards and Technology)'in bir açıklamasında, "Federal ajanslar çakışma direnci gerektiren uygulamalarda en kısa zamanda SHA-1 algoritmasını kullanmayı bırakmalı ve bu uygulamalar için 2010'dan sonra SHA-2 kriptografik özet algoritma ailesini kullanmaya başlamak zorundadırlar."(orijinal vurgu). Bu zorunluluk daha sonra gevşetildi.
Güvenli özet fonksiyonlarının yayınlanmasındaki en önemli motivasyon Dijital İmza Algoritması'dır.
SHA özet fonksiyonları 'nin temelinde kullanılmıştır.
Veri Bütünlüğü
Git ve Mercurial gibi sistemleri SHA-1'i sadece güvenlik için kullanmaz ayrıca verinin herhangi bir bozulmaya uğrayarak değişmediğine emin olmak için kullanır. Linus Torvalds Git ile ilgili şunları söylemiştir;
Eğer disk bozulması varsa, DRAM bozulması varsa, veya herhangi bir sorun varsa Git hepsini algılayacaktır. Ya algılamazsa sorusu yok, bu bir kesinliktir. Zarar vermeye çalışan insanlar olabilir. Kesinlikle başaramayacaklar. [...] Kimse SHA-1'i kıramadı, fakat Git'i ilgilendiren SHA-1'in güvenlik özellikleri değil. Tamamiyle tutarlılık kontolü özelliği. Güvenlik kısmı bir yana, birçok insan şunu düşünüyor: Git SHA-1'i kullanıyor ve SHA-1 de kriptografik güvenlikte kullanılıyor. Demek ki Git'in güvenliği bununla sağlanıyor, diye düşünecekler. Git'te bunun güvenlikle hiçbir ilgisi yok. Bu sadece bulabileceğin en iyi özet fonksiyonu. [...]
Size şunun garantisini verebilirim: eğer verinizi Git'e koyarsanız, sizin sabit disk'inizden DVD'ye - veya 5 yıl sonra hangi teknoloji kullanılırsa ona - kopyalanınca bundan 5 yıl sonra bile verdiğiniz veriyi tamamı ile aynı şekilde geri alabilirsiniz. [...]
İlgilendiğim bir konu da çekirdek. İnsanların çekirdek kaynak kodlarını bozmaya çalıştıkları BitKeeper sitelerinden birinde açık yakalandığını gördük. Fakat Git çakışma durumda nesnenin en eski sürümünü tutmayı tercih edeceğinden bir saldırganın gizlice dosyaların üzerine yazmasını engellemiş olur. Böylece SHA-1'in güvenlik özelliğine ihtiyaç duymaz.
Kriptanaliz ve Doğrulama
L bit özet uzunluğuna sahip bir kriptografik özet fonksiyonunda, özete karşılık gelen bir mesaj her zaman brute-force saldırısı ile yaklaşık 2L denemede bulunabilir. Bu saldırıya denir ve L'nin uzunluğuna ve bilgisayar sistemine göre pratik olabilir veya olamayabilir. İkinci ölçüt "çakışma" aynı mesaj özetini üreten iki farklı mesaj bulmak, kullanılarak ortalama 1.2 × 2L/2 denemede bulunabilir. Bu ikinci kriterden dolayı bir kriptografik özet fonksiyonunun direnci özet değeri uzunluğunun yarısının kadardır. Böylece SHA-1'in direnci 80-bit karmaşıklığında düşünülebilir.
Kriptologlar SHA-0 için çakışma çiftleri üretmeyi başarmışlar ve SHA-1'i de normal direnci olan 280 denemeden daha kısa sürede çakışma bulabilen bir algoritma bulmuşlardır.
Pratik güvenlikte, bu yeni saldırılarla ilgili en büyük endişe, daha etkili saldırılara yol açmalarıdır. Her ne kadar durumun böyle olup olmadığı daha bilinmese de, daha güçlü özet fonksiyonlarına geçilmesinin gerekliliğine inanılıyor. Parolaların saklanması gibi basit kriptografik özet fonksiyonu uygulamaları çakışma saldırılarından minimum şekilde etkilenirler. Belirli bir hesap için çalışan bir parola oluşturmak için ve orijinal parolanın özetine erişim gerektirir. Parola şifrelemesini tersine çevirmek (Kullanıcının parolasını başka yerlerde denemek gibi) bu ataklarla mümkün değildir. (Bununla birlikte, çok güvenli bir özet fonksiyonu bile brute-force saldırısına karşı koruyamaz.)
Belge imzalatmada ise, saldırgan var olan bir belge için kolaylıkla sahte bir imza üretemez. Şöyle yapabilir: saldırgan normal ve hileli iki belge üretir ve özel anahtar sahibine normal belgeyi imzalatır. Bu saldırının mümkün olduğu bazı pratik koşullar vardır. Örneğin, 2008'in sonuna kadar bir MD5 çakışma kullanılarak sahte SSL sertifikaları üretmek mümkündü.
Algoritmalar blok, yineleme yapısı ve ek son adımların olmamasından dolayı tüm SHA fonksiyonları (SHA-3 dışında) uzunluk uzantısı ve kısmı mesaj çakışması saldırılarına karşı savunmasızdır. Anahtarlı özet fonksiyonlarında — SHA(mesaj || anahtar) veya SHA(anahtar || mesaj) — saldırgan, anahtarı bilmeden sadece mesajı uzatıp özet değerini yeniden hesaplayarak anahtarla imzalanmış mesajı bulabilir. Bu saldırıyı önlemek için yapılmış basit bir iyileştirme mesajın özetinin iki kere almaktır. SHAd(mesaj) = SHA(SHA(0b || mesaj)) (0. blok olan 0bnin uzunluğu özet fonksiyonunun blok boyutuna eşittir.)
Saldırılar
2005 yılının başlarında, ve 'un yayınladığı saldırıda, SHA-1'in basit versiyonunda — 80 turdan 53'ü — 280 işlemden daha az işlemde çakışmalar bulunmuştur.
Şubat 2005'te , ve tarafından bir saldırı duyuruldu. Saldırıda SHA-1'in normal versiyonunda 269 işlemden daha kısa sürede çakışmalar bulundu. ( Bir ile çakışma bulmak 280 işlem gerektirir.)
Saldırıyı yapanlar şöyle açıkladılar: "Analizimiz SHA-0'daki orijinal diferansiyel saldırıya ve çakışma saldırılarına, çok bloklu çakışma tekniklerine ve MD5'teki çakışma arama saldırılarında kullanılan mesaj değiştirme tekniklerine dayanıyor. SHA-1'i bu güçlü analitik tekniklerin yardımı olmadan kıramazdık." Aynı zamanda 58-tur SHA-1'i 233 özet işleminde kırabilen bir çakışma sundular. Saldırının tüm detaylarını içeren makale 2005 yılının ağustos ayında CRYPTO konferansında sunuldu.
Yin bir röportajında, "Kabaca şu iki zayıflıktan yararlandık: İlki dosya ön işleme aşaması yeteri kadar karışık değil, ilk 20 turdaki bazı matematiksel işlemlerde beklenmedik güvenlik açıkları mevcut."
17 Ağustos 2005'te bir CRYPTO 2005 oturumunda Xiaoyun Wang, Andrew Yao ve adına SHA-1 saldırısında yapılan bir iyileştirme duyuruldu. Çakışma bulmak için gereken ortalama işlem sayısı 263 'e düşürüldü. 18 Aralık 2007'de bu sonucun ayrıntıları Martin Cochran tarafından açıklanmış ve doğrulanmıştır.
Christophe De Cannière ve Christian Rechberger, "SHA-1 Özelliklerini Bulma: Genel Sonuçlar ve Uygulamalar" makalesi ile SHA-1 saldırılarını daha da geliştirdiler ve 2006'daki en iyi makale ödülünü almaya hak kazandılar. 64-tur SHA-1 için 2 blok çakışma optimize edilmemiş yöntemler kullanılarak 235 işlemde bulundu. Bu saldırı yaklaşık 235 işlemde yapılabildiğinden teorik bir eşik olarak kabul edilir. Daha sonra 2010'da Grechnikov tarafından bu saldırı 80'de 73-tur'a kadar geliştirildi. Bununla tüm 80-turluk bir özet fonksiyonunda çakışma bulmak için muazzam şekilde işlem süresi gerekiyor. Bu yüzden, 8 Ağustos 2007'de SHA-1'de çakışma bulmak amacıyla 'sinde dağıtılmış bilgi işlem platformu olan ile çakışma araması başlatıldı fakat 12 Mayıs 2009'da yeterince ilerleme sağlanamadığından sonlandırıldı.
2006'daki CRYPTO oturumunda, Christian Rechberger ve Christophe De Cannière saldırganın SHA-1'deki mesajın en azından bir kısmını elde edebilecekleri bir saldırı bulduklarını duyurdular.
2008'de Stéphane Manuel tarafından yayınlanan bir raporda özet fonksiyonunda çakışmanın tahmini olarak 251 - 257 işlemlik teorik karmaşıklıkta bulunabileceğini öne sürdü. Fakat daha sonrasında yerel çakışma yollarının aslında bağımsız olmadığı anlayıp bu tahminin geri çekmiş ve bilinen en etkili çakışma vektörünün yine bu çalışmadan önceki bilinen yöntem olduğunu aktarmıştır.
Cameron McDonald, Philip Hawkes ve Josef Pieprzyk Eurocrypt 2009 oturumunda 252 karmaşıklıkta kırılabilen yeni bir özet çakışma saldırı bulduklarını öne sürdüler. Fakat bu iddianın makalesi olan "O(252) karmaşıklığında SHA-1 için Diferansiyel Yolu" makalesindeki hatalar sebebiyle yazarlar iddialarını geri çektiler.
Başka bir saldırıda da Marc Stevens tek bir özet değerini kırmak için bulut sunucularından tahmini değeri $2.77M olan CPU gücü kiralamıştır. Stevens bu saldırıyı HashClash adlı projede bir diferansiyel yol saldırısı kullanarak gerçekleştirdi. 8 Kasım 2010'da SHA-1'e karşı tamamen çalışan bir çakışmaya yakın bir çakışma saldırısını tahmini olarak 257.5 işlemde gerçekleştirebileceğini iddia etti. Ayrıca bu saldırının tahmini 261 işlemde kırılabilen bir tam çakışma saldırısına dönüştürülebileceğini öne sürdü.
The SHAppening
8 Ekim 2015'te Marc Stevens, Pierre Karpman ve Thomas Peyrin SHA-1 özet fonksiyonunda yalnızca 257 işlem gerektiren bir çakışma saldırısı yayınladılar. Bu tam olarak bir tam SHA-1 özet fonksiyonu çakışma saldırısı (saldırgan iç aşamasını özgürce seçemediği) değildir, fakat yine de SHA-1'in güvenlik iddiasını zayıflatır. Özellikle, ilk defa tam SHA-1'e bir çakışma saldırısı yapılabildiği gösterildi. Önceki saldırıların hepsi pratik olarak gerçekleştirilmeleri çok pahalı saldırılardı. SHA-1'in kriptanalizindeki bu önemli atılım The SHAppening olarak isimlendirildi.
Bu metot Joux ve Peyrin'in yardımcı yolları(veya bumerangları) hızlandırma tekniği ile daha önceki çalışmalarına ve NVIDIA'nın yüksek performans/maliyet 'e sahip GPU 'larının kullanımına dayanıyor. Çakışma, toplamda 64 grafik kartına sahip 16 düğümlü bir küme ile bulundu. Yazarlar benzer bir çakışmanın 'de $2,000 'lık GPU zamanıyla bulunabileceği tahmininde bulundular.
Yazarlar aynı zamanda, tam SHA-1 çakışması yapmak için 75 bin ile 125 bin ABD doları maliyetindeki EC2 CPU/GPU gücünün yeterli olacağını söylemişler ve bunun bir suç örgütünün veya herhangi bir ulusal istihbarat örgütünün bütçesiyle rahatlıkla yapılabileceğini belirtmişlerdir. Ayrıca yazarlar SHA-1'in kullanımının olabildiğince çabuk durdurulmasını önerdiler.
SHAttered
23 Şubat 2017'de Google SHAttered saldırısı ismini verdikleri saldırı ile yaklaşık 263.1 işlemde aynı SHA-1 özeti veren 2 farklı PDF dosyası ürettiklerini duyurdular. Bu saldırı 280 işlemde bulunabilen brute-force ile SHA-1 özeti çakışması bulmaktan () yaklaşık 100,000 kat daha hızlıdır. Bu saldırı yaklaşık tek CPU işlem gücüyle yaklaşık 6,500 yıl veya tek GPU işlem gücü ile yaklaşık 110 yıl sürerdi.
SHA-0
98 'de ve isimli iki Fransız araştırmacı, 261 karmaşıklıkta yapılabilen bir çakışma buldular, ki bu saldırı aynı uzunluktaki ideal özet fonksiyonu karmaşıklığı olan 280 işlemden çok daha azdır.
2004 'te ve Chen SHA-0 için çakışmaya yakın saldırılar keşfettiler. (Neredeyse aynı özet değeri olan —160 bitten 142'si aynı — iki farklı mesaj buldular.) Aynı zamanda SHA-0 'ın tam çakışmalarını 80-turdan 62-tura düşürülebildiğini buldular.
Daha sonra, 12 Ağustos 2004'te Joux, Carribault, Lemuet ve Jalby tarafından tam SHA-0 algoritması için çakışma bulunduğu açıklandı. Bu saldırı Chabaud ve Joux 'un saldırılarının genelleştirilmesiyle yapıldı. Çapışıma 251 karmaşıklıkta bulundu ve 256 Itanium 2 işlemcisine sahip bir süper bilgisayarda yaklaşık 80,000 işlemci zamanı sürdü. (Bir bilgisayarın 13 gün sürekli kullanılmasına eşdeğer süre)
17 Ağustos 2004'teki CRYPTO 2004 oturumunda Wang, Feng, Lai, and Yu tarafından MD5, SHA-0 ve başka özet fonksiyonlarıyla ilgili saldırıların ön sonuçları açıklandı. Bu sonuçlarda, SHA-0 saldırısının karmaşıklığı 240 olarak açıklandı. Bu da Joux 'a ait saldırıdan çok daha verimli.
Şubat 2005 'te Xiaoyun Wang, Yiqun Lisa Yin ve Hongbo Yu SHA-0 çakışmasını 239 işlemde bulduklarını duyurdular.
2008 'de yapılan ile çakışma bulmak 233.6 işleme indirildi, ki bu ortalama bir bilgisayarda 1 saatte yapılabilmektedir.
SHA-0 'daki sonuçların ardından bazı uzmanlar, SHA-1 'in yeni kullanımına ilişkin planların tekrar gözden geçirilmesi gerektiğini önerdi. CRYPTO 2004'ten sonra, NIST 2010 yılına kadar SHA-1 'in kullanımının aşamalı olarak durdurulacağını ve yerine SHA-2 'nin kullanılacağını açıkladı.
Resmi doğrulaması
FIPS tarafından kabul gören tüm güvenlik fonksiyonları NIST (National Institute of Standards and Technology) ve CSE (Communications Security Establishment) tarafından yürütülen (Cryptographic Module Validation Program) programı tarafından doğrulanır. Gayri resmi doğrulama için, çok sayıda test vektörü içeren paket NIST 'in sitesinden indirilebilir, fakat bu testlerden çıkacak sonuç bazı uygulamalar için kanunen zorunlu olan resmi CMVP doğrulaması yerine geçmez.
Aralık 2013 itibarıyla, SHA-1 'in 2000'den fazla farklı ve geçerli uygulaması vardır, fakat bunlardan sadece 14 tanesi mesaj boyutu 8 ve katı bit uzunluğundaki mesajlar dışındakilerde çalışabilir.
Örnekler ve Sözde Kodu
Örnek Özetler
Bunlar onaltılık tabanda ve ASCII Base64 formatındaki SHA-1 mesaj özetleri
SHA1("The quick brown fox jumps over the lazy dog") onaltılık tabandaki özeti: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 ASCII Base64 özeti: L9ThxnotKPzthJ7hu3bnORuT6xI=
Even a small change in the message will, with overwhelming probability, result in many bits changing due to the . For example, changing dog
to cog
produces a hash with different values for 81 of the 160 bits:
SHA1("The quick brown fox jumps over the lazy cog") onaltılık tabandaki özeti: de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3 ASCII Base64 özeti: 3p8sf9JeGzr60+haC9F9mxANtLM=
The hash of the zero-length string is:
SHA1("") onaltılık tabandaki özeti: da39a3ee5e6b4b0d3255bfef95601890afd80709 ASCII Base64 özeti: 2jmj7l5rSw0yVb/vlWAYkK/YBwk=
SHA-1 sözde kodu
SHA-1 algoritmasının sözde kodu:
Note 1: All variables are unsigned 32-bit quantities and wrap modulo 232 when calculating, except for ml, the message length, which is a 64-bit quantity, and hh, the message digest, which is a 160-bit quantity. Note 2: All constants in this pseudo code are in big endian. Within each word, the most significant byte is stored in the leftmost byte position Initialize variables: 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). Pre-processing: append the bit '1' to the message e.g. by adding 0x80 if message length is a multiple of 8 bits. append 0 ≤ k < 512 bits '0', such that the resulting message length in bits is congruent to −64 ≡ 448 (mod 512) append ml, the original message length, as a 64-bit big-endian integer. Thus, the total length is a multiple of 512 bits. Process the message in successive 512-bit chunks: break message into 512-bit chunks for each chunk break chunk into sixteen 32-bit big-endian words w[i], 0 ≤ i ≤ 15 Extend the sixteen 32-bit words into eighty 32-bit words: for i from 16 to 79 w[i] = (w[i-3] xor w[i-8] xor w[i-14] xor w[i-16]) 1 Initialize hash value for this chunk: a = h0 b = h1 c = h2 d = h3 e = h4 Main loop: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 Add this chunk's hash to result so far: h0 = h0 + a h1 = h1 + b h2 = h2 + c h3 = h3 + d h4 = h4 + e Produce the final hash value (big-endian) as a 160-bit number: hh = (h0 leftshift 128) or (h1 leftshift 96) or (h2 leftshift 64) or (h3 leftshift 32) or h4
hh
sayısı mesaj özetini gösterir. Genellikle ASCII Base64 formatında yazılır ama onaltılık tabanda da yazılabilir.
Buradaki sabit sayılar rastgeleliği maksimize etmek için bilerek seçilmiş sayılardır (): 4 sabit k
sayısı 2, 3, 5 ve 10 sayılarının 230 kere kare kökleri alınmış halidir. h0
'danh3
'e kadar olan dört başlangıç değeri MD5 algoritmasındakilerle tamamen aynıdır ve beşinci değer ise (h4
) çok benzeridir.
FIPS PUB 180-1 'den direkt formülize etmek yerine, aşağıdaki benzer ifadelerle ana döngüdeki f
değeri hesaplanabilir.
Bitwise choice between c and d, controlled by b. (0 ≤ i ≤ 19): f = d xor (b and (c xor d)) (alternative 1) (0 ≤ i ≤ 19): f = (b and c) xor ((not b) and d) (alternative 2) (0 ≤ i ≤ 19): f = (b and c) + ((not b) and d) (alternative 3) (0 ≤ i ≤ 19): f = vec_sel(d, c, b) (alternative 4) Bitwise majority function. (40 ≤ i ≤ 59): f = (b and c) or (d and (b or c)) (alternative 1) (40 ≤ i ≤ 59): f = (b and c) or (d and (b xor c)) (alternative 2) (40 ≤ i ≤ 59): f = (b and c) + (d and (b xor c)) (alternative 3) (40 ≤ i ≤ 59): f = (b and c) xor (b and d) xor (c and d) (alternative 4) (40 ≤ i ≤ 59): f = vec_sel(c, b, c xor d) (alternative 5)
Max Locktyukhin ayrıca 32-79 arasındaki turları aşağıdaki gibi göstermiştir:
w[i] = (w[i-3] xor w[i-8] xor w[i-14] xor w[i-16]) 1
şununla değiştirilebilir:
w[i] = (w[i-6] xor w[i-16] xor w[i-28] xor w[i-32]) 2
This transformation keeps all operands 64-bit aligned and, by removing the dependency of w[i]
on w[i-3]
, allows efficient SIMD implementation with a vector length of 4 like x86 instructions.
Bu dönüşüm tüm işlenilenleri 64-bit hizalı tutar ve w[i]
'nin w[i-3]
üzerindeki bağımlılığını silerek x86 SSE işlemleri gibi vektör uzunluğu 4 olan verimli SIMD (Single Instruction Stream - Multiple Data Stream) uygulamasına izin verir.
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:
Özet fonksiyonunun performansı sadece algoritmaya bağlı olarak değişmez. Aynı zamanda o algoritmanın nasıl uygulandığına ve kullanılan donanıma da bağlıdır. OpenSSL aracında, kullanıcıların sistemlerinde çalışan algoritmaların hızını ölçen bir "hız" komutu vardır.
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 |
Notlar
- ^ a b "Arşivlenmiş kopya" (PDF). 17 Şubat 2013 tarihinde kaynağından (PDF). Erişim tarihi: 22 Nisan 2017.
- ^ a b Schneier, Bruce (18 Şubat 2005). . 14 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^ . 29 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Nisan 2017.
- ^ a b c d Stevens1, Marc; Karpman, Pierre; Peyrin, Thomas. "The SHAppening: freestart collisions for SHA-1". 19 Nisan 2017 tarihinde kaynağından . Erişim tarihi: 9 Ekim 2015.
- ^ Schneier, Bruce (8 Ekim 2015). . Schneier on Security. 28 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^ . Microsoft. 24 Eylül 2015. 5 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ağustos 2016.
- ^ "Intent to Deprecate: SHA-1 certificates". Google. 3 Eylül 2014. Erişim tarihi: 4 Eylül 2014.[]
- ^ "Safari and WebKit ending support for SHA-1 certificates - Apple Support". Apple Inc. 24 Ocak 2017. Erişim tarihi: 4 Şubat 2017.
- ^ . Mozilla. 7 Eylül 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Eylül 2014.
- ^ "CA:Problematic Practices - MozillaWiki". Mozilla. 6 Mayıs 2017 tarihinde kaynağından . Erişim tarihi: 9 Eylül 2014.
- ^ . Mozilla. 23 Eylül 2014. 25 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Eylül 2014.
- ^ "CWI, Google announce first collision for Industry Security Standard SHA-1". 23 Şubat 2017 tarihinde kaynağından . Erişim tarihi: 23 Şubat 2017.
- ^
- ^ . 12 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Şubat 2017.
- ^ "RSA FAQ on Capstone". 6 Nisan 2017 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2017.
- ^ Selvarani, R.; Aswatha, Kumar; T V Suresh, Kumar. Proceedings of International Conference on Advances in Computing. s. 551. 1 Temmuz 2016 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2017.
- ^ Secure Hash Standard, Federal Information Processing Standards Publication FIPS PUB 180, National Institute of Standards and Technology, 11 Mayıs 1993
- ^ Domke, Felix aka "tmbinc" (24 Nisan 2008). . 23 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Ekim 2014.
For verifying the hash (which is the only thing they verify in the signature), they have chosen to use a function (strncmp) which stops on the first nullbyte – with a positive result. Out of the 160 bits of the SHA1-hash, up to 152 bits are thrown away.
- ^ National Institute on Standards and Technology Computer Security Resource Center, NIST's March 2006 Policy on Hash Functions 2 Ocak 2014 tarihinde Wayback Machine sitesinde ., accessed September 28, 2012.
- ^ National Institute on Standards and Technology Computer Security Resource Center, NIST's Policy on Hash Functions 9 Haziran 2011 tarihinde Wayback Machine sitesinde ., accessed September 28, 2012.
- ^ "Tech Talk: Linus Torvalds on git". 11 Şubat 2013 tarihinde kaynağından . Erişim tarihi: 13 Kasım 2013.
- ^ Torvalds, Linus. . marc.info. 24 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Mayıs 2016.
- ^ Sotirov, Alexander; Stevens, Marc; Appelbaum, Jacob; Lenstra, Arjen; Molnar, David; Osvik, Dag Arne; de Weger, Benne (30 Aralık 2008). . 25 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Mart 2009.
- ^ . The Keccak sponge function family. Keccak team. 12 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Eylül 2015.
Unlike SHA-1 and SHA-2, Keccak does not have the length-extension weakness, hence does not need the HMAC nested construction. Instead, MAC computation can be performed by simply prepending the message with the key.
- ^ Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno, Cryptography Engineering 1 Kasım 2012 tarihinde Wayback Machine sitesinde ., John Wiley & Sons, 2010.
- ^ "Cryptology ePrint Archive: Report 2005/010". 22 Kasım 2016 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2017.
- ^ MIT.edu 19 Şubat 2005 tarihinde Wayback Machine sitesinde ., Massachusetts Institute of Technology
- ^ Lemos, Robert. "Fixing a hole in security". ZDNet. 29 Nisan 2014 tarihinde kaynağından . Erişim tarihi: 23 Nisan 2017.
- ^ "New Cryptanalytic Results Against SHA-1 - Schneier on Security". 6 Ağustos 2016 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2017.
- ^ "Notes on the Wang et al. 263 SHA-1 Differential Path". 22 Kasım 2016 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2017.
- ^ De Cannière, Christophe; Rechberger, Christian (15 Kasım 2006). "Finding SHA-1 Characteristics: General Results and Applications". 8 Temmuz 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^ . 24 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Haziran 2009.
- ^ . 17 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2010.
- ^ . 12 Nisan 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Haziran 2009.
- ^ . heise online. 15 Şubat 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^ . 24 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^ Manuel, Stéphane. "Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1" (PDF). 5 Mayıs 2012 tarihinde kaynağından (PDF). Erişim tarihi: 19 Mayıs 2011.
- ^ Manuel, Stéphane. "Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1". 3 Şubat 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Ekim 2012. the most efficient disturbance vector is Codeword2 first reported by Jutla and Patthak
- ^ "SHA-1 collisions now 2^52" (PDF). 22 Şubat 2012 tarihinde kaynağından (PDF). Erişim tarihi: 26 Nisan 2017.
- ^ . 8 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^ "Cryptanalysis of MD5 & SHA-1" (PDF). 21 Aralık 2014 tarihinde kaynağından (PDF). Erişim tarihi: 26 Nisan 2017.
- ^ . 25 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^ "Google Project Hosting". 30 Aralık 2014 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2017.
- ^ ; ; Karpman, Pierre; Albertini, Ange; Markov, Yarik (2017). ; Shacham, Hovav (Ed.). (PDF). Advances in Cryptology – 2017. . 10401. . ss. 570-596. doi:10.1007/978-3-319-63688-7_19. ISBN . 15 Mayıs 2018 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 23 Şubat 2017. Diğer özet – Google Security Blog (23 Şubat 2017).
- ^ Chabaud, Florent; Joux, Antoine (1998). Differential Collisions in SHA-0 (PDF). '98. 11 Ekim 2017 tarihinde kaynağından (PDF). Erişim tarihi: 26 Nisan 2017.
- ^ . 2 Mayıs 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^
- ^ "SHA-1 Broken - Schneier on Security". 5 Mayıs 2017 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2017.
- ^ (Çince) Sdu.edu.cn 10 Eylül 2005 tarihinde Wayback Machine sitesinde .,
- ^ Manuel, Stéphane; Peyrin, Thomas (11 Şubat 2008). "Collisions on SHA-0 in One Hour". 9 Nisan 2016 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2017.
- ^ (PDF). 4 Haziran 2011 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 26 Nisan 2017.
- ^ "RFC 3174 - US Secure Hash Algorithm 1 (SHA1)". 20 Mart 2017 tarihinde kaynağından . Erişim tarihi: 23 Nisan 2017.
- ^ Locktyukhin, Max; Farrel, Kathy (31 Mart 2010), "Improving the Performance of the Secure Hash Algorithm (SHA-1)", Intel Software Knowledge Base, Intel, 28 Eylül 2010 tarihinde kaynağından , erişim tarihi: 2 Nisan 2010
- ^ . 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.
Kaynakça
- Florent Chabaud, Antoine Joux: Differential Collisions in SHA-0. 1998. pp56–71
- , Rafi Chen, Near-Collisions of SHA-0, Cryptology ePrint Archive, Report 2004/146, 2004 (appeared on CRYPTO 2004), IACR.org27 Eylül 2004 tarihinde Wayback Machine sitesinde .
- , Hongbo Yu and Yiqun Lisa Yin, Efficient Collision Search Attacks on SHA-0, CRYPTO 2005,
- , Yiqun Lisa Yin and Hongbo Yu, Finding Collisions in the Full SHA-1, Crypto 2005 MIT.edu 15 Temmuz 2017 tarihinde Wayback Machine sitesinde .
- , : Security Analysis of SHA-256 and Sisters. 2003: pp175–193
- unixwiz.net 26 Nisan 2017 tarihinde Wayback Machine sitesinde .
- "Proposed Revision of Federal Information Processing Standard (FIPS) 180, Secure Hash Standard". Federal Register. 59 (131). 11 Temmuz 1994. ss. 35317-35318. Erişim tarihi: 26 Nisan 2007.[]
- A. Cilardo, L. Esposito, A. Veniero, A. Mazzeo, V. Beltran, E. Ayugadé, A CellBE-based HPC application for the analysis of vulnerabilities in cryptographic hash functions, High Performance Computing and Communication international conference, August 2010
Dış bağlantılar
- – Official NIST site for the Secure Hash Standard
- RFC 3174 (with sample C implementation)
- Interview with Yiqun Lisa Yin concerning the attack on SHA-129 Nisan 2014 tarihinde Wayback Machine sitesinde .
- Explanation of the successful attacks on SHA-1 21 Kasım 2008 tarihinde Wayback Machine sitesinde . (3 pages, 2006)
- Cryptography Research – Hash Collision Q&A17 Temmuz 2008 tarihinde Wayback Machine sitesinde .
- Online SHA1 hash crack using Rainbow tables 26 Ocak 2021 tarihinde Wayback Machine sitesinde .
- Curlie'de SHA-1 (DMOZ tabanlı)
- YouTube'da Lecture on SHA-1 by Christof Paar 24 Nisan 2017 tarihinde Wayback Machine sitesinde .
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
Kriptografide SHA 1 Secure Hash Algorithm 1 NSA National Security Agency tarafindan dizayn edilmis ve NIST National Institute of Standarts and Technology tarafindan yayinlanmis bir Amerika Birlesik Devletleri Federal Bilgi Isleme Standarti Federal Information Processing Standard nda bir kriptografik ozet fonksiyonudur SHA 1 mesaj ozeti olarak da bilinen 160 bit ozet degeri uretir Bir SHA 1 ozet degeri genellikle 40 basamakli bir onaltilik sayi olarak uretilir SHA 1 artik guvenli bir algoritma olarak dusunulmemektedir Kriptanalistlerin 2005 te yaptigi bir saldiriyla SHA 1 in devam eden kullanim icin yeterince guvenli olmadigini ispatladilar Bu yuzden 2010 dan beri SHA 1 yerine daha guvenli olan SHA 2 veya oneriliyor 2017 itibariyla ise Microsoft Google Apple ve Mozilla SHA 1 destegini cekeceklerini acikladilar 23 Subat 2017 de ve Google SHA 1 e yaptiklarini duyurdular ve iki farkli PDF dosyasinin ayni SHA 1 ozetini urettiklerini kanitladilar GelisimiSHA 1 ile uretilen mesaj ozeti MIT den tarafindan tasarlanmis ve MD5 algoritmalari ile uretilen benzer fakat daha sade bir yapidadir SHA 1 Amerika Birlesik Devletlerinin kapmasinda uretilmistir Algoritmanin orijinal ozellikleri NIST National Institute of Standards and Technology tarafindan 1993 yilinda Guvenli Ozet Standarti PUB 180 basligi altinda yayinlandi 18 19 Bu versiyon su anda SHA 0 olarak bilinmektedir Bu versiyon NSA tarafindan yayinlanmasindan kisa bir sure sonra geri cekilerek tekrar gozden gecirilmis ve 1995 yilinda FIPS PUB 180 1 de SHA 1 olarak yayinlanmistir SHA 1 in SHA 0 dan tek farki SHA 1 in mesaj planindaki bir bit islemi rotasyonudur NSA ya gore bu islem orijinal algoritmadaki sifreleme guvenligini azaltan bir hatayi cozmek icin yapilmistir fakat NSA bunun hakkinda daha fazla bilgi paylasmamistir Gercekten de SHA 0 bilinen tekniklerle SHA 1 den daha once kirilmistir UygulamalariKriptografi SHA 1 TLS SSL PGP SSH S MIME ve IPsec gibi bircok guvenlik uygulamasi ve protokolunun bir parcasi olarak kullanilmaktadir Bu uygulamalarda SHA 1 yerine MD5 da kullanilabilmektedir Hem SHA 1 hem de MD5 ten yola cikilarak tasarlanmislardir Ayrica SHA 1 Git Mercurial ve gibi sistemlerinde revizyonlarin belirlenmesinde ve veri bozulmalarinin ve veya mudahalelerinin algilanmasinda kullanilmaktadir Algoritma Nintedo Wii oyun konsollarinda booting sirasinda imza dogrulamasi saglamak icin kullanilmistir fakat algoritmanin ilk uygulanmasinda saldirganlarin sistemin guvenlik planini rahatlikla gecebildigi onemli bir acik olusmustur Baska kriptografik algoritma ve protokolleri kullanan ABD Hukumeti uygulamalarinda hassas ve gizli bilgilerin guvenligi icin SHA 1 ve SHA 2 kriptografik ozet algoritmalarinin kullanilmasi yasalar tarafindan zorunlu tutulmustur Ayrica FIPS PUB 180 1 ozel kurumlarin da SHA 1 algoritmasini kullanmasini desteklemistir SHA 1 artik hukumet islerinin cogunda kullanilmiyor NIST National Institute of Standards and Technology in bir aciklamasinda Federal ajanslar cakisma direnci gerektiren uygulamalarda en kisa zamanda SHA 1 algoritmasini kullanmayi birakmali ve bu uygulamalar icin 2010 dan sonra SHA 2 kriptografik ozet algoritma ailesini kullanmaya baslamak zorundadirlar orijinal vurgu Bu zorunluluk daha sonra gevsetildi Guvenli ozet fonksiyonlarinin yayinlanmasindaki en onemli motivasyon Dijital Imza Algoritmasi dir SHA ozet fonksiyonlari nin temelinde kullanilmistir Veri Butunlugu Git ve Mercurial gibi sistemleri SHA 1 i sadece guvenlik icin kullanmaz ayrica verinin herhangi bir bozulmaya ugrayarak degismedigine emin olmak icin kullanir Linus Torvalds Git ile ilgili sunlari soylemistir Eger disk bozulmasi varsa DRAM bozulmasi varsa veya herhangi bir sorun varsa Git hepsini algilayacaktir Ya algilamazsa sorusu yok bu bir kesinliktir Zarar vermeye calisan insanlar olabilir Kesinlikle basaramayacaklar Kimse SHA 1 i kiramadi fakat Git i ilgilendiren SHA 1 in guvenlik ozellikleri degil Tamamiyle tutarlilik kontolu ozelligi Guvenlik kismi bir yana bircok insan sunu dusunuyor Git SHA 1 i kullaniyor ve SHA 1 de kriptografik guvenlikte kullaniliyor Demek ki Git in guvenligi bununla saglaniyor diye dusunecekler Git te bunun guvenlikle hicbir ilgisi yok Bu sadece bulabilecegin en iyi ozet fonksiyonu Size sunun garantisini verebilirim eger verinizi Git e koyarsaniz sizin sabit disk inizden DVD ye veya 5 yil sonra hangi teknoloji kullanilirsa ona kopyalaninca bundan 5 yil sonra bile verdiginiz veriyi tamami ile ayni sekilde geri alabilirsiniz Ilgilendigim bir konu da cekirdek Insanlarin cekirdek kaynak kodlarini bozmaya calistiklari BitKeeper sitelerinden birinde acik yakalandigini gorduk Fakat Git cakisma durumda nesnenin en eski surumunu tutmayi tercih edeceginden bir saldirganin gizlice dosyalarin uzerine yazmasini engellemis olur Boylece SHA 1 in guvenlik ozelligine ihtiyac duymaz Kriptanaliz ve DogrulamaL bit ozet uzunluguna sahip bir kriptografik ozet fonksiyonunda ozete karsilik gelen bir mesaj her zaman brute force saldirisi ile yaklasik 2L denemede bulunabilir Bu saldiriya denir ve L nin uzunluguna ve bilgisayar sistemine gore pratik olabilir veya olamayabilir Ikinci olcut cakisma ayni mesaj ozetini ureten iki farkli mesaj bulmak kullanilarak ortalama 1 2 2L 2 denemede bulunabilir Bu ikinci kriterden dolayi bir kriptografik ozet fonksiyonunun direnci ozet degeri uzunlugunun yarisinin kadardir Boylece SHA 1 in direnci 80 bit karmasikliginda dusunulebilir Kriptologlar SHA 0 icin cakisma ciftleri uretmeyi basarmislar ve SHA 1 i de normal direnci olan 280 denemeden daha kisa surede cakisma bulabilen bir algoritma bulmuslardir Pratik guvenlikte bu yeni saldirilarla ilgili en buyuk endise daha etkili saldirilara yol acmalaridir Her ne kadar durumun boyle olup olmadigi daha bilinmese de daha guclu ozet fonksiyonlarina gecilmesinin gerekliligine inaniliyor Parolalarin saklanmasi gibi basit kriptografik ozet fonksiyonu uygulamalari cakisma saldirilarindan minimum sekilde etkilenirler Belirli bir hesap icin calisan bir parola olusturmak icin ve orijinal parolanin ozetine erisim gerektirir Parola sifrelemesini tersine cevirmek Kullanicinin parolasini baska yerlerde denemek gibi bu ataklarla mumkun degildir Bununla birlikte cok guvenli bir ozet fonksiyonu bile brute force saldirisina karsi koruyamaz Belge imzalatmada ise saldirgan var olan bir belge icin kolaylikla sahte bir imza uretemez Soyle yapabilir saldirgan normal ve hileli iki belge uretir ve ozel anahtar sahibine normal belgeyi imzalatir Bu saldirinin mumkun oldugu bazi pratik kosullar vardir Ornegin 2008 in sonuna kadar bir MD5 cakisma kullanilarak sahte SSL sertifikalari uretmek mumkundu Algoritmalar blok yineleme yapisi ve ek son adimlarin olmamasindan dolayi tum SHA fonksiyonlari SHA 3 disinda uzunluk uzantisi ve kismi mesaj cakismasi saldirilarina karsi savunmasizdir Anahtarli ozet fonksiyonlarinda SHA mesaj anahtar veya SHA anahtar mesaj saldirgan anahtari bilmeden sadece mesaji uzatip ozet degerini yeniden hesaplayarak anahtarla imzalanmis mesaji bulabilir Bu saldiriyi onlemek icin yapilmis basit bir iyilestirme mesajin ozetinin iki kere almaktir SHAd mesaj SHA SHA 0b mesaj 0 blok olan 0bnin uzunlugu ozet fonksiyonunun blok boyutuna esittir Saldirilar 2005 yilinin baslarinda ve un yayinladigi saldirida SHA 1 in basit versiyonunda 80 turdan 53 u 280 islemden daha az islemde cakismalar bulunmustur Subat 2005 te ve tarafindan bir saldiri duyuruldu Saldirida SHA 1 in normal versiyonunda 269 islemden daha kisa surede cakismalar bulundu Bir ile cakisma bulmak 280 islem gerektirir Saldiriyi yapanlar soyle acikladilar Analizimiz SHA 0 daki orijinal diferansiyel saldiriya ve cakisma saldirilarina cok bloklu cakisma tekniklerine ve MD5 teki cakisma arama saldirilarinda kullanilan mesaj degistirme tekniklerine dayaniyor SHA 1 i bu guclu analitik tekniklerin yardimi olmadan kiramazdik Ayni zamanda 58 tur SHA 1 i 233 ozet isleminde kirabilen bir cakisma sundular Saldirinin tum detaylarini iceren makale 2005 yilinin agustos ayinda CRYPTO konferansinda sunuldu Yin bir roportajinda Kabaca su iki zayifliktan yararlandik Ilki dosya on isleme asamasi yeteri kadar karisik degil ilk 20 turdaki bazi matematiksel islemlerde beklenmedik guvenlik aciklari mevcut 17 Agustos 2005 te bir CRYPTO 2005 oturumunda Xiaoyun Wang Andrew Yao ve adina SHA 1 saldirisinda yapilan bir iyilestirme duyuruldu Cakisma bulmak icin gereken ortalama islem sayisi 263 e dusuruldu 18 Aralik 2007 de bu sonucun ayrintilari Martin Cochran tarafindan aciklanmis ve dogrulanmistir Christophe De Canniere ve Christian Rechberger SHA 1 Ozelliklerini Bulma Genel Sonuclar ve Uygulamalar makalesi ile SHA 1 saldirilarini daha da gelistirdiler ve 2006 daki en iyi makale odulunu almaya hak kazandilar 64 tur SHA 1 icin 2 blok cakisma optimize edilmemis yontemler kullanilarak 235 islemde bulundu Bu saldiri yaklasik 235 islemde yapilabildiginden teorik bir esik olarak kabul edilir Daha sonra 2010 da Grechnikov tarafindan bu saldiri 80 de 73 tur a kadar gelistirildi Bununla tum 80 turluk bir ozet fonksiyonunda cakisma bulmak icin muazzam sekilde islem suresi gerekiyor Bu yuzden 8 Agustos 2007 de SHA 1 de cakisma bulmak amaciyla sinde dagitilmis bilgi islem platformu olan ile cakisma aramasi baslatildi fakat 12 Mayis 2009 da yeterince ilerleme saglanamadigindan sonlandirildi 2006 daki CRYPTO oturumunda Christian Rechberger ve Christophe De Canniere saldirganin SHA 1 deki mesajin en azindan bir kismini elde edebilecekleri bir saldiri bulduklarini duyurdular 2008 de Stephane Manuel tarafindan yayinlanan bir raporda ozet fonksiyonunda cakismanin tahmini olarak 251 257 islemlik teorik karmasiklikta bulunabilecegini one surdu Fakat daha sonrasinda yerel cakisma yollarinin aslinda bagimsiz olmadigi anlayip bu tahminin geri cekmis ve bilinen en etkili cakisma vektorunun yine bu calismadan onceki bilinen yontem oldugunu aktarmistir Cameron McDonald Philip Hawkes ve Josef Pieprzyk Eurocrypt 2009 oturumunda 252 karmasiklikta kirilabilen yeni bir ozet cakisma saldiri bulduklarini one surduler Fakat bu iddianin makalesi olan O 252 karmasikliginda SHA 1 icin Diferansiyel Yolu makalesindeki hatalar sebebiyle yazarlar iddialarini geri cektiler Baska bir saldirida da Marc Stevens tek bir ozet degerini kirmak icin bulut sunucularindan tahmini degeri 2 77M olan CPU gucu kiralamistir Stevens bu saldiriyi HashClash adli projede bir diferansiyel yol saldirisi kullanarak gerceklestirdi 8 Kasim 2010 da SHA 1 e karsi tamamen calisan bir cakismaya yakin bir cakisma saldirisini tahmini olarak 257 5 islemde gerceklestirebilecegini iddia etti Ayrica bu saldirinin tahmini 261 islemde kirilabilen bir tam cakisma saldirisina donusturulebilecegini one surdu The SHAppening 8 Ekim 2015 te Marc Stevens Pierre Karpman ve Thomas Peyrin SHA 1 ozet fonksiyonunda yalnizca 257 islem gerektiren bir cakisma saldirisi yayinladilar Bu tam olarak bir tam SHA 1 ozet fonksiyonu cakisma saldirisi saldirgan ic asamasini ozgurce secemedigi degildir fakat yine de SHA 1 in guvenlik iddiasini zayiflatir Ozellikle ilk defa tam SHA 1 e bir cakisma saldirisi yapilabildigi gosterildi Onceki saldirilarin hepsi pratik olarak gerceklestirilmeleri cok pahali saldirilardi SHA 1 in kriptanalizindeki bu onemli atilim The SHAppening olarak isimlendirildi Bu metot Joux ve Peyrin in yardimci yollari veya bumeranglari hizlandirma teknigi ile daha onceki calismalarina ve NVIDIA nin yuksek performans maliyet e sahip GPU larinin kullanimina dayaniyor Cakisma toplamda 64 grafik kartina sahip 16 dugumlu bir kume ile bulundu Yazarlar benzer bir cakismanin de 2 000 lik GPU zamaniyla bulunabilecegi tahmininde bulundular Yazarlar ayni zamanda tam SHA 1 cakismasi yapmak icin 75 bin ile 125 bin ABD dolari maliyetindeki EC2 CPU GPU gucunun yeterli olacagini soylemisler ve bunun bir suc orgutunun veya herhangi bir ulusal istihbarat orgutunun butcesiyle rahatlikla yapilabilecegini belirtmislerdir Ayrica yazarlar SHA 1 in kullaniminin olabildigince cabuk durdurulmasini onerdiler SHAttered 23 Subat 2017 de Google SHAttered saldirisi ismini verdikleri saldiri ile yaklasik 263 1 islemde ayni SHA 1 ozeti veren 2 farkli PDF dosyasi urettiklerini duyurdular Bu saldiri 280 islemde bulunabilen brute force ile SHA 1 ozeti cakismasi bulmaktan yaklasik 100 000 kat daha hizlidir Bu saldiri yaklasik tek CPU islem gucuyle yaklasik 6 500 yil veya tek GPU islem gucu ile yaklasik 110 yil surerdi SHA 0 98 de ve isimli iki Fransiz arastirmaci 261 karmasiklikta yapilabilen bir cakisma buldular ki bu saldiri ayni uzunluktaki ideal ozet fonksiyonu karmasikligi olan 280 islemden cok daha azdir 2004 te ve Chen SHA 0 icin cakismaya yakin saldirilar kesfettiler Neredeyse ayni ozet degeri olan 160 bitten 142 si ayni iki farkli mesaj buldular Ayni zamanda SHA 0 in tam cakismalarini 80 turdan 62 tura dusurulebildigini buldular Daha sonra 12 Agustos 2004 te Joux Carribault Lemuet ve Jalby tarafindan tam SHA 0 algoritmasi icin cakisma bulundugu aciklandi Bu saldiri Chabaud ve Joux un saldirilarinin genellestirilmesiyle yapildi Capisima 251 karmasiklikta bulundu ve 256 Itanium 2 islemcisine sahip bir super bilgisayarda yaklasik 80 000 islemci zamani surdu Bir bilgisayarin 13 gun surekli kullanilmasina esdeger sure 17 Agustos 2004 teki CRYPTO 2004 oturumunda Wang Feng Lai and Yu tarafindan MD5 SHA 0 ve baska ozet fonksiyonlariyla ilgili saldirilarin on sonuclari aciklandi Bu sonuclarda SHA 0 saldirisinin karmasikligi 240 olarak aciklandi Bu da Joux a ait saldiridan cok daha verimli Subat 2005 te Xiaoyun Wang Yiqun Lisa Yin ve Hongbo Yu SHA 0 cakismasini 239 islemde bulduklarini duyurdular 2008 de yapilan ile cakisma bulmak 233 6 isleme indirildi ki bu ortalama bir bilgisayarda 1 saatte yapilabilmektedir SHA 0 daki sonuclarin ardindan bazi uzmanlar SHA 1 in yeni kullanimina iliskin planlarin tekrar gozden gecirilmesi gerektigini onerdi CRYPTO 2004 ten sonra NIST 2010 yilina kadar SHA 1 in kullaniminin asamali olarak durdurulacagini ve yerine SHA 2 nin kullanilacagini acikladi Resmi dogrulamasi FIPS tarafindan kabul goren tum guvenlik fonksiyonlari NIST National Institute of Standards and Technology ve CSE Communications Security Establishment tarafindan yurutulen Cryptographic Module Validation Program programi tarafindan dogrulanir Gayri resmi dogrulama icin cok sayida test vektoru iceren paket NIST in sitesinden indirilebilir fakat bu testlerden cikacak sonuc bazi uygulamalar icin kanunen zorunlu olan resmi CMVP dogrulamasi yerine gecmez Aralik 2013 itibariyla SHA 1 in 2000 den fazla farkli ve gecerli uygulamasi vardir fakat bunlardan sadece 14 tanesi mesaj boyutu 8 ve kati bit uzunlugundaki mesajlar disindakilerde calisabilir Ornekler ve Sozde KoduOrnek Ozetler Bunlar onaltilik tabanda ve ASCII Base64 formatindaki SHA 1 mesaj ozetleri SHA1 The quick brown fox jumps over the lazy d og onaltilik tabandaki ozeti 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 ASCII Base64 ozeti L9ThxnotKPzthJ7hu3bnORuT6xI Even a small change in the message will with overwhelming probability result in many bits changing due to the For example changing dog to cog produces a hash with different values for 81 of the 160 bits SHA1 The quick brown fox jumps over the lazy c og onaltilik tabandaki ozeti de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3 ASCII Base64 ozeti 3p8sf9JeGzr60 haC9F9mxANtLM The hash of the zero length string is SHA1 onaltilik tabandaki ozeti da39a3ee5e6b4b0d3255bfef95601890afd80709 ASCII Base64 ozeti 2jmj7l5rSw0yVb vlWAYkK YBwk SHA 1 sozde kodu SHA 1 algoritmasinin sozde kodu Note 1 All variables are unsigned 32 bit quantities and wrap modulo 232 when calculating except for ml the message length which is a 64 bit quantity and hh the message digest which is a 160 bit quantity Note 2 All constants in this pseudo code are in big endian Within each word the most significant byte is stored in the leftmost byte position Initialize variables 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 Pre processing 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 congruent to 64 448 mod 512 append ml the original message length as a 64 bit big endian integer Thus the total length is a multiple of 512 bits Process the message in successive 512 bit chunks break message into 512 bit chunks for each chunk break chunk into sixteen 32 bit big endian words w i 0 i 15 Extend the sixteen 32 bit words into eighty 32 bit words for i from 16 to 79 w i w i 3 xor w i 8 xor w i 14 xor w i 16 1 Initialize hash value for this chunk a h0 b h1 c h2 d h3 e h4 Main loop 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 Add this chunk s hash to result so far h0 h0 a h1 h1 b h2 h2 c h3 h3 d h4 h4 e Produce the final hash value big endian as a 160 bit number hh h0 leftshift 128 or h1 leftshift 96 or h2 leftshift 64 or h3 leftshift 32 or h4 hh sayisi mesaj ozetini gosterir Genellikle ASCII Base64 formatinda yazilir ama onaltilik tabanda da yazilabilir Buradaki sabit sayilar rastgeleligi maksimize etmek icin bilerek secilmis sayilardir 4 sabit k sayisi 2 3 5 ve 10 sayilarinin 230 kere kare kokleri alinmis halidir h0 danh3 e kadar olan dort baslangic degeri MD5 algoritmasindakilerle tamamen aynidir ve besinci deger ise h4 cok benzeridir FIPS PUB 180 1 den direkt formulize etmek yerine asagidaki benzer ifadelerle ana dongudeki f degeri hesaplanabilir Bitwise choice betweencandd controlled byb 0 i 19 f d xor b and c xor d alternative 1 0 i 19 f b and c xor not b and d alternative 2 0 i 19 f b and c not b and d alternative 3 0 i 19 f vec sel d c b alternative 4 Bitwise majority function 40 i 59 f b and c or d and b or c alternative 1 40 i 59 f b and c or d and b xor c alternative 2 40 i 59 f b and c d and b xor c alternative 3 40 i 59 f b and c xor b and d xor c and d alternative 4 40 i 59 f vec sel c b c xor d alternative 5 Max Locktyukhin ayrica 32 79 arasindaki turlari asagidaki gibi gostermistir w i w i 3 xor w i 8 xor w i 14 xor w i 16 1 sununla degistirilebilir w i w i 6 xor w i 16 xor w i 28 xor w i 32 2 This transformation keeps all operands 64 bit aligned and by removing the dependency of w i on w i 3 allows efficient SIMD implementation with a vector length of 4 like x86 instructions Bu donusum tum islenilenleri 64 bit hizali tutar ve w i nin w i 3 uzerindeki bagimliligini silerek x86 SSE islemleri gibi vektor uzunlugu 4 olan verimli SIMD Single Instruction Stream Multiple Data Stream uygulamasina izin verir SHA Fonksiyonlarinin KarsilastirilmasiAsagidaki tabloda ic durum her bir veri blogunun sikistirma islemi sonundaki ic ozet degeri toplami dir Daha fazla bilgi icin Ozet fonksiyonunun performansi sadece algoritmaya bagli olarak degismez Ayni zamanda o algoritmanin nasil uygulandigina ve kullanilan donanima da baglidir OpenSSL aracinda kullanicilarin sistemlerinde calisan algoritmalarin hizini olcen bir hiz komutu vardir 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 2015Notlar a b Arsivlenmis kopya PDF 17 Subat 2013 tarihinde kaynagindan PDF Erisim tarihi 22 Nisan 2017 a b Schneier Bruce 18 Subat 2005 14 Nisan 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Nisan 2017 29 Nisan 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 23 Nisan 2017 a b c d Stevens1 Marc Karpman Pierre Peyrin Thomas The SHAppening freestart collisions for SHA 1 19 Nisan 2017 tarihinde kaynagindan Erisim tarihi 9 Ekim 2015 Schneier Bruce 8 Ekim 2015 Schneier on Security 28 Ocak 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Nisan 2017 Microsoft 24 Eylul 2015 5 Ekim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 7 Agustos 2016 Intent to Deprecate SHA 1 certificates Google 3 Eylul 2014 Erisim tarihi 4 Eylul 2014 olu kirik baglanti Safari and WebKit ending support for SHA 1 certificates Apple Support Apple Inc 24 Ocak 2017 Erisim tarihi 4 Subat 2017 Mozilla 7 Eylul 2014 tarihinde kaynagindan arsivlendi Erisim tarihi 4 Eylul 2014 CA Problematic Practices MozillaWiki Mozilla 6 Mayis 2017 tarihinde kaynagindan Erisim tarihi 9 Eylul 2014 Mozilla 23 Eylul 2014 25 Nisan 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 24 Eylul 2014 CWI Google announce first collision for Industry Security Standard SHA 1 23 Subat 2017 tarihinde kaynagindan Erisim tarihi 23 Subat 2017 12 Nisan 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 23 Subat 2017 RSA FAQ on Capstone 6 Nisan 2017 tarihinde kaynagindan Erisim tarihi 26 Nisan 2017 Selvarani R Aswatha Kumar T V Suresh Kumar Proceedings of International Conference on Advances in Computing s 551 1 Temmuz 2016 tarihinde kaynagindan Erisim tarihi 26 Nisan 2017 Secure Hash Standard Federal Information Processing Standards Publication FIPS PUB 180 National Institute of Standards and Technology 11 Mayis 1993 Domke Felix aka tmbinc 24 Nisan 2008 23 Aralik 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 5 Ekim 2014 For verifying the hash which is the only thing they verify in the signature they have chosen to use a function strncmp which stops on the first nullbyte with a positive result Out of the 160 bits of the SHA1 hash up to 152 bits are thrown away National Institute on Standards and Technology Computer Security Resource Center NIST s March 2006 Policy on Hash Functions 2 Ocak 2014 tarihinde Wayback Machine sitesinde accessed September 28 2012 National Institute on Standards and Technology Computer Security Resource Center NIST s Policy on Hash Functions 9 Haziran 2011 tarihinde Wayback Machine sitesinde accessed September 28 2012 Tech Talk Linus Torvalds on git 11 Subat 2013 tarihinde kaynagindan Erisim tarihi 13 Kasim 2013 Torvalds Linus marc info 24 Subat 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 30 Mayis 2016 Sotirov Alexander Stevens Marc Appelbaum Jacob Lenstra Arjen Molnar David Osvik Dag Arne de Weger Benne 30 Aralik 2008 25 Mart 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 29 Mart 2009 The Keccak sponge function family Keccak team 12 Ekim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Eylul 2015 Unlike SHA 1 and SHA 2 Keccak does not have the length extension weakness hence does not need the HMAC nested construction Instead MAC computation can be performed by simply prepending the message with the key Niels Ferguson Bruce Schneier and Tadayoshi Kohno Cryptography Engineering 1 Kasim 2012 tarihinde Wayback Machine sitesinde John Wiley amp Sons 2010 ISBN 978 0 470 47424 2 Cryptology ePrint Archive Report 2005 010 22 Kasim 2016 tarihinde kaynagindan Erisim tarihi 26 Nisan 2017 MIT edu 19 Subat 2005 tarihinde Wayback Machine sitesinde Massachusetts Institute of Technology Lemos Robert Fixing a hole in security ZDNet 29 Nisan 2014 tarihinde kaynagindan Erisim tarihi 23 Nisan 2017 New Cryptanalytic Results Against SHA 1 Schneier on Security 6 Agustos 2016 tarihinde kaynagindan Erisim tarihi 26 Nisan 2017 Notes on the Wang et al 263 SHA 1 Differential Path 22 Kasim 2016 tarihinde kaynagindan Erisim tarihi 26 Nisan 2017 De Canniere Christophe Rechberger Christian 15 Kasim 2006 Finding SHA 1 Characteristics General Results and Applications 8 Temmuz 2012 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Nisan 2017 24 Eylul 2015 tarihinde kaynagindan arsivlendi Erisim tarihi 30 Haziran 2009 17 Agustos 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 24 Temmuz 2010 12 Nisan 2010 tarihinde kaynagindan arsivlendi Erisim tarihi 30 Haziran 2009 heise online 15 Subat 2009 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Nisan 2017 24 Eylul 2015 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Nisan 2017 Manuel Stephane Classification and Generation of Disturbance Vectors for Collision Attacks against SHA 1 PDF 5 Mayis 2012 tarihinde kaynagindan PDF Erisim tarihi 19 Mayis 2011 Manuel Stephane Classification and Generation of Disturbance Vectors for Collision Attacks against SHA 1 3 Subat 2013 tarihinde kaynagindan arsivlendi Erisim tarihi 4 Ekim 2012 the most efficient disturbance vector is Codeword2 first reported by Jutla and Patthak SHA 1 collisions now 2 52 PDF 22 Subat 2012 tarihinde kaynagindan PDF Erisim tarihi 26 Nisan 2017 8 Eylul 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Nisan 2017 Cryptanalysis of MD5 amp SHA 1 PDF 21 Aralik 2014 tarihinde kaynagindan PDF Erisim tarihi 26 Nisan 2017 25 Nisan 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Nisan 2017 Google Project Hosting 30 Aralik 2014 tarihinde kaynagindan Erisim tarihi 26 Nisan 2017 Karpman Pierre Albertini Ange Markov Yarik 2017 Shacham Hovav Ed PDF Advances in Cryptology 2017 10401 ss 570 596 doi 10 1007 978 3 319 63688 7 19 ISBN 9783319636870 15 Mayis 2018 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 23 Subat 2017 Diger ozet Google Security Blog 23 Subat 2017 Chabaud Florent Joux Antoine 1998 Differential Collisions in SHA 0 PDF 98 11 Ekim 2017 tarihinde kaynagindan PDF Erisim tarihi 26 Nisan 2017 2 Mayis 2009 tarihinde kaynagindan arsivlendi Erisim tarihi 26 Nisan 2017 SHA 1 Broken Schneier on Security 5 Mayis 2017 tarihinde kaynagindan Erisim tarihi 26 Nisan 2017 Cince Sdu edu cn 10 Eylul 2005 tarihinde Wayback Machine sitesinde Manuel Stephane Peyrin Thomas 11 Subat 2008 Collisions on SHA 0 in One Hour 9 Nisan 2016 tarihinde kaynagindan Erisim tarihi 26 Nisan 2017 PDF 4 Haziran 2011 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 26 Nisan 2017 RFC 3174 US Secure Hash Algorithm 1 SHA1 20 Mart 2017 tarihinde kaynagindan Erisim tarihi 23 Nisan 2017 Locktyukhin Max Farrel Kathy 31 Mart 2010 Improving the Performance of the Secure Hash Algorithm SHA 1 Intel Software Knowledge Base Intel 28 Eylul 2010 tarihinde kaynagindan erisim tarihi 2 Nisan 2010 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 KaynakcaFlorent Chabaud Antoine Joux Differential Collisions in SHA 0 1998 pp56 71 Rafi Chen Near Collisions of SHA 0 Cryptology ePrint Archive Report 2004 146 2004 appeared on CRYPTO 2004 IACR org27 Eylul 2004 tarihinde Wayback Machine sitesinde Hongbo Yu and Yiqun Lisa Yin Efficient Collision Search Attacks on SHA 0 CRYPTO 2005 Yiqun Lisa Yin and Hongbo Yu Finding Collisions in the Full SHA 1 Crypto 2005 MIT edu 15 Temmuz 2017 tarihinde Wayback Machine sitesinde Security Analysis of SHA 256 and Sisters 2003 pp175 193 unixwiz net 26 Nisan 2017 tarihinde Wayback Machine sitesinde Proposed Revision of Federal Information Processing Standard FIPS 180 Secure Hash Standard Federal Register 59 131 11 Temmuz 1994 ss 35317 35318 Erisim tarihi 26 Nisan 2007 olu kirik baglanti A Cilardo L Esposito A Veniero A Mazzeo V Beltran E Ayugade A CellBE based HPC application for the analysis of vulnerabilities in cryptographic hash functions High Performance Computing and Communication international conference August 2010Dis baglantilar Official NIST site for the Secure Hash Standard RFC 3174 with sample C implementation Interview with Yiqun Lisa Yin concerning the attack on SHA 129 Nisan 2014 tarihinde Wayback Machine sitesinde Explanation of the successful attacks on SHA 1 21 Kasim 2008 tarihinde Wayback Machine sitesinde 3 pages 2006 Cryptography Research Hash Collision Q amp A17 Temmuz 2008 tarihinde Wayback Machine sitesinde Online SHA1 hash crack using Rainbow tables 26 Ocak 2021 tarihinde Wayback Machine sitesinde Curlie de SHA 1 DMOZ tabanli YouTube da Lecture on SHA 1 by Christof Paar 24 Nisan 2017 tarihinde Wayback Machine sitesinde