Modüler üs alma nedir?
Modüler üs alma, \(a^b \bmod m\) ifadesini hesaplar — yani ab kuvveti m moduluna bölündüğünde kalan değeri verir. Bu işlem, sayılar teorisinin ve kriptografinin en önemli operasyonlarından biridir; RSA, Diffie–Hellman anahtar değişimi ve dijital imzalar gibi algoritmaların temelini oluşturur. ab değeri devasa boyutlara ulaşsa bile, m moduluna göre sonuç küçük ve hesaplanabilir kalır.
Bu hesaplayıcı nasıl kullanılır?
Üç tam sayı girin: taban \(a\), negatif olmayan üs \(b\) ve modül \(m\) (pozitif bir tam sayı). Hesapla düğmesine tıkladığınızda, 0 ile m−1 arasında tek bir kalan değeri elde edersiniz. Taban negatif olabilir; üs alma işleminden önce geçerli kalan aralığına normalize edilir.
Formülün açıklaması
Büyük b değerleri için ab doğrudan hesaplanamaz; bu nedenle bu araç kare-al-çarp yöntemini (hızlı veya ikili üs alma olarak da bilinir) kullanır. Üs ikili (binary) olarak okunur.
$$\text{result} = \text{Base } a^{\text{Exponent } b} \bmod \text{Modulus } m$$Sonuç r = 1 ve taban m moduluna indirgenmiş olarak başlar; üssün her biti için taban karesi alınır (mod m), ve ilgili bit 1 olduğunda sonuç tabanla çarpılır (mod m). Bu yöntem, b kadar çarpma yerine yalnızca yaklaşık \(\log_2(b)\) kadar çarpma gerektirir.
Çözümlü örnek
\(4^{13} \bmod 497\) değerini hesaplayalım. 13 üssü ikili sistemde 1101'dir. Kare-al-çarp adımlarını izleyelim:
$$4^1 = 4, \quad 4^2 = 16, \quad 4^4 = 256, \quad 4^8 = 256^2 = 65536 \equiv 30 \pmod{497}$$13 = 8 + 4 + 1 olduğundan, eşleşen kuvvetleri çarpalım:
$$30 \times 256 \times 4 = 30720 \equiv 445 \pmod{497}$$Yani \(4^{13} \bmod 497 = \textbf{445}\).
Sıkça Sorulan Sorular
Üs 0 olursa ne olur? Herhangi bir sayının 0. kuvveti 1'dir; dolayısıyla sonuç 1 mod m olur (m = 1 olduğunda bu 0'dır).
Taban negatif olabilir mi? Evet. Negatif bir taban önce m moduluna göre eşdeğer pozitif kalanına dönüştürülür; böylece sonuç her zaman 0 ile m−1 arasında olur.
Neden önce a^b hesaplayıp sonra mod almıyoruz? Kriptografik boyutlarda ab milyonlarca basamağa sahip olurdu. Her adımda m moduluna göre indirgeme yapmak, sayıları küçük ve hesaplamayı hızlı tutar.