; ; Kryptograficky pomocnik - Help Text ; ; Note: This file must be compiled with the Version 1.1 of TVHC.EXE. ; .topic NoContext Vitame Vas v programu KRYPTIK Ü ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß Vitejte v programu KRYPTIK (Kryptograficky pomocnik). Omluvte program ( a autora ) za to ze na vas mluvi jeste cestinou , ktera postrada hacky a carky. Je to proto, ze autor odmital resit problemy, ktere s tim souvisi - jako jsou ruzne kody cestiny, obtizne zavadeni cestiny. Jak pouzivat napovedu Ü ßßßßßßßßßßßßßßßßßßßßßß Okno helpu bezi ve vyhranenem rezimu. To znamena, ze vsechny udalosti a povely od uzivatele, ktere se tykaj¡ vec¡ mimo okno, jsou IGNOROVANY. (stavovy radek je vyjimka-funguje) Pro praci s helpovym oknem muzete pouzit tyto funkcni klavesy : ENTER na barevne zvyraznene polozce : Prechod na dany odkaz TAB : Prechod mezi barevne zvyraznenymi polozkami (odkazi na dalsi temata) kurzorove sipky (,,,) : Posun (scrolling) textu v okne ESC nebo Alt-F3 : Zruseni (zavreni) helpu Alt-F1 : Prechod na predchozi tema napovedy F5 : Zvetseni na maximum/zmenseni na puvodni velikost Ctrl-F5: Zmena velikosti a polohy : kurzorove sipky - presun okna SHIFT a sipky - zmena velikosti ENTER - potvrzeni , ze nastavena velikost ma byt akceptovana ESC - zruseni operace a vraceni puvodni velikosti .topic HelpOnHelp = 4, Nothing = 5 Co lezes do helpu, kdyz tu nic neni !!! .topic Sifry ÚÄÄÄÄÄÄÄÄ ÚÄÄ´ Sifry Û ÄÄÄ(Alt+I)ÄÄÄ ³ ÀÜÜÜÜÜÜÜÜÛ Û ³ Û ³ {Afinni sifra:Afinni} Û ³ {Vignerovska sifra:Vigner} Û ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ Pro obe sifrovaci funkce plati nastaveni {Rozlisovat mala/velka pismena:VelkaMala} a {Zachovat mezery a konce radku:Format} .topic Afinni, Posun, Multiplik, Inverz Sifry³Afinni Ü ßßßßßßßßßßßßß Je otevreny a aktivni soubor, ktery obsahuje obycejny text. V menu Sifry se vybere polozka Afinni, nebo se znackne F4. Objevi se okno ÉÍ[þ]ÍÍÍ Afinni Sifra ÍÍÍÍÍÍÍÍÍÍ» º º º Multiplikator: ÛÛÛÛÛ º º Posun: ÛÛÛÛÛ º º º º [ ] Inverzni transformace º º º º Ok Ü Zrusit Ü º º ßßßßßßß ßßßßßßß º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Zde se nastavi Multiplikator (cislo od 0 do 30 nesoudelne s 26 = pocet znaku anglicke abecedy) a Posun (cislo od 0 do 30) (viz Afinni Sifra) a klikne se na OK. Objevi se (pripadne vytvori nove) okno, ve kterem se zobrazuji informace o tom, ktery soubor byl zpracovan, kolik znaku bylo na vstupu a kolik na vystupu. Pri sifrovani se pracuje s pevnou znakovou sadu (zatim) -- pismena anglicke abecedy. Vytvori se editacni okno (nepojmenovany soubor), ve kterem je zobrazen zasifrovany text. Toto okno je schovany v pozadi (je prekryto oknem s vystupnimi zpravami). Soubor je mozne ulozit. Rozsifrovani Predpokladem je ze u zasifrovaneho textu vime, ze byl zasifrovan afinni sifrou a zname hodnoty multiplikatoru a posunu (= sifrovaci klic). V pripade, ze to nezname, pouzijeme metody obsazene v menu {Analyza}. Je otevreny a aktivni soubor, ktery obsahuje zasifrovany text. V menu Sifry se vybere polozka Afinni, nebo se znackne F4. Objevi se stejny dialog jako pri sifrovani. Nastavi se Multiplikator i Posun. Zaskrtne se volba Inverzni transformace. klikne se na OK. {Prace s programem:PraceP} {Vignerovska sifra:Vigner} {Teorie sifrovani:KaS} {Zakladni sifry:ZakladSifry} .topic Vigner, Klic Sifry³Vignerovska Ü ßßßßßßßßßßßßßßßßßß Sifrovani Je otevreny a aktivni soubor, ktery obsahuje obycejny text. V menu Sifry se vybere polozka Vignerovska, nebo se znackne Alt+F4. Objevi se dialog: ÉÍ[þ]ÍÍÍ Vignerovske Sifry ÍÍÍÍÍÍÍÍ» º º º Sifrovaci klic (heslo): º º ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ º º º º [ ] Inverzni transformace º º º º Ok Ü Zrusit Ü º º ßßßßßßß ßßßßßßß º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Zada se heslo (viz {Vignerovska sifra:ZakladSifry}) a klikne se na OK. Objevi se (pripadne vytvori nove) okno, ve kterem se zobrazuji informace o tom, ktery soubor byl zpracovan, kolik znaku bylo na vstupu a kolik na vystupu. Pri sifrovani se pracuje s pevnou znakovou sadu (zatim) -- pismena anglicke abecedy. Vytvori se editacni okno (nepojmenovany soubor), ve kterem je zobrazen zasifrovany text. Toto okno je schovany v pozadi (je prekryto oknem s vystupnimi zpravami). Soubor je mozne ulozit. {Prace s programem:PraceP} {Afinni Sifra:Afinni} {Teorie sifrovani:KaS} {Zakladni sifry:ZakladSifry} .topic Analyza ÚÄÄÄÄÄÄÄÄÄ ÚÄÄ´ Analyza Û ÄÄÄ(Alt+A)ÄÄÄ ³ ÀÜÜÜÜÜÜÜÜÜÛ Û ³ Û ³ {Index koincidence:Koincid} Û ³ {Separace samohlasek:SepSam} Û ³ {Klic-Kasiskeho met.:Kasisky} Û ³ {Klic-Met. koincidence:MetKoincid} Û ³ {Separace skupin:SepSkup} Û ³ {Tabulka ASCII znaku:UAsciiTable} Û ³ {Jednoduchy kalkulator:UCalculator} Û ³ {Puzzle - logicka hra:UPuzzle} Û ³ {Kalendar na mnoho let:UCalendar} Û ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ Funkce vypisuji ruzna hlaseni a nektere vysledky do specialniho okna - toto okno se bohuzel zatim nelisi od ostatnich oken (stejna barva, titulek Untitled, ...), ale na pracovni plose je v kazdy okamzik pouze jedno -- pokud neni jeste vytvoreno, funkce ho vytvori. Toto okno pouzivaji vsechny v programu naprogramovane kryptograficke a kryptoanalyticke funkce. .topic Koincid Analyza³Index koincidence Ü ßßßßßßßßßßßßßßßßßßßßßßßßßß Funkce pro aktualni okno vypocita cetnosti zkoumanych znaku (viz obecne nastaveni:Obecne} v textu vyjadrene v procentech a take {index koincidence:Koincidence}. Tato metoda slouzi k zjisteni jestli byl text zasifrovany pomoci monoalfabeticke sifry nebo polyalfabeticke. Je otevreny a aktivni editacni okno, ktere obsahuje zasifrovany text. V menu {Analyza} se vybere polozka Index Koincidence, nebo se znackne F7. Do okna s vystupnimi zpravami se zapise vypocteny index koencidence. Vypada napr. takto: [08:11:46] - cas zpracovani Zpracovavam okno: C:\KOS\PROGRAM\SIFRA.TXT (4) - zkoumane znaky : ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz - celkem 171 znaku, z toho 169 zkoumanych znaku, cetnosti: a: 4 b: 9 c: 6 d: 3 f: 5 g: 5 h: 5 i: 8 j: 17 k: 9 l: 2 n: 5 o: 20 p: 2 q: 26 r: 9 s: 11 u: 6 v: 6 x: 1 y: 7 z: 3 - index koincidence:0.073282 Vysledny index koincidence se porovna z {tabulkou indexu:Table}, kterou naleznete v menu {Help}, polozka Tabulky, nebo zmacknutim Ctrl+F1. Na zaklade porovnani ze znamymi indexi koencidence se urci, zda se jedna o polyalfabetickou sifru, to znamena jestli je index koencidence blizky indexu nahodne generovaneho jazyka, nebo zda se jedna o monoalfabetickou sifru a v tom pripade se index blizi nejakemu z indexu znamych jazyku. Vysledkem vyse uvedeneho prikladu je, ze se jedna o text zasifrovany monoalfabetickou sifrou. Text je kratky a tak se z nej neda urcit v jakem jazyku je. Obecne je to problem nejen kratkych textu, ale i textu odborne nejak zamerenych. Proto se da stezi odhadnout v jakem jazyce se zprava nachazi. Jedna-li se o monoalfabetickou sifru -- dale se pouzije metoda {Separace samohlasek:SepSam}. Jedna-li se o polyalfabetickou sifru - nejdriv se musi urcit delka hesla(klice), napriklad pomoci {Kasiskeho metody:Kasisky} - potom se urci heslo -- pomoci metody {Separace skupin:SepSkup} {Prace s Programem:PraceP} {Separace Samohlasek:SepSam} {Kasiskeho metoda:Kasisky} {Separace Skupin:SepSkup} {Teorie:Koincidence} okolo indexu koincidence. menu {Analyza:Analyza} .topic SepSam Analyza³Separace samohlasek Ü ßßßßßßßßßßßßßßßßßßßßßßßßßßßß Tato metoda se pouzije pouze v pripade, ze se jedna o monoalfabetickou sifru, tedy v pripade, ze vysel index koincidence blizky indexu nejakeho jazyka. V opacnem pripade, by vysledek nebyl dale vyuzitelny. Po spusteni funkce se objevi vystupni okno, ktere obsahuje udaje o zpracovani. Napr.: [09:53:35] - cas zpracovani Zpracovavam okno: C:\KOS\PROGRAM\SIFRA.TXT (4) - 169 zkoumanych znaku, nasleduje prehled cetnosti znaku a jejich predchudcu a nasledovniku: znak, vyskytu, vyskyty predchudcu a nasledovniku A:4 G(1)J(1)N(1)V(1) C(1)H(1)J(2) B:9 G(1)H(1)I(1)J(1)O(2)Q(2)S(1) C(1)G(1)O(1)Q(5)U(1) C:6 A(1)B(1)L(1)O(1)Q(1)Y(1) I(2)L(1)Q(2)S(1) D:3 P(1)S(1)V(1) O(2)Q(1) F:5 I(1)Q(3)S(1) O(4)S(1) G:5 B(1)H(1)K(1)O(2) A(1)B(1)J(1)K(1)O(1) H:5 A(1)Q(1)R(1)S(1)U(1) B(1)G(1)Q(2)S(1) I:8 C(2)J(3)P(1)R(1)V(1) B(1)F(1)K(2)U(1)V(1)Y(1) J:17 A(2)G(1)O(5)Q(5)U(1)Y(3) A(1)B(1)I(3)O(1)Q(6)S(4)Y(1) K:9 G(1)I(2)O(1)Q(2)R(1)Y(1) G(1)P(1)Q(6)S(1) L:2 C(1)Q(1) C(1)Q(1) N:5 O(1)Q(3)R(1) A(1)O(3)Q(1) O:20 B(1)D(2)F(4)G(1)J(1)N(3)R(2)U(2)X(1)Z(2) B(2)C(1)G(2)J(5)K(1)N(1)R(4)U(1)V(2)Y(1) P:2 K(1)Y(1) D(1)I(1) Q:26 B(5)C(2)D(1)H(2)J(6)K(6)L(1)N(1)R(2) B(2)C(1)F(3)H(1)J(5)K(2)L(1)N(3)R(2)U(2)V(2)Z(2) R:9 O(4)Q(2)S(3) H(1)I(1)K(1)N(1)O(2)Q(2)S(1) S:11 C(1)F(1)H(1)J(4)K(1)R(1)U(1)Z(1) B(1)D(1)F(1)H(1)R(3)U(1)V(1) U:6 B(1)I(1)O(1)Q(2)S(1) H(1)J(1)O(2)S(1)Y(1) V:6 I(1)O(2)Q(2)S(1) A(1)D(1)I(1)Y(3) X:1 Y(1) O(1) Y:7 I(1)J(1)O(1)U(1)V(3) C(1)J(3)K(1)P(1)X(1) Z:3 Q(2) O(2)S(1) Mnozina souhlasek: AFLPRUXZ Mnozina moznych samohlasek: BCDGHIJKNOQSVY Levy sousedi souhlasek (predchudci): B1 C1 G1 I2 J1 K1 N1 O5 Q10 S5 V1 Y2 Pravy sousedi souhlasek (nasledovnici): C2 D1 H3 I2 J3 K1 N1 O11 Q3 S4 Y1 Vysledkem je tedy mnozina souhlasek a samohlasek (respektive znaku podezrelych, ze nalezi mezi souhlasky ci samohlasky). Nyni se pokousime odhadnout transformacni klic. Viz {teorie:SepSamohl}. {Prace s programem:PraceP} {Index Koincidence:Koincid} menu {Analyza:Analyza} .topic Kasisky Analyza³Klic-Kasisky Ü ßßßßßßßßßßßßßßßßßßßßß Kasiskeho metoda zjisteni delky klice Tato metoda se pouzije pouze v pripade, ze se jedna o polyalfabetickou sifru, tedy v pripade, ze vysel index koincidence blizky indexu nahodne generovaneho jazyka. Mame aktivni okno, ktere obsahuje zasifrovany text. V menu Analyza se vybere polozka Klic-Kasiskeho met. Objevi se vystupni okno, ktere obsahuje udaje o zpracovani. Napr.: [10:30:45] - cas zpracovani Zpracovavam okno: C:\KOS\PROGRAM\SIFRA.TXT (5) Pismena, Delka (delka s mezerami), 1. vyskyt, Vzdalenost fdoa 4(4) 39 70 Z tohoto se dale urci delka klice, zpusobem, ktery je popsan v {Zjisteni delky klice Kasiskeho metodou:KryptPolyAlf}. {Prace s Programem:PraceP} {Index Koincidence:Koincid} {Separace Skupin:SepSkup} menu {Analyza:Analyza} .topic MetKoincid Analyza³Klic-Koincid Ü ßßßßßßßßßßßßßßßßßßßßß Slouzi k overeni delky klice zjistene napriklad {Kasiskeho:Kasisky} metodou. Pri pouziti funkce je treba zadat v uvodnim dialogu {delku klice:KeyLen} a kolik {nasobku:PocNas} teto delky klice se ma "testovat". Priklad vystupniho okna: [12:32:02] Zpracovavam okno: D:\KOS\KRYPTIK\VIGNER3.TXT (4) Delka klice (pocet znaku), Index koincidence (puvodni a posunuty text o delku klice) 5: 0.02166 10: 0.07581 15: 0.06137 20: 0.08303 25: 0.03610 Bylo zadano: delka klice = 5 pocet nasobku = 5 {Prace s Programem:PraceP} {Teorie:KryptPolyAlf} o metode koincidence menu {Analyza:Analyza} .topic SepSkup Analyza³Separace skupin Ü ßßßßßßßßßßßßßßßßßßßßßßßß Tato metoda se pouzije pouze v pripade, ze se jedna o polyalfabetickou sifru, tedy v pripade, ze vysel index koincidence blizky indexu nahodne generovaneho jazyka a ze uz zname delku klice. Mame aktivni okno, ktere obsahuje zasifrovany text. V menu Analyza se vybere polozka Separace Skupin. Objevi se dialog se zadosti o zadani delky klice. Po jejim zadani se objevi vystupni okno, ktere obsahuje udaje o zpracovani. Napr.: [10:43:06] Zpracovavam okno: E:\SKOLA\KOS\PROGRAM\VIGNER.TXT (5) Nejcastejsi znaky 1. casti: mkltenqrvw E: ighpajmnrs A: mkltenqrvw I: ecdlwfijno O: ywxfqzcdhi Nejcastejsi znaky 2. casti: aijuvbknwz E: wefqrxgjsv A: aijuvbknwz I: sabmntcfor O: muvghnwzil Nejcastejsi znaky 3. casti: hobfklrsai E: dkxbghnowe A: hobfklrsai I: zgtxcdjksa O: tanrwxdemu Nejcastejsi znaky 4. casti: foanpvcdeh E: bkwjlryzad A: foanpvcdeh I: xgsfhnuvwz O: ramzbhopqt Z tohoto se na zaklade znalosti metody urci heslo. Viz {Zjisteni klice:KryptPolyAlf}. {Prace s Programem:PraceP} menu {Analyza:Analyza} .topic UMakra Analyza³Makra Ü ßßßßßßßßßßßßßß Program umoznuje definovat casto pouzivane sekvence znaku (jsou vyvolany pomoci klavesnice) , ktere pak vyvolate stiskem tzv. horkych klaves. Horkou klavesu (angl. Shortcut) si vyberete z nabizeneho seznamu dostupnych horkych klaves. Popis : {Definovani (nahrani) makra:UMNahrani} {Vyvolani (prehrani) makra:UMPrehrani} {menu Analyza:Analyza} .topic UPuzzle Analyza³Puzzle Ü ßßßßßßßßßßßßßßß Polozka menu otevre malou logickou hru - {SKLADANKA:Puzzle} (PUZZLE) viz {menu Analyza:Analyza} .topic UCalendar Analyza³Kalendar Ü ßßßßßßßßßßßßßßßßß Otevre se maly, ale uzitecny , mesicni {kalendar:Calendar}. viz {menu Analyza:Analyza} .topic UAsciiTable Analyza³Ascii tabulka Ü ßßßßßßßßßßßßßßßßßßßßßß {ASCII Tabulka:AsciiTable} ukazuje znakovou sadu pouzivanou na pocitacich IBM PC. viz {menu Analyza:Analyza} .topic UMNahrani Analyza³Makra³Nahrani Ü ßßßßßßßßßßßßßßßßßßßßßß Pokud chcete definovat nove makro, postupujte nasledovne : - zvolte v menu polozku Analyza³Makra³Nahrani (po zvoleni se vsak na prvni pohled nic nestane) - zadejte sekvenci znaku pomoci stisku klaves na klavesnici - opet zvolte v menu polozku Analyza³Makra³Nahrani _ v dialogu zvolte jeste nepouzitou kombinaci horkych klaves (nebo jiz zaplnenou, pokud ji chcete prepsat) a pak jmeno makra Priklad definovani makra, ktere nam zobrazi na pracovni plose okno s logickou hrou - Puzzle (~U~tility³~P~uzzle) : Zvolime polozku v menu Nahravani. Natukame na klavesnici tuto sekvenci stisku klaves : Alt-U ³ P ÚÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄ¿ hlavniho menu ~U~tility polozka ~P~uzzle Zvolime opetovne polozku v menu Nahravani. V dialogu vybereme volno kombinaci horkych klaves Ctrl-Alt-F2 : ÉÍ[þ]ÍÍÍÍÍÍÍ Makra ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º ( ) Ctrl-Alt-F1 : Moje makro º Ä nadefinovane makro s nazvem Moje makro º () Ctrl-Alt-F2 : º Ä zvolime tuto kombinaci º ( ) Ctrl-Alt-F3 : º Ä¿ º ( ) Ctrl-Alt-F4 : º ³ º ( ) Ctrl-Alt-F5 : º ³ º ( ) Ctrl-Alt-F6 : º ÃÄ volne kombinace º ( ) Ctrl-Alt-F7 : º ³ º ( ) Ctrl-Alt-F8 : º ³ º ( ) Ctrl-Alt-F9 : º ³ º ( ) Ctrl-Alt-F10 : º ÄÙ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ... a zadame jmeno makra : ÉÍ[þ]ÍÍÍ Jmeno makra ÍÍÍÍÍÍÍÍ» º º º Jmeno : ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ º º º º Ok Ü Zrusit Ü º º ßßßßßßß ßßßßßßß º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ A to je cela ta veda! viz {menu Analyza:Analyza} {Vyvolani makra:UMPrehrani} .topic UMPrehrani Analyza³Makra³Prehrani Ü ßßßßßßßßßßßßßßßßßßßßßßß Zobrazi se seznam , ze ktereho si vybereme podle nazvu makro , ktere se provede. viz {menu Analyza:Analyza} {Definovani makra:UMNahrani} .topic UCalculator Analyza³Kalkulator Ü ßßßßßßßßßßßßßßßßßßß kalkulator,kalkulacka viz {menu Analyza:Analyza} {Kalkulator:Calculator} - okno .topic Puzzle Puzzle Ü ßßßßßßß SKLADANKA je mala logicka hra. Ukolem je seradit znaky podle abcedy, abychom dostali nasledujici rozlozeni : A B C D E F G H I J K L M N O Kliknutim mysi na pismenku , vedle ktereho je prazdne misto , se toto pismenko presune do prazdneho policka. Stiskem nektere z kurzorovych sipek (   ) se presune do prazdneho policka pismenko ve smeru , ktery nam ukazuje stisknuta kurzorova klavesa. Po kazdem presunuti pismenka se scitac tahu zvetsi o jednicku. viz {Analyza³Puzzle:UPuzzle} .topic Calculator Kalkulator Ü ßßßßßßßßßßß Kalkulator ovlada 4 pocetni operace ( + , - , * , / ). K pocitani na kalkulatoru je mozno pouzit numerickou klavesnici , anebo mys. Klavesa smaze obsah vstupniho radku kalkulatoru a klavesa <> (BackSpace) zrusi posledni napsanou cislici. Ekvivalentem tlacitka 'ñ' je klavesa <_> . viz {Analyza³Kalkulator:UCalculator} .topic Calendar Kalendar Ü ßßßßßßßßß Kalendar zobrazuje aktualni mesic s vyrazne zbarvenym dnesnim dnem. Dalsi mesic muzeme zobrazit stiskem klavesy <+> nebo kurzorove sipky <> , predchozi pomoci klaves <-> nebo <> . Mys muzeme pouzit ke zmene mesice kliknutim na ikony '' nebo '' . viz {Analyza³Kalendar:UCalendar} .topic AsciiTable ASCII Tabulka Ü (American Standart Code for Information Interchange) ßßßßßßßßßßßßßß Tabulka ukazuje aktualni znakovou sadu pouzivanou na IBM PC. Vybrany znak je oznacen blikajicim blokovym kurzorem a pod tabulkou sviti jeho hodnoty v hexadecimalnim a dekadickem tvaru. Znak vybereme stisknutim odpovidajici klavesy , kliknutim mysi na nem nebo pohybem kurzorovych sipek. viz {Analyza³ASCII Tabulka:AsciiTable} .topic About Informace o programu Ü ßßßßßßßßßßßßßßßßßßßßß Obdobi vzniku, autori tohoto programu. Program vznikl jako semestralni prace z predmetu Kodovani a sifrovani, ktery vyucuje katedra Inzenyrske informatiky na stavebni fakulte CVUT. .topic KeyLen, PocNas V nasledujicim dialogu se zadavaji vstupni parametry pro funkci {Overeni delky klice:MetKoincid} metodou koincidence. ÉÍ[þ]ÍÍÍ Kontrola odhadu klice ÍÍ» º º º Odhad delky klice : ÛÛÛ º º Pocet nasobku pro test : ÛÛÛ º º º º Ok Ü Zrusit Ü º º ßßßßßßß ßßßßßßß º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Odhad delky klice je cele cislo > 1, vyjadrujici pocet znaku klice pouziteho pro zakodovani zkoumaneho textu (text v aktualnim okne). Tento odhad ziskame napriklad pomoci {Kasiskeho:Kasisky} metody. napr. heslo (klic) KNIHA ma delku 5. Pocet nasobku pro test je opet cele cislo > 1. Pri testu se zkoumany text posouva o nasobky delky klice a pro takto posunuty text se pocita index koincidence. Posunutim text rozumime to, ze kazdy znak textu zamenime za znak, jehoz poradive cislo v anglicke abecede je vetsi o delku klice. napr. mam text AHOJ a klic HA delky 2 posunuty text o 2: CJQL 4: ELSN ... viz {Vignerovska sifra:ZakladSifry} {Kryptoanalyza polyalfabetickych sifer:KryptPolyAlf} .topic KeyLen2 Nastaveni separace skupin ... Delka klice - cislo od 1 do 30 .topic NNastav, Znaky, VelkaMala, Format Nastaveni³Obecne Û ßßßßßßßßßßßßßßßßß Pred zacatkem je take dulezite zkontrolovat obecne nastaveni. V menu Nastaveni polozka Obecne, nebo F9. Objevi se okno: ÉÍ[þ]ÍÍÍ Obecne nastaveni ÍÍÍÍÍÍÍÍÍÍÍ» º º º Pouzite znaky abecedy º º ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ º º º º Pri sifrovani: º º [ ] Rozlisovat mala/velka pismena º º [ ] Zachovat mezery a konce radku º º º º Ok Ü Zrusit Ü º º ßßßßßßß ßßßßßßß º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Pouzite znaky abecedy znaky abecedy mimo ridicich znaku (0..13) znak "-" ma specialni vyznam ... naznacuje rozsah znak mezera nezadavat na konci - byl by ignorovan znaky se neodelujou zadny dalsim specialnim znakem Zde se zadava znakova sada, ktera je pouzita v kryptoanalytickych metodach (konkretne zatim jen ve funkci {Index Koincidence:Koincid}). Znaky, ktere chceme pouzivat se zadavaji vyctem, tesne za sebe bez oddelovaciho znaku. Mezera by se mela uvest na zacatku, na konci neni uvazovana jako znak. Vycet po sobe jdoucich znaku lze zkracene zadava uvedenim prvniho znaku, hned za nej se napise znak spojovnik (-) a potom se uvede znak posledni. Napriklad (znaky uvozovek se nezadavaji): ' a-z' ... mezera + vsechna mala pismena od a do z. ' a-zA-Z.,' ... mezera + vsechna pismena od a/A do z/Z + tecka + carka. Pri sifrovani - zde jsou moznosti vztahujici se na transformace textu (tedy z jednoho textu se vytvari jiny) pri sifrovani a metode Separace samohlasek. þ Rozlisovat mala a velka pismena Jestli chceme znakovou sadu od a-z a A-Z, tak oznacime pomoci klavesy space radek Rozlisovat mala a velka pismena. (pozn: Je-li vyplneno [X] - potom je tato volba aktivni.) þ Zachovat mezery a konce radku Neni-li volba aktivni, nebudou se do vytvareneho textu pri transformaci vkladat znaky mezer (#32) a konce radku (#10#13). Text bude bez mezer a bude zarovnan na pevnou sirku (zhruba 75 znaku na radku). menu {Nastaveni} {Prace s programem KRYPTIK:PraceP} .topic OkZrusit Tlacitka OK a ZRUSIT Ü ßßßßßßßßßßßßßßßßßßßßßßßß Tyto tlacitka se pouzivaji v mnoha dialozich a tak je vhodne vedet jejich vyznam : ÚÄÄÄÄÄÄÄÄÄÄ¿ ³ [ Ok ] ³ ÀÄÄÄÄÄÄÄÄÄÄÙ Uzavre dialog. Obecne jeho stlacenim odpovidate na otazku kladne nebo zmeny, ktere jste provedli v dialogu chcete akceptovat anebo berete na vedomi zpravu, kterou vam program zobrazil. ÚÄÄÄÄÄÄÄÄÄÄ¿ ³[ Zrusit ]³ ÀÄÄÄÄÄÄÄÄÄÄÙ Uzavre take dialog. Jeho pouzitim davate obecne negativni odpoved, neakcepujete zmeny, ktere jste mohli udelat treba z nepozornosti. V dialogu ma tlacitko stejny vyznam jako klavesa . viz {Prace s dialogy:Dialogs} .topic Soubor ÚÄÄÄÄÄÄÄÄ ÚÄÄ´ Soubor Û ÄÄ(Alt+S)ÄÄ ³ ÀÜÜÜÜÜÜÜÜÛ Û ³ Û ³ {Novy:New} Û ³ {Otevrit:Open} Û ³ {Ulozit:Save} Û ³ {Zapsat jako:SaveAs} Û ³ {Ulozit vse:SaveAll} Û ³ {Zmen adresar:ChangeDir} Û ³ {DOS Shell:DosShell} Û ³ {Konec:Exit} Û ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ .topic New Soubor³Novy Ü ßßßßßßßßßßßß Na obrazovce otevre nove okno editoru a k nemu priradi nazev souboru Untitled = Nepojmenovany. Funkci {Zapsat jako:SaveAs} lze obsah editoru ulozit do souboru pod Vami zadanym jmenem. viz {menu Soubor:Soubor} .topic Open Soubor³Otevrit... Ü ßßßßßßßßßßßßßßßßßß Otevre soubor, nacte ho do editoru a zobrazi okno s prislusnym obsahem editoru. Predpoklada se, ze soubor bude mit format ASCII textu (prosty textovy soubor). viz {menu Soubor:Soubor} .topic Save,SaveAs,SaveAll Soubor³Zapsat jako... Ü ßßßßßßßßßßßßßßßßßßßßßß Ulozi obsah editoru pod drive zadanym jmenem - viz titulek okna editoru. Soubor³Zapsat jako... Ü ßßßßßßßßßßßßßßßßßßßßßß Ulozi obsah editoru do souboru pod zadanym jmenem. Soubor³Ulozit vse Ü ßßßßßßßßßßßßßßßßßß viz {menu Soubor:Soubor} .topic ChangeDir Soubor³Zmena adr... Ü ßßßßßßßßßßßßßßßßßßßß Na obrazovce se objevi dialog pro zmenu pracovniho adresare. viz {menu Soubor:Soubor} .topic ChDirDialog Zmena adr. - Dialog Ü ßßßßßßßßßßßßßßßßßßßß Dialog pro zmenu adresare se sklada ze vstupniho radku , seznamu adresaru a nekolika tlacitek. Ú Nazev adresare ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Do vstupniho radku muzete napsat cestu k adresari. Ú Strom adresaru ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Disky ³ ³ ÀÄÂC:\ ³ ³ ÀÄÂAPLIKACE ³ ³ ÀÄÄKRYPTIK ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Seznam adresaru vam umoznuje se pohybovat v obsahu vaseho disku ve forme stromu. Pri zmene adresare staci vybrat prislusny adresar a stisknout . vyznamy tlacitek : ÚÄÄÄÄÄÄÄÄÄÄ¿ ³ [ Ok ] ³ ÀÄÄÄÄÄÄÄÄÄÄÙ Potvrdi Vas vyber pracovniho adresare a uzavre dialog. ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ³ [ZmenAdr] ³ ÀÄÄÄÄÄÄÄÄÄÄÄÙ Pomoci tohoto tlacitka se dostanete do vami vybraneho adresare (je predvolene). Taktez muzete pouzit dvojite kliknuti mysi na vybranem adresari. ÚÄÄÄÄÄÄÄÄÄÄ¿ ³ [Navrat] ³ ÀÄÄÄÄÄÄÄÄÄÄÙ pokud se zamotate ve spleti adresaru, pouzijte toto tlacitko a vrati Vas do puvodni adresare, odkud jste delali utok na disk. .topic DosShell Soubor³DOS Shell Ü ßßßßßßßßßßßßßßßßß Umoznuje uzivateli odskokcit si do DOS Shellu. Navrat zpet je proveden po napsani prikazu : Exit v DOSovem promptu. viz {menu Soubor:Soubor} .topic Exit Konec Ü ßßßßßß Ukonci chod programu a vrati se zpet do MS-DOSu. pozn. Tuto funkci pouzivejte jen ve smrtelne posteli. viz {menu Soubor:Soubor} .topic Edit Nastroje pro praci obsahem editacniho okna (bufferem) -- kopirovani, presun smazani textu. Vse se dejem pres takzvanou schranku. .topic Window ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄ´ Utility pro praci s okny Û ÄÄÄÄ(Alt+O)ÄÄÄÄÄÄ ³ ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ Û Û ³ Û ³{Usporadat okna do kaskady:Cascade} Û ³{Usporadat okna do podoby dlazdic:Tile} Û ³{Zmenit velikost\presun okna:Resize} Û ³{Zmena okna na maximalni nebo puvodni velikost:Zoom} Û ³{Prechod do dalsiho okna:Next} Û ³{Prechod do predchoziho okna:Prev} Û ³{Zavreni okna:Close} Û ³{Zavreni vsech oken na pracovni plose:CloseAll} Û ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ .topic CloseAll Okno³Zavrit vse Ü ßßßßßßßßßßßßßßßß Uzavre vsechny okna na pracovni plose, ktera se timto "vycisti" a na obrazovce zustane jen rastrove pozadi. viz {menu Okno:Window} .topic Close Okno³Zavrit Ü (Alt+F3) ßßßßßßßßßßßß Zavre jakekoliv okno na obrazovce. viz {menu Okno:Window} .topic Resize Okno³Presun/velikost Ü (Ctrl+F5) ßßßßßßßßßßßßßßßßßßßßß Presovani oken pomoci kurzorovych sipek. Pokud drzite pritom stisknutou klavesu nebude se okno pohybovat, ale bude menit svoji velikost. Ramecek okolo aktualni okna je pri teto operaci jednoduchy. Klavesou potvrdime zmenu okna , rusi zmeny okna a vraci puvudni umisteni a polohu okna. viz {menu Okno:Window} .topic Zoom Okno³Maxim./puvodni Ü (F5) ßßßßßßßßßßßßßßßßßßßß Zvetseni okna na maximalni velikost/vraceni okna do puvodni velikosti. No ZOOM! proste ZOOM , copak to nechapete ? viz {menu Okno:Window} .topic Next Okno³Dalsi Ü (F6) ßßßßßßßßßßß Zobrazi nasledujici okno, ktere se tak stane aktualnim. viz {menu Okno:Window} .topic Prev Okno³Predchozi Ü ßßßßßßßßßßßßßßß Zobrazi predchozi okno, ktere se tak stane aktualnim. viz {menu Okno:Window} .topic Tile Okno³Dlazdice Ü ßßßßßßßßßßßßßß Provede usporadani vsech oken do podoby dlazdic na praovni plose. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÉÍÍÍÍÍÍÍÍÍÍÍÍ1ÍÍ»ÚÄÄÄÄÄÄÄÄÄÄÄÄ2ÄÄ¿ ³ ³ º º³ ³ ³ ³ º º³ ³ ³ ³ º º³ ³ ³ ³ º º³ ³ ³ ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄ3ÄÄ¿ÚÄÄÄÄÄÄÄÄÄÄÄÄ4ÄÄ¿ ³ ³ ³ ³³ ³ ³ ³ ³ ³³ ³ ³ ³ ³ ³³ ³ ³ ³ ³ ³³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ viz {menu Okno:Window} .topic Cascade Okno³Kaskada Ü ßßßßßßßßßßßßß Provede usporadani oken do kaskady na pracovni plose. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ1Ä¿ ³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ2Ä¿ ³³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ3Ä¿ ³³³ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ4Í» ³³³º º ³³³º º ³³³º º ³³³º º ³³³º º ÀÀÀÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ viz {menu Okno:Window} .topic Nastaveni ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄ´ Nastaveni|Prostredi Û ÄÄÄÄÄÄÄÄÄÄÄ ³ ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ Û ³ Û ³ {Obecne:NNastav} Û ³ {Nastaveni prostredi programu:NProstredi} Û ³ {Ulozeni vsech nastaveni:NSaveConfig} Û ³ {Obnoveni nastaveni ze souboru:NLoadConfig} Û ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ .topic NProstredi Nastaveni³Prostredi Ü (F7) ßßßßßßßßßßßßßßßßßßßß ÚÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄ´ Nastaveni Û ÄÄÄ(Alt-V)ÄÄÄÄÄÄÄÄ ³ ÀÜÜÜÜÜÜÜÜÜÜÜÛ Û ³ Û ³ {Nastaveni mysi:NMouse} Û ³ {Definovani vlastnich barev:NColors} Û ³ {Prepinani modu zobrazovani:NVideoMode} Û ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ viz menu {Nastaveni} .topic NMouse Nastaveni³Mys Ü ßßßßßßßßßßßßßß Zobrazi na pracovni plose dialog pro nastaveni ovladani {mysi:MouseDialog}. Lze nastavit : þ jak rychly ma byt dvojklik þ jake z tlacitek mysi (leve nebo prave) ma byt aktivni viz menu {Nastaveni} .topic NColors Nastaveni³Barvy... Ü ßßßßßßßßßßßßßßßßßßß Nastaveni barev. viz {Nastaveni barev:ColorsDialog} dialog. menu {Nastaveni} .topic NVideoMode Nastaveni³Video mod Ü (F8) ßßßßßßßßßßßßßßßßßßßß Zvolenim teto polozky menu {nastaveni:Nastaveni} se prepne obrazovka do jineho rezimu zobrazeni. Lze prepinat mezi 2 rezimy : þ Normalni barevny rezim s 25 radky. þ Barevny rezim s 43 radky, pokud pouzivate adapter EGA , nebo s 50 radky, pokud vlastnite adapter VGA. Tato funkce je dostupna pouze na grafickych adapterech, ktere jsou kompatibilni s VGA/EGA adaptery. .topic NSaveConfig Nastaveni³Uloz nastaveni Ü ßßßßßßßßßßßßßßßßßßßßßßßßß Funkce zatim neni implementovana !!! {Nastaveni³Uloz nastaveni:NLoadConfig} v menu {Nastaveni}. .topic NLoadConfig Nastaveni³Obnov nastaveni Ü ßßßßßßßßßßßßßßßßßßßßßßßßßß Funkce zatim neni implementovana !!! Menu {Nastaveni}. .topic ColorsDialog Nastaveni barev dialog Ü ßßßßßßßßßßßßßßßßßßßßßßß V tomto dialogu muzete zmenit barvy ruznych casti programu. ÚÄ Skupina ÄÄÄÄÄÄÄÄÄÄ¿ ³ Pracovni plocha  ³ Menu þ ³ Dialogy/Kalk ± ³ Puzzle ± ³ Kalendar ± ³ Ascii tab. ± ³ Napoveda  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Seznam obsahuje rozdilne casti programu, u ktrerych muzete nastavit vlastni barvy. ÚÄ Item ÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Color  ³ þ Kdyz zvolite v seznamu skupin nekterou oblast programu, zobrazi se v tomto seznamu nazvy pohledu teto skupiny. ÚÄÄ Popredi Ä¿ ÚÄÄ Pozadi ÄÄ¿ ³ °±²°±²°±²° ³ ³ °±²°±²°±²° ³ ³ ²°±²°±²°±² ³ ³ ²°±²°±²°±² ³ ³ ±²°±²°±²°± ³ ³ ±²°±²°±²°± ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ Pouzij palety popredi a pozadi ke zmene barevne kombinace. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Text Text Text ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Zobrazeny text ukazuje prave zvolenou barevnou kombinaci. viz {Nastaveni³Barvy:NColors} .topic MouseDialog Nastaveni mysi dialog Ü ßßßßßßßßßßßßßßßßßßßßßß ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Dvojklik mysi ³ ³ Pomalu Stredne Rychle ³ ³ ±±±±±±±±±±±þ±±±±±±±±±± ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Vodorovny posuvnik umoznuje nastaveni rychlosti dvojkliku mysi. Pro otestovani nastavene rychlosti dvojkliku pouzijte radek 'Pomalu Stredne Rychle' . Pokud na nem dvojkliknete , zmeni svou barvu. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ [X] Zamen tlacitka mysi ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Zaskrtnuti teto volby ziska prave tlacitko vsechny normalni funkce leveho tlacitka a obracene. viz {Nastaveni³Mys:NMouse} .topic Help ÚÄÄÄÄÄÄÄÄÄÄ ÚÄÄ´ Napoveda ÛÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ÀÜÜÜÜÜÜÜÜÜÜÛ Û ³ Û ³ {Obsah:Obsah} Û ³ {Ovladani programu:Ovladani} Û ³ {Prace s programem:PraceP} Û ³ {Kodovani a sifrovani:Kas} Û ³ {Tabulky:Table} Û ÀÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ .topic Obsah Obsah Ü ßßßßßß {ASCII tabulka:AsciiTable} {Afinni sifra -- desifrovani:Inverz} {Afinni sifra:Afinni} {Dekodovani} {Index koincidence-teorie:Koincidence} {Index koincidence:Koincid} {Infomace o programu:About} {Jak pouzivat napovedu:NoContext} {Jak pracovat s programem:PraceP} {Kalendar:Calendar} {Kalkulator:Calculator} {Kasiskeho metoda:Kasisky} {Kodovani} {Kryptoanalyza polyalfabetickych sifer:KryptPolyAlf} {Kryptoanalyza} {Menusystem:Menu} {Metoda koincidence:MetKoincid} {Nabidka Analyza v hlavnim menu:Analyza} {Nabidka Editovat v hlavnim menu:Edit} {Nabidka Help v hlavnim menu:Help} {Nabidka Nastaveni v hlavnim menu:Nastaveni} {Nabidka Okna v hlavnim menu:Window} {Nabidka Sifry v hlavnim menu:Sifry} {Nabidka Soubor v hlavnim menu:Soubor} {Nastaveni barev:ColorsDialog} {Nastaveni modu obrazovky:NVideoMode} {Nastaveni mysi:MouseDialog} {Obecna nastaveni:NNastav} {Obnov nastaveni:NLoadConfig} {Ovladani programu:Ovladani} {Prace s oknama:Windows} {Pracovni plocha:Desktop} {Priklady nekolika kodu:PrikladyKodu} {Puzzle} {Separace samohlasek-teorie:SepSamohl} {Separace samohlasek:SepSam} {Separace skupin:SepSkup} {Stavovy radek:StatLn} {Teorie kodovani a sifrovani:KaS} {Tlacitko [ Ok ]:OkZrusit} {Tlacitko [Zrusit]:OkZrusit} {Uloz nastaveni:NSaveConfig} {Vignerovska sifra:Vigner} {Vstupni data pro Afinii sifru:Multiplik} {Vstupni data pro Vignerovskou sifru:Klic} {Vstupni data pro metodu koincidence:KeyLen} {Vstupni data pro separaci skupin:KeyLen2} {Zakladni pojmy kryptografie:PojmyKrypt} {Zakladni sifry klasicke kryptografie:ZakladSifry} {Zakldy teorie cisel:ZakladyTeorie} {Zavreni okna:Close} {Zavreni vsech oken:CloseAll} {Zmena adresare:ChDirDialog} {Zobrazeni oken v dlazdicich:Tile} {Zobrazeni oken v kaskade:Cascade} .topic Ovladani Ovladani programu Ü ßßßßßßßßßßßßßßßßßß Ovladani programu je pomerne snadne, protoze se nejedna o zadny veliky program ani nijak narocny. Hned ale musim pripomenout, ze se jedna zatim o prvotni vezi programu a musite to brat na vedomi. Popis ovladani jsem rozdelil do nekolik okruhu : {Obecne zaklady:ObecneZaklady} {Menu:Menu} {Stavovy radek:StatLn} {Pracovni plocha:Desktop} {Prace s okny:Windows} {Prace s dialogy:Dialogs} {Jak pouzivat napovedu:NoContext} .topic ObecneZaklady Kde nic tu nic , tak i kure nebere. {Ovladani programu:Ovladani} .topic Menu Menusystem Ü ßßßßßßßßßßß Hlavni nabidka a dilci nabidky Hlavni nabidka se sklada z polozek, kterymi jsou nazvy dilcivh nabidek, ktere se mohou postupne otevirat. Hlavni nabidka je aktivni, pokud je nektera z jejich polozek zvyraznena (aktivni polozka). Pokud je polozka dilci nabidky ukoncena tremi teckami (...), znamena to, ze po zvoleni teto polozky se objevi dialogove okenko. Pokud za polozkou nasleduje sipka (¯), volba teto polozky zpusobi otevreni dalsi dilci nabidky. Pokud neni za polozkou uveden zadny z techto symbolu, bude ihned po jejim zvoleni provedena pozaovana akce. Postupnemu vyberu polozky z hlani a pak dilci nabidky budeme rikat volba. Budeme pouzivat zapis, napr. Matice³Nacteni, ktery znamena: "Z hlavni nabidky zvolte polozku Matice a z dilci nabidky, ktera se pote objevi, polozku Nacteni." Volby z nabidek muzete vybrat nekterym z nasledujicich zpusobu: Z klavesnice: 1. Stisknete a hlavni nabidka se stane aktivni. 2. Pomoci klaves zvolte dilci nabidku, kterou chcete zobrazit, a stisknete . Nebo stisknete klavesu se zvyraznenym pismenem pozadovane dilci nabidky (napr. po stisknuti se zobrazi nabidka Matice). 3. Odkudkoli z integrovaneho prostredi lze zobrazit primo pozadovanou dilci nabidku stiskem a zvyrazneneho pismena. 4. Polozku z dilci nabidky vyberete jako v bode 2. Pomoci mysi: 1. Stisknete tlacitko mysi na nazvu pozadovane dilci nabidky a ta se zobrazi. 2. Pak stisknete tlacitko mysi na pozadovane polozce v dilci nabidce. 3. Take muzete stisknout tlacitko na nazvu pozadovane dilci nabidky, tlacitko drzet a pritom potahnout mysi na pozadovanou polozku, teprve zde tlacitko uvolnit. Popsane zpusoby vyberu z nabidek je mozne libovolne kombinovat. V dilcich nabidkach je u nekterych polozek (vpravo) uvedena tzv. horka klavesa. Jsou to klavesa nebo kombinace klaves, jejichz stiskem lze volbu vyvolat odkudkoli z integrovaneho prostredi. V urcite fazi prace v integrovanem prostredi nelze nektere polozky dilcich nabidek zvolit, protoze by jejich pouziti nemelo smysl. Tyto polozky se poznaji tak, ze v nich neni zvyrazneno zadne pismeno. {Ovladani programu:Ovladani} .topic StatLn Stavovy radek Ü ßßßßßßßßßßßßßß Stavovy radek je umisten uplne dole, na posledni lince na obrazovce. Ma dve zakladni vlastnosti - je promenlivy a stale funguje (to znamena, ze vzdy reaguje na uzivatele a posila prikazy programu, ale prikazy nekdy zustanou bez odezvy, protoze prave nemaji zadny vliv). Stavovy radek se sklada z cervene vyznacenych zkratkovych klaves a z nazvu operace, kterou provadeji. Pokud je operace podsvicena (je sediva), pak nemuze byt v tuto chvili vyuzita. Jak uz jsme rekli, stav. radek muze vice podob. Jedna zvlastni vypada tak, ze je rozdelena na dve casti pomoci svisle cary, prvni cast jsme jiz popisovali vyse a v druhe casti se objevuje kratka napoveda, ktera zalezi na tom, kde se prave nalezate. {Ovladani programu:Ovladani} .topic Desktop Pracovni plocha Ü ßßßßßßßßßßßßßßßß Ukazatel volne Menusystem vyuzitelne pameti Hodiny ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÁÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÂÙ Soubor Edit Sifra Analyza Nastaveni Okna Help Free 125616 11:05:24 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°Pracovni°plocha°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°±°°°°°±°°°°±±±±±°°°°±°°°°°°°±°°°°°±±±±±°°°°°±±±±±±±°°°°±°°°°±°°°°°±°°° °°°±°°°±°°°°°±°°°°°°±°°°°±°°°±°°°°°°±°°°°°°±°°°°°°±°°°°°°°±°°°°±°°°±°°°°° °°°±°±°°°°°°°±°°°°°°±°°°°°±±±°°°°°°°±°°°°°°±°°°°°°±°°°°°°°±°°°°±°±°°°°°°° °°°±±°°°°°°°°±±±±±±°°°°°°°°±°°°°°°°°±±±±±±°°°°°°°°±°°°°°°°±°°°°±±°°°°°°°° °°°±°±°°°°°°°±°°±°°°°°°°°°°±°°°°°°°°±°°°°°°°°°°°°°±°°°°°°°±°°°°±°±°°°°°°° °°°±°°°±°°°°°±°°°°±°°°°°°°°±°°°°°°°°±°°°°°°°°°°°°°±°°°°°°°±°°°°±°°°±°°°°° °°°±°°°°°±°°°±°°°°°°±°°°°°°±°°°°°°°°±°°°°°°°°°°°°°±°°°°°°°±°°°°±°°°°°±°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° F1 Help F2 Uloz F3 Nacti Alt-F3 Zavri F4 Afinni F6 Koincidence F10 Menu ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Stavovy radek .topic Windows Prace s oknama Ü ßßßßßßßßßßßßßßß Okenko (Okno) je cast obrazovky,kterou muzete presouvat, menit jeji velikost a nazev, prekryvat, uzavirat a otevirat. Techto okenek muze byt najednou otevreno nekolik. Ú Ikona pro zavreni (po kliknuti mysi na tomto miste dojde k uzavreni ³ okna) ³ Ú Stisknutim leveho tlacitka na ramecku a naslednym presunem ³ ³ mysi se cele okno presune ³ ³ ÚÄ Nazev okna ³ ³ ³ Maximalizace/puvodni velikost okna     ÉÍ[þ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ C:\KRYPTIK\DATA\ZPRAVA.TXT ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[]Í» º [09:30:24]  º Zpracovavam okno: F:\ALES\PROGRAMY\PASCAL\KRYPTIK\CEZAR2.TXT (1) ± º - zkoumane znaky : ± º ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ± º - celkem 50 znaku, z toho 41 zkoumanych znaku, cetnosti: þ º a: 2 b: 2 c: 7 d: 1 f: 2 g: 2 j: 1 ± º k: 2 m: 1 n: 2 o: 2 p: 2 q: 4 r: 1 ± º t: 3 u: 2 v: 3 w: 2 ± º - index koincidence:0.075550 ± º ± º Posuvnik textu ÄÄÄÄÄÄÄÄÄÄı º ³ ± º ³ ± º   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍþ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÄÙ  Uchopenim (stisknuti mysi a jeji drzeni) tohoto rohu a presunem dojde Ù ke zmene velikosti okna. KRYPTIK umoznuje otevreni libovolneho poctu okenek na pracovni plose (je omezen pouze velikosti volne pameti), ale v danem case muze byt pouze jedno okenko aktivni, Aktivni okenko je to, ve kterem prave pracujete. Jakakoli volba, kterou zvolite, nebo text, ktery napisete, se vztahuje pouze k aktivnimu okenku. Vetsina okenek ma tyto casti: - nazev okenka - ikona pro uzavreni umoznuje rychle uzavrit okenko; - rolovaci pasy umoznuji posouvat text v okenku; - symbol rohu umoznuje zvetsovat/zmensovat okenko; - ikona pro zoom umoznuje zvetsit okenko na maximum, nebo naopak zobrazit v puvodni velikosti; Aktivni okenko je vzdy oramovano na obrazovce dvojitou carou a ma ikona pro uzavreni, ikona pro zoom, symbol rohu a rolovaci pasy. Pokud se okenka prekryvaji, aktivni okenko je vzdy to, ktere je nad vsemi ostatnimi. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Ikona pro uzavreni º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Ikona pro uzavreni je ctverecek v leve casti horniho okraje okenka. Tato ikona muzete pouzit pro rychle uzavreni okenka tak, ze na nem stisknete tlacitko mysi. (Alternativne lze zvolit Okno³Zavrit nebo stisknout ). Okenko Napoveda muzete navic uzavrit stiskem . Nazev okenka Nazev okenka je umisten uprostred horniho vodorovneho okraje okenka. Kdyz na nazvu okenka (nebo jinde na hornim vodorovnem okraji okenka, krome ikony pro uzavreni a zoom) stisknete dvakrat tlacitko mysi, provede se totez jako pri zvoleni ikona pro zoom. Pokud tlacitko mysi podrzite, muzete okenko posouvat (tak dlouho, nez tlacitko mysi uvolnite). ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Ikona pro zoom º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Ikona pro zoom se nachazi v prave casti horniho okraje okenka (vpravo). Na ikone pro zoom muzeme tisknout tlacitko mysi: - Pokud je ikona pro zoom sipka nahoru, okenko se zvetsi na nejvetsi moznou velikost. - Pokud je ikona pro zoom obousmerna svisla sipka, okenko se zobrazi v puvodni velikosti. Pro prepinani velikosti okenka z klavesnice zvolte Okno³Velikost nebo stisknete . ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Rolovaci pasy º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Rolovaci pasy jsou vodorovne (na spodnim okraji okenka nebo svisle (na pravem okraji okenka). Jedna se o pas ukonceny na obou koncich sipkami. Mezi temito sipkami se nachazi obdelnicek - indikator rolovani, jehoz pozice pozici kurzoru v seznamu polozek, ktery je v okenku zobrazen v horni polovine okenka. Symboly rolovaciho pasu se pouzivaji pomoci mysi pro rolovani obsahu okenka takto: - Stisknete tlacitko mysi na sipce na nekterem konci a kurzor se bude posouvat odpovidajicim smerem. - Stisknete tlacitko mysi na pasu mimo indikatoru rolovani mezi sipkami. Kurzor se bude pohybovat po strankach smerem odpovidajicim poloze indikatoru. - Podrzte tlacitko mysi na indikatoru rolovani a potahnete jej na urcite misto, ktere relativne odpovida pozadovane poloze v seznamu, teprve pak tlacitko mysi uvolnete. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Symbol rohu º ÈÍÍÍÍÍÍÍÍÍÍÍÍͼ Symbol rohu je pravy spodni roh okraje okenka. Kdyz na tomto rohu podrzite tlacitko mysi, muzete posunem mysi okenko zmensovat nebo zvetsovat (tak dlouho, nez tlacitko uvolnite). Pro zmenu velikosti okenka z klavesnice zvolte Okno³Presun/velikost nebo stisknete . {Ovladani programu:Ovladani} .topic Dialogs Prace s dialogy Ü ßßßßßßßßßßßßßßßß Dialogove okenko Pokud je polozka v dilci nabidce ukoncena tremi teckami (...), otevre se po jejim zvoleni dialogove okenko. Dialogove okenko se pouziva ke zobrazeni a nastaveni mnoha parametru. V dialogovem okenku lze zobrazit pet zakladnich typu polozek (ovladacich prvku): - tlacitka predvolby ( nazyvane tez jako vyberova pole ) - tlacitka nastaveni ( nazyvane tez jako zaskrtavaci pole ) - tlacitka akce - vstupni pole - seznam polozek Klavesy nebo zpusobi v dialogovem okenku presun na nasledujici nebo predchozi polozku nebo skupinu polozek. Pokud je polozka zvyraznena, stava se aktivni a lze s ni pracovat. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Tlacitka akce º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ V dialogovem okenku se zpravidla vyskytuji tri standardni tlacitka akce OK, Zrusit a Napoveda, ktera znamenaji: ÚÄÄÄÄÄÄÄÄ¿ ³ OK ³ Akce bude provedena s ÀÄÄÄÄÄÄÄÄÙ ohledem na nastaveni ostatnich polozek v dialogovem okenku. ÚÄÄÄÄÄÄÄÄ¿ ³ Zrusit ³ Nebude provedena zadna ÀÄÄÄÄÄÄÄÄÙ zmena ani akce, ale dialogove okenko zmizi; totez zpusobi stisk . ÚÄÄÄÄÄÄÄÄ¿ ³Napoveda³ Otevre okenko Napoveda, ÀÄÄÄÄÄÄÄÄÙ ktere se vztahuje k tomuto dialogovemu okenku. Pokud pouzivate mys, stisknete tlacitko mysi na tlacitku akce, ktere chcete zvolit. Z klavesnice Stisknete zvyraznene pismeno v nazvu tlacitka akce; napr. stiskem zvolite OK. Tlacitko akce OK byva v dialogovem okenku nastaveno implicitne. Implicitni tlacitko akce je na monochromatickem monitoru oznaceno sipkou; na barevnem je zvyrazneno. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Tlacitka nastaveni º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ( nazyvane tez jako zaskrtavaci pole ) Tlacitka nastaveni se objevi v dialogovem okenku tehdy, pokud se provadeni volby (po jejimz zvoleni se dialogove okenko otevrelo) ma ridit parametrem, ktery muze byt bud vypnut nebo zapnut. Tlacitka nastaveni byvaki ve skupine, ve ktere muze byt nastaven libovolny pocet techto tlacitek. Pred kazdym tlacitkem nastaveni jsou umisteny hranate zavorky. Kdyz tlacitko nastaveni vyberete, objevi se v techto zavorkach X, coz indikuje zapnuti parametru, nebo budou zavorky prazdne, a to znamena vypnutiparametru. Nastaveni tlacitka nastaveni muzete menit: - Stiskem tlacitka mysi na pozadovanem tlacitku nebo - klavesou se presunout na skupinu tlacitek, kde je pozadovane tlacitko nastaveni umisteno, ve skupine pomoci klaves presunout zvyrazneni na tlacitko a pak stisknout nebo - stisknout pismeno zvyraznene v nazvu pozadovaneho tlacitka nastaveni. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Tlacitka predvolby º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ( nazyvane tez jako vyberova pole ) Tlacitka nastaveni se objevi v dialogovem okenku tehdy, pokud se provadeni volby (po jejimz zvoleni se dialogove okenko otevrelo) ma ridit parametrem, ktery muze byt nastaven na prave jednu z vice moznych hodnot. Nekolik tlacitek predvolby vzdy tvori skupinu, ve ktere muze byt nastaveno ("stisknuto") prave jedno tlacitko (ne vice, ne mene). Pred kazdym tlacitkem predvolby jsou umisteny kulate zavorky. Nastavene tlacitko predvolby je oznaceno v zavorkach teckou, tedy (.). Nastaveni tlacitka predvolby muzete menit: - Stiskem tlacitka mysi na pozadovanem tlacitku predvolby nebo - z klavesnice stiskem pismena zvyrazneneho v nazvu tlacitka predvolby nebo - se presunout pomoci klaves na pozadovanou skupinu tlacitek a pak pomoci klaves nastavit pozadovane tlacitko predvolby Skupinu s nove nastavenou predvolbou pak opustite stiskem klavesy nebo . ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Vstupni pole º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ( nazyvane tez jako vstupni radek ) Vstupni pole se v dialogovem okenku objevi, pokud ma zvolena volba pracovat s urcitym zadanym textem. Do vstupniho pole lze tedy zapisovat text. Pritom muzete pouzit vetsinu ze zakladnich klaves pro editaci textu (, , , ). Kdyz praveho okraje pole, obsah bude automaticky rolovat. Je-li v poli vice textu nez je mozne zobrazit, objevi se na konci sipka ukazujici smerem, kmpokracuje nezobrazeny text. Kdyz stisknete tlacitko mysi na nektere z techto sipek, text bude rolovat. Kdyz tlacitko na sipce podrzite, text se bude posouvat. Je-li vpravo od vstupniho pole zobrazena sipka dolu, lze klavesou pouzit seznam drive pouzitych textovych polozek (tj. polozek odpovidajiciho tvaru, ktere byly do vstupniho pole zadany pri nekterem z predchozich pouziti volby, po niz se dialogove okenko zobrazilo) a stiskem vybrat nekterou z nich. Na zobrazene sipce muzetetake stisknout tlacitko mysi a pozadovanou polozku pakzvyraznit stiskem tlacitka mysi nebo primo vybrat dvojim stisknutim. Text, ktery se prepise do vstupniho pole, muzete libovolne editovat. Stiskem Klavesy opustite seznam bez provedeni vyberu. Poznamka: Pokud potrebujete zadat ve vstupnim poli nektery z ridicich znaku (napr ^L nebo ^M), zadejte pred timto znakem ^P. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Seznam polozek º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Seznam polozek se v dialogovem okenku objevi tehdy, pokud volba pracuje s nejakou polozkou, kterou lze zvolit v seznamu, stanoveneho v integrovanem prostredi podle urcitych kriterii. Seznam polozek lze prohledavat a vybrat z nej polozku bez opusteni dialogoveho okenka. Pokud se v seznamu objevi blikajici radek a vy vite, jakou polozku hledate, muzete napsat slovo (nebo nekolik pocatecnich pismen slova) a odpovidajici polozka se v seznamu vyhleda. Seznam bude aktivni, kdyz na nem stisknete tlacitko mysi zadate pismeno zviraznene v nazvu seznamu (nebo jej vyberete pomoci nebo klaves ). Kdyz se seznam zobrazi, muzete k jeho prohledavani pouzit klavesy , , atd. {Ovladani programu:Ovladani} .topic KaS Kodovani a sifrovani Ü ßßßßßßßßßßßßßßßßßßßßß {Zaklady teorie cisel:ZakladyTeorie} {Zakladni pojmy kryptografie:PojmyKrypt} {Sifry klasicke kryptografie:ZakladSifry} (Cezarovska, Afinni, Abeceda promichana heslem, ...) {Dalsi poznamky k monoalfabetickym sifram:DalsiMonoAlf} {Zaklady kryptoanalyzy:Kryptoanalyza} {Index koincidence:Koincidence} {Tabulka indexu koincidence:Table} {Separace samohlasek:SepSamohl} {Kryptoanalyza polyalfabetickych sifer:KryptPolyAlf} {Zaklady teorie kodovani:kodovani} {Priklady nekolika kodu:PrikladyKodu} {Dekodovani} Texty poskytl RNDr.Ing.Tomas Vanicek, ktery uci na Stavebni fakulte CVUT, katedre Inzenyrske informatiky predmet Kodovani a Sifrovani. .topic ZakladyTeorie ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Zaklady teorie cisel º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Prvocislo je prirozene cislo p, ktere ma za delitele jen 1 a sebe sama. Kazde prirozene cislo n vetsi nez 1 se da jednoznacne zapsat ve tvaru n = p1^a1 * p2^a2 * ... * pn^an Nejvetsi spolecny delitel cisel a a b (NSD(a,b)) je nejvetsi takove cislo d, ktere deli a i b. Nejmensi spolecny nasobek cisel a a b (NSN(a,b)) je nejmensi takove cislo n, ktere je nasobkem a i b. Eulerova funkce fi udava pocet prirozenych cisel mensich nez n a nesoudelnych s n Hodnoty funkce fi pro cisla 1..1e jsou 1 1 2 2 4 2 6 4 6 4. Pro prvocislo p je fi(p)=p-1. Kongurence Cisla a a b nazveme kongurentni modulo m, pokud je rozdil a-b delitelny m. a a b jsou kongurentni, pokud davaji pri deleni m stejny zbytek. Kongurence lze scitat a nasobit. Mala Fermatova veta ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Tvrzeni Pokud je p prvocislo, pak je kazdy binomicky koefincient p nad a pro 0 < a < p kongurentni s 0 modulo p. (Dukaz je zrejmy, v rozvoji binomickeho koeficientu se v citateli objevuje clen p, ktery nelze vykratit s nicim ve jmenovateli. Tvrzeni Pokud je p prvocislo, pak pro kazda dve cisla a a b plati (a+b)^p je kongurentni s a^p+b^p modulo p (plyne z predchoziho tvrzeni. Mala fermatova veta Pro kazde prvocislo p a pro kazde prirozene cislo c plati c^p je kongurentni s c modulo p. (Dukaz indukci dle c). Jiny tvar Fermatovy vety Pro kazde prvocislo p a pro kazde prirozene cislo c plati c^(p-1) je kongurentni s 1 modulo p. Jeste jiny dusledek Pokud k cislu N existuje cislo c takove, ze c^(N-1) neni kongurentni s 1 modulo N, pak je N cislo slozene. (Poznamka: obracene tvrzeni neplati, 37*73 je slozene cislo, ale splnuje MFV). ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Zakladni algebraicke struktury º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Grupa Mnozina M s operaci + tvori grupu, pokud - je uzavrena na vysledky operace +. - operace + je asociativni - operace + ma neutralni prvek - operace + ma inverzni prvek Komutativni grupa je grupa, kde je navic operace + komutativni. Okruh je mnozina M se dvema operacemi + a *, ktere splnuji nasledujici podminky: - Vzhledem k operaci + je mnozina M grupou. - Operace * je uzavrena, asociativni a ma jednotkovy prvek. - Operace jsou navzajem distributivni. Faktor okruhy celych cisel Na mnozina Zn=(0,1,...,n-1) definujeme scitani a nasobeni modulo n. Vzhledem k teto operaci je mnozina Zn okruh. Inverzni prvek vzhledem k nasobeni existuje pro cislo a ze Zn prave tehdy, kdyz je a nesoudelne s n. Je-li n prvocilo, existuje inverzni prvek pro kazdy prvek mnoziny Zn a Zn tvori teleso. Eulerova veta ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Pro kazde prirozene cislo n a cislo c nesoudelne z n plati c^fi(n) je kongurentni s 1 modulo n. (je to zobecneni Male Fermatovy vety). zpet Prehled temat z {kodovani a sifrovani:KaS} .topic PojmyKrypt Klasicka kryptografie ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Zakladni pojmy kryptografie º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Abeceda textu Text lze zapsat v ruznych abecedach a v ruznych kodovanich. Bez ujmy na obecnosti ovsem lze predpokladat, ze text je zapsan pomoci cisel 0,1,...,n-1, tedy pomoci prvku okruhu Zn-1. Kryptograficka transformace Je proste zobrazeni mnoziny m-tic prvku Zn do sebe. Kryptograficky system Je parametricky system kryptografickych transformaci Tk, kde k je klic dane transformace. Poznamky - Vstupni i vystupni text je nad stejnou abecedou. - Vstupni i vystupni text ma stejnou delku. - Sifrovanim jednoho textu pomoci jednoho klice je jednoznacne dany zasifrovany text. - Zasifrovanym textem a klicem je jednoznacne dany puvodni text. viz {Zakladni typy sifer:ZakladSifry} Prehled temat z {kodovani a sifrovani:KaS} .topic ZakladSifry Cezarovske sifry Klicem je cislo k, N je velikost vstupni a vystupni abecedy. Ck(m) je m + k modulo N. Jedna se o posunuti pismen v urcity pocet znaku v abecede pro abecedu ABCDEFGHIJKLMNOPQRSTUVWXYZ klic 4 a vstupni slovo TOMAS, dostaneme XSQEW. Afinni sifry Klicem je dvojice celych cisel a a k, kde a je nesoudelne s N Ca,k(m) je a*m+k modulo N. Pro k rovno 0 se tato sifra nazyva m,ultiplikativni. Pro a rovno 1 dostavame Cezarovskou sifru. Obecny system monoalfabetickych sifer Kryptograficky system tvori vsechna prosta zobrazeni mnoziny Zn na sebe. Klicem je v tomto pripade predpis celeho zobrazeni, tedy navod, ktery znak se nahrazuje jakym znakem. Vzdy se ovsem jeden a tentyz znak nahrazuje stejnym znakem. Cezarovske a afinni sifry jsou specielnim pripadem monoalfabetickych sifer. Celkem pro N prvkovou abecedu existuje N! monoalfabetickych sifer. Vyhodou obecne monoalfabeticke sifry je, ze odbourava jakoukoli pravidelnost v "michani" pismen. Nevyhodou je ovsem slozitost zapisu a zapamatovani algoritmu pro generovani prosteho zobrazeni. Nasledujici dva priklady ukazuji monoalfabeticke sifry, u nichz je mozne kryptografickou transformaci odvodit na zaklade hesla. Abeceda pomichana heslem Klic tvori pismeno (napriklad X) a heslo napriklad TOMAS VANICEK. Heslo napiseme bez mezer za sebe a vynechame druhe a dalsi vyskyty opakujicich se pismen TOMASVNICEK. Kryptografickou transformaci pak vytvorime tak, ze pismenu X priradime prvni pismeno hesla, stejne postupujeme u dalsich pismen abecedy a po skonceni hesla doplnime kodovy radek zbyvajicimi pismeny abecedy neobsazenymi v heslu ÚÄÄÄÄÂÄÄÄÄ¿ ³ A ³ A ³ ³ B ³ S ³ ³ C ³ V ³ ³ D ³ N ³ ³ E ³ I ³ ³ F ³ C ³ ³ G ³ E ³ ³ H ³ K ³ ³ I ³ B ³ ³ J ³ D ³ ³ K ³ F ³ ³ L ³ G ³ ³ M ³ H ³ ³ N ³ J ³ ³ O ³ K ³ ³ P ³ L ³ ³ Q ³ P ³ ³ R ³ Q ³ ³ S ³ R ³ ³ T ³ U ³ ³ U ³ V ³ ³ V ³ W ³ ³ W ³ Z ³ ³ X ³ T ³ ³ Y ³ O ³ ³ Z ³ M ³ ÀÄÄÄÄÁÄÄÄÄÙ Transponovana abeceda michana heslem V predchazejicim pripade zustava znacna cast abecedy ve svem prirozenem poradi. Abychom tomu predesli, napiseme (po vynechani hesla) zbyvajici pismena do nekolika radek a vysledne abecede je pak pridelime po sloupcich. T O M A S V N I C E K B D F G H J K L P Q R U V W Z ÚÄÄÄÄÂÄÄÄÄ¿ ³ A ³ T ³ ³ B ³ B ³ ³ C ³ U ³ ³ D ³ O ³ ³ E ³ D ³ ³ F ³ V ³ ³ G ³ M ³ ³ H ³ F ³ ³ I ³ W ³ ³ J ³ A ³ ³ K ³ G ³ ³ L ³ Z ³ ³ M ³ S ³ ³ N ³ H ³ ³ O ³ V ³ ³ P ³ J ³ ³ Q ³ N ³ ³ R ³ K ³ ³ S ³ I ³ ³ T ³ L ³ ³ U ³ C ³ ³ V ³ P ³ ³ W ³ E ³ ³ X ³ Q ³ ³ Y ³ K ³ ³ Z ³ R ³ ÀÄÄÄÄÁÄÄÄÄÙ viz {Dalsi poznamky k monoalfabetickym sifram:DalsiMonoAlf} Obecny system polyalfabetickych sifer Klicem je posloupnost (konecna nebo nekonecna) monoalfabetickych kryptografickych transformaci T1,T2, ..., Tn, nebo T1,T2,... . Pro zasifrovani i-te znaku se oak pouzije i-ta kryptograficka transformace (v pripade konecne posloupnosti klicovych kryptografickych transformaci delky n pak i mod n - ta transformace). System vigenerovskych sifer Je specielni pripad polyalfabetickych sifer. Tvori ho konecne posloupnosti Cezarovskych transformaci. Klicem je posloupnost cisel (k1,k2,...,kn), kde ki jsou klice jednotlivych Cezarovskych transformaci a tedy C(xi) = xi + Ki mod N. Klice Ki si lze zapamatovat pomoci hesla. Napriklad pri pouziti hesla AHOJ (1,8,15,10) se slovo TOMAS zasifruje jako UWBKT. Praktickou pomukou pro relizaci takovych sifer je tzv. vignerovsky ctverec. zpet Prehled temat z {kodovani a sifrovani:KaS} .topic Kryptoanalyza ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Zaklady kryptoanalyzy º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Zakladni ulohou kryptoanalyzy je odhaleni inverzniho zobrazeni ke kryptograficke transofrmaci, tedy k zobrazeni Tk n-tic prvku okruhu Zm do sebe. Existuje tri zakladni typy teto ulohy Ciphertext only attack Desifrovani na zaklade znalosti zasifrovaneho textu --- to je nejklasictejsi uloha kryptoanalyzy Known plaintext attack Desifrovani s castecnou znalosti primeho textu (a uplnou znalosti textu zasifrovaneho). Protivnik ma k dispozici nejakym zpusobem ziskane nektere prime texty a veskere texty zasifrovane. Chosen plaintext attack Desifrovani s neomezenou znalosti zasifrovaneho textu. Protivnik ma k dispozici libovolny jim zvoleny primy text a jeho zasifrovanou verzi. Napriklad spravce systemu muze vyrobit libovolneho uzivatele a jeho heslo prohlizet v prime i zasifrovane podobe. Kryptoanalyza monoalfabetickych sifer Metody kryptoanalyzy monoalfabetickych sifer jsou v zasade statisticke. Pro ruzne jazyky existuji tabulky udavajici pravdepodobnost vyskytu jednotlivych znaku. Napriklad pro ceskou abecedu s mezerou vypada takova tabulka takto: ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿ ³ A ³ 5.4% ³ ³ A ³ 2.1% ³ (dlouhe A) ³ B ³ 1.4% ³ ³ C ³ 1.9% ³ ³ C ³ 0.8% ³ (s hackem) ³ D ³ 2.6% ³ ³ D ³ 0.5% ³ (s hackem) ³ E ³ 7.3% ³ ³ E ³ 1.0% ³ ³ E ³ 0.7% ³ ³ F ³ 0.2% ³ ³ G ³ 0.2% ³ ³ H ³ 2.0% ³ ³ I ³ 3.4% ³ ³ I ³ 2.5% ³ ³ J ³ 2.2% ³ ³ K ³ 3.3% ³ ³ L ³ 3.4% ³ ³ M ³ 2.9% ³ ³ N ³ 4.0% ³ ³ N ³ 1.5% ³ ³ O ³ 6.8% ³ ³ P ³ 2.7% ³ ³ Q ³ 0.0% ³ (po zaokrouhleni ) ³ R ³ 2.9% ³ ³ R ³ 0.9% ³ ³ S ³ 4.0% ³ ³ S ³ 0.8% ³ ³ T ³ 3.9% ³ ³ T ³ 0.7% ³ ³ U ³ 3.0% ³ ³ U, ³ U 0.5% ³ (s krouzkem, carkou) ³ V ³ 3.9% ³ ³ W ³ 0.0% ³ ³ X ³ 0.1% ³ ³ Y ³ 1.6% ³ ³ Y ³ 0.8% ³ ³ Z ³ 1.9% ³ ³ Z ³ 0.9% ³ ³ mezera³ 16.3% ³ ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ Tato tabulka byla ovsem ziskana analyzou velkeho mnozstvi ceskych textu ruzneho charakteru. V textech nejakym smerem zamerenym lze ocekavat vyssi frekvenci nekterych slov a tim padem mirne jine rozlozeni frekvence jednotlivych znaku. Ani u monoalfabeticke sifry tedy nelze postupovat prostym prirazenim ekvivalentu zasifrovanym znakum. Dalsim krokem muze byt pouziti tabulky vyskytu dvojic, ci trojic za sebou nasledujicich znaku. viz {Index koincidence:Koincidence} Prehled temat z {kodovani a sifrovani:KaS} .topic Koincidence ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Index koincidence º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Index koincidence je hodnota, ktera muze pomoci rozhodnout, zda byla pro zasifrovani textu pouzita monoalfabeticka ci polyalfabeticka sifra. Index koincidence pro dany jazyk je roven sume p(c)^2 pres vsechny znaky c dane abecedy. Pritom p(c) je pravdepodobnost vyskytu znaku c v textu. Pozorovani Necht n je velikost nejake abecedy a I index koincidence jazyka nad touto abecedou. Plati I-1/n = suma p(c)^2 - 1/n = = suma (p(c)^2 - 1/n^2) = = suma (p(c) - 1/n)^2, nebot suma p(c) = 0. Plati tedy I >= 1/n 1/n je stredni hodnota nahodne veliciny p(c) I-1/n je smerodatna odchylka nahodne veliciny p(c) viz {Tabulka indexu koincidence:Table} Jak vyuzit index koincidence Je-li text zasifrovan monoalfabetickou sifrou, mel by se jeho index koincidence blizit indexu koincidence jazyka, ve kterem byl napsan. Je-li text zasifrovan polyalfabetickou sifrou, bude se jeho index koincidence blizit indexu koincidence nahodne generovaneho jazyka. zpet Prehled temat z {kodovani a sifrovani:KaS} .topic Table Tabulka indexu koincidence pro nektere jazyky prevedene do anglicke abecedy (26 znaku ABCDEFGHIJKLMNOPQRSTUVWXYZ) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ nahodne generovana slova 1/26 = 0.03846 ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ´ ³ cestina/slovenstina ³ 0.06027 ³ ³ anglictina ³ 0.06689 ³ ³ danstina ³ 0.07073 ³ ³ finstina ³ 0.07380 ³ ³ francouzstina ³ 0.07460 ³ ³ holandstina ³ 0.07981 ³ ³ nemcina ³ 0.07667 ³ ³ italstina ³ 0.07329 ³ ³ rustina ³ 0.05607 ³ ³ spanelstina ³ 0.07661 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ Pro ruzne jazyky existuji tabulky udavajici pravdepodobnost vyskytu jednotlivych znaku. Napriklad pro ceskou abecedu s mezerou vypada takova tabulka takto: ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿ ³ A ³ 5.4% ³ ³ A ³ 2.1% ³ (dlouhe A) ³ B ³ 1.4% ³ ³ C ³ 1.9% ³ ³ C ³ 0.8% ³ (s hackem) ³ D ³ 2.6% ³ ³ D ³ 0.5% ³ (s hackem) ³ E ³ 7.3% ³ ³ E ³ 1.0% ³ (dlouhe E) ³ E ³ 0.7% ³ (s hackem) ³ F ³ 0.2% ³ ³ G ³ 0.2% ³ ³ H ³ 2.0% ³ ³ I ³ 3.4% ³ ³ I ³ 2.5% ³ ³ J ³ 2.2% ³ ³ K ³ 3.3% ³ ³ L ³ 3.4% ³ ³ M ³ 2.9% ³ ³ N ³ 4.0% ³ ³ N ³ 1.5% ³ ³ O ³ 6.8% ³ ³ P ³ 2.7% ³ ³ Q ³ 0.0% ³ (po zaokrouhleni ) ³ R ³ 2.9% ³ ³ R ³ 0.9% ³ ³ S ³ 4.0% ³ ³ S ³ 0.8% ³ ³ T ³ 3.9% ³ ³ T ³ 0.7% ³ ³ U ³ 3.0% ³ ³ U, ³ U 0.5% ³ (s krouzkem, carkou) ³ V ³ 3.9% ³ ³ W ³ 0.0% ³ ³ X ³ 0.1% ³ ³ Y ³ 1.6% ³ ³ Y ³ 0.8% ³ ³ Z ³ 1.9% ³ ³ Z ³ 0.9% ³ ³ mezera³ 16.3% ³ ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ Tato tabulka byla ovsem ziskana analyzou velkeho mnozstvi ceskych textu ruzneho charakteru. Prehled temat z {kodovani a sifrovani:KaS} .topic DalsiMonoAlf ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Dalsi poznamky k monoalfabetickym sifram º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Multiplikativni sifry patri do skupiny monoalfabetickych a afinnich sifer. Multiplikativni sifra s klicem a pro abecedu s N znaky ma tvar Ck(n) = a*n modulo N. Aby se jednalo o kryptografickou transformaci (proste zobrazeni mnoziny Zn do sebe, musi byt cisla a a N nesoudelna (viz Zakladni poznatky teorie cisel ). Pokud pracuji s anglickou telegrafni abecedou (26 znaku), je moznych 12 klicu (1,3,5,7,9,11,15,17,19,21,23,25). Pro anglickou telegrafni abecedu s mezerou (27 znaku) je k dispozici 18 klicu (1,2,4,5,7,8,10,11,13,14,16,17,19,20,22,23,25,26). Kombinaci multiplikativni a cezarovske sifry lze dostat obecnou Afinni sifru . Pro desifrovani multiplikativnich i afinnich sifer lze pouzit obecne statisticke metody pro kryptoanalyzu monoalfabetickych sifer . Bayesovske desifrovani Bayesovske (statisticke) metody desifrovani lze pouzit pro kryptoanalyzu textu zasifrovanych monoalfabetickou sifrou (to lze zjistit pomoci indexu koincidence ) s omezenou, pokud mozno malou mnozinou moznych klicu. Prikladem mohou byt Cezarovske sifry (26 klicu), ci multiplikativni sifry (12, resp. 18 klicu). Definujeme funkci dvou promennych -- klic k a delka zkoumaneho textu n. Hodnotou funkce je pravdepodobnost shody teoretickeho rozlozeni pravdepodobnosti jednotlivych pismen v textu pro dany jazyk a jejich skutecneho vyskytu v danem useku textu. S rostoucim n se vsechny hodnoty blizi k 0, pouze hodnota pro skutecne pouzity klic k k 1. Pro desifrovani Cezarovskych sifer je potreba pouzit n zhruba mezi 10 a 20. viz Pouziti metody {Seperace samohlasek:SepSamohl} pri desifrovani. Prehled temat z {kodovani a sifrovani:KaS} .topic SepSamohl ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Separace samohlasek º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Metodu separace samohlasek je mozne pouzit pro monoalfabeticke sifry pred jejich dalsim statistickym vyhodnocenim. Metoda je zalozena na faktu, ze v beznych jazycich maji samohlasky tendenci sousedit se souhlaskami a naopak. Priklad pouziti separace samohlasek. Mejme nasledujici text: Zemrela matka a do hrobu dana siroty po ni zustaly. Zasifrovany Cezarovskou sifrou k klicem 2: bgotgnc ocvmc c fq jtqdw fcpc uktqva rq pk bwuvcna. Nasledujici tabulka udava pocet vyskytu jednotlivych pismen v zasifrovanem textu a pocet jejich nasledovniku a predchudcu. ÚÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³poc³predchudci ³nasledovnici ³ ³a³ 2 ³n(1) v(1) ³r(1) ³ ³b³ 2 ³k(1) ³g(1) w(1) ³ ³c³ 7 ³c(1) f(1) m(1) n(1) o(1) p(1) v(1)³c(1) f(1) o(1) n(1) p(1) u(1) v(1)³ ³d³ 1 ³q(1) ³w(1) ³ ³f³ 2 ³c(1) w(1) ³c(1) q(1) ³ ³g³ 2 ³b(1) t(1) ³n(1) o(1) ³ ³j³ 1 ³q(1) ³t(1) ³ ³k³ 2 ³p(1) u(1) ³b(1) t(1) ³ ³m³ 1 ³v(1) ³c(1) ³ ³n³ 2 ³c(1) g(1) ³a(1) c(1) ³ ³o³ 2 ³c(1) g(1) ³c(1) t(1) ³ ³p³ 2 ³c(1) q(1) ³c(1) k(1) ³ ³q³ 4 ³t(2) f(1) r(1) ³d(1) j(1) p(1) v(1) ³ ³r³ 1 ³a(1) ³q(1) ³ ³t³ 3 ³j(1) k(1) o(1) ³g(1) q(1) ³ ³u³ 2 ³c(1) w(1) ³k(1) v(1) ³ ³v³ 3 ³c(1) q(1) u(1) ³a(1) c(1) m(1) ³ ³w³ 2 ³b(1) d(1) ³f(1) u(1) ³ ÀÄÁÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Do mnoziny A (mnozina potencionalnich souhlasek) vlozime nektere pismeno s nejmensim pocet vyskytu - napriklad D. Jeho leve sousedy vlozime do seznamu L, prave sousedy do seznamu P. V seznamech L a P povedeme i evidenici o poctech vyskytu pismen jako le ych a pravych sousedu. Dale vezmeme dalsi pismena podle poctu vyskytu. Pokud se pismeno vyskytuje v nekterem seznamu L nebo P, zaradime jej do mnoziny B (nerozhodnuta pismena) a pokracujeme dale. Pokud pismeno neni seznamu L ani P, zaradime jej do mnozi y a a zpracujeme jeho sousedy. Takto postupujeme az do vycerpani vsech pismen. Nasledujici tabulka udava postup algoritmu ve vyse uvedenem priklade. zpracovavany znak mnozina A mnozina B seznam L seznam P ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ mnozina A mnoz. B ³seznam L ³seznam P ³ ³ D D -- ³Q1 ³W1 ³ ³ J DJ -- ³Q(2) ³T1 W1 ³ ³ M DJM -- ³Q2 V1 ³C1 T1 W1 ³ ³ R DJMR -- ³Q2 A1 V1 ³C1 Q1 T1 W1 ³ ³ A ADJMR -- ³Q2 V2 A1 N1 ³C1 Q1 R1 T1 W1 ³ ³ B ABDJMR -- ³Q2 V2 A1 K1 N1 ³C1 G1 Q1 R1 T1 W1 ³ ³ F ABDFJMR -- ³Q2 V2 A1 C1 K1 N1 W1 ³C2 Q2 G1 R1 T1 W1 ³ ³ G ABDFJMR G ³Q2 V2 A1 C1 K1 N1 W1 ³C2 Q2 G1 R1 T1 W1 ³ ³ K ABDFJMR GK ³Q2 V2 A1 C1 K1 N1 W1 ³C2 Q2 G1 R1 T1 W1 ³ ³ N ABDFJMR GKN ³Q2 V2 A1 C1 K1 N1 W1 ³C2 Q2 G1 R1 T1 W1 ³ ³ O ABDFJMOR GKN ³Q2 V2 C2 A1 G1 K1 N1 W1 ³C3 T2 Q2 G1 R1 W1 ³ ³ P ABDFJMOPR GKN ³C3 Q3 V2 A1 G1 K1 N1 W1 ³C4 T2 Q2 G1 K1 R1 W1 ³ ³ U ABDFJMOPRU GKN ³C4 Q3 V2 W2 A1 G1 K1 N1 ³C4 K2 T2 Q2 G1 R1 V2 W1 ³ ³ W ABDFJMOPRU GKNW ³C4 Q3 V2 W2 A1 G1 K1 N1 ³C4 K2 T2 Q2 G1 R1 V2 W1 ³ ³ T ABDFJMOPRU GKNTW ³C4 Q3 V2 W2 A1 G1 K1 N1 ³C4 K2 T2 Q2 G1 R1 V2 W1 ³ ³ V ABDFJMOPRU GKNTVW ³C4 Q3 V2 W2 A1 G1 K1 N1 ³C4 K2 T2 Q2 G1 R1 V2 W1 ³ ³ Q ABDFJMOPRU GKNQTVW ³C4 Q3 V2 W2 A1 G1 K1 N1 ³C4 K2 T2 Q2 G1 R1 V2 W1 ³ ³ C ABDFJMOPRU CGKNQTVW ³C4 Q3 V2 W2 A1 G1 K1 N1 ³C4 K2 T2 Q2 G1 R1 V2 W1 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Pismena v mnozine A budou s nejvetsi pravdepodobnosti souhlasky. V nasem pripade to jsou pismena ABDFJMOPRU, tedy po desifrovani YZBDHKMNPS. Z pismen v mnozine B vybereme ta, ktera se nejcasteji vyskytuji v seznamech L a P. V nasem pripade je pocet vyskytu v seznamech nasledujici C(8) Q(5) K(3) T(2) V(2) G(2) N(1) W(1). S velkou pravdepodobnosti tedy budou pismena CQK (tj. AOI) samohlasky a totez lze s mensi pravdepodobnosti ocekavat u pismen TVG (tj. RTE). Algoritmus se v uvedenem priklade dopustil nekolika chyb, coz je dano kratkym usekem textu, ktery byl analyzovan. Polygraficka sifra Polygraficka sifra je monoalfabetickou sifrou nad abecedou n-tic pismen bezne abecedy. Kazdemu useku n po sobe nasledujicich pismen je tedy urcitym zpusobem (tabulkou, algoritmem) prirazen stejne dlouhy usek zasifrovaneho textu. Nevyhodou obecne polygraficke sifry je velka narocnost na velikost kodove tabulky (pro n=2 je potreba 26*26=676 poli tabulky). Obecna Hillovska sifra Obecna Hillovska sifra je specielnim pripadem polygraficke sifry. Klicem je regularni matice A velikosti nxn nad telesem Zn. Sifra je dana predpisem CA(x1..xn) = A.(x1..xn). Pokud je matice A regularni, existuje k ni inverzni matice A'. Desifrovani je pak provedeno vynasobenim zasifrovaneho textu touto inverzni matici. Involutorni kryptograficke transformace Involutorni kryptograficka transformace je Hillovska sifra, prokterou plati A=A'. Tedy zasifrovani i desifrovani se deje pomoci prenasobeni stejnou matici A. Diky tomu odpada vypocet inverzni matice. Matice involutorni transformace musi splnovat rovnost A=A' a tedy jeji determinant musi byt roven 1, nebo -1 (v telese Zn). Pro abecedu s 26 znaky existuje 7 involutornich matic: 1 0 0 1 1 0 13 1 1 13 0 1 14 13 13 14 25 0 0 25 25 13 0 25 25 0 13 25 Pro abecedu s 27 znaky (anglicka abeceda s mezerou) pouhe 2 matice 1 0 0 1 26 0 0 26 Pritom prvni z uvedenych matic vzdy reprezentuje identickou kryptografickou transformaci (text neni nijak zasifrovan) zpet Prehled temat z {kodovani a sifrovani:KaS} .topic KryptPolyAlf ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Kryptoanalyza polyalfabetickych sifer º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Kryptoanalyza polyalfabetickych sifer Vignerovskeho typu Polyalfabeticke sifry Vignerovskeho typu jsou sifry s dekou klice a radove mensi nez je delka zpravy. Jedna se tedy o posloupnost konecne mnoha monoalfabetickych sifer. Prvnim ukolem je nalezeni delky klice. Zjisteni delky klice Kasiskeho metodou ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Kasiskeho metoda je zalozena na myslence, ze delsi skupiny pismen se v zasifrovanem textu budou objevovat s periodou, ktera je nasobkem delky klice. Vypiseme tedy vsechny skupiny pismen delky alespon 3, ktere se v zasifrovanem textu opakuji, zjistime vzdalenost mezi jejich dvema vyskyty a pak najdeme nejmensiho spolecneho delitele techto vzdalenosti. Zjistovani nejvetsiho spolecneho delitele je treba brat statisticky, nebot kazda opakujici se skupina znaku v zasifrovanem textu jeste nemusi vzniknout ze stejne skupiny znaku v textu puvodnim. Vetsi vahu pritom maji delsi skupiny opakujicich se znaku. Metoda koincidence ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Pravdepodobnost, ze ve dvou ruznych textech se na jednom miste objevi stejny znak je rovna sume pres vsechny znaky c abecedy p^2(c), kde p(c) je pravdepodobnost vyskytu znaku c v textu psanem v danem jazyce. Je to tedy index koincidence, ktery ma pro bezne jazyky hodnotu mezi 0.06 a 0.08. Budou-li oba dva texty zasifrovane stejnou monoalfabetickou sifrou, zustane tato pravdepodobnost blizka indexu koincidence. Naopak pro dva texty zasifrovane ruznymi monoalfabetickymi siframi je tato pravdepodobnost blizka cislu 1/N, kde N je pocet znku abecedy. Pro N=26 dostaneme hodnotu 0.038. Vezmeme zasifrovany text a posuneme ho vzdy o 1,2,3,... pismen vpravo. Pro takto posunuty a puvodni text spocitame podil znaku, ktere jsou v obou textech na stejnem miste. Pokud byl text posunut o nasobek periody klice, mel by byt tento podil blizky indexu koincidence daneho jazyka, v ostatnich pripadech bymel byt blizky podilu 1/N. Metoda pokusu ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Tato metoda slouzi spise pro potvrzeni hypotezy o spraanosti odhadnute delky klice. Pokud jsme (napriklad jednou z vyse uvedenych metod) si vytvorili hypotezu, ze delka klice je m, rozdelime text na m casti tak, ze beru vzdy kazde m-te pismeno. Kazda tato cast pak sice nedava smyslupny text, je ale zasifrovana monoalfabetickou sifrou a podil vyskytu jednotlivych pismen by mel byt podobny jako v celem textu. Spocitame index koincidence pro vsechny tyto casti. Hodnota by se mela blizit teoreticke hodnote indexu koincidence pro dany jazyk. Zjisteni klice ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Pokud je zprava zasifrovana klasuckou Vignerovskou sifrou (tedy posloupnosti konecne mnoha Cezarovskych sifer, lze pro zjisteni klice pouzit nasledujici postup: Nejprve se pokusim odhadnout delku klice m nekterou z predchazejicich metod. Pote zpavu rozdelim na m casti jako u metody pokusu. V kazde teto casti najdu posloupnost nekolika (rekneme 10ti) nejcasteji se vyskytujicich pismen. Lze predpokladat, ze 4 nejcasteji se vyskytujici pismena (samohlasky E,A,I,O) budou mit vzory mezi temito deseti pismeny. Odectenim techto 4 samohlasek od nejcasteji se vyskytujicich 10ti pismen dostanu 4 desetice potencionalnich klicu. Pokud se nejake pismeno vyskytuje mezi vsemi 4mi deseticemi, bude to z nejvetsi pravdepodobnosti prvni pismeno klice. Podobny postup pouziji i pro dalsich m-1 casti textu. Nektere znaky klice lze tez odvodit uvahou --- klic bude pravdepodobne smysluplne ceske slovo. Priklad (podle knihy S.Porubsky Sifrovanie) Zdrojovy text: Jednou z fundamentalnych uloh kryptoanalytika po obdrzani zasifrovaneho textu je rozhodnut, aky typ sifry bol pouzity. Jedno z dolezitych uvodnych rozhodnuti je posudenie ci bola pouzita monoalfabeticka alebo polyalfabeticka kryptograficka transformacia. V predchazajucej casti sme sa venovali monoalfabetickym sifram byl zasifrovan {Vignerovskou:ZakladSifry} sifrou pomoci hesla KNIHA. Zasifrovany text: trluo emnbn nnuln dntuy musco rxzfp dbiua vlbpk kcwvb nehhn smizi pewca xrpvt okbbj oewgh yqvbt kxgay zfqmr iowsp yhhpt iwmkn ymlvl omqay mucco nagjh bbhoo nacai trxvs eqmui opqio vnxvu jvbhm yawhl pnjlt spsha vrjvp yyghl pnjlt spshk blxao qeimi mxiar ka amo bziji kixye npphd jnrbc owkhs dvate cndln yiisi wbvva vsiie dvkry wfqmr kz. Pomoci Kasiskeho testu najdeme tyto opakujici se skupiny pismen: ÚÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ pismena ³ delka ³1. vyskyt³ vzdalenost ³ ³ hlpnjltspsh³ 11 ³ 163 ³ 20 ³ ³ ymuc ³ 4 ³ 19 ³ 95 ³ ³ fqmr ³ 4 ³ 87 ³ 185 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Nejvetsi spolecny delitel uvedenych vzdalenosti je 5, mame tedy hypotezu, ze delka klice je 5. Metoda koincidence nam da nasledujici hodnoty: posun 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 podil vyskytu stejnych pismen 0.022 0.071 0.064 0.089 0.039 0.056 0.049 0.037 0.047 0.035 0.045 0.064 0.056 0.058 0.049 0.056 0.057 0.064 0.071 Tyto hodnoty jsou viditelne vyssi, nez je podil 1/N=0.03846 a blizi se indexu koincidence slovenstiny 0.06027. Hypoteza o delce klice 5 je tedy podruhe potvrzena. Po rozdeleni textu na 5 casti dostanu nasledujici indexy koincidence: 0.054 0.051 0.049 0.062 0.050. Tato cisla se sice uplne neblizi indexu koincidence slovenstiny, jsou ale vyrazne vyssi nez index koincidence nahodne generovaneho jazyka. V prvni casti zasifrovaneho textu najdu 10 nejcastejsich znaku. Jsou to znaky yknodvbmps . Po odecteni samohlasek E,A,I,O dostanu nasledujici desetice ugjkzrxilo, yknodvbmps, qcfgvntehk, kwzaphnybe . Spolecnym znakem v techto 4 deseticich je pismeno K. Muzeme tedy vytvorit hypotezu, ze prvnim znakem klice je K. Podobne zjistime v druhe casti spolecne pismeno N a v pate casti spolecne pismeno A. V treti a ctvrte casti zadne spolecne pismeno pro vsechny 4 desetice neexistuje, pismena I,C,T, resp. H,M se vsak vyskytuji ve 3 deseticich. Heslo tedy pravdepodobne zni KN(ICT)(HM)A. Jelikoz heslo je pravdepodobne tvoreno srozumitelnym slovenskym slovem, bude znit KNIHA. Desifrovanim textu potvrdime spravnost teto teorie. zpet Prehled temat z {kodovani a sifrovani:KaS} .topic Kodovani ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Zaklady teorie kodovani º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Uzivatelska definice kodu Kodovanim zpravy rozumime jeji zmenu, ktera obvykle zpravu prodlouzi a zajisti jeji prenos bezpecnejsim zpusobem (oproti naruseni vnejsimi vlivy - sum atp.). Obecne schema prenosu zpravy zdroj zpravy -> kodovani -> vysilac -> sum -> prijimac -> dekodovani -> prijemce zpravy. Algerbraicka definice kodu Pro jednoduchost budeme uvazovat kody nad dvouprvkovou abecedou 0,1. Podobne definice a uvahy se daji provadet pro libovolnou abecedu, nad jejimiz prvky lze definovat operace nasobeni a scitani tak, aby vysledna struktura tvorila teleso. Netrivialni algerbaicky vysledek rika, ze takova abeceda musi mit p^n prvku, kde p je prvocislo. Blokovy kod Blokovym kodem stupne n nazveme libovolnou mnozinu n-tic prvku vstupni abecedy 0,1. Linearni kod Linearnim (n,k)-kodem nazveme linearni podprostor K dimenze k prostoru (0,1)^n. Prvky tohoto prostoru chapeme jako "povolena" kodova slova (je jich 2^k). Kazde toto slovo je posloupnost n nul a jednicek. Ukolem dekoderu je pro libovolny prvek prostoru (0,1)^n predstavujici zasumene prijate slovo najit nejblizsi prvek kodoveho podprostoru K. Prenosovy pomer je pomer delky nezakodovane zpravy a zpravy zakodovane. U linearnich (n-k)-kodu je na zakodovani informace delky k potreba vyslat posloupnost n znaku a prenosovy pomer kodu je tedy k/n. Vaha kodu Vaha slova je pocet jeho nenulovych slozek. Vaha kodu je minimalni vaha jeho nenulovych slov. Hammingova vzdalenost Hammingovou vzdalenosti dvou slov u a v rozumime vahu slova u-v, tedy pocet mist, na kterych se slova u a v lisi. Hammingova vzdalenost splnuje axiomy metriky. Uloha dekodovani zni nalezt pro dane slovo u z (0,1)^n prvek v z kodoveho podprostoru K, ktery ma od u nejmensi Hammingovu vzdalenost. Pokud je takovy prvek urcen jednoznacne, rikame, ze chyba vznikla pri prenosu je opravitelna. Opravovani chyb Rikame, ze linearni kod je schopen opravovat t chyb, pokud pro kazdy prvek prostoru u (0,1)^n, ktery ma od nejakeho kodoveho slova v kodu K Hammingovu vzdalenost mensi nebo rovnu t, neexistuje jine kodove slovo v' z K, ktere by od u melo Hammingovu vzdalenost tez mensi nebo rovnu t. Jinymi slovy, dekodovani slov, u kterych doslo pri prenosu k maximalne t chybam je jednoznacne. Plati, ze pokud je d vaha kodu K a t<2d, pak kod K je schopen opravovat alespon t chyb. Generujici matice Necht K je (n,k)-linearni kod. u1, u2, ..., uk je libovolna baze tohoto kodu. Pak matice A velikosti n krat k, kde jsou v jednotlivych radcich pod sebou napsany vektory u1,u2, ..., un se nazyvy generujici matice kodu. Proverkova matice Necht K je (n,k)-linearni kod. Matice B velikosti (n-k,n) takova, ze jeji radky jsou linearne nezavisle a ze pro kazde kodove slovo v z K plati Bv=0 se nazyva proverkova matice kodu K. Syndrom Necht K je (n,k)-linearni kod, B jeho proverkova matice a u libovolne slovo z (0,1)^n. Slovo B.u (jeho delka je n-k) se nazyva syndrom slova u pro kod K. Slova s nulovym syndromem jsou prave kodova slova kodu K. Dualni kod Necht K je (n,k)-linearni kod, A jeho generujici matice a B jeho proverkova matice. Kod K', ktery ma B za generujici matici a A za proverkovou matici se nazyva dualni kod ke kodu K. Jedna se skutecne o dualitu, dualni kod ke kodu K' je opet kod K. viz {Priklady nekolika kodu:PrikladyKodu} {Dekodovani} Prehled temat z {kodovani a sifrovani:KaS} .topic PrikladyKodu ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Priklady nekolika kodu º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Opakovaci binarni kod Opakovaci kod radu 3 ma obsahuje slova (0,0,0) a (1,1,1). Je to (3,1)-linearni kod. Jeho generujici matice je velikosti 3x1 1 1 1 proverkova matice je velikosti 3x2 1 0 1 1 1 0 Vaha kodu je 3, kod je schopen opravovat 1 chybu. Kapacita kodu je 1/3. Opakovaci kod radu 5 ma obsahuje slova (0,0,0,0,0) a (1,1,1,1,1). Je to (5,1)-linearni kod. Jeho generujici matice je velikosti 5x1 1 1 1 1 1 proverkova matice je velikosti 5x4. Vaha kodu je 5, kod je schopen opravovat 2 chyby. Kapacita kodu je 1/5. Dalsi priklad Priklad (6,3)-kodu. Generujici matice je 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 Proverkova matice je 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 Vaha kodu je 3, kod opravuje jednu chybu, prenosovy pomer je 1/2. Dualni kod ma stejne vlastnosti ((6,3)-kod, vaha 3, opravuje 1 chybu, prenosovy pomer 1/2). Hammingovy kody Hamminguv kd radu n je (2^n-1,2^n-n-1) kod, jehoz proverkova matice vznikne tak, ze se do sloupcu napisou nenulove vektory delky n. Takovych vektoru je 2^n-1, proverkova metice ma tedy n radku a 2^n-1 sloupcu. Generujici matice ma 2^n-1 sloupcu a 2^n-1-n radku. Hammingovy kody maji vahu 3 a opravuji 1 chybu (bez dukazu - plyne to z obecnych algebraickych vet). Jejich prenosovy pomer je rovna (2^n-1-n)/2^n-1 a se zvysujicim n se tedy zvysuje k 1. Timto zpusobem je tedy mozne sestrojit kod s libovolnym prenosovym pomerem (mensi nez 1), ktery opravuje 1 chybu. Ovsem za cenu velmi sloziteho kodovani a dekodovani pri vysokem n. Hamminguv kod radu 2 je opakovaci kod radu 3. Hamminguv kod radu 3 ma proverkovou matici velikosti 7x3 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 1 1 1 0 1 0 0 ³ ³ 1 1 0 1 0 1 0 ³ ³ 1 0 1 1 0 0 1 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Generujici matice je velikosti 7x4, napriklad ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 1 1 0 0 0 0 1 ³ ³ 1 0 1 0 0 1 0 ³ ³ 1 0 0 1 1 0 0 ³ ³ 0 1 1 1 0 0 0 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Je to (7,4)-kod, ktery ma vahu 3, opravuje 1 chybu a ma prenosovy pomer 4/7 viz {Dekodovani} Prehled temat z {kodovani a sifrovani:KaS} .topic Dekodovani ÉÍÍÍÍÍÍÍÍÍÍÍÍ» º Dekodovani º ÈÍÍÍÍÍÍÍÍÍÍÍͼ Nulovy algoritmus ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Nulovy algoritmus lze obecne pouzit pro jakykoliv linearni kod, u ktereho zname jeho proverkovou matici B. Predpokladejme, ze bylo prijato slovo u z (0,1)^n. Spocitame soucin Bu. Pokud je tento soucin roven 0, bylo u primo kodove slovo a muze hat beze zmeny. V opacnem pripade doslo pri prenosu k chybe a slovo bude nechano jako nedekodovatelne. Nulovy algoritmus pouze upozorni na (nektere) chyby pri prenosu, ale sam je neopravuje. Parita ³ ÄÄÄÄÄÄÄÙ Prikladem vyhodneho pouziti nuloveho algoritmu je paritni kodovani. Proverkova matice tohoto kodu ma rozmery n krat 1 a vypada nasledovne: 1 1 1 ... 1 Generujici matici muze byt napriklad nasledujici matice velikosti n krat n-1 1 0 0 ... 0 1 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 0 1 0 ... 0 1 ³ ³ 0 0 1 ... 0 1 ³ ³ ... ... ... ... ... ... ³ ³ 0 0 0 ... 1 1 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Kodova slova jsou prave ta slova delky n, ktera obsahuji sudy pocet jednicek. Paritni kodovani ma tedy vahu 2 a neopravuje zadnou chybu. Pomoci nuloveho algoritmu vsak muze na nektere chyby vznikle pri prenosu upozornit. Prenosovy pomer paritniho kodovani je n-1/n. V praxi se paritni kodovani snadno realizuje pridanim 1 bitu ke zprave dlouhe n-1 bitu. Tento bit je roven 0 v pripade, ze zprava obsahovala sudy pocet jednicek, v opacnem pripade je roven 1. Dekodovani pomoci syndromu Takzvany vycerpavajici algoritmus funguje nasledovne: Predpokladam, ze znam proverkovou matici B kodu K. Dale mame sestavenou tabulku, ktera pro kazdemu syndrom s prirazuje slovo e z (0,1)^n s minimalni vahou (takove slovo neni bohuzel obecne jednoznacne urceno). Pro prijate slovo u z (0,1)^n spocitame jeho syndrom s = Bu. V tabulce najdeme odpovidajici slovo e k syndromu s a slovo dekodujeme jako u-e. u-e musi byt skutecne kodove slovo, nebot jeho syndrom je B(u-e)=Bu-Be=s-s=0. Jelikoz e ma je jedno ze slov se syndromem s minimalni vahu, musi byt u-e mezi kodovymi slovy jedno ze slov s nejmensi Hammingovou vzdalenosti od u. Vektor e lze chapat jako vektor chyb, ke kterym doslo priprenosu. Pokud kod K opravuje t chyb, budou slova e a u-e urcena jednoznacne, vaha slova e bude maximalne t a Hammingova vzdalenost slov u a u-e bude maximalne t. Nevyhodou vycerpavajiciho algoritmu je jeho exponencielne narustajici slozitost pro vzrustajici delku kodu n. Pro linearni (n-k) kod totiz existuje 2^(n-k) ruznych syndromu, ktere je potreba mit ulozene v tabulce a tuto tabulku pote prohledavat. Priklad na pouziti vycerpavajiciho algoritmu Pouzijeme kod z tohoto prikladu . (6-3)-kod obsahuje 2^3=* kodovych slov a to sice 000000, 100111, 010101, 001011, 110010, 101100, 011110, 111001. Proverkova matice B ma rozmery 6 krat 3 a syndromy slov z (0,1)^6 budou tedy vektory delky 3. Takovych vektoru existuje 8: 000, 001, 010, 011, 100, 101, 110, 111. Vzdy 8 slov z (0,1)^6 ma stejny syndrom. Kod rozpoznava 1 chybu a tudiz mezi temito skupinami vzdy existuje jednoznacne urcene slovo s minimalni vahou. V nasledujici tabulce jsou uvedeny syndromy s, slovo u s minimalni vahou, pro ktere Bu=s a ostatnich 7 slov, pro ktere Bu=s. V prvnim radku jsou slova se syndromem 0, tedy kodova slova. 000 000 000 100111 010101 001011 110010 101100 011110 111001 001 000100 100011 010001 001111 110110 101000 011010 111101 010 000010 100101 010111 001001 110000 101110 011100 111011 011 011000 111111 001101 010011 101010 110100 000110 100001 100 000001 100110 010100 001010 110011 101101 011111 111000 101 010000 110111 000101 011011 100010 111100 001110 101001 110 001000 101111 011101 000011 111010 100100 010110 110001 111 100000 000111 110101 101011 010010 001100 111110 011001 Prijmeme napriklad slovo u=010111. Jeho syndrom Bu=010. V tabulce najdeme odpovidajici chybove slovo e=000010 a urcime puvodne vyslane kodove slovo jako u-e=010111-000010=010101. Z tabulky vidime, ze v nekterych vyjimecnych pripadech je nas kod schopen opravit i dve chyby (pokud syndrom prijateho slova je 011). Dekodovani Hammingovych kodu Predpokladejme, ze proverkova matice Hammingova kodu byla sestavena tak, aby sloupce byly zapisy binarnich cisel pocinaje 1 a konce 2^(n-1) v inverznim tvaru. Takto vypada napriklad proverkova matice Hammingova kodu radu 3 z predchoziho prikladu. 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 Doslo-li potom pri prenosu k jedne chybe na i-tem miste, bude syndrom prijateho slova roven i-temu sloupci proverkove matice Hammingova kodu. Teto skutecnosti muzeme vyuzit k rychlemu a efektivnimu dekodovani Hammingovych kodu. Pro prijate slovo u spocitame jeho syndrom s=Bu. Najdeme v proverkove matici i-ty sloupec, odpovidajici tomuto syndromu. Chybove slovo e pak bude mit na i-tem miste 1 a na ostatnich mistech 0. Priklad pro vyse uvedeny Hamminguv kod radu 3. Prijato bylo slovo 1101101. Syndrom tohoto slova je 101. 101 je 5.sloupec proverkove matice B. K chybe pri prenosu tedy doslo na 5.miste slova, chybove slovo e=0000100 a vyslane kodove slovo bylo 1101101-000 0100=1101001. Cyklicke a BCH kody Kod K se nazyva cyklicky, pokud s kazdym svym slovem u1u2u3...un obsahuje i jeho cyklicky posuv u2u3...unu1 (a tedy i vsechny ostatni cyklicke posuvy). Cyklicke kody maji urcite pekne vlastnosti, ktere umoznuji jejich dekodovani postupy podobnymi jako u dekodovani Hammingovych kodu. BCH kody jsou urcitym konkretnim prikladem cyklickych kodu, ktere se daji snadno sestrojit na zaklade teoretickych algebraickych znalosti o rozkladech polynomu. BCH kody maji limitne prenosovy pomer 1 (stejne jako Hammingovy kody) a mohou opravovat libovolne predem dane mnozstvi chyb. viz {Kodovani} Prehled temat z {kodovani a sifrovani:KaS} .topic PraceP Prace s programem KRYPTIK Ü ßßßßßßßßßßßßßßßßßßßßßßßßßß Vetsina polozek menu je zpristupnena az po otevreni, nebo vytvoreni souboru. Soubor slouzi jako zdroj dat (zdrojovy text), se kterymi se pracuje. Program umi sifrovat a rozsifrovat texty za pouziti dvou zakladnich metod sifrovani: {Afinni sifra:Afinni} {Vignerovska sifra:Vigner} (prislusne funkce lze nalezt v menu {Sifry}) Je zrejme, ze se jedna o jednoduche metody nevyhovujici pozadavkum dnesni kryptografie. Musime vsak pripomenout, ze tento program byl vytvoren pro studijni ucely a ne pro prakticke pouziti k utajeni dat. Pro kryptografickou analyzu textu zasifrovanych vyse zminenymi metodami slouzi menu {Analyza}. Jednotlive metody prinaseji prostredky k rozsifrovani textu, u ktereho nezname sifrovaci klic (heslo), ale predpokladame, ze byly zasifrovany bud Afinni nebo Vignerovskou sifrou. Metody lze rozdelit: Obecne metody: þ {Index koencidence:Koincid} Metody souvisejici s afinni sifrou þ {Separace Samohlasek:SepSam} Metody souvisejici s vignerovskou sifrou þ {Klic-Kasiskeho metoda:Kasisky} þ {Klic-Metoda koincidence:MetKoincid} þ {Separace Skupin:Sepskup} Nektere vlastnosti lze nastavit v menu {Nastaveni} polozka {Obecne Nastaveni:NNastav}