Prosty szyfr podstawieniowy

Program symuluje działanie prostego szyfru podstawieniowego

AYCWEUGSIQKOM
ZBXDVFTHRJPLN

Algorytm polega na zamianie znaków parami zgodnie z ustaloną tabelą. Deszyfrowanie polega powtórzeniu algorytmu dla szyfrogramu.

Przykładowa implementacja w Pythonie

  1. #Ustalona tabela zamiany znaków
  2. tabela_kodowania = {
  3. "A":"Z",
  4. "B":"Y",
  5. "C":"X",
  6. "D":"W",
  7. "E":"V",
  8. "F":"U",
  9. "G":"T",
  10. "H":"S",
  11. "I":"R",
  12. "J":"Q",
  13. "K":"P",
  14. "L":"O",
  15. "M":"N",
  16. "N":"M",
  17. "O":"L",
  18. "P":"K",
  19. "Q":"J",
  20. "R":"I",
  21. "S":"H",
  22. "T":"G",
  23. "U":"F",
  24. "V":"E",
  25. "W":"D",
  26. "X":"C",
  27. "Y":"B",
  28. "Z":"A",
  29. }
  30.  
  31. #funkcja kodująca zamieniająca znaki zgodnie z tabelą
  32. def koduj(tekst, tabela_kodowania):
  33. tekst = tekst.upper()
  34. szyfrogram = ''
  35.  
  36. for znak in tekst:
  37. if znak in tabela_kodowania:
  38. szyfrogram += tabela_kodowania[znak]
  39. else:
  40. szyfrogram += znak
  41.  
  42. return szyfrogram
  43.  
  44. #przykładowe użycie
  45. print(koduj('informatyka', tabela_kodowania))