Szyfr Cezara
Z Wikipedii
W kryptografii, szyfr Cezara, inaczej szyfr przesuwający, to jeden z najprostszych i najbardziej znanych szyfrów. Szyfr Cezara jest szczególnym przypadkiem szyfru monoalfabetycznego. Znany był już w starożytności, używany między innymi przez Juliusza Cezara, rzymskiego wodza i polityka. Współczesne techniki kryptoanalityczne pozwalają z łatwością złamać szyfr Cezara, a zatem nie zapewnia on żadnego bezpieczeństwa.
Spis treści |
[edytuj] Przykład
W szyfrze Cezara każdemu znakowi tekstu jawnego odpowiada dokładnie jeden znak w szyfrogramie, przesunięty o określoną, stałą liczbę znaków w alfabecie. Litery z końca alfabetu stają się literami z jego początku. Przykładowo, przesuwając o 3 znaki w alfabecie łacińskim (bez polskich liter) litera A staje się literą D, litera B staje się literą E, E staje się H, L staje się O, a Y – B.
Tekst jawny: ABCDEFGHIJKLMNOPQRSTUVWXYZ Szyfrogram: DEFGHIJKLMNOPQRSTUVWXYZABC
Aby zaszyfrować tekst, każdą literę tekstu jawnego zastępuje się odpowiednią literą szyfru:
Tekst jawny: ALEA IACTA EST Szyfrogram: DOHD LDFWD HVW
Deszyfrowanie polega po prostu na odwróceniu tej operacji.
Formalnie operację szyfrowania można zapisać – zamieniając najpierw litery na liczby według klucza A=0, B=1, C=2, ..., Z=25 – w następujący sposób:
gdzie x jest liczbą odpowiadającą literze tekstu jawnego, zaś En(x) liczbą odpowiadającą literze szyfrogramu. Podobnie, odkodowanie tekstu można formalnie zapisać jako:
gdzie x jest liczbą odpowiadającą literze szyfrogramu, zaś Dn(x) liczbą odpowiadającą literze tekstu jawnego.
Ponieważ operacja mod w większości języków programowania daje ujemne wyniki dla ujemnego pierwszego argumentu, stąd w praktyce do deszyfrowania lepiej użyć wzoru:
[edytuj] Historia i zastosowanie
Nazwa szyfru pochodzi od Juliusza Cezara, rzymskiego wodza i polityka. Szyfrował on listy o znaczeniu wojskowym do swoich generałów, używając szyfru przesuwającego z przesunięciem 3. Z tego powodu niekiedy szyfrem Cezara określa się wyłącznie szyfr przesuwający o przesunięciu 3, zaś termin szyfr przesuwający jest zarezerwowany dla przypadku ogólnego.
Przed Cezarem, jego adoptowany syn, Oktawian August, używał szyfru przesuwającego z przesunięciem 1. Bezpieczeństwo szyfru przesuwającego w ówczesnych czasach jest nieznane. Należy jednak pamiętać, że w starożytności analfabetyzm był powszechny, zatem wielu wrogów Cezara mogło mieć kłopot z przeczytaniem samego tekstu, a co dopiero z rozkodowaniem go.
Pierwsze udokumentowane techniki złamania szyfru Cezara pochodzą z IX wieku, gdy w świecie arabskim odkryto analizę częstościową. Wraz z odkryciem tej techniki szyfr Cezara utracił swoją praktyczną wartość. Mimo tego, ze względu na swoją prostotę był podobno stosowany przez Rosjan jeszcze w 1915 roku w czasie I wojny światowej. Kryptoanalitycy niemieccy i austriaccy nie mieli większych kłopotów z rozkodowaniem przechwyconych wiadomości.
[edytuj] Kryptoanaliza
Kryptoanaliza szyfru Cezara jest wyjątkowo prosta i można go łatwo złamać nawet w sytuacji, gdy dostępny jest wyłącznie szyfrogram. Zasadniczo istnieją dwie możliwości: 1) wiadomo (lub przypuszcza się), że zastosowano szyfr monoalfabetyczny, ale nie wiadomo, czy zastosowano szyfr Cezara; 2) wiadomo (lub przypuszcza się), że zastosowano szyfr Cezara, ale nieznane jest przesunięcie jakiego użyto do zakodowania wiadomości.
W pierwszym przypadku, szyfr może zostać łatwo złamany przy pomocy kryptoanalizy statystycznej. W drugim przypadku, szyfr Cezara może być wyjątkowo łatwo złamany metodą brute force, gdyż istnieje tylko 25 różnych możliwych przesunięć (w alfabecie łacińskim), co przy pomocy komputerów pozwala sprawdzić wszystkie możliwości w ciągu ułamków sekund.
Ze względu na istniejące techniki kryptoanalityczne pozwalające na jego złamanie, współcześnie szyfr Cezara nie zapewnia żadnego praktycznego bezpieczeństwa przesyłanych informacji.
[edytuj] Linki zewnętrzne