Öncelikli olarak n sayısının asal sayı seçilmesi gerekir. Çünkü asal olmayan herhangi bir n sayısı için, n sayısını asal çarpanlarına ayırıp, ardından Çin Kalan Teoremi'ni kullanarak problemi kolayca çözebiliriz. Ondan dolayı ilk şart, n sayısının asal sayı olarak seçilmesi.
Fermat'nın Küçük Teoremi'nden (Fermat's Little Theorem) biz biliyoruz ki, herhangi bir a∈Z∗p sayısı için ap−1≡1 mod p denkliği sağlanır. Buradan, bölme algoritmasından, herhangi bir s tamsayısı için, 0≤r<p−1 eşitsizliğini sağlayan biricik q ve r sayıları için s=q(p−1)+r eşitliğini yazabiliriz. Bu da bize
as mod p=aq(p−1)+r mod p=(ap−1)qar mod p=ar mod p eşitliğini verir. Yani, r≡s mod p−1 olduğundan, eğer Ayrık Logaritma Problemi'ni mod p için düşünürsek, x sayısını her zaman x∈Zp−1 şeklinde alabiliriz.
Buraya kadar yazdıklarımızı toparlarsak eğer, problemimiz şu hali almış oldu aslında:
Herhangi bir x∈Zp−1 sayısı, verilen p tek asal sayısı (2 çok küçük olduğundan almıyoruz) ve a,b∈Z∗p için
b≡ax mod p denkliğini sağlayan x sayısı nedir?
Yukarıda dedik ki, n sayısı asal olarak seçilmeli, ve seçtik de. Ancak, sadece asal sayı olarak seçmemiz de yetmiyor. Problemi yeteri kadar zorlaştırmak için, p asal sayısının yeterince büyük bir asal sayı olması gereklidir. Peki bu p asal sayısı ne kadar büyük olmalıdır?
Bir örnek ele alalım:
p=23423429 (p asal) ve α=2 olarak alalım ve şu probleme bakalım:
b=ax≡19556038 mod p.
Burada x'i bulmak zor mudur? diye sorduğumuz zaman, aslında x sayısını bulmanın nispeten kolay olduğunu görürüz. Çünkü, buradaki p asal sayısına baktığımız zaman, yaklaşık olarak p≈225 olduğunu görürüz (ki işlemleri bilgisayar ortamında yaptığımız için 225 sayısı çok küçük bir sayıdır). x sayısı için, x=0, x=1⋯, diye x'in doğru değerini bulana kadar devam ederiz ki, x için de test etmek için yaklaşık olarak p ile aynı sayıda olasılık vardır. Bugün, p asal sayısı için tavsiye edilen, en az 768-bit olması gerektiğidir, yani p>2767 seçilmelidir.
Problemin zor olması için, 2.şart olarak p−1 sayısının en az bir tane büyük bir asal böleni olması gerektiğidir. Nedenini bir örnekle görelim:
p=884605080699835339776196609 asal sayısı için, mod p üzerinde alınan Ayrık Logaritma Problemi zor mudur? diye sorduğumuz zaman, ilk dikkatimizi çekmesi gereken şey, bu p asal sayısının yukarıda tavsiye ettiğimiz 768-bit boyutundan daha az olmasına rağmen, x sayısının bütün olası değerlerini test etmenin o kadar da kolay olmaması. Ancak, problemi çözmenin başka kolay bir yolu var ki, bunun nedeni de p−1 sayısının küçük asal bölenlere sahip olması. Baktığımız zaman, p−1=234312713 olduğunu görüyoruz. Pohlig ve Hellman'ın vermiş olduğu ispata bakarsak eğer, (Pohlig-Hellman algorithm olarak geçer) http://cacr.uwaterloo.ca/hac/about/chap3.pdf (sayfa 107 3.6.4'ten itibaren sayfa 109 3.67'ye kadar) p−1 sayısı sadece küçük asal çarpanlara sahipse, ayrık logaritma problemini hesaplamak kolaydır demişlerdir. Ki yukarıdaki örnekte, ilk olarak x mod 2'yi buluruz. Daha sonra, x mod 22'ni hesaplarız ve bu şekilde devam ederek x mod 234'ü elde ederiz. Yine aynı şekilde, x mod 312 ve x mod 713 sayılarını da hesapladıktan sonra, Çin Kalan Teoremi'ni kullanarak x mod p−1 i hesaplarız. Bu metodun zaman karmaşıklığı (time complexity)(veya işletim süresi), p−1 sayısının en büyük asal bölenine bağlıdır. Ondan dolayı da, p asal sayısı için, p−1 sayısının en az 1 tane büyük asal böleni olması gerektiği tavsiye edilir. Buradan da, q asal sayısı için, p asal sayısını p=2q+1 şeklinde üretirsek eğer, p−1 sayısı en az bir büyük asal bölene sahiptir diyebiliriz.
Son şart olarak da, am≡1 mod p denkliğini sağlayan en küçük m tamsayı değerinin, büyük olması gerekmektedir. Nedenini bir örnek üzerinde görelim yine:
p sayısı, p=589640540809904183368339807 asalı olsun. Burada, p−1 sayısı, q=98273423468317363894723301 asalı olmak üzere p−1=2⋅3⋅q dur. Yani p−1 sayısı yukarıda belirttiğimiz 2.şartı sağlar. a sayısı, a=151369338077029664651937484 ve b sayısı, b=438271202732874518716402322 mod p olsun. Yine aynı soruyu soralım:
Yukarıda verilenler için, b=ax mod p denkliğini sağlayan x değerini bulmak zor mudur?
Aslında kolaydır. Nedeni ise, a3≡1 mod p denkliğinin sağlanmasıdır. Bundan dolayı, ax≡ax mod 3 mod p denkliği sağlanır ve b değeri, denklemi sağlayan yalnızca 3 olasılıktan biridir burada. Yani kısaca, a sayısının mertebesi ne kadar büyükse, problemi çözmek bir o kadar zorlaşır burada. (Ve biliyoruz ki, a ilkel (primitive) sayısı için, mertebesi en fazla p−1 olabilir.)