Szyfry Beauforta i z kluczem bieżącym
Poznają Państwo odmiany szyfru Vigenère’a, w tym szyfr Beauforta oraz teoretycznie niełamalny szyfr z kluczem bieżącym.
Szyfry Beauforta i z kluczem bieżącym 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.
Szyfr Beauforta
Szyfr Beauforta jest wariantem szyfru Vigenère’a, różniącym się od niego formułą szyfrowania. W szyfrze Vigenère’a oblicza się C = (P + K) mod 26, natomiast w szyfrze Beauforta C = (K - P) mod 26.
Ta niewielka zmiana nadaje szyfrowi Beauforta wyjątkową właściwość: jest on własną odwrotnością. Ta sama operacja z użyciem tego samego klucza służy do szyfrowania i deszyfrowania — jest to cecha określana jako wzajemna odwracalność szyfru.
Właściwość wzajemnej odwracalności szyfru Beauforta
Ponieważ szyfrowanie i deszyfrowanie w szyfrze Beauforta są tą samą operacją, szyfr ten nazywa się „samowzajemnym” lub „inwolutoryjnym”. Aby odszyfrować wiadomość, wykonuje się dokładnie tę samą procedurę co podczas szyfrowania.
Było to praktycznie użyteczne w epoce przed komputerami: operatorzy wojskowi musieli nauczyć się tylko jednej procedury zamiast dwóch oddzielnych procedur szyfrowania i deszyfrowania, co skracało czas szkolenia i ograniczało liczbę błędów ludzkich.
Szyfr autokey
Szyfr autokey eliminuje słabość szyfru Vigenère’a związaną z powtarzaniem klucza. Klucz rozpoczyna się od krótkiego słowa inicjalizującego, a następnie jest uzupełniany samym tekstem jawnym, który pełni rolę dalszej części klucza.
Oznacza to, że klucz jest tak długi jak wiadomość i nigdy się nie powtarza. Szyfr pozostaje jednak podatny na sprytny atak: jeśli odgadnie się słowo tekstu jawnego, można sprawdzić, czy występuje ono jako fragment klucza, a następnie systematycznie potwierdzać lub odrzucać kolejne przypuszczenia.
Koncepcja szyfru z kluczem bieżącym
Szyfr z kluczem bieżącym rozwija ideę szyfru autokey, wykorzystując jako klucz długi, wcześniej uzgodniony tekst, na przykład konkretną książkę. Klucz jest tak długi jak wiadomość i pochodzi ze źródła, które wydaje się losowe.
Nadawca i odbiorca muszą posiadać identyczny egzemplarz tekstu klucza oraz uzgodnić pozycję początkową. Szyfrowanie przebiega wtedy tak samo jak w szyfrze Vigenère’a, ale z użyciem niepowtarzającego się klucza.
Dlaczego szyfr z kluczem bieżącym jest teoretycznie nie do złamania
Jeśli tekst klucza bieżącego jest naprawdę losowy, czyli w praktyce przypomina klucz jednorazowy, szyfr z kluczem bieżącym jest bezpieczny w sensie teorii informacji. Szyfrogram nie zawiera wystarczającej ilości informacji, aby bez klucza określić tekst jawny.
Claude Shannon udowodnił, że aby szyfr zapewniał doskonałą tajność, entropia klucza musi być co najmniej tak duża jak entropia wiadomości. Naprawdę losowy klucz o długości równej długości wiadomości spełnia ten warunek.
Praktyczna słabość szyfru z kluczem bieżącym
W praktyce tekst książki nie jest losowy. Jest angielską prozą zawierającą wszystkie statystyczne wzorce charakterystyczne dla języka naturalnego. Atakujący może wypróbowywać różne książki i pozycje początkowe, sprawdzając, czy uzyskany klucz i tekst jawny przypominają język naturalny.
Ta właściwość „dwóch tekstów”, w której zarówno tekst jawny, jak i klucz muszą być poprawnym językiem, paradoksalnie sprawia, że szyfr z kluczem bieżącym jest w praktyce słabszy niż krótszy, ale naprawdę losowy klucz.
Bellaso i jego szyfry
Giovan Battista Bellaso opublikował w latach 50. XVI wieku kilka projektów szyfrów polialfabetycznych. Jego prace przypisano później Blaise’owi de Vigenère’owi, co doprowadziło do historycznego, błędnego nazwania szyfru Vigenère’a.
Szyfry Bellasa obejmowały wariant wzajemnie odwracalny, który zapowiadał szyfr Beauforta. Jego wkład w kryptografię polialfabetyczną był znaczący, mimo że aż do czasu współczesnych badań historycznych przypisywano mu niewielkie zasługi.
Szyfry polialfabetyczne i wskaźnik koincydencji
Szyfry polialfabetyczne używają wielu alfabetów podstawieniowych, przełączając się między nimi na podstawie klucza. Spłaszcza to rozkład częstości liter szyfrogramu, przez co prosta analiza częstości przestaje działać.
Wskaźnik koincydencji (IC) mierzy stopień spłaszczenia rozkładu częstości. Dla tekstu angielskiego wartość IC wynosi około 0,065. Dla idealnie losowego podstawienia wynosi około 0,038. Wartości dla szyfrów polialfabetycznych mieszczą się między tymi liczbami i zależą od długości klucza.
Test Friedmana do określania długości klucza
William Friedman opracował test statystyczny pozwalający określić długość klucza szyfru polialfabetycznego wyłącznie na podstawie szyfrogramu. Analizując IC każdego podzbioru znaków wybieranych co n-ty znak, mógł wyznaczyć okres klucza.
Po ustaleniu okresu szyfr sprowadza się do wielu niezależnych prostych podstawień, z których każde można rozwiązać za pomocą analizy częstości. Podejście to sprawiło, że szyfry Vigenère’a i Beauforta stały się praktycznie łamalne.
Koniec epoki szyfrów klasycznych
Na początku XX wieku każdy szyfr klasyczny — od szyfru Cezara, przez Vigenère’a, po Beauforta — został systematycznie złamany za pomocą analizy częstości, testu Kasiski lub metody IC Friedmana.
Pojawienie się szyfrów mechanicznych, takich jak Enigma i SIGABA, a następnie komputerów zasadniczo zmieniło kryptografię. Szyfry klasyczne stały się ciekawostkami historycznymi i narzędziami dydaktycznymi, a nie praktycznymi mechanizmami bezpieczeństwa.
Klucz jednorazowy: teoretycznie doskonały szyfr
Klucz jednorazowy, używany prawidłowo, jest jedynym szyfrem, którego doskonałość można formalnie udowodnić. Wymaga klucza naprawdę losowego, tak długiego jak wiadomość, użytego tylko raz i całkowicie tajnego.
Szyfr z kluczem bieżącym przybliża ten ideał, ale zawodzi, ponieważ klucze w języku naturalnym nie są losowe. Prawdziwy klucz jednorazowy oparty na tekście książki byłby podatny na atak, ponieważ zarówno klucz, jak i tekst jawny musiałyby być naturalnym językiem angielskim, co dostarczałoby kryptanalitykowi informacji statystycznych.
Quiz z szyfru Beauforta
Sprawdź swoją wiedzę na temat szyfru Beauforta i jego właściwości.
Najważniejsze informacje: Beaufort i klucz bieżący
Szyfr Beauforta jest samowzajemnym wariantem szyfru Vigenère’a, w którym ten sam klucz i algorytm służą do szyfrowania i deszyfrowania. Szyfr z kluczem bieżącym wykorzystuje długi tekst jako klucz, teoretycznie zapewniając doskonałą tajność, jeśli klucz jest losowy.
W praktyce klucze będące tekstem w języku naturalnym można wykorzystać w ataku. Test IC Friedmana i test Kasiski pozwalają określić długość klucza w szyfrach polialfabetycznych, sprowadzając je do rozwiązywalnych prostych podstawień.
Często zadawane pytania
Czy lekcja „Szyfry Beauforta i z kluczem bieżącym” jest bezpłatna?
Tak — pełny tekst „Szyfry Beauforta i z kluczem bieżącym” 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 Beauforta i z kluczem bieżącym”?
Poznają Państwo odmiany szyfru Vigenère’a, w tym szyfr Beauforta oraz teoretycznie niełamalny szyfr z kluczem bieżącym. Ć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 Beauforta i z kluczem bieżącym”?
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
- Szyfr Playfair
- ADFGVX i frakcjonowanie
- Szyfry Beauforta i z kluczem bieżącym
- Sieci Feistela: podstawy współczesnych szyfrów