Bir karma fonksiyonu, herhangi bir boyuttaki veriyi sabit boyutlu bir değere eşler. Aynı girdi her zaman aynı çıktıyı üretir. Bir biti değiştirirseniz, çıktı tamamen değişir. Bu özellik, karma fonksiyonlarını bütünlük kontrolleri için kullanışlı hale getirir. Bir dosyayı indirin ve karma değerini yayınlanan değerle karşılaştırın. Eşleşirse, dosya bozulmadan ulaşmıştır. Eşleşmezse, bir şey onu değiştirmiştir.
Karma fonksiyonları tek yönlüdür. Bir karma değerinden orijinal veriye geriye doğru işlem yapamazsınız. Bu da onları parola depolama için kullanışlı hale getirir. Sistemler parolanın kendisini değil, karma değerini saklar. Giriş yaptığınızda, sistem yazdığınızı karma değerine dönüştürür ve saklanan karma değeriyle karşılaştırır. Veritabanı sızarsa, saldırgan parolaları değil, karma değerlerini elde eder. Zayıf parolalar yine de gökkuşağı tabloları veya kaba kuvvet yöntemleriyle kırılabilir, bu nedenle tuzlama önemlidir. Tuz, karma işleminden önce her parolaya eklenen rastgele veridir, böylece aynı parolalar farklı karma değerleri üretir. SHA-256 ve SHA-3 yaygın kriptografik karma fonksiyonlarıdır. MD5 ve SHA-1 kırılmıştır ve güvenlik için kullanılmamalıdır. Karma fonksiyonları ayrıca blok zincirlerini, dijital imzaları ve dosya tekilleştirmeyi de destekler.
Karma fonksiyon özellikleri
- Deterministik — aynı girdi, aynı çıktı
- Hızlı — hesaplaması çabuk
- Ön görüntüye karşı dirençli — geri döndürülemez
- Çarpışmaya dayanıklı — aynı karma değerine sahip iki girdi bulmak zor.
Karma değer (hash), şifreleme değil, bir parmak izidir. Veri bütünlüğünü kanıtlar, veriyi gizlemez.
Comments
No comments yet. Be the first to share a thought.
Leave a comment