Narzędzie Szyfru Vigenère’a
Szyfruj i deszyfruj tekst za pomocą szyfru polialfabetycznego Vigenère’a przy użyciu podanego przez użytkownika słowa kluczowego, które przesuwa każdą literę o zmienną wartość. Wizualizacja strumienia dopasowania klucza na żywo, tabula recta, warianty Autokey i Beaufort, dowód powrotny oraz wskazówka dotycząca okresu Kasiski.
Blokada reklam uniemożliwia wyświetlanie reklam
MiniWebtool jest darmowy dzięki reklamom. Jeśli to narzędzie Ci pomogło, wesprzyj nas przez Premium (bez reklam + szybciej) albo dodaj MiniWebtool.com do wyjątków i odśwież stronę.
- Albo przejdź na Premium (bez reklam)
- Zezwól na reklamy dla MiniWebtool.com, potem odśwież
O Narzędzie Szyfru Vigenère’a
To Narzędzie Szyfru Vigenère'a szyfruje i deszyfruje tekst za pomocą polialfabetycznego szyfru, który opierał się kryptoanalizie przez prawie 300 lat. Wpisz dowolną wiadomość oraz słowo kluczowe, a natychmiast otrzymasz szyfrogram wraz z ułożonym pionowo strumieniem wyrównania klucza, który pokazuje jednocześnie tekst jawny, klucz i zaszyfrowaną literę — dzięki czemu możesz zobaczyć, dlaczego każda litera uległa zmianie. Narzędzie udostępnia również oryginalny wariant Autokey, wzajemny wariant Beauforta używany w maszynie Hagelin M-209 z okresu II wojny światowej, dowód odwracalności operacji oraz tabula recta 26×26 do ręcznej weryfikacji.
Zasada działania krok po kroku
Weźmy tekst jawny ATTACKATDAWN i słowo kluczowe LEMON. Powtarzaj słowo kluczowe pod spodem, aż pokryje cały tekst jawny, a następnie dodaj do siebie obie litery pozycja po pozycji (A=0, B=1, …, Z=25), stosując operację modulo 26.
Odczytanie zielonego rzędu daje szyfrogram LXFOPVEFRNHR. Litera klucza L przesuwa A o 11 pozycji (A→L), E przesuwa T o 4 pozycje (T→X) i tak dalej. Ta sama litera tekstu jawnego A pojawia się trzykrotnie, ale zostaje zaszyfrowana jako trzy różne litery (L, O, E) — to jest właśnie własność polialfabetyczna i powód, dla którego Vigenère pokonuje analizę częstotliwościową pojedynczych liter.
Matematyka w jednej linii
Ponumeruj alfabet od A=0 do Z=25. Niech \( p_i \) będzie i-tą literą tekstu jawnego, a \( k_i \) odpowiednią literą klucza (słowo kluczowe zapętla się, więc \( k_i = K_{i \bmod n} \), gdzie \( n \) to długość klucza). Wtedy:
Szyfrowanie: \( c_i = (p_i + k_i) \bmod 26 \) · Deszyfrowanie: \( p_i = (c_i - k_i) \bmod 26 \)
W przypadku wariantu Beauforta ta sama jednowierszowa formuła \( c_i = (k_i - p_i) \bmod 26 \) obsługuje oba kierunki. W wariancie Autokey klucz przyjmuje postać \( k_1, k_2, \dots, k_n, p_1, p_2, \dots \) — sam tekst jawny rozszerza klucz po wyczerpaniu początkowego słowa kluczowego.
Objaśnienie trzech wariantów
Tabula Recta (Kwadrat Vigenère'a)
Klasycznym sposobem stosowania szyfru Vigenère'a jest sprawdzenie każdej litery w tabeli 26×26, gdzie każdy wiersz r jest alfabetem przesuniętym o r pozycji. Znajdź wiersz litery klucza, znajdź kolumnę litery tekstu jawnego — komórka na przecięciu to litera szyfrogramu. Aby odszyfrować, znajdź wiersz klucza, przejdź wzdłuż niego do litery szyfrogramu, a następnie odczytaj nagłówek kolumny.
| · | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | 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 |
| B | 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 | A |
| C | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B |
| D | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
| E | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D |
| F | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E |
| G | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F |
| H | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G |
| I | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H |
| J | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I |
| K | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J |
| L | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K |
| M | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L |
| N | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M |
| O | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N |
| P | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| Q | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
| R | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q |
| S | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R |
| T | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S |
| U | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T |
| V | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U |
| W | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V |
| X | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W |
| Y | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X |
| Z | Z | 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 |
Etykieta wiersza = litera klucza. Nagłówek kolumny = litera tekstu jawnego. Zawartość komórki = litera szyfrogramu. Przykład: wiersz L, kolumna A → L. Wiersz E, kolumna T → X.
Jak korzystać z Narzędzia Szyfru Vigenère'a
- Wklej swój tekst jawny (aby zaszyfrować) lub szyfrogram (aby odszyfrować) do pola wprowadzania. Strumień wyrównania klucza na żywo po prawej stronie pokazuje tekst jawny, literę klucza i wynikową literę szyfru ułożone pionowo, dzięki czemu przesunięcie poszczególnych liter jest widoczne na pierwszy rzut oka.
- Wpisz słowo kluczowe w polu Słowo kluczowe. Znaki niebędące literami są usuwane automatycznie. Obserwuj, jak pomarańczowy blok słowa kluczowego zmienia się w miarę przetwarzania liter, a lupa "najnowszej pary" powiększa ostatnią trójkę tekst jawny + klucz = szyfr.
- Wybierz Tryb (Szyfrowanie lub Deszyfrowanie) oraz Wariant (Vigenère, Autokey lub Beaufort). Beaufort jest funkcją wzajemną, więc tryb nie zmienia jego wyniku końcowego.
- Kliknij Zastosuj Narzędzie Szyfru Vigenère'a. Pełny wynik pojawi się poniżej wraz ze śledzeniem przesunięcia litera po literze, statystykami (długość klucza, okres, pokrycie), dowodem odwracalności operacji i laboratorium szyfrów porównującym każdy wariant na tym samym tekście wejściowym.
- Użyj przycisków Skopiuj, aby pobrać szyfrogram, oryginał lub słowo kluczowe. Aby odszyfrować, wklej szyfrogram, przełącz Tryb na Deszyfrowanie z tym samym słowem kluczowym i kliknij ponownie.
Szyfr Vigenère'a vs Szyfr Cezara vs Atbash vs ROT13 — Szybkie porównanie
| Szyfr | Typ | Klucz | Wzajemny (samoswrotny) | "HELLO" z kluczem LEMON |
|---|---|---|---|---|
| Vigenère | Podstawieniowy polialfabetyczny | Słowo kluczowe (1+ liter) | Nie (użyj Deszyfrowanie) | SIXZB |
| Szyfr Cezara (przesunięcie 3) | Rotacja monoalfabetyczna | Pojedyncze przesunięcie | Nie | KHOOR |
| ROT13 | Rotacja (stałe 13) | Brak (stałe) | Tak | URYYB |
| Atbash | Odbicie lustrzane | Brak (stałe) | Tak | SVOOL |
| Beaufort | Polialfabetyczny wzajemny | Słowo kluczowe | Tak | EABDZ |
Dlaczego szyfr Vigenère'a nazywano "Le Chiffre Indéchiffrable"
Przez prawie trzy wieki po tym, jak Bellaso opublikował go po raz pierwszy w 1553 roku, szyfr Vigenère'a był uważany za niemożliwy do złamania. Pojedyncza litera tekstu jawnego mogła zostać zaszyfrowana na 26 różnych sposobów w zależności od swojej pozycji, więc założenie o stałej częstotliwości występowania liter, które pozwala łatwo złamać szyfr Cezara (gdzie litera E jest najczęściej występującą literą w języku angielskim), przestało mieć zastosowanie. Charles Babbage złamał go w latach 50. XIX wieku, ale nie opublikował swoich badań; Friedrich Kasiski niezależnie opublikował metodę ataku w 1863 roku. Kluczowa obserwacja: słowo kluczowe powtarza się, więc ten sam podciąg tekstu jawnego na pozycjach różniących się o wielokrotność długości klucza daje taki sam szyfrogram. Znajdując odległości między powtarzającymi się trigramami i wyznaczając ich największy wspólny dzielnik, otrzymujemy bardzo prawdopodobną długość klucza. Gdy długość klucza jest znana, szyfr Vigenère'a rozpada się na n równoległych szyfrów Cezara, z których każdy poddaje się prostej analizie częstotliwościowej.
Metoda Kasiskiego — Jak upada Vigenère
- Przeszukaj szyfrogram w poszukiwaniu powtarzających się sekwencji 3- lub 4-literowych.
- Zapisz odległości pomiędzy każdą parą powtórzeń.
- Wyznacz największy wspólny dzielnik (NWD) tych odległości — długość klucza prawie zawsze dzieli ten NWD.
- Podziel szyfrogram na n kolumn (co n-tą literę). Każda kolumna stanowi osobny szyfr Cezara.
- Dla każdej kolumny znajdź przesunięcie liter, które maksymalizuje indeks koincydencji lub najlepiej pasuje do częstotliwości liter danego języka. To przesunięcie definiuje jedną literę klucza.
Wypróbuj szybki przykład "Podatny na metodę Kasiskiego", aby to zobaczyć: fraza wejściowa powtarza "The quick brown fox", a klucz ma tylko 3 litery, więc te same słowa są szyfrowane w ten sam sposób za każdym razem — co dla analityka stosującego metodę Kasiskiego jest oczywistym sygnałem.
Rodzina ataków Babbage'a / Kasiskiego / Friedmana
- Babbage (lata 50. XIX wieku, niepublikowane). Odkrył, że powtarzające się wzorce zdradzają długość klucza.
- Kasiski (1863). Opublikował ten sam pomysł: odległość między powtórzeniami jest wielokrotnością długości klucza.
- Friedman (1922). Wprowadził indeks koincydencji — miarę statystyczną, która przy właściwym podziale na kolumny osiąga szczyt na poziomie ok. 0,067 (dla języka angielskiego) zamiast wartości losowej ok. 0,038.
- Współczesne komputery. Testują wszystkie długości kluczy od 1 do 30, obliczają indeks koincydencji dla każdego podziału kolumn, wybierają długość o najwyższym średnim indeksie, a następnie atakują częstotliwościowo każdą kolumnę. Całkowity czas: milisekundy.
Wskazówka dotycząca bezpieczeństwa
Szyfr Vigenère'a nie jest nowoczesnym szyfrowaniem. 5-literowe słowo kluczowe jest łamane w milisekundy metodą Kasiskiego, a 20-literowe klucze padają po kilku sekundach zautomatyzowanej analizy. Nawet wariant Autokey, który eliminuje słabość okresowości, jest podatny na ataki ze znanym tekstem jawnym oraz ataki na prefiks słowa kluczowego. Nigdy nie używaj szyfru Vigenère'a do ochrony haseł, danych osobowych, informacji finansowych ani niczego, co powinno pozostać poufne. Do prawdziwej ochrony używaj algorytmów AES-256, ChaCha20, RSA lub biblioteki libsodium. Traktuj szyfr Vigenère'a jako sposób na zamaskowanie tekstu — do łamigłówek, CTF-ów, nauki i pokazów historycznych — a nie do jego faktycznego zabezpieczenia.
Porady ułatwiające uzyskanie najlepszych rezultatów
- Aby odszyfrować, wklej szyfrogram, wpisz to samo słowo kluczowe i przełącz Tryb na Deszyfrowanie. To samo narzędzie służy zarówno do szyfrowania, jak i deszyfrowania.
- W przypadku wariantu Beauforta tryb nie ma znaczenia — dwukrotne zastosowanie szyfru Beauforta z tym samym kluczem zwraca oryginał.
- Jeśli zależy Ci wyłącznie na literach (bez spacji i interpunkcji w wyniku końcowym), odznacz opcję "Zachowaj wielkość liter" — dane wejściowe zostaną znormalizowane do WIELKICH liter przed szyfrowaniem, a wynik będzie składał się wyłącznie z dużych liter.
- Spacje i znaki interpunkcyjne w danych wejściowych przechodzą bez zmian. Aby ukryć granice słów przed przypadkowym czytelnikiem, usuń je samodzielnie przed wklejeniem tekstu.
- Użyj laboratorium szyfrów, aby zobaczyć, jak ten sam klucz zachowuje się we wszystkich trzech wariantach — Autokey zazwyczaj generuje wynik zupełnie inny od klasycznego Vigenère'a po pierwszych n literach, ponieważ strumień klucza ulega zmianie.
FAQ
Co to jest szyfr Vigenère'a?
Szyfr Vigenère'a to polialfabetyczny szyfr podstawieniowy, który przesuwa każdą literę tekstu jawnego o inną wartość określoną przez powtarzające się słowo kluczowe. Jeśli literą klucza jest K (11. litera), litera tekstu jawnego jest przesuwana do przodu o 10 pozycji. Szyfr został opisany przez Giovana Battistę Bellaso w 1553 roku, a później błędnie przypisany Blaise'owi de Vigenère'owi, którego nazwisko przetrwało w nazwie.
Czym różni się szyfr Vigenère'a od szyfru Cezara lub Atbash?
Szyfr Cezara używa jednego stałego przesunięcia dla każdej litery — jednoliterowy klucz Vigenère'a to dokładnie szyfr Cezara. Szyfr Vigenère'a używa innego przesunięcia dla każdej pozycji, pobieranego z powtarzającego się słowa kluczowego — dlatego ta sama litera tekstu jawnego może zostać zaszyfrowana jako kilka różnych liter szyfrogramu. Atbash to stałe odbicie lustrzane (A↔Z, B↔Y) bez użycia klucza. Vigenère jest znacznie trudniejszy do złamania za pomocą analizy częstotliwościowej pojedynczych liter, ponieważ klucz spłaszcza rozkład częstotliwości liter.
Czy szyfr Vigenère'a jest bezpieczny do rzeczywistego szyfrowania?
Nie. Friedrich Kasiski złamał szyfr Vigenère'a w 1863 roku, wykorzystując okresowość powtarzającego się słowa kluczowego. Współczesne komputery łamią szyfr Vigenère'a natychmiast przy użyciu testu Friedmana (indeks koincydencji) oraz metody Kasiskiego. Do prawdziwej ochrony używaj AES-256, ChaCha20 lub libsodium; Vigenère służy do zagadek, CTF-ów i celów dydaktycznych.
What is the Autokey variant?
Wariant Autokey rozszerza słowo kluczowe poprzez dołączenie do niego samego tekstu jawnego, dzięki czemu strumień klucza nigdy się nie powtarza. Vigenère zaproponował to w 1586 roku, aby wyeliminować tę samą słabość, którą później wykorzystał Kasiski. Autokey jest znacznie trudniejszy do złamania niż klasyczny Vigenère, ale nadal jest podatny na ataki z ze znanym tekstem jawnym oraz ataki na prefiks słowa kluczowego.
What is the Beaufort variant?
Szyfr Beauforta wykorzystuje operację szyfrogram = (klucz − tekst jawny) mod 26, co czyni go własną odwrotnością — dwukrotne zaszyfrowanie tym samym kluczem przywraca oryginał. Został nazwany na cześć sir Francisa Beauforta i był szyfrem wykorzystywanym w maszynie Hagelin M-209, przenośnym mechanicznym urządzeniu szyfrującym używanym przez armię USA podczas II wojny światowej.
Jak długie powinno być moje słowo kluczowe?
Im dłuższe, tym lepsze. Jednoliterowy klucz sprowadza szyfr Vigenère'a do szyfru Cezara. Krótki klucz (3–5 liter) zostaje złamany w kilka sekund metodą Kasiskiego. Klucz o tej samej długości co wiadomość i użyty tylko raz to szyfr z kluczem jednorazowym (one-time pad) — matematycznie niemożliwy do złamania. W przypadku zagadek i nauki zwykle wybiera się słowo kluczowe o długości 6–12 liter.
Cytuj ten materiał, stronę lub narzędzie w następujący sposób:
"Narzędzie Szyfru Vigenère’a" na https://MiniWebtool.com/pl/narzedzie-szyfru-vigenere/ z MiniWebtool, https://MiniWebtool.com/
przez zespół miniwebtool. Zaktualizowano: 2026-05-26