Şifreleme Karma İşlevi

Şifreleme Karma Fonksiyon Tanımı

Bir şifreleme karma işlevi, bir sağlama toplamı olarak adlandırılan bir değer üretmek için tek bir dosya veya parola gibi bir veri parçası üzerinde çalıştırılabilen bir algoritma türüdür.

Bir şifreleme karma işlevinin ana kullanımı, bir veri parçasının gerçekliğini doğrulamaktır. Aynı kriptografik karma işlevi kullanılarak, her dosyadan oluşturulan sağlama toplamları aynı ise, iki dosya özdeştir.

Yaygın olarak kullanılan bazı şifreleme karma işlevleri arasında MD5 ve SHA-1 bulunur , ancak birçoğu da vardır.

Not: Kriptografik karma işlevleri genellikle kısa süreli karma işlevleri olarak adlandırılır, ancak bu teknik olarak doğru değildir. Karma işlevi, genellikle kriptografik karma işlevlerini döngüsel artıklık denetimleri gibi diğer algoritmalarla birlikte kullanmak için kullanılan daha genel bir terimdir.

Kriptografik Karma Fonksiyonlar: Bir Kullanım Örneği

Firefox tarayıcısının en son sürümünü indirdiğinizi varsayalım. Hangi nedenle olursa olsun, Mozilla'nın dışındaki bir siteden indirmeniz gerekiyordu. Güvenmeyi öğrendiğiniz bir sitede barındırılmıyorsanız, yeni indirdiğiniz yükleme dosyasının Mozilla'nın sunduğu aynı şey olduğundan emin olmak istersiniz.

Bir sağlama toplamı hesaplayıcısı kullanarak, belirli bir şifreleme karma işlevini (SHA-2) kullanarak bir sağlama toplamı hesaplarsınız ve sonra bunu Mozilla'nın sitesinde yayınlanan ile karşılaştırırsınız.

Eşittirlerse, sahip olduğunuz indirme işleminin sahip olduğunuz Mozilla olduğundan emin olabilirsiniz.

Bir sağlama toplamı nedir? Bu özel hesap makineleri hakkında daha fazla bilgi için, indirdiğiniz dosyaların gerçekten olmasını beklediğinizden emin olmak için sağlama toplamlarını kullanma konusunda daha fazla örnek.

Kriptografik Karma Fonksiyonları Tersine Çevirebilir mi?

Kriptografik karma işlevleri, orijinal metinlere geri yarattıkları sağlama toplamlarını tersine çevirme yeteneğini önleyecek şekilde tasarlanmıştır.

Ancak, tersine çevirmek neredeyse imkânsız olsa bile, verilerin korunması için% 100 garantili olduğu anlamına gelmez.

Gökkuşağı tablosu olarak adlandırılan bir şey, bir sağlama toplamının düz metnini hızlıca bulmak için kullanılabilir. Gökkuşağı tabloları temel olarak, karşılık gelen düz metin değeriyle birlikte binlerce, milyonlarca hatta milyarlarca insanı listeleyen sözlüklerdir.

Bu, kriptografik karma algoritmayı teknik olarak tersine çevirmese de, yapılması çok kolay olduğu için olabilir. Gerçekte, hiçbir gökkuşağı tablosu, var olan her olası sağlama toplamını listeleyebildiğinden, genellikle basit şifreler için zayıf şifreler gibi sadece "yardımcı" olurlar.

SHA-1 şifreleme karma işlevini kullanırken nasıl çalıştığını göstermek için gökkuşağı tablosunun basitleştirilmiş bir sürümü:

plaintext SHA-1 Checksum
12345 8cb2237d0679ca88db6464eac60da96345513964
password1 e38ad214943daad1d64c102faec29de4afe9da3d
köpeğimi seviyorum a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Bu değerlerin sağlama toplamı kullanılarak belirlenmesi için, bilgisayar korsanının bunları üretmek için hangi şifreleme karma algoritmasının kullanıldığını anlaması gerekir.

Ek koruma için, kullanıcı şifrelerini saklayan bazı web siteleri, değer oluşturulduktan sonra ancak saklanmadan önce kriptografik karma algoritmasına ek işlevler gerçekleştirir.

Bu, yalnızca web sunucusunun anladığı ve orijinal sağlama toplamıyla tam olarak eşleşmeyen yeni bir değer üretir.

Örneğin, bir parola girildikten ve sağlama toplamı oluşturulduktan sonra, parola veritabanında saklanmadan önce birkaç parçaya ayrılabilir ve yeniden düzenlenebilir veya bazı karakterler başkalarıyla değiştirilebilir. Kullanıcı, bir sonraki oturum açışında kimlik doğrulamayı denediğinde, bu ek işlev, kullanıcının şifresinin geçerli olduğunu doğrulamak için web sunucusu ve tekrar oluşturulan orijinal sağlama toplamı tarafından tersine çevrilir.

Bunu yapmak, tüm checksum'ların çalındığı bir hack'in kullanışlılığını sınırlandırmaya yardımcı olur.

Yine, buradaki fikir, bilinmeyen bir işlevi yerine getirmektir, böylece bilgisayar korsanı şifreleme karma algoritmasını bilmese de, bu özel şifreyi bilmezse, parola sağlama toplamlarını bilmeniz yararsızdır.

Şifreler ve Şifreleme Karma Fonksiyonları

Gökkuşağı tablosuna benzer şekilde bir veritabanı kullanıcı parolalarını nasıl kaydeder. Parolanız girildiğinde, sağlama toplamı oluşturulur ve kullanıcı adınızdaki kayıtla karşılaştırılır. Daha sonra ikisinin aynı olması durumunda erişim izni verilir.

Bir şifreleme karma işlevinin tersine çevrilemez bir sağlama toplamı ürettiği düşünüldüğünde, bu, şifrelerinizin kendilerinin anlaşılamaması nedeniyle, şifrenizi 12 @ 34 $ 5 yerine 12345 kadar basit yapabileceğiniz anlamına mı geliyor? Kesinlikle değil , ve işte neden ...

Gördüğünüz gibi, bu iki şifrenin sadece kontrol toplamına bakarak çözülmesi imkansızdır:

12345 için MD5: 827ccb0eea8a706c4c34a16891f84e7b

12 için MD5 @ 34 $ 5: a4d3cc004f487b18b2ccd4853053818b

Yani, ilk bakışta bu şifrelerden birini kullanmanın kesinlikle iyi olduğunu düşünebilirsiniz. Bir saldırgan, MD5 sağlama toplamını (kimsenin yapmadığı) tahmin ederek şifrenizi çözmeyi denediyse, ancak kaba kuvvet veya sözlük saldırısı gerçekleştirilirse (ki bu ortak bir taktiktir) doğru değilse, bu kesinlikle doğrudur.

Bir paçavra saldırısı, bir şifre tahmininde birden fazla rastgele stabın alındığı zamandır. Bu durumda, "12345" tahmin etmek çok kolay olurdu, ancak diğerini rastgele bulmak oldukça zordur. Bir saldırganın benzer olması, saldırganın her kelimeyi, sayıyı veya ifadeyi ortak (ve daha az kullanılan) şifrelerin bir listesinden deneyebileceğinden benzerdir, "12345" kesinlikle denenecek bir tanesidir.

Bu nedenle, şifreleme karma işlevleri, mümkün olmayan kontrol toplamlarını zorlaştırsa da, tüm çevrimiçi ve yerel kullanıcı hesaplarınız için karmaşık bir parola kullanmalısınız.

İpucu: Sizin için güçlü bir şifre olup olmadığından emin değilseniz , Zayıf ve Güçlü Şifreler Örneklerine bakın.

Şifreleme Karma Fonksiyonları Hakkında Daha Fazla Bilgi

Kriptografik karma fonksiyonları şifreleme ile ilgili gibi görünebilir, ancak ikisi de çok farklı şekillerde çalışır.

Şifreleme, bir şeyin şifrelenerek okunamaz hale gelmesi için iki yönlü bir işlemdir, ancak daha sonra normal olarak tekrar kullanılmak üzere şifresi çözülür. Sakladığınız dosyaları şifreleyebilirsiniz, böylece onlara erişen herkes bunları kullanamaz veya çevrimiçi olarak yüklediğiniz veya indirdiğiniz gibi bir ağ üzerinde hareket eden dosyaları şifrelemek için dosya aktarım şifrelemesinden faydalanabilirsiniz.

Yukarıda açıklandığı gibi, şifreleme karma işlevleri, şifrelenmiş dosyaların özel bir şifre çözme parolasıyla nasıl okunduğuna benzer bir özel şifre çözme parolasıyla tersine çevrilmemesi gerektiği için farklı çalışır. Tek amaçlı şifreleme karma işlevleri, dosya indirirken, parola depolamak, veri tabanından veri çekmek vb. Gibi iki veriyi karşılaştırmaktır.

Farklı veri parçaları için aynı sağlama toplamını üretmek için bir şifreleme karma işlevi mümkündür. Bu olduğunda, buna çarpışma denir. Açıkça, bu bir kriptografik karma işlevinin tüm noktasını içine girilen her veri için tamamen benzersiz sağlama toplamı göz önüne alındığında büyük bir sorundur.

Çarpışmaların ortaya çıkma nedenleri, her bir şifreleme karma işlevinin, giriş verisine bakılmaksızın sabit uzunlukta bir değer üretmesidir. Örneğin, MD5 şifreleme karma işlevi , tamamen farklı üç veri bloğu için 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 ve e10adc3949ba59abbe56e057f20f883e üretir.

İlk kontrol toplamı 12345'tir , ikincisi 700'den fazla harf ve sayıdan, üçüncüsü 123456'dan oluşmaktadır . Üç girdinin tamamı farklı uzunluklardadır, ancak sonuçlar MD5 kullanıldığından beri daima sadece 32 karakterdir.

Gördüğünüz gibi, girişteki her küçük değişimin tamamen farklı bir sağlama toplamı oluşturması gerektiği için yaratılabilecek toplam sağlama sayısının neredeyse hiç bir sınırı yoktur. Bununla birlikte, bir şifreleme karma işlevinin üretebileceği sağlama toplamı sayısının bir sınırı olduğu için, her zaman bir çarpışma ile karşılaşma olasılığınız vardır.

Bu yüzden diğer şifreleme karma işlevleri oluşturuldu. MD5 32 karakterden oluşan bir değer oluştururken, SHA-1, 40 karakter üretir ve SHA-2 (512), 128 üretir. Sağlama toplamının sahip olduğu karakter sayısı arttıkça, daha fazla alan için daha fazla yer sağladığı için, bir çarpışma olasılığı o kadar az olur. benzersiz değerler.