Wszystkie artykuły

Analiza częstotliwości tekstu: po co liczyć powtórzenia słów

Analiza częstotliwości tekstu liczy, ile razy każde słowo lub znak pojawia się w tekście. W Polsce ta dziedzina ma wyjątkowe miejsce w historii kryptografii — to polscy matematycy jako pierwsi złamali Enigmę, choć nie klasyczną analizą częstotliwości.

Dlaczego Enigmy nie dało się złamać samą analizą częstotliwości

Niemiecka maszyna szyfrująca Enigma celowo została zaprojektowana tak, by zniweczyć klasyczną analizę częstotliwości liter: każdy naciśnięty klawisz przechodził przez wirniki, które po każdej literze zmieniały układ podstawienia, więc ta sama litera tekstu jawnego prawie nigdy nie szyfrowała się tym samym znakiem dwukrotnie z rzędu. To właśnie odróżnia Enigmę od prostych szyfrów podstawieniowych, które analiza częstotliwości potrafi złamać bez trudu.

Biuro Szyfrów i metoda matematyczna Rejewskiego

Polskie Biuro Szyfrów, a w szczególności matematyk Marian Rejewski, złamało Enigmę w latach 30. XX wieku metodami teorii permutacji i analizy strukturalnej samego mechanizmu maszyny — nie prostym liczeniem częstotliwości liter. To osiągnięcie, przekazane Brytyjczykom tuż przed wybuchem wojny, stało się fundamentem późniejszej pracy ośrodka Bletchley Park.

Częstotliwość liter i klasyczna kryptoanaliza

Proste szyfry podstawieniowe — w przeciwieństwie do Enigmy — nie zmieniają rozkładu częstotliwości liter, tylko przestawiają, które litery odpowiadają którym. Porównując rozkład częstotliwości zaszyfrowanego tekstu ze znanym rozkładem języka oryginału (w polskim najczęstsza jest litera „A"), można odtworzyć odpowiedniość znaków i złamać taki prosty szyfr bez sprawdzania wszystkich możliwych kluczy.

Do czego się przydaje

  • Szybkie zrozumienie głównych tematów długiego dokumentu na podstawie najczęstszych słów.
  • Sprawdzenie tekstu pod kątem naturalności rozkładu liter (zadania edukacyjne z kryptografii).
  • Analiza powtarzalności słów dla optymalizacji SEO tekstu strony.

Prawo Zipfa

W językach naturalnych częstotliwość słowa jest odwrotnie proporcjonalna do jego rangi na liście uporządkowanej malejąco według częstotliwości: najczęstsze słowo pojawia się mniej więcej dwa razy częściej niż drugie pod względem częstotliwości, trzy razy częściej niż trzecie i tak dalej. Ta prawidłowość (prawo Zipfa) jest na tyle stabilna dla zwykłego tekstu, że istotne od niej odchylenie to sygnał: tekst może być sztucznie wygenerowany, mocno naszpikowany słowami kluczowymi (spam) lub napisany w innym języku, niż oczekiwano.

Wypróbuj narzędzie