0Pricing
Cryptology Academy · Lekcja

Szyfry Vigenère’a i polialfabetyczne

Poznaj sposób, w jaki wiele alfabetów utrudnia analizę częstości.

Szyfry Vigenère’a i polialfabetyczne to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Wprowadzenie

Szyfr Vigenère’a przez 300 lat opierał się analizie częstości, wykorzystując naprzemiennie wiele alfabetów Cezara sterowanych powtarzającym się słowem kluczowym.

Podstawowa koncepcja

Dla klucza „KEY” i tekstu jawnego „HELLO”: H+K=R, E+E=I, L+Y=J, L+K=V, O+E=S → szyfrogram „RIJVS”. Różne litery mogą szyfrować tę samą literę tekstu jawnego na różne sposoby.

Tabula Recta Vigenère’a

Tabula Recta to siatka 26×26 alfabetów, w której każdy wiersz jest przesunięty o jedną pozycję. Należy znaleźć wiersz odpowiadający literze klucza i kolumnę odpowiadającą literze tekstu jawnego, aby odczytać literę szyfru.

Dlaczego pokonał analizę częstości

Jeśli kluczem jest „CAT” (długość 3), litera „E” może zmienić się w „G”, „E” lub „Y” zależnie od swojej pozycji. Rozkłady częstości ulegają spłaszczeniu, przez co prosta analiza przestaje działać.

Implementacja w Pythonie

def vigenere(text, key, encrypt=True): result, ki = '', 0 for c in text.upper(): if c.isalpha(): shift = ord(key[ki % len(key)].upper()) - 65 if not encrypt: shift = -shift result += chr((ord(c) - 65 + shift) % 26 + 65) ki += 1 else: result += c return result

Test Kasiskiego

Kasiski (1863) zauważył, że powtarzające się wzorce w szyfrogramie ujawniają długość klucza. Powtórzony tekst jawny + powtórzony klucz = powtórzony szyfrogram. Długość klucza jest dzielnikiem odległości między powtórzeniami.

Indeks zgodności

IoC mierzy rozkład częstości liter. Losowy tekst ma IoC ≈ 0,038, a język angielski — IoC ≈ 0,065. Sprawdzanie różnych długości klucza i pomiar IoC pozwalają ustalić poprawną długość.

Łamanie szyfru Vigenère’a krok po kroku

1. Należy znaleźć długość klucza za pomocą testu Kasiskiego lub IoC. 2. Należy podzielić szyfrogram na grupy oddalone od siebie o długość klucza. 3. Każda grupa jest szyfrem Cezara — należy zastosować analizę częstości do każdej z nich.

Szyfr z kluczem bieżącym

Jeśli klucz jest tak długi jak wiadomość i nigdy się nie powtarza (Beaufort / running key), test Kasiskiego zawodzi. Jeśli klucz jest rzeczywiście losowy, otrzymujemy one-time pad — szyfr nie do złamania.

Wariant Autokey

Szyfr Autokey inicjalizuje klucz krótkim słowem inicjującym, a następnie dołącza do niego sam tekst jawny. Eliminuje to powtórzenia, ale szyfr nadal można złamać za pomocą ataków ze znanym tekstem jawnym.

Praktyczna ocena bezpieczeństwa

Szyfr Vigenère’a z krótkim kluczem można dziś złamać w sposób banalny. Jego znaczenie historyczne polega na pokazaniu, że analiza częstości ma ograniczenia, gdy stosuje się wiele alfabetów.

Szybki test

Jakiej techniki użył Kasiski do znalezienia długości klucza szyfru Vigenère’a?

Podsumowanie

Doskonale! Opanowali Państwo szyfr Vigenère’a oraz jego łamanie. Następnie przejdziemy głębiej do analizy częstości jako ogólnego narzędzia kryptoanalizy.

Często zadawane pytania

Czy lekcja „Szyfry Vigenère’a i polialfabetyczne” jest bezpłatna?

Tak — pełny tekst „Szyfry Vigenère’a i polialfabetyczne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Szyfry Vigenère’a i polialfabetyczne”?

Poznaj sposób, w jaki wiele alfabetów utrudnia analizę częstości. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Szyfry Vigenère’a i polialfabetyczne”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Mechanika szyfru Cezara
  2. Szyfry Atbash i afiniczny
  3. Szyfry Vigenère’a i polialfabetyczne
  4. Analiza częstości i podstawy kryptoanalizy
← Powrót do Cryptology Academy