Güvenli uygulama SHA çarpışma olasılığını göz ardı etmektir.
Hadi bir milyar benzersiz görüntüler, her bir megabayt. Biz her dosyanın içeriğini için SHA-256 hash hesaplamak. Çarpışma olasılığı bağlıdır:
- dosya sayısı
tek dosyanın boyutu
Ne kadar bu olasılığı göz ardı gidebiliriz, sıfır olduğunu varsayarsak?
CEVAP
Her zamanki gibi cevap gider böylece: ne bu olasılık bir haydut göktaşı düştü Dünya'nın içinde bir an bozulması medeniyet-as-we-know-ve öldürüyor bir kaç milyar insan ? Bir olasılık daha düşük olan herhangi bir şanssız olay aslında çok önemli olmadığı söylenebilir.
Eğer bir "" çıktı boyutu ile . mükemmel hash fonksiyonu varsa ^em>nvar , vepkarma mesaj (özel mesaj uzunluğu önemli değil), çarpışma sonra olasılıkp2/2n 1(bunun için geçerli olan bir yaklaşımdır "" . küçük ^em>pyani daha oldukça küçük2n/2). SHA-256 ile örneğin, (n=256ve bir milyar mesaj (=10 p9sonra bu olasılık hakkında4.3*10-60.
Seri katil bir uzay taşı, ortalama 30 milyon yılda bir olur. Böyle bir olay hakkında sonraki ikinci yılında meydana gelen bir olasılık yol açar10-15. Bu45büyüklük SHA-256 çarpışma daha muhtemel. Eğer SHA-256 çarpışmalar korkutucu bulursanız kısaca ifade etmek gerekirse, o zaman önceliklerinizi yanlış.
Bir güvenlik Kur, bir saldırganın alır tercih iletileri çıkar sağlaması, sonra da saldırgan olabilir kullanımı oldukça fazla bir milyar mesaj; ancak, sen-ecek bulmak o saldırganın başarı olasılığı yine de oldukça küçük. Çarpışma riskleri ihmal edilebilir. böylece 256-bit çıkışlı bir karma işlevini kullanarak bütün mesele:
Tabii ki, SHA-256 yukarıdaki varsayar her bir "mükemmel" kanıtlanmış olmaktan çok uzak olan karma işlevi. Yine de, SHA-256, oldukça sağlam görünüyor.
Yöntem adı arayüzü çarpışma uygulama -...
Güvenli bir java değerleri elde etmekt...
Güvenli C 0 için eşitlik için kayan no...
Nasıl bir aktivite olmadığını kontrol ...
Null-güvenli bir compareTo basitleştir...