Saldırı senaryoları ile sizin için farkı motive edebilirim.
Bir de ilk öngörüntü atak , sadece belirli bir düşmanı, sorun bulmak için, m ya da m ' , öyle ki , H ( m, ' ) = * H ( m ) . Web sitesi depolar varsayalım { u s e r , n bir m, e , H ( s , bir s s w O r d ) } veritabanlarının yerine de { u s eH(m)mm′H(m′)H(m){username,H(password)} . Web sitesi hala şifrelerini kabul edip karşılaştırarak kullanıcının doğruluğunu kontrol edebilirsiniz H ( i , n p u t ) = ? 'H ( s , bir s s w O r d ) (olasılığı ile 1 / 2 , n bazı büyük için n yanlış pozitif). Şimdi bu veritabanının sızdırıldığını ya da başka şekilde karşılaştırıldığını varsayalım. bir{username,password}H(input)=?H(password)1/2nnilk ön hamle saldırısı , bir düşmanın yalnızca bir mesaj özetine erişebildiği ve bu değere sahip bir mesaj üretmeye çalıştığı durumdur.
Bir de ikinci öngörüntü saldırısı , biz hasım fazla bilgi verir. Özellikle, sadece biz onu vermek do değil, aynı zamanda onu vermek m . H ( m ) = m d karma fonksiyonunu göz önünde bulundurunH(m)mp ve q, büyük asal ve vardır d genel bir sabittir. Açıkçası,ilk preimage saldırı içinbu RSA problemi haline geliyor ve zor olduğuna inanılıyor. Bununla birlikte,ikinci ön hamle saldırısındabir çarpışma bulmak kolaylaşır. Eğer biri m ′ = m koyarsaH(m)=mdmodpqpqd , H ( m p q + m ) = ( m p q + m ) dm′=mpq+m . Ve böylece rakip, hesaplamanın çok az olduğu bir çarpışma buldu.H(mpq+m)=(mpq+m)dmodpq=mdmodpq
Bu dirençli bir şekilde hızlı arama fonksiyonlarını istiyoruz ikinci öngörüntü saldırıları durumda olarak, dijital imza şemaları, ile genel bilgileri olarak kabul edilir ve (dolaylı yoldan bir seviye ile) boyunca geçirilir Belgenin her kopyası. İşte bir saldırganın hem erişimi vardır d . Saldırgan orijinal belge üzerinde bir varyasyon (veya tamamen yeni bir mesajla) ile gelip Eğer d ' , öyle kiH(document) ve H ( d o c u m e n t )documentH(document)d′ o sanki onun belgesi yayınlamak olabilir Orijinal imzalayan.'H( d') = H( dO C u m e n t )
Bir çarpışma saldırısı , rakiplere daha fazla fırsat verir. Bu şemada, rakipten (onu Bob diyebilir miyim?) ve m 2 mesajlarını bulmasını isteriz ki öyle ki H ( m 1 ) =m1m2 . Güvercin deliği prensibi ve doğum günü paradoksu nedeniyle, 'mükemmel' hash fonksiyonları bile, çarpışma saldırılarına karşı önleyici ataklardan dört kat daha zayıftır. Başka bir deyişle, öngörülemeyen ve geri dönüşü olmayan bir mesaj sindirim işlevi f ( { 0 , 1 } ∗ ) = { 0'H( m1) =H( m2) alır O ( 2 N ) kaba kuvvet zaman, bir çarpışma her zaman beklenen süre bulunabilir O ( s q r t ( 2 N ) ) = O ( 2 N / 2 ) .f( { 0 , 1 }*) = { 0 , 1 }nO ( 2)n)O ( s) qr, t ( 2n) ) = 0 ( 2)n / 2)
Bob, avantajına çarpışma saldırısını birçok yönden kullanabilir. İşte en basitlerinden biri: Bob iki ve b ikilileri arasında bir çarpışma bulur ′ ( H ( b ) = Hbb' b geçerli bir Microsoft Windows güvenlik yaması ve olacak şekilde) b ' malware olduğunu. (Bob Windows için çalışıyor). Bob güvenlik düzeltme ekini bir emir komuta zinciri yolluyor, bir kasanın ardında kodu imzalayıp bir ikiliyi bir hatayı düzeltmek için dünyadaki Windows kullanıcılarına gönderiyorlar. Bob artık dünyanın her yerindeki tüm Windows bilgisayarlara b ′ ve Microsoft’un hesapladığı b.'H( b ) = H( b')b′b′b. Bu tür saldırı senaryolarının ötesinde, eğer bir karma fonksiyonun çarpışmaya dirençli olduğuna inanılırsa, bu karma fonksiyonun da preagege dayanıklı olması daha muhtemeldir.