Szyfr Gaderypoluki

Szyfr Gaderypoluki polega na zamienianiu liter parami. Nazwa szyfru pochodzi od par: GA, DE, RY, PO, LU, KI. Każda litera z pary zostaje zastąpiona drugą literą, na przykład G zmienia się w A, a A w G. Litery, które nie należą do żadnej pary, pozostają bez zmian.

Ten sam sposób służy do szyfrowania i deszyfrowania wiadomości. Po ponownym zastosowaniu szyfru otrzymujemy pierwotny tekst.

Program w Pythonie

W linijkach 1-15 znajduje się funkcja szyfr_gaderypoluki. Jest to najważniejsza część programu, ponieważ opisuje sposób działania szyfru. Funkcja otrzymuje napis, który ma zostać zaszyfrowany albo odszyfrowany.

W linijkach 2-6 tworzony jest słownik pary. Słownik przechowuje wszystkie pary liter używane w szyfrze: G z A, D z E, R z Y, P z O, L z U oraz K z I. Każda litera jest zapisana w nim dwa razy, na przykład "G": "A" oraz "A": "G". Dzięki temu program wie, że literę G ma zamienić na A, a literę A na G.

W linijce 7 powstaje pusta zmienna wynik. Będzie do niej dopisywana gotowa, zaszyfrowana wiadomość. W linijkach 9-13 pętla bierze po kolei każdy znak tekstu i zamienia go na wielką literę. Jeżeli znak znajduje się w słowniku, program odczytuje jego parę i dopisuje ją do wyniku. Jeżeli znak nie należy do żadnej pary, na przykład jest spacją, cyfrą lub literą B, zostaje przepisany bez zmian.

W linijce 15 funkcja zwraca cały gotowy tekst. Ten sam program służy zarówno do szyfrowania, jak i deszyfrowania. W szyfrze Gaderypoluki nie trzeba tworzyć osobnej funkcji do odczytywania wiadomości, ponieważ ponowne zamienienie liter parami przywraca tekst początkowy.

W linijce 17 zapisana jest wiadomość GRUPA. W linijkach 19-20 program wywołuje funkcję, szyfruje tę wiadomość i wypisuje wynik AYLOG. W linijkach 22-23 funkcja zostaje użyta drugi raz, tym razem dla szyfrogramu. Ponowna zamiana liter parami daje z powrotem słowo GRUPA.

  1. def szyfr_gaderypoluki(napis):
  2. pary = {
  3. "G": "A", "A": "G", "D": "E", "E": "D",
  4. "R": "Y", "Y": "R", "P": "O", "O": "P",
  5. "L": "U", "U": "L", "K": "I", "I": "K"
  6. }
  7. wynik = ""
  8. for znak in napis.upper():
  9. if znak in pary:
  10. wynik = wynik + pary[znak]
  11. else:
  12. wynik = wynik + znak
  13. return wynik
  14. tajemna_wiadomosc = "GRUPA"
  15. zaszyfrowana = szyfr_gaderypoluki(tajemna_wiadomosc)
  16. print("Zaszyfrowana wiadomość:", zaszyfrowana)
  17. odszyfrowana = szyfr_gaderypoluki(zaszyfrowana)
  18. print("Odszyfrowana wiadomość:", odszyfrowana)

Szyfr Gaderypoluki – narzędzie

SzyfrujTryb
6Par liter
0Znaków w tekście

Wiadomość

0 znaków

Wynik

0 znaków

Przewijanie do góry