def potegowanie_modulo(a, b, n): wynik = 1 a = a % n if a == 0: return 0 while b > 0: if b % 2 == 1: wynik = wynik * a % n b //= 2 a = (a * a) % n return wynik def szyfruj(t, klucz_publiczny): return potegowanie_modulo(t, klucz_publiczny[0], klucz_publiczny[1]) def szyfruj_string(tekst_jawny, klucz_publiczny): szyfrogram = "" for i in range(len(tekst_jawny)): ch = ord(tekst_jawny[i]) - 32 ch = szyfruj(ch, klucz_publiczny) ch += 32 szyfrogram += chr(ch) return szyfrogram wykladnik = 11 n = 95 tekst_jawny = "Lex retro non agit" klucz_publiczny = (wykladnik, n) szyfrogram = szyfruj_string(tekst_jawny, klucz_publiczny) print(szyfrogram)