Jak działa szyfrowanie i po co nam algorytmy szyfrujące?
1. Dlaczego stosujemy szyfry?
Wyobraź sobie, że chcesz wysłać wiadomość, ale nie chcesz, aby ktoś niepowołany ją przeczytał. Rozwiązaniem jest szyfrowanie – proces, w którym zwykły tekst (tzw. tekst jawny) zamienia się w niezrozumiały ciąg znaków, czyli szyfrogram.
Odbiorca, który zna sposób szyfrowania i odpowiedni klucz, może go odczytać – czyli przeprowadzić deszyfrowanie.
Dziś szyfry stosuje się wszędzie:
- w bankowości internetowej,
- w zabezpieczeniach danych osobowych,
- w komunikatorach i poczcie elektronicznej,
- w handlu elektronicznym (np. płatności kartą).
2. Podstawowe pojęcia
- Szyfr – algorytm przekształcający wiadomość.
- Szyfrowanie – proces zamiany tekstu jawnego w szyfrogram.
- Deszyfrowanie – odtwarzanie tekstu jawnego z szyfrogramu.
- Tekst jawny – wiadomość przed zaszyfrowaniem.
- Szyfrogram – zaszyfrowana wiadomość.
- Kryptografia – to dziedzina zajmująca się tworzeniem metod i algorytmów szyfrowania, które mają na celu ochronę poufności, integralności i autentyczności informacji. Polega na zamianie tekstu jawnego na szyfrogram w taki sposób, aby osoby nieznające klucza nie mogły odczytać wiadomości. Współczesna kryptografia wykorzystuje zarówno proste metody (np. szyfr Cezara), jak i bardzo złożone algorytmy matematyczne (np. RSA). Dzięki niej możliwe jest bezpieczne korzystanie z bankowości internetowej, poczty elektronicznej czy komunikatorów.
- Kryptoanaliza – to nauka zajmująca się badaniem i łamaniem szyfrów. Jej celem jest odtworzenie tekstu jawnego lub klucza bez znajomości algorytmu szyfrowania czy hasła. W przeszłości kryptoanalitycy odgrywali kluczową rolę w działaniach wojennych, np. przy łamaniu szyfru Enigmy w czasie II wojny światowej. Dziś kryptoanaliza służy m.in. do testowania bezpieczeństwa systemów kryptograficznych, aby znaleźć ich słabe punkty.
- Kryptologia – to wspólna dziedzina łącząca kryptografię i kryptoanalizę. Zajmuje się zarówno tworzeniem szyfrów, jak i ich badaniem oraz łamaniem. Dzięki kryptologii możemy rozwijać coraz bezpieczniejsze systemy ochrony danych, które chronią nasze informacje przed cyberatakami. To interdyscyplinarna nauka łącząca matematykę, informatykę i inżynierię, mająca ogromne znaczenie w świecie nowoczesnych technologii.
3. Szyfry podstawieniowe – przykład szyfru Cezara
Jeden z najstarszych szyfrów, używany już w starożytnym Rzymie. Polega na zastąpieniu każdej litery tekstu inną literą, przesuniętą w alfabecie o określoną liczbę miejsc.
Alfabet polski, bez znaków diakrytycznych, 26 liter.
Tekst jawny: K O T E K
Klucz: przesunięcie o +3
Alfabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- K → L (1), M (2), N (3)
- O → P (1), Q (2), R (3)
- T → U (1), V (2), W (3)
- E → F (1), G (2), H (3)
- K → (tak jak na początku) → N
Szyfrogram: NRWHN ✅
Aby odczytać wiadomość, trzeba znać klucz, czyli liczbę przesunięć.
4. Szyfry przestawieniowe i anagramy
W szyfrach przestawieniowych nie zmieniamy liter, lecz ich kolejność.
Przykład:
Tekst jawny: ALA MA KOTA
Zapis w wierszach i odczytanie kolumnami: AMOLATAKA
Jak to zrobić poprawnie (3 kolumny — naturalny wybór, bo 9 liter = 3×3)
- Usuwamy spacje:
ALAMAKOTA(9 liter). - Układamy w wierszach po 3 znaki:
A L A
M A K
O T A
- Odczytujemy kolumnami (kol. 1, potem 2, potem 3):
- kol. 1:
A M O - kol. 2:
L A T - kol. 3:
A K A
- Sklejamy: AMOLATAKA
Anagramy to forma szyfrowania, gdzie litery słowa przestawiamy, np. słowo RA-MA można zaszyfrować jako MA-RA.
🔹 Szyfry przestawieniowe
W szyfrach przestawieniowych nie zmieniamy liter na inne znaki, jak w szyfrach podstawieniowych, lecz zmieniamy ich kolejność. Tekst jawny zostaje „przemieszany” zgodnie z określonym schematem.
Przykład 1 – zapis kolumnowy
Tekst jawny: KOMPUTER
Zapisujemy w wierszach o długości 3:
K O M
P U T
E R _
Odczytując kolumnami: KPEOURMT (podkreślenie oznacza pustą kratkę).
Przykład 2 – klucz przestawienia
Możemy ustalić kolejność odczytywania liter za pomocą klucza numerycznego.
Tekst jawny: MATURA
Dzielimy na grupy po 3 litery:
M A T
U R A
Klucz: 3-1-2
Odczyt według kolejności: TMA AUR.
Przykład 3 – prosty szyfr przestawieniowy (od tyłu)
Tekst jawny: INFORMATYKA
Czytamy od końca: AKYTAMROFNI.
Choć proste, też jest to szyfr przestawieniowy.
🔹 Anagramy
Anagram to szczególny przypadek szyfru przestawieniowego, w którym litery lub sylaby są przestawiane, aby utworzyć nowe słowo lub frazę.
Przykład 1 – pojedyncze słowo
Słowo: RA-MA
Anagram: MA-RA
Przykład 2 – przestawienie sylab
Słowo: POEZJA → można zaszyfrować jako:
EZ-PO-JA
JA-PO-EZ
EZ-JA-PO
🔹 Anagramy literowe z kolei rzeczywiście mogą wyglądać tak: POEZJA → EZJAPO albo POEZJA → ZAPOJE – tutaj przestawiamy wszystkie litery.
Przykład 3 – hasło zdaniowe
W anagramie zdaniowym mieszamy wszystkie litery z całego zdania (spacje są umowne), tak by powstał inny układ znaków. Nie musimy zachowywać liter w obrębie poszczególnych słów — litery mogą „przechodzić” między słowami.
Weryfikacja krok po kroku
- Długość (bez spacji):
- „TO JEST POWAZNY SPRAWDZIAN” → 23 znaki
- „JNPWOST I AEAPZDOZTY SN AWR” → 23 znaki
- Zliczenie liter (częstości) – w obu napisach identyczne:
- A×3
- T×2, O×2, S×2, P×2, W×2, Z×2, N×2
- J×1, E×1, Y×1, R×1, D×1, I×1
(Każda litera występuje tyle samo razy w oryginale i w anagramie, nic nie dodano, nic nie zgubiono.)
Co z odstępami?
Spacje w anagramach literowych są dowolnym formatowaniem — służą tylko do czytelności. Tutaj podział „JNPWOST I AEAPZDOZTY SN AWR” nie musi tworzyć sensownych słów; liczy się jedynie zgodność zestawu liter.
👉 Jak rozpoznać szyfr przestawieniowy?
- W szyfrogramie występują dokładnie te same litery co w tekście jawnym (nic nie ginie, nic się nie dodaje).
- Zmienia się tylko kolejność liter.
- Dla krótkich tekstów można próbować odtworzyć oryginał metodą prób i błędów, sprawdzając, czy powstaje sensowne słowo lub zdanie.
5. Szyfrowanie symetryczne i asymetryczne
- Symetryczne – ten sam klucz służy do szyfrowania i deszyfrowania. Przykład: szyfr Cezara.
- Asymetryczne – używa się dwóch kluczy: publicznego (znanego wszystkim) i prywatnego (znanego tylko właścicielowi). Przykład: algorytm RSA.
Metoda asymetryczna stosowana jest w transakcjach bankowych czy przy logowaniu do stron internetowych (HTTPS).
6. Maszyna Enigma
Podczas II wojny światowej Niemcy używali Enigmy – mechanicznej maszyny szyfrującej. Dzięki skomplikowanemu systemowi wirników tworzyła miliony kombinacji.
Złamanie szyfru Enigmy przez polskich matematyków (Rejewskiego, Różyckiego i Zygalskiego) było jednym z największych sukcesów kryptologii XX wieku.
7. Algorytm RSA
RSA to jeden z najważniejszych i najczęściej stosowanych algorytmów szyfrowania asymetrycznego. Został opracowany w 1977 roku przez trzech matematyków: Rivesta, Shamira i Adlemana (stąd skrót RSA). Jego działanie opiera się na własnościach liczb pierwszych i trudności faktoryzacji, czyli rozkładu bardzo dużej liczby na czynniki pierwsze.
W RSA każdy użytkownik posiada dwa klucze:
- klucz publiczny – znany wszystkim, służy do szyfrowania wiadomości,
- klucz prywatny – znany tylko właścicielowi, używany do deszyfrowania.
Dzięki temu możliwe jest bezpieczne przesyłanie danych przez Internet, nawet jeśli ktoś przechwyci szyfrogram – bez klucza prywatnego nie będzie w stanie go odczytać. RSA wykorzystywany jest m.in. w bankowości internetowej, certyfikatach cyfrowych, podpisach elektronicznych i protokole HTTPS.
8. Algorytmy sortowania – bąbelkowy i przez wstawianie
Oprócz szyfrowania w informatyce poznajemy też inne algorytmy.
- Sortowanie bąbelkowe (bubble sort)
Sortowanie bąbelkowe to jeden z najprostszych algorytmów porządkowania danych. Działa na zasadzie porównywania sąsiednich elementów i zamieniania ich miejscami, jeśli są w złej kolejności. W trakcie kolejnych „przejść” największe elementy „wypływają” stopniowo na koniec listy, podobnie jak bąbelki powietrza w wodzie – stąd nazwa algorytmu. Proces powtarza się aż do całkowitego uporządkowania zbioru.
Przykład krok po kroku
Mamy liczby: [5, 3, 4, 1, 2]
Przebieg 1:
porównaj (5,3) → zamień → [3, 5, 4, 1, 2]
porównaj (5,4) → zamień → [3, 4, 5, 1, 2]
porównaj (5,1) → zamień → [3, 4, 1, 5, 2]
porównaj (5,2) → zamień → [3, 4, 1, 2, 5]
Największa liczba „5” znalazła się na końcu.
Przebieg 2:
(3,4) – ok → [3, 4, 1, 2, 5]
(4,1) → zamień → [3, 1, 4, 2, 5]
(4,2) → zamień → [3, 1, 2, 4, 5]
Przebieg 3:
(3,1) → zamień → [1, 3, 2, 4, 5]
(3,2) → zamień → [1, 2, 3, 4, 5]
Zbiór jest posortowany rosnąco.
Podsumowanie
Algorytm jest łatwy do zrozumienia, ale nieefektywny dla dużych zbiorów, bo wykonuje wiele niepotrzebnych porównań.
- Sortowanie przez wstawianie (insertion sort)
Sortowanie przez wstawianie polega na budowaniu uporządkowanego fragmentu listy krok po kroku. Zaczynamy od pierwszego elementu (który traktujemy jako posortowany). Następnie każdy kolejny element „wstawiamy” w odpowiednie miejsce w już uporządkowanej części, przesuwając większe elementy w prawo.
Można to porównać do układania kart w ręce: zawsze trzymasz karty posortowane, a nową kartę wkładasz na odpowiednią pozycję.
Przykład krok po kroku
Mamy liczby: [5, 3, 4, 1, 2]
Początek: [5] – traktujemy jako posortowane.
Bierzemy 3 → wstawiamy przed 5 → [3, 5].
Bierzemy 4 → porównujemy: 4 > 3, ale 4 < 5 → wstawiamy między → [3, 4, 5].
Bierzemy 1 → 1 < 3, więc trafia na początek → [1, 3, 4, 5].
Bierzemy 2 → 2 > 1, ale 2 < 3 → wstawiamy w środek → [1, 2, 3, 4, 5].
Ostatecznie mamy zbiór posortowany rosnąco.
Podsumowanie
Algorytm prosty do zrozumienia i często szybszy od sortowania bąbelkowego dla małych zbiorów.
Te metody pokazują, że algorytmy to zestaw kroków, które prowadzą do rozwiązania problemu.
9. Podsumowanie
Szyfrowanie danych to podstawa bezpieczeństwa w dzisiejszym świecie. Od prostych metod, jak szyfr Cezara, po skomplikowane algorytmy RSA – wszystkie służą jednemu: ochronie informacji.
Wiedza o szyfrach nie tylko rozwija logiczne myślenie, ale też pokazuje, jak matematyka i informatyka mają wpływ na nasze codzienne życie.
Pobierz Kartę pracy – szyfrowanie
