Teorik olarak mümkün, ancak henüz yapılmamıştır.
Aradığın şeye "hash çarpışması" denir: aynı karıĢıma sahip iki dosya. SHA-1 gibi şifreleme karma kodları genellikle bunu zorlaştırmak için tasarlanmıştır. SHA-1 bir 160 bit kod olduğundan, ortalama 2 ^ 159 kaba kuvvet bir kopyasını bulmaya çalışır. Kriptografik bir karmaya karşı güvenilir şekilde daha iyisini yapan bir algoritma bulunursa, karma "kırılmış" olarak kabul edilir.
MD-5 çok kırılmış bir karma örneğidir. Ortalama 2 ^ 127 deneme gerektiren 128 bitlik bir güce sahip olması gerekiyordu. Bilindiği gibi, güvenlik açıklarını kötüye kullanmak, gereken gerçek girişim sayısı 2 ^ 47 kadar düşük olabilir. Bu, 2 ^ 127'den küçük bir LOT'tur. Aslında, bir modern bilgisayar kümesinde bir günün altında yapıldı.
Bu örneği vereceğim çünkü bu SHA-1'i kullanmak istediğinize en yakın şey. Ancak, karma değerlerin kırılmadığından emin olmak için kullanılan en yaygın yaklaşım kriptanaliz değildir. Genellikle bir dosya seçmeniz ve saldırganın eşleştirmesini istemediğiniz yerine, saldırgan tarafından seçilen iki dosya arasında bir çarpışmaya izin verir. Bu tür bir saldırının kıyaslama yapmak daha kolay olma avantajı vardır. Dosyanızı kırmanın "zor" olduğunu tespit edersem, bu başka bir dosyanın benzer şekilde güçlü olduğu anlamına mı geliyor? Saldırganın her iki dosyayı da seçtiği bu saldırı, en kötüsünün en kötüsünü yakalamamızı sağlar.
Bu tür bir saldırı " doğum günü saldırısı " olarak bilinen ilginç bir numaraya izin verir . Uzun lafın kısası, doğum günü saldırısını kullanmak algoritmanın gücünü yarıya indirir, bu nedenle SHA-1 2 ^ 80 deneme (ortalama) ve MD5 2 ^ 64 deneme (ortalama) gerektirir. Bunlar sırasıyla 160 ve 128'in yarısı.
SHA-1, gücünü 2 ^ 80'den 2 ^ 69'a düşüren saldırılar biliyor. Bu senin için çok önemli olmayacak. 2 ^ 69 girişimi uzun zaman alıyor.
Ancak, tarihe göre, karma algoritmaların kendiliğinden kırılmadığını, zaman içinde kırıldığını gördük. Kimse MD-5 gibi bir algoritmayı gece boyunca 2 ^ 64'den 2 ^ 47'ye kadar kırar. Bu, zamanla gerçekleşir, çünkü birçok kişi, kendilerine karşı kullandıkları matematikle ilgili makaleler yayınlar. Biri genellikle algoritmaların başlangıcından (en iyi saldırının genellikle doğum günü saldırısı olduğu) saldırıların karmaşıklığının yavaşça azaldığını izleyebilir.
Çarpışmalarda bazı değişiklikler gördüğümüz gerçeği, SHA-1'in tünelin sonunda ışığı gördüğünü gösteriyor. Hala güçlü, ancak şu anda çok daha güvenli olan en yeni SHA-3'e gitme isteği olabilir.
Bu tür kararları gerçekten bir tehdit modeli perspektifinden vermelisiniz. Saldırganın bu çarpışmalardan birini alması durumunda ne kadar hasar verebileceği. Saldırganlarınız, birkaç dizüstü bilgisayara ya da tüm süper bilişim kümelerine sahip hükümetleri emrinde olan çocuk senaryoları yazıyor mu? Bir saldırgan, kullanılmadan önce ne kadar büyük bir saldırganın hastayı kırması gerekir (kriptografinin birçok kullanımı parola döndürme gibi bir "korumanın değiştirilmesi" gerektirir). Bütün bunlar çarpışmaları ne kadar ciddiye almanız gerektiğini etkileyecektir.