Strona głównaArtykułyClassical Mechanics

Ruch Amplituzy: Zrozumienie i Eksperymentowanie

Pendulum to prosty, ale fascynujący przykład ruchu harmonicznego. W tym module dowiesz się, jak mierzyć okres drgań, jak wpływa na ruch amplituda oraz jak energia zachowuje się podczas ruchu.

mysimulator teamZaktualizowano — czerwiec 2026≈ 7 min czytania▶ Otwórz symulację

Przesunięcie alfabetu

Cyfrowe szyfrowanie Cezara, używane – jak się mówi – przez Juliusza Cezara do korespondencji wojskowej, enkryptuje każdą literę alfabetu poprzez przesunięcie jej o stałą wartość k: A staje się D przy przesunięciu o 3, B staje się E, i tak dalej, z powrotem od Z do A. Dekrypcja polega na przesunięciu wprost wstecz o tę samą wartość k. Ma dokładnie 25 możliwych kluczy (26 minus bezużyteczne przesunięcie równe 0), co oznacza, że oferuje ona zasadniczo żadnej prawdziwej ochrony – komputer lub cierpliwy człowiek mogą po prostu spróbować wszystkich 25 przesunięć i odczytać, które z nich daje tekst w języku angielskim.

demo na żywo · powiązana symulacja● LIVE

Wigenier: inny przesunięcie dla każdej litery

Szyfr Wigeniera (XVI wieku, błędnie przypisywany i dawniej nazywany "le chiffre indéchiffrable") eliminuje słabość pojedynczego przesunięcia poprzez powtarzanie klucza pod tekstem źródłowym i wykorzystywanie własnej pozycji alfabetowej dla każdej litery klucza jako przesunięcia.

tekst źródłowy: A T T A C K A T D A W N klucz: L E M O N L E M O N L E szyfr: L X F O P V E F R N H R (każda litera przesunięta o jej dopasowaną literę klucza) C_i = (P_i + K_{i mod m}) mod 26, m = długość klucza Ponieważ przesunięcie zmienia się od litery do litery zgodnie z kluczem, ta sama litera w tekście źródłowym zwykle szyfrowana jest na różne litery w szyfrze w różnych pozycjach, co wygładza wzorzec częstotliwości liter jednego alfabetu, który sprawia, że Caesar jest tak łatwy do złamania – przez prawie trzy stulecia to naprawdę opierało się na przypadkowej kryptanalizie.

plaintext:   A T T A C K A T D A W N
key:         L E M O N L E M O N L E
ciphertext:  L X F O P V E F R N H R    (each letter shifted by its aligned key letter)

C_i = (P_i + K_{i mod m}) mod 26,   m = key length

Rozbijanie Cezara: analiza częstotliwości

Angielskie częstotliwości liter są znane z bycia niezrównoważone: E pojawia się około 12,7% czasu, T około 9,1%, a J, Q, X i Z ledwie rejestrują się. Pod Cezarem ten cały profil częstotliwości po prostu przesuwa się o k pozycji, więc atakujący mierzy częstotliwość liter w zaszyfrowanym tekście, znajduje przesunięcie, które najlepiej dopasowuje szczyt (zwykle mapowanie najczęściej występującej litery w zaszyfrowanym tekście na E) do znanych statystyk języka angielskiego i odzyskuje k bezpośrednio — dokładnie tak jak automatyczne wyróżnienie wykonane przez tę symulację na żywej wykresie częstotliwości.

Rozbijanie Vigenère'a: znajdowanie długości klucza najpierw

Vigenère opiera się na prostych analizach częstotliwości na całym zaszyfrowanym tekście, ponieważ 26 różnych alfabetów przesunięć jest zagnieżdżonych. Klasyczna metoda, badanie Kasiski, zamiast tego szuka powtarzających się podciągów w zaszyfrowanym tekście; jeśli ten sam fragment tekstu źródłowego pokrywa się z tym samym fragmentem powtarzającego się klucza dwa razy, to generuje identyczny podciąg w zaszyfrowanym tekście, a odległość między powtórzeniami jest bardzo prawdopodobnie wielokrotnością długości klucza m. Po ustaleniu wartości m, zaszyfrowany tekst dzieli się na m niezależnych strumieni przesuniętych Cezara (każdy podciąg o długości m dzieli się jednym przesunięciem), a zwykła analiza częstotliwości rozdziela je oddzielnie.

Indeks współwystępowania: mierzenie 'angielskości' strumienia

Indeks współwystępowania (IC) daje bardziej solidny, statystyczny sposób na znalezienie m, bez szukania powtórzeń. Mierzy prawdopodobieństwo, że dwa losowo wybrane litery z tekstu są identyczne.

IC = ∑ nᵢ(nᵢ − 1) / (N(N − 1)) nᵢ = liczba wystąpień litery i, N = całkowita liczba liter losowy tekst (26 równoprawdopodobnych liter): IC ≈ 0.038 tekst w języku angielskim: IC ≈ 0.067 Vigenère podzielony przy prawidłowej długości klucza m: każdy z strumieni o długości m jest przesunięty o jedną pozycję, co sprawia, że jego indeks współwystępowania zbliża się do 0.067; podział przy nieprawidłowej długości klucza powoduje, że strumienie zachowują się bardziej losowo i IC spada w kierunku 0.038. Próbowanie kandydatów na długość klucza i wybieranie tego, który daje strumienie po podziale o najwyższy średni indeks współwystępowania, pozwala niezawodnie określić m, po czym stosuje się tę samą metodę analizy częstotliwości, która łamie szyfr Cezara, do każdego z m strumieni oddzielnie – obie te ataki w symulacji to w zasadzie ta sama idea zastosowana raz i następnie m razy równolegle.

IC = Σ n_i(n_i − 1) / (N(N − 1))     n_i = count of letter i, N = total letters

random text (26 equiprobable letters):  IC ≈ 0.038
normal English text:                    IC ≈ 0.067
Vigenère split at the correct key length m: each of the m streams is single-shifted
English, so its IC lands near 0.067; split at the wrong length, the streams behave
closer to random and IC drops toward 0.038.

Często zadawane pytania

Dlaczego szyfr Cezara jest uważany za całkowicie niebezpieczny dzisiaj?

Posiada tylko 25 możliwych kluczy, więc wyczerpujące próbowanie każdego przesunięcia i sprawdzanie, które z nich generuje czytelny tekst, łamie go w ułamku sekundy, nawet ręcznie. Jego profil częstotliwości liter również pozostaje niezmieniony, jedynie przesunięty, co czyni analizę częstotliwości jeszcze szybszą atakiem.

Dlaczego szyfr Wigenera był uważany za nie dołamanego przez tak długo?

Ponieważ używa innego przesunięcia dla każdej pozycji w powtarzającym się kluczu, co wygładza pojedynczy wzorzec częstotliwości alfabetu, który czyni szyfry typu Cezara podatnymi na ataki, a bez znajomości długości klucza nie ma oczywistego sposobu na rozdzielenie przetworzonych alfabetów. Do niezawodnego ustalenia długości klucza i systematycznego złamania szyfru wykorzystano metodę Kasiski z 1863 roku.

Co mierzy wskaźnik współczynnika prawdopodobieństwa (index of coincidence)?

Prawdopodobieństwo, że dwa losowo wybrane litery z tekstu są tymi samymi literami. Ponieważ częstotliwości liter w języku angielskim są nierówne, tekst w języku angielskim ma zauważalnie wyższy współczynnik (około 0,067) niż tekst losowy (około 0,038), który jest dokładnie sygnałem wykorzystywanym do ustalenia, gdzie szyfr Wigenera dzieli się na strumienie tekstu w języku angielskim z pojedynczym przesunięciem.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Caesar & Vigenère Ciphers i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Caesar & Vigenère Ciphers

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)