Karma tabanlı şifrelemeyi kırmanın çoğu yöntemi kaba kuvvet saldırılarına dayanır. Bir gökkuşağı saldırısı aslında daha verimli bir sözlük saldırısıdır, karmalara olası parolaların önemli bir alt kümesinin bir haritasının oluşturulmasını sağlamak ve ters eşlemeyi kolaylaştırmak için düşük dijital depolama maliyetini kullanmak üzere tasarlanmıştır. Bu tür saldırılar işe yarar çünkü birçok şifre oldukça kısa olma eğilimindedir veya birkaç kelime tabanlı biçim modelinden birini kullanır.
Bu tür saldırılar, şifrelerin çok daha fazla karakter içerdiği ve yaygın kelime tabanlı biçimlere uymadığı durumlarda etkisizdir. Başlamak için güçlü bir parolaya sahip bir kullanıcı bu saldırı tarzına karşı savunmasız olmayacaktır. Ne yazık ki, birçok kişi iyi şifreler seçmez. Ancak bir uzlaşma var, rastgele şifre ekleyerek bir kullanıcının şifresini geliştirebilirsiniz. Bu yüzden, şimdi "hunter2" yerine şifreleri etkili bir şekilde "hunter2908! Fld2R75 {R7 /; 508PEzoz ^ U430" olabilir, ki bu çok daha güçlü bir şifredir. Ancak, artık bu ek parola bileşenini saklamanız gerektiğinden, bu daha güçlü birleşik parolanın etkinliğini azaltır. Anlaşıldığı üzere, şimdi her şifre, hatta zayıf olanları bile, böyle bir şema için net bir fayda var. artık önceden hesaplanmış karma / gökkuşağı tablosuna karşı savunmasız değildir. Bunun yerine, her parola karma girdisi yalnızca benzersiz bir karma tablosuna karşı savunmasızdır.
Diyelim ki zayıf şifre gücü gereksinimleri olan bir siteniz var. Tüm karmalarınızda önceden hesaplanmış karma tablolarına karşı savunmasız olan parola tuzu kullanmazsanız, karmalarınıza erişebilen bir kişi, kullanıcılarınızın büyük bir yüzdesi için parolalara erişebilir (ancak birçoğu, önemli yüzde). Sabit bir şifre tuzu kullanırsanız, önceden hesaplanmış hash tabloları artık değerli değildir, bu nedenle birisi bu tuz için özel bir hash tablosu hesaplamak için zaman harcamak zorunda kalır, ancak daha büyük permütasyonları kapsayan hesaplama tabloları sorun alanı. En savunmasız şifreler (örneğin, basit kelime tabanlı şifreler, çok kısa alfasayısal şifreler) saatler veya günler içinde kırılır, daha az savunmasız şifreler birkaç hafta veya aylar sonra kırılır. Zaman geçtikçe, bir saldırgan kullanıcılarınızın giderek artan bir yüzdesi için parolalara erişebilir. Her şifre için benzersiz bir tuz kullanırsanız, bu savunmasız şifrelerin her birine erişim günler veya aylar alacaktır.
Gördüğünüz gibi, tuzdan sabit bir tuza, eşsiz bir tuza geçtiğinizde, her adımda savunmasız şifreleri kırmak için birkaç büyüklükte artış emri uygularsınız. Bir tuz olmadan, kullanıcılarınızın parolalarının en zayıfına önemsiz bir şekilde erişilebilir, sabit bir tuzla bu zayıf parolalara belirli bir saldırgan tarafından erişilebilir, benzersiz bir tuzla, parolalara erişim maliyeti o kadar yükselir ki, yalnızca en kararlı saldırgan erişim kazanabilir savunmasız şifrelerin küçük bir alt kümesine ve daha sonra sadece büyük bir masrafla.
Bu, tam olarak içinde bulunulması gereken durumdur. Kullanıcıları hiçbir zaman kötü şifre seçiminden tam olarak koruyamazsınız, ancak kullanıcılarınızın şifrelerini tehlikeye atmanın maliyetini, bir kullanıcının şifresinden bile ödün vermeyi oldukça pahalı hale getirecek bir seviyeye yükseltebilirsiniz.