Software

Caesarův kodér

Program slouží ke kódování a dekódovaní krátkých zpráv. Je založen na velice jednoduchém principu Caesarova kódování Jde o jednoduchou substituční šifru, která vznikne posunem abeced vzájemně pod sebou.

Otevřená abeceda: 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
Zakódovaná abeceda: 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

Tím vznikne na první pohled nečitelný text

Otevřený text: Caesaruv koder funguje spolehlive
Zakódovaný text: Zxbpxors hlabo crkdrgb pmlibeifsb

(zakódováno podle předchozí tabulky s posunem o 23 pismen)

Pro dekódování jsem využil jednoduchý princip frekvenční analízy kódového textu. Spočítám si množství výskytu jednotlivých písmen a pak tento profil porovnám s profilem průměrného nekódovaného psaní.

Abeceda: a b c d e f g h i j k l m
četnost písmen v %: 8.2 1.5 2.8 4.3 12.7 2.2 2.0 6.1 7.0 0.2 0.8 4.0 2.4
Abeceda: n o p q r s t u v w x y z
četnost písmen v %: 6.7 7.5 4.9 0.1 6.0 6.3 9.1 2.8 1.0 2.4 0.2 2.0 0.1

Postupným posouváním profilů vyhodnocuji, jak se liší. U nejpodobnějšího zjistím, o kolik písmenek jsem posunut a provedu dekódování.

a) na horním grafu je četnost písmen v průměrném textu, b) na spodním grafu je četnost písmen v zakódovaném textu z předchozí ukázky

program pouze nalezne vhodné posunutí těchto grafů (korelaci).

Screenshot programu

Četnost písmen použitá pro dekódování je odvozena od anglicky napsaných textů, ale naštěstí funguje i pro česky psaný text. Ve zdrojáku sice naleznete četnost pro český jazyk, ale není použita. Program správně unguje pouze s písmeny anglické abecedy. Při kódování českých znaků by nastalo mnoho problémů a já sem je proto neřešil.

Pro použití programu stačí nastavit směr převodu a dále posunutí znaků – pro kódování (pro dekódování stačí po napsání zašifrovaného textu stisknout „key decode“), všechno ostatní zařídí program sám. Program samozřejmě neumí dekódovat vše, protože některé příliš krátké texty jsou tak odlišné od průměru, že se vyhodnotí chybně.

Download

Idiot28.11.2012 19:30
OOOOOOOOOOO

Cha cha

Severovýchod Valid XHTML 1.0 Strict Valid CSS 2 Text to HTML converter and formatter Jay Bee simple CMS