Caesarova šifra je jednoduchou substituční šifrou, jejíž princip spočívá v posunu každého písmene otevřeného textu o konstantní počet míst v abecedě. Ačkoliv se v době Julia Caesara používala jen varianta posunu o 3 písmena, tak název se Caesarova šifra používá pro všechny varianty tohoto šifrovacího systému.

Šifrování proto probíhá dle následujícího vzorce:

C_{i} = (T_{i} + k) \\pmod{m}
Ci - i-tý znak šifrovaného textu
Ti - i-tý znak otevřeného textu
k - posun
m - délka abecedy

Dešifrování funguje přesně opačným způsobem (odečtením posunu od šifrovaného textu):

T_{i} = (C_{i} - k) \\pmod{m}

Útoky na Caesarovu šifru

Všechny varianty

Protože variant je jen tolik, jaká je délka abecedy, tak se dají snadno zkusit všechny možnosti a vybrat tu, která dává smysl.

Frekvenční analýza

Pokud víme, v jakém jazyce byl napsán otevřený text, tak zároveň známe percentuelní zastoupení písmen v otevřeném textu. Dále zjistíme frekvenci písmen v zachyceném šifrovaném textu a prostým porovnáním frekvencí znaků zjistíme posun. Se znalostí posunu jsme schopni dešifrovat zachycený text.


Příklad

Šifrování

Otevřený text: "barbariutoci", posun: 3

b + 3 = 1  + 3 = 4  = e
a + 3 = 0  + 3 = 3  = d
r + 3 = 17 + 3 = 20 = u
b + 3 = 1  + 3 = 4  = e
a + 3 = 0  + 3 = 3  = d
r + 3 = 17 + 3 = 20 = u
i + 3 = 8  + 3 = 11 = l
u + 3 = 20 + 3 = 23 = x
t + 3 = 19 + 3 = 22 = w
o + 3 = 14 + 3 = 17 = r
c + 3 = 2  + 3 = 5  = f
i + 3 = 8  + 3 = 11 = l

Šifrovaný text: "eduedulxwrfl"

Dešifrování

Šifrovaný text: "eduedulxwrfl", posun: 3

e - 3 = 4  - 3 = 1  = b
d - 3 = 3  - 3 = 0  = a
u - 3 = 20 - 3 = 17 = r
e - 3 = 4  - 3 = 1  = b
d - 3 = 3  - 3 = 0  = a
u - 3 = 20 - 3 = 17 = r
l - 3 = 11 - 3 = 8  = i
x - 3 = 23 - 3 = 20 = u
w - 3 = 22 - 3 = 19 = t
r - 3 = 17 - 3 = 14 = o
f - 3 = 5  - 3 = 2  = c
l - 3 = 11 - 3 = 8  = i

Otevřený text: "barbariutoci"


Kód

01./**
02. * Caesarova sifra
03. * @author Pavel Micka
04. */
05.public class CaesarCipher {
06.    /**
07.     * Posun (Caesarova sifra ma 3)
08.     */
09.    public static final int SHIFT = 3;
10. 
11.    /**
12.     * Zasifruje Caesarovou sifrou
13.     * @param s retezec obsahujici pouze velka pismena
14.     * @return zasifrovany retezec
15.     */
16.    public static String encipher(String s){
17.        StringBuilder builder = new StringBuilder();
18.        for(int i = 0; i < s.length(); i ++){
19.            if(s.charAt(i) < 65 || s.charAt(i) > 90){ //znak v ASCII
20.                throw new IllegalArgumentException("" +
21.                        "Sifrovany retezec neobsahuje jen velka pismena");
22.            }
23.            //modularne pricteme shift
24.            char enciphered = s.charAt(i) + SHIFT > 90 ? (char)((s.charAt(i) + SHIFT) - 26) : (char)(s.charAt(i) + SHIFT);
25.            builder.append(enciphered);
26.        }
27.        return builder.toString();
28.    }
29.    /**
30.     * Desifruje retezec zasifrovany Caesarovou sifrou
31.     * @param s retezec k desiforvani
32.     * @return desifrovany retezec
33.     */
34.    public static String decipher(String s){
35.        StringBuilder builder = new StringBuilder();
36.        for(int i = 0; i < s.length(); i ++){
37.            if(s.charAt(i) < 65 || s.charAt(i) > 90){ //znak v ASCII
38.                throw new IllegalArgumentException("" +
39.                        "Desifrovany retezec neobsahuje jen velka pismena");
40.            }
41.            //modularne odecteme shift
42.            char deciphered = s.charAt(i) - SHIFT < 65 ? (char)((s.charAt(i) - SHIFT) + 26) : (char)(s.charAt(i) - SHIFT);
43.            builder.append(deciphered);
44.        }
45.        return builder.toString();
46.    }
47.}

SEO od společnosti Digital Pylon


Online casino s algoritmem

České casino online online slot-vegas.cz

Hrajte nejlepší hry jako je GoodGame Empire.





Zajímavé články: Jak najít práci snů? Zvolte kariéru v IT!, Češi mají rádi hrací automaty online, Jak funguje algoritmické obchodování Casino, Online výuka Algoritmus a online marketing mají svá pravidla, Automaty, Matematický vliv, Ratings, Jak fungují algoritmy hazardních her online: více znalostí, více peněz, SYPWAI - nástroj pro vědecký vývoj, Vynikají na globálním trhu: Nejlepší vývojáři softwaru pro online výherní automaty, Jak si vybrat nejlepší české online casino, Proč byste měli hrát online casino VPN revoluce, Kde najdeme algoritmy v každodenním životě?, Čeká vás pracovní pohovor mimo město? Podívejte se, jak dokonale zvládnout včasný příchod, 5 úžasných technologií ze světa hazardních her, Mirror and access to Mostbet, Svou kancelář můžete mít stále po ruce, Jaké výhody má digitalizovaná firma oproti off-line konkurenci?, Jaký systém vybrat pro snadné řízení výroby?, Nahradí umělá inteligence ajťáky?, Důvody, proč používat SnapTik ke stahování videí TikTok, Dokonalý den na pláži: Co si vzít s sebou, aby byl výlet zábavný a bezpečný?, Jak přežít dlouhý let?, Go pay GoodGame Empire, Blockchain, Rozhovor, Umělá inteligence, Ochranná známka pre softvér: Prečo ju registrovať?, Role kryptografických algoritmů v zabezpečení online kasin, Jaké jsou náklady na nákup 3D tiskárny?, Jak algoritmy vylepšují online zážitky v roce 2025,


Doporučujeme

Internet pro vaši firmu na míru

https://www.algoritmy.net