Modüler Üs Alma Hesaplama

base^exp mod m hesaplayın.

Sonuç

3

Nasıl hesaplanır?

Araç, tabanüs değerinin m'ye bölümünden kalanı, yani tabanüs mod m değerini kare alıp çarpma yöntemiyle hesaplar. Üssün ikili basamakları üzerinde ilerlenir: çalışılan taban her adımda karesi alınarak güncellenir (her karesinden sonra kalan alınır) ve ilgili ikili basamak 1 ise sonuçla çarpılır. Böylece ara değerler m2'den küçük kalır ve devasa kuvvetleri yazmak gerekmez. Girişler tam sayıya kesilir, mod en az 1 olmalı ve üs negatif olmamalıdır. Negatif taban önce 0 ile m−1 aralığına getirilir.

Örnek hesaplama

7128 mod 13 hesaplayalım. Her seferinde mod 13 alarak kare alırız: 72 = 49 → 10; 74 = 100 → 9; 78 = 81 → 3; 716 = 9 → 9 ve böyle devam eder. 128 ikinin kuvveti olduğundan kare alma zincirinin dışında ek çarpma gerekmez. Kalan 3 bulunur; 109 basamaklı 7128 sayısı hiç hesaplanmaz.

Bu örneği dene →

Sık yapılan hatalar

  • Önce tam kuvveti hesaplayıp sonra kalanı almak; büyük üslerde sayı taşar ya da hassasiyet kaybolur.
  • Negatif üs girmek; modüler ters başka bir işlemdir ve araç sonuç vermez.
  • Modül olarak 0 veya negatif sayı kullanmak; sıfıra bölmenin kalanı yoktur.
  • Ondalıklı taban ya da üssün dikkate alınacağını sanmak; değerler tam sayıya kesilir.

Bu hesaplama hakkında

Bu hesaplayıcı, modüler üs alma işlemini (taban^üs mod modül) tam sayıyı önce hesaplamak yerine "kare al ve çarp" yöntemiyle hızlıca yapar; bu sayede çok büyük üsler için bile sayılar yönetilebilir kalır.

Bu işlem, açık anahtarlı kriptografinin temelidir: RSA şifreleme, Diffie-Hellman anahtar değişimi ve dijital imzaların hepsi sayıları büyük bir modüle göre tekrar tekrar üs alarak çalışır. Bilgisayar mühendisliği öğrencileri algoritmayı öğrenmek için, geliştiriciler ise kripto kodu yazarken sonuçları doğrulamak için kullanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (0)

  • İlk yorumu siz yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar