Asal sayıların kullanılmasının nedeni, veriler belirli kalıplar gösterdiğinde çarpışmaları en aza indirmektir.
İlk önce: Veriler rasgele ise, asal sayıya gerek yoktur, herhangi bir sayıya karşı mod işlemi yapabilirsiniz ve modülün her olası değeri için aynı sayıda çarpışmaya sahip olursunuz.
Ancak veriler rastgele olmadığında garip şeyler olur. Örneğin, her zaman 10'un katı olan sayısal verileri ele alalım.
Mod 4'ü kullanırsak şunları buluruz:
10 mod 4 = 2
20 mod 4 = 0
30 mod 4 = 2
40 mod 4 = 0
50 mod 4 = 2
Yani modülün 3 olası değerinden (0,1,2,3) sadece 0 ve 2'nin çarpışmaları olacaktır, bu kötüdür.
7 gibi asal bir sayı kullanırsak:
10 mod 7 = 3
20 mod 7 = 6
30 mod 7 = 2
40 mod 7 = 4
50 mod 7 = 1
vb
Ayrıca 5'in iyi bir seçim olmadığını, ancak 5'in asal nedeninin tüm anahtarlarımızın 5'in katları olması gerektiğini not ediyoruz. Bu, anahtarlarımızı bölmeyen bir asal sayı seçmemiz gerektiği, büyük bir asal sayı genellikle yeterlidir.
Bu nedenle, tekrarlı olmanın yanında, asal sayıların kullanılmasının nedeni, bir karma fonksiyonunun çarpışmalarının dağılımındaki tuşlardaki desenlerin etkisini nötralize etmektir.