Ludzie od niepamiętnych czasów starają się chronić własne tajemnice oraz ważne informacje. Dlatego do komunikacji wykorzystują m.in. kryptografię czy steganografię.
Kryptografia to dziedzina nauki zajmująca się sposobami utajniania przekazywanych wiadomości. Steganografia również jest nauką, jednak dotyczy takiej komunikacji, w której ukryta ma być już sama obecność komunikatu. Innymi słowy, steganografia próbuje ukryć fakt prowadzenia komunikacji, a kryptografia – treści komunikatu.
Więcej teorii oraz ćwiczeń dotyczących tego zagadnienia znajdziesz w e‑materiałach:
Wstęp do kryptografiiWstęp do kryptografii,
Wstęp do kryptografii – zadania maturalneWstęp do kryptografii – zadania maturalne.
Ten e‑materiał poświęcimy algorytmowi szyfrowania płotkowego. Zaimplementujemy go w programie napisanym w języku Python.
Ciekawi cię, jak wyglądają implementacje w innych językach programowania? Możesz się z nimi zapoznać w dwóch pozostałych e‑materiałach z tej serii:
Wstęp do kryptografii w języku C++Wstęp do kryptografii w języku C++,
Wstęp do kryptografii w języku JavaWstęp do kryptografii w języku Java.
Przeanalizujesz zasadę działania szyfru płotkowego.
Przygotujesz funkcję realizującą szyfrowanie oraz deszyfrowanie przy użyciu szyfru płotkowego.
Stworzysz program z graficznym interfejsem, wykorzystując bibliotekę
PySimpleGUI
do szyfrowania i odszyfrowywania wiadomości.