kryptografia/1/3.py

19 lines
333 B
Python

from gmpy2 import mpz
a = input("Podaj podstawę (b): ")
b = input("Podaj wykładnik (k): ")
n = input("Podaj moduł (n): ")
a = mpz(a)
b = mpz(b)
n = mpz(n)
wynik = mpz(1)
baza = a % n
for i in range(b.bit_length()):
if b.bit_test(i):
wynik = (wynik * baza) % n
baza = (baza * baza) % n
print(f"Wynik: {wynik}")