Sağlama toplamları ne kadar benzersizdir?


11

Sıralama gereken çok fazla dosyam var; ve ne yazık ki aynı ada ancak farklı içeriğe sahip birçok dosya var ve farklı dosya adlarına sahip aynı içerik var.

md5sumDosyalar için sağlama toplamı oluşturmak için kullanmayı düşünüyorum , ama bilmem gerek - iki farklı dosya (yani. Farklı içerik) aynı sağlama toplamı üretmek mümkün mü?

Eğer öyleyse, gerçekleşme olasılığı nedir?

İki farklı dosyanın her iki sağlama toplamı programından biri için aynı sağlama toplamını oluşturabileceği varsayımıyla, iki sağlama toplamı oluşturmak için iki farklı ilişkisiz (yani aynı "aile" de değil) sağlama toplamı programı kullanmak mümkün mü, ikisine birden aynı anda asla gelemez mi?


2
Md5 / sha2 / etc'nin bir veri HASH'ı olduğunu unutmayın, böylece çok sayıda bilgiyi daha küçük bir bit alanına eşleştirir, böylece çarpışmalar olabilir. HASH benzersiz bir anahtar değildir ve hedefiniz buysa ... Başka bir şey yapmanızı şiddetle tavsiye ederim.
mdpc

Dosyaları sıralamak için MD5 iyidir. Kaynaktan crypto.stackexchange.com/a/18337/49945 , iki farklı içerik sağlama çarpışma olasılığı 1 ^ 43 10 ile ilgili olarak olan 1 128 ^ 2 bulunmaktadır. Bu gerçekten, çok nadir. Mikrosaniye başına bir karşılaştırma yaparsanız, ortalama 10 ^ 20 yılda bir çarpışma olur. Big Bang'den bu yana ~ 10 ^ 9 yıl geçti, bu yüzden TEK BİR ZAMANDA BİRLİKTE meydana gelen bir çarpışma olasılığı, Big Bang'den bugüne kadar mikrosaniye başına bir karşılaştırmada hala 10 ^ 11'de sadece 1. Yüz milyar eşzamanlı bilgisayar göz önüne alındığında, henüz bir kişi bir çarpışma görecekti.
ToolmakerSteve

... dosyaları sıralarken neden herhangi bir karma algoritma kullanacağınız belli değil. Aynı ada sahip dosyalar varsa, bunların başka bazı ölçütlerle tanımlanabilir olması gerekir; örneğin , dosyanın benzersiz bir yolu veya bazı depolama aygıtları içinde bir bayt uzaklığı olmalıdır ? Bunlardan her ikisi de dosyaya benzersiz bir şekilde başvurmanın daha yararlı bir yolu olacaktır.
ToolmakerSteve

Yanıtlar:


11

Aynı içeriğe ancak farklı dosya adlarına sahip iki dosya: ( dosya1 ve dosya2 ):

cat file1
this is a simple file

cat file2
this is a simple file

md5sum file1
7de45bf879db49de7e2eacea23e6c165  file1
md5sum file2
7de45bf879db49de7e2eacea23e6c165  file2

Farklı içeriklere sahip ancak aynı dosya adlarına sahip iki dosya: ( dosya1 ve dosya1 )

cat file1
this is a simple file
cat file1
this is a simple file with extra contents
md5sum file1 #first file1
7de45bf879db49de7e2eacea23e6c165  file1
md5sum file1 #second file1
c7c8f3fd9ddd7a926c31416a69063e4e  file1

Gönderen wiki girişi,

Ancak, gerçekte aynı özdeş olmayan iki dosyanın, aynı hash değerine sahip olacak şekilde özel olarak oluşturulmadıkları sürece, aynı MD5 karmasına sahip olması pek olası değildir.

Ancak, MD5 algoritmasının kendi kusurları vardır.

Ancak, MD5 çarpışmaları oluşturmak artık kolay olduğundan, dosyayı oluşturan kişinin aynı sağlama toplamı ile ikinci bir dosya oluşturması mümkündür, bu nedenle bu teknik bazı kötü niyetli değişikliklere karşı koruma sağlayamaz. Ayrıca, bazı durumlarda, sağlama toplamına güvenilemez (örneğin, indirilen dosyayla aynı kanal üzerinden elde edilmişse), bu durumda MD5 yalnızca hata denetimi işlevselliği sağlayabilir: bozuk veya eksik bir indirme, bu daha büyük dosyalar indirilirken daha olası hale gelir.

Ben sağlama toplamı hesaplamak için sha1 kullanmanızı tavsiye ederim çünkü çarpışmalar üretmek sha1 algoritmaları kullanırken o kadar kolay değil . Burada gördüğünüz gibi sha1 sağlama toplamı üretmek oldukça kolaydır .


NOT: soru dosyaları sıralamakla ilgilidir ; kullanma önerisi sha1bu görevle ilgili değildir; sadece güvenlikle ilgili olduğunda önemlidir .
ToolmakerSteve
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.