Jedno pismeno abecedy nahrazuje jeden znak kodu (substituce).
1. Morzeovka International Morse code 1844 A ·- I ·· Q --·- 1 ·---- ···/---/··· S-O-S B -··· J ·--- R ·-· 2 ··--- (signal nouze, volani o pomoc, zachrante mne) C -·-· K -·- S ··· 3 ···-- D -·· L ·-·· T - 4 ····- CH ---- (nebo pouzijte C+H) E · M -- U ··- 5 ····· F ··-· N -· V ···- 6 -···· G --· O --- W ·--- 7 --··· H ···· P ·--· X -··- 8 ---·· Y -·-- 9 ----· Z --·· 0 ----- -- --- ·-· ··· · -·-· --- -·· · M O R S E C O D E Zpusoby nauceni https://cs.wikipedia.org/wiki/Morseova_abeceda https://en.wikipedia.org/wiki/Morse_code_mnemonics Pomoci slov s dlouhymi a kratkymi slabikami zacinajici pismenem pro kod. Pomoci obrazkove tabulky. Pomoci cetnosti znaku (asi starsi nebo mezinarodni rozdeleni) T- M- O- Ch- Ö· G· Q- Z· N· K- Y- C· C = -(T)·(N)-(K)·(C) = -·-· D· X- B· B = -(T)·(N)·(D)·(B) = -··· E· A- W- J- A = ·(E)-(A) = ·- P· R· Ä- L· I· U- Ü- F· S· V- H·
2. Brailovo pismo pro nevidome
3. Prstova abeceda
4. Semaforova signalizace praporky / baterkami
5. Namorni signalizace praporky (International marine signal flags)
6. Panackova abecedu ze Sherlocka Holmese
7. Zamena pismen ABCDEFGHIJKLMNOPQRSTUVWXYZ IPEBTLXRDKVZFAQMWHOCJSGYUN AHOJ = IRQD 8. Posun pismen +2 (Julius Caesar code) ABCDEFGHIJKLMNOPQRSTUVWXYZ (26) yzABCDEFGHIJKLMNOPQRSTUVWXYZ AHOJ = YFMH 9. Posun pismen +-5 (tabulka s posuvnym prouzkem a otvory) +---------------------+ | ABC..._______ _ | | | | | | | | t vuyzabcdefghchijklmnop | | |_____________| | | | | 5 432101234505 432101234 | | | | | + | | | LMN..._______ | | | | | | | | | | | | hchijklmnoprst vuyzabcde | | |_____________| |_| | | 5 432101234505 432101234 | +---------------------+ ABCDE..... _ |uyzabc...| |.| | | |3| klic = -3 LMNOP..... |.| |ijklmn...| |.| | | |_| MONOPOL (-3) = jlklmli Otvory navic na mrizce nebo cisla a pismena navic na karticce slouzi ke zmateni nepritele. Je dobre drzet obe casti zvlast, aby samostatne nedavali smysl. Take to muzete resit jako rotujici kruhy. A pripadne otocit po kazdem pismenu o cislo v tabulce (podobne pracuje Enigma). 10. Zamena pismene za cisla a zlomky 1 2 3 4 5 12345 123 45 12345 12345 12345 ABCDE FGHchI JKLMN OPRST UVWYZ (25 znaku, bez QX, navic Ch) AHOJ = 1/1 2/3 4/1 3/1 1 2 3 4 5 6 7 ABCD EFGH IJKL MNOP QRST UVWX YZ AHOJ = 1/1 2/4 4/3 3/2 1/1/2/4/4/3/3/2 = ·/./-·/--·-/·---/-··/---/-· Primo se nabizi prepsat to na morse kod s nahodnym stridanim tecek a carek o stejnem poctu. Polybiuv ctverec Bez Qx Bez Q I/J jako jedno pismeno (wiki) 1 2345 12345 12345 1A FJOU 1ABCDE 1ABCDE 2B GKPV 2FGHIJ 2FGHIK (I/J) 3C HLRW 3KLMNO 3LMNOP 4DchMSY 4PRSTU 4QRSTU 5E INTZ 5VWXYZ 5VWXYZ AHOJ = 1/1 2/3 4/1 3/1 (zlomky) AHOJ = 11 23 41 31 (xy, Polybiuv ctverec, prvni tabulka, bez QX s Ch, pismena ve sloupcich) 11. Mrizka s teckami Poloha tecky udava pozici v bunce, tvar okraje udava polohu bunky. ABC|DEF|GHch +--- ---+ ---+---+---- AHOJ = . | | . |. . | IJK|LMN|OPQ ---+ +--- +--- ---+ ---+---+---- RST|UVW|XYZ A H O J (bez Ch) Dvojity (bez QW) ABC|DEF|GHI AB|CD||EF|GH ___ ___ ---+---+--- --+--++--+-- . || || . ||. .|| JKL|MNO|PQR IJ|KL||MN|OP ___|| ||___ ||___ ___|| ---+---+--- --+--++--+-- STU|VWX|YZ RS|TU||VX|YZ A H O J Pocet tecek udava tabulku, tvar okraje pak polohu bunky. A|B|C I|J|K R|S|T ___ ___ -+-+-- -+-+- -+-+- | | | .| |. | D|E|F L|M|N U|V|W ___| | | | |___| -+-+-- -+-+- -+-+- G|H|Ch O|P|Q X|Y|Z A H O J Deleny kriz (Freemason code) / +-- +-- A|B|C J.|K.|L. \S / \W./ < | | | |. |. /.\ -+-+- --+--+-- V\/T Z\/X \ --+ +--+ +-- D|E|F M.|N.|O. /\ ./\. -+-+- --+--+-- /U \ /Y.\ T A B O R Y G|H|I P.|Q.|R.Top
Jedno pismeno abecedy nahrazuje pokazde jiny znak kodu (podle pravidel algoritmu).
1. Posun podle pozice predchoziho pismene zpravy / kodu ABCDEFGHI JKLMNOPQR STUVWXYZ 123456789 123456789 12345678 (0) (0) A+0 = A (A=1) A+0 = A (A=1) H+1 = I (H=8) H+1 = I (I=9) O+8 = W (O=6) O+9 = X (X=6) J+6 = P J+6 = P AHOJ -> AIWP AHOJ -> AIXP Upravy: - jednou plus, podruhe minus - plus jednou podle predchoziho pismene, podruhe podle predchoziho kodu - plus pro kazdou samohlasku, minus pro kazdou souhlasku - +1 pro pismeno za samohlaskou, -1 za souhlaskou (predchoziho kodu, usnadni desifrovani) - plus pro suda cisla, minus pro licha 2. Posun podle poradi v textu (Vigener code) a) posunuti +1 b) nahodne posunuti s nahodnym poradim ABCDE... ABCDE ABCDE 1 ABCDE... 1 CEBDA 1 ....A 2 BCDEA... 2 BDAEC 2 ..A.. 3 CDEAB... 3 ECDAB 3 ...A. 4 DEABC... 4 ABDCE 4 A.... 5 EABCD... 5 DACBD 5 .A... 1234512 pos 1234512 ABECEDA inp ABECEDA ACBADDB out CDBEDDB pos(A) = 1 a)| b) code(line(pos(A)), pos(A)) = code(line(1), 1) = A | C pos(B) = 2 code(line(pos(B)), pos(B)) = code(line(2), 2) = C | D pos(E) = 3 code(line(pos(E)), pos(E)) = code(line(3), 3) = B | BTop
Zmena pozice pismen.
Ruzna premisteni a) Pozpatku AHOJ = JOHA AHOJ ADELKO = JOHA OKLEDA b) Prvni a posledni pismena AHOJ ADELKO A H O J A D E L K O AOAEK OLDJH c) Spojovani dvou radku S l a N a h o d o u U J e z i r k a K o l e m S k a l SilrakNaaKhooldeomuSUkJaelz Mame tyc / hranol stejneho prumeru. Omotame ji prouzkem papiru. Pak podel tyce napiseme zpravu. Pak to lze prouzek poslat ptaci postou. (Scytale code, Aulus Gellius, 500–400 prnl.). d) Listy e) Sloupce f) Had g) Zig-zag h) Spirala (Snek) __ __ ____ |O|A AO | /| AJ _ _ AH / / / JO | _ | |J|H HJ |/ | HO |_| |_| OJ / / / AH | |__| |/ / |____ Listy - zapiseme do sloupcu a rozstrihame papir na prouzky. Snek - zapiseme od stredu po spirale. Psani pozpatku vylepsi sifru. i) Sachove figurky - sachovy zapis polohy dalsiho pismene K král D dáma V věž S střelec J jezdec (P) pěšec | 1-8,a-h K king Q queen R rook B bishop N knight (P) pawn Kg7 h6 - kral na policko g-7, pesec na h6 j) Algoritmus Knight Tour pro vyplneni sachove plochy skakanim kone (pro plochu 8x8 existuje asi 2*10^16 reseni). Jine obrazky jednim tahem, treba hvezdy 3x3, pohyb kone, prvni pismeno ve stredu. Lze si pripravit tabulku pro premisteni. 147 147602385 - poradi pro premisteni pismen podle pohybu kone v poli 3x3 602 385 SlaNahodo uUJezirka kolem skal... 012345678 012345678... 147602385 147602385 ladoSaNoh Knight Tour obrazky
8x8 |
8x8 |
8x8 | ||
3x3, 3x3, 4x4 a 5x4 |
Osmismerky, krizovky Osmismerka - tvorba: vypiseme nahodila slova do ruznych smeru, ruzne se krizici. A na zbyla volna policka doplnime text zpravy. Obrys muze tvorit obrazek, jablko, smajlik. LROAJ LROAJ LROAJ \ROAJ \ROA| \RO|| \RO|| ŽIDLE ----- ----- ----- ----| ---|| |--|| ÍHŠOH ÍHŠOH ÍH/OH ÍH\OH ÍH\O| ÍH\|| |H\|| ŘYLKL ŘYLKL Ř/LKL Ř/L\L Ř/L\| Ř/L|| |/L|| MÍKŠA MÍKŠA /ÍKŠA /ÍKŠ\ /ÍKŠ| /ÍK|| |ÍK|| ROHLÍK ŽIDLE MYŠ LIŠKA JEHLA ŠKOLA MŘÍŽ Kazde treti pismenko je zprava ..A ..H..O. . J...... Sla nahodou u jezirka kolem skal... Upravy: - stridam vzdalenost 3 2 3 2... ..A.H..O.J...... SlaZHorO Jedenacte - stridam vzdalenost 333 222 333 222... ..A..H..O.J.T.O..J..S.E.M.x. SlaNahodouJitrocejemSlevMalo - stridam vzdalenost 333 22 4444 333 22 4444... Otocna mrizka (Fleissner) Pozn.: Cardanova mrizka - Obdelnik s nahodne vystrizenymi otvory ruzne delky pro cteni Tvorba 0123|C840 0.23|C.40 x.xx|x.xx 4567|D951 45.7|D9.1 xx.x|xx.x 89AB|EA62 89AB|EA62 xxxx|xxxx CDEF|FB73 C.EF|F.7. x.xx|x.x. ----+---- ----+---- ----+---- 37BF|FEDC 3.B.|F.DC x.x.|x.xx 26AE|BA98 .6.E|BA.8 .x.x|xx.x 159D|7654 159D|765. xxxx|xxx. 048C*3210 048.*321. xxx.*xxx. * urcuje natoceni sifrovaci mrizky 0-9A-F jsou policka. Policko 1 v prvnim ctverci vybarvim (pozdeji vystrihnu), v ostatnich ctvercich preskrtnu. Atd... Sifrovani 1. * je dole 2. +90 st 3. 4. xAxx|xHxx xxIx|xxxx .AI. .H.. xxOx|xxJx xxxL|OxxV ..OL O.JV xxxx|xxxx xxAx|xxNx ..A. ..N. xAxx|xDxE Axx.|xxxx AA.. .D.E ----+---- *---+---- xLxK|xOxx xxxx|xxxx .L.K .O.. MxOx|xxJx xxx.|.xx. M.O. ..J. xxxx|xxxE xxVx|xx.x .... ...E xxxM*xxxI ..xx|.xxx ...M ...I AHOJ ADELKO LOVANA MOJE MI 1. natocim mrizku * dolu, doplnim cast zpravy 2. otocim mrizku o +90 stupnu, doplnim dalsi cast zpravy 3. viz 2. 4. viz 2. 5. na volna mista doplnim nahodna pismena (pozor na neumyslnou zmenu stylu psani) (nebo natacim mrizku nahodile nebo ji preklopim podel hrany) Poradi pismen pomoci barev duhy Kazdy 7 pismen obarvime sedmi barvami duhy ve spravnem poradi a pak techto 7 pismen nahodne promichame. Pro dekodovani je treba kazdych 7 pismen seradit podle barvy duhy. Nebo to sestavime jako RLE kod, obrazek. AHOJ A1H2O3J4 - dopiseme poradi O3J4H2A1 - a) nahodne promichame a prepiseme na pismena xxx....xx. - b) cisla pixelujeme na cernou, bilou, plus binarni kod pismen OOOJJJJHHA - c) nebo jen opakovani pismen, ale to je prilis pruhledne O3J4H2A1 - nahodne promichame OCJDHBAA - cisla nahradime pismeny ABCD... (na konec je dobre dat nahodile lichy znak) - cisla nahradime zdanlive nahodnymi pismeny (promichane a prirazene pro 1,2,3) OEJCHDAA - nebo pro poradi samohlasky a souhlasky pro suda a licha (135 = aei, 246=bcd) O3J4H2A1 = OJHA 3421 = OJHA + -.-/----/.-/. d) morse kod, pocet znaku odpovida poradi O3J4H2A1 - e) prevedeme na morse kod a falesny morse kod, zachovame poradi Digitalni displej (7-segmentovy, 7-bitovy kod) _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| a) Digit znaky vyuzijeme jako smer kodovani. Sla Nahodou U Jezirka Kolem Skal... _ _ _ _ | | | _| _| |_| |_ |_| | |_ _| | _| S . o z . m 1 l a . o . u . i k o s . 2 3 213 . . u r l k 4 n a . d j . . k . e . a 5 6 546 h . e a . l 7 7 2135467 Tecky doplnim nahodnymi pismeny. b) Poradi pro premisteni pismen podle digitu Sla Nahodou U Jez... 2135467 2135467 lSaaNho odujUezTop
Pro kodovani je mozne pouzit i kompresni algoritmy nebo transformace.
Morzeovka jinak a) doplneni falesnym morse AE / . - / - = AE - puvodni zprava je kazdy treti znak .-/..../---/.--- = AHOJ - doplneno AHOJ b) velikost pismen/cisel - = AZ . = az .-/..../---/.--- = AHOJ JeNdA_sI_mezi_NAS_lEHA_vecER do poslete, protoze je maly. c) - = 123 . = 456 / = 789 .-/..../---/.--- = AHOJ 3 232 313 (pro tecky nahodne vyberu cisla z 1 2 3) 5 6565 4 (pro carky nahodne vyberu cisla z 4 5 6) 5396565823284313 (a ostani 7 8 9 jsou lomitka) d) - = 267 . = 139 / = 458 (nebo, abych to zkomplikoval, namicham to jinak) .-/..../---/.--- = AHOJ 3789391572253662 e) Morzeovka pomoci barev duhy na pismenech f) Pouziti hudebnich not jako morzeovku. g) Digitalni displej (7-segmentovy, 7-bitovy kod) _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| 7-bit kod muzeme zobrazit jako morse kod, lomitko davame nahodile po 1-5 bitech. h) Pismena na 5-bit kod a pak zapsat jako morse, lomitka davame nahodile po 1-5 bitech. Posun pomoci kodoveho klice ABCDEFGHI JKLMNOPQRS TUVWXYZ 1111111111 2222222 123456789 0123456789 0123456 (1-26) 123456789 1234567891 2345678 (1-9,1-9,1-9) - nebo to muzete ocislovat takto text = AHOJADELKO (klic+sifra) klic = AHOJ = +1 +8 +15 +10 text = AHOJADELKO klic = AHOJAHOJAHOJ kod = BPDTBLTVLW B = A + A P = H + H D = O + O T = J + J B = A + A L = D + H T = E + O V = L + J L = K + A W = O + H 3. BWT funkce (Burrows-Wheeler transformace) Je to transformace vyuzivajici serazovani znaku stabilnim serazovacim algoritmem. Viz kompresni algoritmy - BWT. ABCDEFG AG A2G2 i = serazeno podle A INP 1423422 12 1 2 1 rot+1 2142342 22 2 2 2 rot+2 2214234 24 2 4 3 rot+3 4221423 43 2 4 6 rot+4 3422142 32 3 2 5 rot+5 2342214 24 4 3 4 rot+6 4234221 41 4 1 7 (i G2 = A1[0]) INP = 1423422 A1 = AGFEDCB = 1 224324 G1 = GFEDCBA = 224324 1 (pozpatku INP) A2 = 1222344 (serazenim sloupce A1, G1 stabilnim serazovacim algoritmem podle hodnot v A1) G2 = 2244231 i = 7 (pozice prvniho cisla z A1 po serazeni ve sloupci G2) OUT = G2 + i = 2244231 + 7 Vysvetleni je slozitejsi. Jakymsi serazovacim zpusobem preusporadam znaky. K preusporadani zpet je treba inxexu (i). Pozn.: Pozor, BWT pracuje se serazovanim tak, ze je mozne kousicky zpravy precist. Neni primo urcene k sifrovani. Pridani falesneho bitu po 4 bitech Prevod na dvojkovou soustavu BIN A:00000 E:00100 I:01000 M:01100 Q:10000 U:10100 Y:11000 B:00001 F:00101 J:01001 N:01101 R:10001 V:10101 Z:11001 C:00010 G:00110 K:01010 O:01110 S:10010 W:10110 D:00011 H:00111 L:01011 P:01111 T:10011 X:10111 text(A) = AHOJ A (bin) = 00000 00111 01110 01001 5na4 = 0000 0001 1101 1100 1001 (spojim 5-bit a rozdelim po 4 bitech) B (bin) = 10000 10001 01101 01100 11001 (pridam falesny nahodny bit, abychom ziskali pismena) text(B) = QRNMZ Binarni kod rozdelim po 4 bitech. Doplnim nahodnymi bity na 5 bitu, abych to mohl prevest zpet na pismena. Cili, pri dekodovani odstranim kazdy paty bit. XOR funkce Funkce XOR pracuje s binarnim kodem, takze je nutne prevest pismena na binarni kod. A B | C C = A xor B (A = C xor B, B = C xor A) 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0 Prevod na dvojkovou soustavu BIN A:00000 E:00100 I:01000 M:01100 Q:10000 U:10100 Y:11000 2:11100 B:00001 F:00101 J:01001 N:01101 R:10001 V:10101 Z:11001 3:11101 C:00010 G:00110 K:01010 O:01110 S:10010 W:10110 0:11010 4:11110 D:00011 H:00111 L:01011 P:01111 T:10011 X:10111 1:11011 5:11111 Pouzijeme xor s predchozim bitem zpravy. text(A) = AHOJ A = 0 0000001110111001001 B = 0 00000001110111001001 (0 + A) C = 0 0000001001100101101 = C = A xor B text(B) = AEZN Prevod zpet text(A): AEZN A = 000000001001100101101 (C z predchoziho) B = 0 C = 0 = C = A xor B (B(n+1) = C[n]) A = 000000001001100101101 B = .0 . . C = .0 . . B = ..0 . . (posledni C byla 0) C = ..0 . . B = ...0 . . C = ...0 . . B = ....0 . . C = ....0 . . B = .....0 . . C = .....0 . . C = 000000 . . (0 + 'A') B = ......0. . C = ......0. . B = .......0 . C = .......0 . B = ........0 . (posledni C byla 0) C = ........1 . B = .........1 . (posledni C byla 1) C = .........1 . B = ..........1. (posledni C byla 1) C = ..........1. C = ......00111. ('H') B = ...........1 (posledni C byla 1) C = ...........0 B = ............0 (posledni C byla 0) C = ............1 B = .............1 C = .............1 B = ..............1 C = ..............1 B = ...............1 C = ...............0 C = ...........01110 ('0') B = ................0 C = ................0 B = .................0 C = .................1 B = ..................1 C = ..................0 B = ...................0 C = ...................0 B = ....................0 C = ....................1 C = ................01001 ('J') text(C): 0 + AHOJ (pri kodovani jsme do B pridali nulu) XOR + klic (mozna i nebo OR + klic) Funkce XOR A B | C C = A xor B (A = C xor B, B = C xor A) 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0 Prevod na dvojkovou soustavu BIN A:00000 E:00100 I:01000 M:01100 Q:10000 U:10100 Y:11000 2:11100 B:00001 F:00101 J:01001 N:01101 R:10001 V:10101 Z:11001 3:11101 C:00010 G:00110 K:01010 O:01110 S:10010 W:10110 0:11010 4:11110 D:00011 H:00111 L:01011 P:01111 T:10011 X:10111 1:11011 5:11111 text(A) = AHOJ klic(B) = EZEZ (klic = EZ, EZEZ...) A (bin) = 00000001110111001001 B (bin) = 00100110010010011001 C = 00100111100101010000 C = A xor B text(C) = E4KQ C[0] = A[0] xor B[0] = 0 xor 0 = 0 C[1] = A[1] xor B[1] = 0 xor 0 = 0 C[2] = A[2] xor B[2] = 0 xor 1 = 1 C[3] = A[3] xor B[3] = 0 xor 0 = 0 zpet text(C) = E4KQ C (bin) = 00100111100101010000 B (bin) = 00100110010010011001 (klic = EZ, EZEZ...) A = 00000001110111001001 A = C xor B A[0] = C[0] xor B[0] = 0 xor 0 = 0 A[1] = C[1] xor B[1] = 0 xor 0 = 0 A[2] = C[2] xor B[2] = 1 xor 1 = 0 A[3] = C[3] xor B[3] = 0 xor 0 = 0 Sifrovani s promennym klicem 11.04.1998 05:00 klic = 110419980500 11.04.1998 06:00 klic = 110419980600 11.04.1998 07:00 klic = 110419980700 if date=12.1.2010 then klic = Pravoslav (svatek 12.1.) = 9 (9 pismen ve slove Pravoslav) Pozn.: Pozor, jmena u svatku v kalendari se obcas meni, prizpusobuji! if time=5:00 then klic = 1 if time=6:00 then klic = 4 if time=5:00 then algoritmus = 1 if time=6:00 then algoritmus = 4 if zprava=prvni then klic = 4 poradi zpravy jako klic if zprava=druha then klic = 9 Symetricke sifrovani DES, 3DES, AES, RC4 (viz Wiki) Pouziva k sifrovani a desifrovani jediny klic. Nevyhodou je, ze pri zcizeni nebo rozlusteni klice, muzete sifrovat i desifrovat jako odesilatel i prijemce. Vyhodou je, ze sifrovani a desifrovani je rychle. AES (Rijmen-Daemen, Advanced Encryption Standard) (viz wiki) Asymetricke sifrovani Pro sifrovani a desifrovani se pouzivaji rozdilne klice. Princip: (viz Wiki) A mod B = C 5 mod 3 = 2 (5/3 = 1 + 2/3) D mod B = C 2 mod 3 = 2 (2/3 = 0 + 2/3) Dvema ruznymi klici A a D s pomoci klice B dostanu jeden klic C. Klic A a B mam ja. Klic D a B dam druhe strane. Tvorba klicu: C = 17 => z cisla 17 mame primitivni koren 3, generator g = 3 g^x mod p 3^15 mod 17 = 6 (A1 = 15, A2 = 6) 3^13 mod 17 = 12 (B1 = 13, B2 = 12) C = spolecny klic, zvolene prvocislo A1 = klic odesilatele pro sifrovani, zvolene prvocislo A2 = klic odesilatele pro prijemci B1 = klic prijemce pro sifrovani, zvolene prvocislo B2 = klic prijmce pro odesilatele mod = operade celociselneho deleni Sifrovani: - Odesilatel vygeneruje A1, A2, C. A2 odesle prijemci, C zverejni. - Prijemce si vyhleda C klic odesilatele a vytvori si vlastni B1, B2, C. B2 odesle odesilateli. - Odesilatel zasifruje zpravu pres A1, B2 a C (B2^A1 mod C = 12^15 mod 17 = 10) - Prijemce desifruje zpravu pres A2, B2 a C. - Prijemce zasifruje zpravu pres B1, A2 a C.(A2^B1 mod C = 12^15 mod 17 = 10) - Odesilatel desifruje zpravu pres B2, A2 a C. Asymetricke sifrovani RSA (Rivest-Shamir-Adleman) (viz wiki) Tvorba klicu: - Zvolí dvě různá velká náhodná prvočísla p a q. - Spočítá jejich součin n = p * q. - Spočítá hodnotu Eulerovy funkce phi(n) = (p − 1) * (q − 1). - Zvolí celé číslo 'e' menší než phi(n), které je s phi(n) nesoudělné. - Nalezne číslo 'd' tak, aby platilo de ≡ 1 (mod phi(n)), kde symbol ≡ značí kongruenci zbytkových tříd. - Pokud je 'e' prvočíslo tak d = (1+r*phi(n))/e, kde r = [(e-1)*phi(n)^(e-2)] Veřejným klíčem je dvojice (n, e), přičemž n se označuje jako modul, e jako (šifrovací, příp. 'veřejný') exponent. Soukromým klíčem je dvojice (n, d), kde d se označuje jako dešifrovací či soukromý. (V praxi se klíče uchovávají v mírně upravené formě, která umožňuje rychlejší zpracování.) Sifrovani: Zprava se prevede na dohodnutym postupem na cislo m (m<n). c = m^e mod n Desifrovani: m = c^d mod n Ze to funguje, vyplyva z matematickych postupu pouzitych pro generovani klicu. Asymetricke sifrovani pomoci XOR Funkce XOR abc|d d = a xor b xor c 000|0 c = d xor a xor b 001|1 b = c xor d xor a 010|1 a = b xor c xor d 011|0 100|1 101|0 110|0 111|1 0 xor 0 xor 1 = 1 A1 xor B2 xor C = D 1 xor 1 xor 1 = 1 B1 xor A2 xor C = D Dvema ruzmyni klici a jednim spolecny vygeneruji jeden klic. Lze to upravit tak, aby se heslo prevedlo na kod vhodny pro xor a rovnici zkomlikovat o dalsi vstupy.Top
Jak zabranit rozlusteni?
Rada: Pokud vam nekdo rika, ze je neco bezpecne a neproniknutelne, je jen otazkou casu, kdy mu bude chtit nekdo dokazat opak a nebo tam sam dokaze proniknout.
Šest Kerckhoffsových speciálních požadavků na polní šifry:
Zpusoby rozlusteni
Pomucky pro lusteni pro sifrovaci hry
Rady pro lusteni (sifrovaci hra Tmou, 12. rocnik) (sifry, ktere ucastnici hry maji rozlustit) 1. První nápady a nejjednodušší postupy bývají často ty správné. 2. Odhad typu sifry. Smysluplný text - steganografii, popis cesty nebo grafiky. Nesmyslný text - frekvenční analýza, substituce nebo transpozici. Heslo 3. Zkus použít jako klíč/heslo název hry, název stanoviště, nápovědy z předchozího průběhu hry. 4. Proveď permutační vyčíslení klíče. Tj. přiřazení pořadí písmenům v klíči podle pořadí výskytu v abecedě. Může se to dále hodit při pokusech o transpozici. Základní počty 5. 26 prvku - abeceda (* mohlo by jit o abecedu). 6. 3 typy znaků - morseovka, římské číslice (I,V,X). 7. 2 typy znaků ve skupinách po nejvýše 5 znacích - binární soustava (pismenka jako 5-bit kod). 8. 2 typy znaků a rozmisteni do 2x3 pozic (rastr) - Braillovo písmo. 9. dělení na 3(4) výrazné části? vyskytují se 3(4) čísla? ve tvaru 3 prvky - oddělovač - 1 prvek? - kóta (pozn: asi mysleno zeměpisná šířka/délka, DD°MM’SS.s’’, gps 49.210N, 16.618E). 13. 12 nebo 24? - hodiny, ciferník hodin. 10. 12, 28, 31 prvků? - kalendář, měsíce, dny. 12. 7, 52 - kalendář, dny, týdny. 11. velikost 8x8, písmenka a-h a čísla 1-8 - Šachy. 14. 4(8) prvku? - navigace nahoru, dolů, vlevo, vpravo, (S, SZ, SV, J, JZ, JV, V, Z) ve 2D a čtení/vykreslování v nějakém rastru. 15. 27? - 3D kostka o rozměrech 3x3x3. 15. 6 - hraci kostka. 16. 6 - navigace nahoru, dolů, vlevo, vpravo, Vpřed, Vzad ve 3D. 5 - 5 linek, 7 not 4, 8, 32 - 4 barvy, 8 karet, 32 karet celkem Substituce 17. 26 různých prvků? Zkus frekvenční analýzu a substituci. 18. znaky abecedy, ale s divnými frekvencemi výskytu? substituce: - monoalfabetická šifra (Caesar) - homofonní substituce - nahrazení jednoho znaku více různými znaky - polyalfabetická šifra (Vigenére) - polygramová substituční šifra (Playfair) - digrafická susbstituce (Polybiův čtverec) 19. Zkus posun hrubou silou - všechny varianty. 20. Zkus posunout text podle nějakých zajímavých čísel vyskytujících se v zadání. 21. Čísla převeď na písmena, písmena převeď na čísla. 22. Dvojice znaků/čísel? - desítková, šestnáctková čísla, ASCII kód - intervaly s písmeny: velká - 65 - 90/41 - 5A, malá - 97 - 122/61 - 7A 23. nepísmené znaky? - leetspeak kód 1337 - zobrazeni pismen pomoci znaku, 4 = A, |) = D, 6 = G 24. zlomky s malými čísly v čitateli i jmenovateli? - zlomkova sifra, rozdělení abecedy na skupiny pismen, číslo skupiny / pořadí písmene. 25. Zkus použít klávesnici mobilu/počítače/T9 - využití znaků z klávesnice k jednoduché substituci (čísla na písmena, počet stisknutí na písmena...), nebo ke grafickému vykreslování znaků do rastru tvořeného klávesnicí. 26. Zkus vypsat vytipované heslo nad zašifrovaný text a provést následující algoritmus pro dešifrování polyalfabetických systémů: - převeď písmena na čísla 0..25 - vyzkoušej pro každou dvojici heslo-šifrový text následující operace: -- systém šifrování dešifrování -- Vigenére O + K = Š Š - K = O -- Varianta Beaufort O - K = Š Š + K = O -- Beaufort K - O = Š K - Š = O - if (a+b > 25) then - return (a+b - 25) - else return (a+b) - if (a-b < 0) then return (a-b + 25) - else return (a-b) - vrácené číslo převeď na písmeno 27. Vyskytují se v textu opakovaně dvojice (5-6) písmen? Mohlo by se jednat o využití převodové tabulky s abecedou, kde by tato písmena tvořila souřadnice. (ADFGX, ADFGVX, MOTUX) Transpozice 28. Zkus si zadání pořádně sepsat - symetricky/pod sebe/vedle sebe a systematicky projdi jednotlivé sloupce, řádky a úhlopříčky, zda neobsahují další část šifry nebo řešení. 29. Zkus přečíst části zadání pozpátku, zepředu/zezadu. 30. Nebyl text rozdělen na poloviny/třetiny/čtvrtiny a potom nějakým způsobem prolnut/promíchán? 31. Není text zašifrován podle plotu - lichá a sudá písmena na samostatných řádcích a řádky spojeny do jednoho? 32. Zkus využít tabulku/obrazec/jiny rastr ve kterém by byl zapsán otevřený text? Šifrový text by byl vypsán po řádcích/sloupcích, případně složitějším způsobem - spirálou, cik-cak... 33. Nemohla by to být transpozice podle klíče? Můžeme zkusit provést následující algoritmus: - if máme kandidáta na klíč then provedem permutační vyčíslení a dešifrování textu - else - repeat - určíme možné rozměry tabulky podle délky textu a možných dělitelů - zkontrolujeme správnost tabulky - if poměr samohlásky : souhlásky = 40 : 60 - then rozstříháme sloupce a permutujeme s cílem nalézt vhodné bigramy a rozumné střídání souhlásek a samohlásek ve všech řádcích najednou 34. mřížka nebo otočná mřížka (Fleissner)? Ctveres s otvory pro cteni, moznost otacet. 35. Nemohla by to být transpozice podle Roche? Máme k dispozici heslo. Určíme permutační vyčíslení. Vyznačíme posloupnost bloků příslušné délky. Do bloků vypíšeme zašifrovaný text. Z bloků postupně čteme otevřený text - vždy první písmeno, po přečtení odmažeme. Steganografie 36. Zkus přečíst první/poslední/prostřední/sudá/lichá/x-tá... písmena/slova/věty z y-tých slov/vět/odstavců. 37. Zkus odpočítat písmena/slova v textu podle zajímavých čísel vyskytujících se v zadání. 38. Zkus v textu najít zajímavá písmena/znaky a číst písmena za nimi následující. Zajímavá jsou např. písmena kompletní abecedy, jinde získaného hesla, známé fráze, názvu hry, písmena nehodící se do okolního textu (méně frekventovaná fxwq, s diakritikou...). 39. Není součástí zadání mřížka s otvory? Nezískal jsi ji někde dříve? Případně nemáš k dispozici vhodný text (pravidla hry, text zadání, text hymny...), kam mřížku přiložit? Mohla by to být Cardanova mřížka. 40. Děti, zazpíváme si! Kdo neumí, může recitovat... Nedá se v tom rozpoznat text známých písniček, básniček, hymny? A nějak se v textu dál navigovat, nebo vybírat písmena? 41. Když už nepomáhá nic, pomodli se ke správnýmu bohům (využití textu modliteb, náboženských textů - Bible apod. k výběru písmen řešení) Grafika 42. Zkus metodu kouknu a vidím. 43. Nemohou být něco v zadání vyjádřené souřadnice nebo rastr? 44. Nedá se v zadání něco pospojovat? Posloupnost čísel, písmen, stejné prvky, doplnění nějakých logických řad... 45. Zkus si to prohlédnout proti světlu/prosvítit baterkou. 46. Zkus se na to podívat z jiného úhlu, případně zašilhat/zamhouřit oči. Mohl by to být stereogram, znetvořené písmo, řeky v textu, méně nápadné prvky vykreslující grafiku... 47. Zkus převést znaky na morseovku - mohla by z toho vylézt grafika z teček, čárek a oddělovačů. 48. Nedá se to rozložit na víc vrstev nad sebou, tj. Do 3D? 49. Zkus to zobrazit na nějakém vhodném displeji/matrici/v digitálních číslech. 50. Není to schéma/obrázek/fotka zajímavého místa/dalšího stanoviště? Není to plánek, nebo zjednodušená/zdeformovaná/zesložitěná mapa? 51. Není to graf? (Nedá se v něm nalézt nejkratší cesta, nejlépe ohodnocená cesta, kořen, cesta mezi stejně/vzestupně/sestupně očíslovanými listy/uzly...? 52. Nedala by se část zadání překreslit na pauzák a vhodně přiložit/posunovat po originálním zadání? 53. Nejde to vhodně přeložit a následně prosvítít nebo probodnout špendlíkem? 54. Nejde z toho něco přímo vystříhat/poskládat/slepit? Nepomohlo by vystříhání při dalším kroku řešení? Další typy šifer 55. Není to popis cesty k další šifře? Není to popis cesty k místu v okolí/všeobecně známému místu, které by tě navedlo k dalšímu kroku řešení? 56. Zkus k zadání nalézt asociace/synonyma/antonyma. Dál pracuj s nimi. 57. Nelze v zadání vhodně doplnit řady? Číselné, písmenné, logické... 58. Pokud jsou v zadání prvky z kalendáře, nedaly by se využít jména svátků, státní svátky, znamení zvěrokruhu? 59. Nejsou v zadání noty, notová osnova (5 linek), stupnice, akordy? Nedala by se využít substituce za názvy not/akordů, případně nalézt odpovídající píseň a její text? 60. Zkus si v zadání zahrát karty - neodpovídá něco počtu listů, očíslování/barvám/označení karet? 61. Zkus si v zadání zahrát šachy - šachovnice (rozměry 8x8, označení 1-8, A-H), tahy figurek, označení figurek. 62. Nepodobá se zadání známé hře? Není to sudoku, patnáctka, sokoban, piškvorky...? Nedal by se pak průběh hry využít k vykreslení/přečtení/získání souřadnic řešení? 63. Nevyskytuji se tam opakující objekty a jejich vlastností? Není to Zebra (Einsteinova hádanka)? 64. Není v zadání něco napsaného neviditelným inkoustem (mlekem, citronovou stavou)? Zkus to zahřát nad plamenem/polít peroxidem nebo chemikálií získanou/doporučenou organizátory/prosvítít UV světlem/zářivkou. 65. Není v okolí nápověda v podobě zajímavých objektů (sud, cívka, vysílač...)/významných budov (radnice)/ulic/pamětihodností (pomníky, sochy (sv. Primitivus, ctnosti a neřesti...))? 66. Držíš se opravdu přesně instrukcí v zadání, případně v pravidlech hry? 67. Využil jsi už doporučenou mapu? Souřadnice GPS, zadní strana, legenda, mapové značky, označení čtverců. Pro chvíle zoufalství... 68. Porozhlédni se kolem stanoviště - nepřehlédl jsi důležitou indicii/organizátora/další části zadání/část šifry určenou pouze k obkreslení/prohlédnutí? 69. Opravdu využíváš všechny dostupné informace? Tedy vlastní zadání šifry/oficiální pravidla hry/poslední informace před hrou/informace a materály ze startovní obálky/"nezapomeňte" z předchozích šifer/možnosti oficiální nápovědy? 70. Zkus zpětné inženýrství. Aneb jak bys se ti mohlo podařit pravděpodobně jednoduchou zprávu, takhle blbě zašifrovat/zamaskovat/zdeformovat? 71. Prohlédni si na mapě dosavadní trasu, odhadni rozumnou vzdálenost, směr a oblasti a zkus vybrat sympatické místo, kam se dá rozumně dojít/dojet, které není nijak oplocené/chráněné/jinak nedostupné a nachází se u nějakého zajímavého/význačného bodu a zkus ho napasovat na zadání. Obsah pomucek pro lusteni (sifrovaci hra sifrovacky.cz) abecedu a čísla pořadí 1–36 Morseovu abecedu Braillovo písmo pro slepé (ASCII Braille pro čísla) pořadí v šestkové soustavě vlajkovou abecedu hláskovací slova NATO Moonovo písmo pro slepé dominová pokrytí čtverce 4×4 (lexikálně řazená) čárový kód RM4SCC britské pošty pseudomorseovku se třemi symboly mnemotechnická slova pro pseudomorseovku abecedu a čísla ve čtverci (8 čar) abecedu a čísla ve čtverci (6 čar) iNulí kódování M42 kombinace výběru dvou prvků z devíti, graficky kombinace výběru dvou prvků z devíti, číselně abecedu a čísla na digitálním displeji „polský“ kříž 6×6 očíslování prvků Braillova písma a segmentového displeje 36 dramatických situací podle Poltiho souřadnice a postavení figur v šachu pseudomorseovku jako strom desetinné rozvoje Ludolfova čísla, Eulerova čísla a Eulerovy konstanty první písmena jmen v českém kalendáři sedmice: barvy duhy, písmena barev duhy, dny v týdnu, římské číslice, jednotky SI, tóny, solmizační slabiky, pády v češtině, divy světa, svobodná umění, hříchy, kontinenty, klasické „planety“, odpovídající orgány lidského těla, fáze života (Shakespeare) hodnosti AČR subtraktivní a aditivní míchání barev barevný kruh (12 barev) olympijské kruhy stěny čtyřstěnu rozdělné na 36 trojúhelníků lidský chrup kódování Base64 aminokyseliny a kodony (pořadí řádek, sloupec, buňka) krychle s oříznutými rohy (36 hran) pořadí karetních barev logo hry a verzi Triky na tvorbu a pamatovani hesla - Z cisel si vytvorte si vetu. Delka slova odpovida cislici. (Sla Nanynka do zeli = 3724) - Cisla dosadte do slov (password = p455w0rd = 4550). - Prvni pismena slov vety (Sla Nanynka do zeli = SNdz). - Vyberte si vetu, kterou si budete dobre pamatovat. Zamente vybrane znaky za S za $, cisla. A pak opiste prvni pismena slov a doplnene snaky, password = pa$$w0rd, Vomáčka = w0mAc|/a "Máte sklep? Zapomněla jsem se zeptat" + cislo domu = M s ? Z j s z 168 - Jmena mazlicku pozpatku, kde kazde druhe pismeno bude z jineho slova, doplnene o cisla a predposledni pismeno bude velkym. T 0 m A s a K c a m 0 aTK0cmaAms0 - prehazeni pismen podle pohybu sachoveho kone pro pole 3x3 (to je pro heslo nedostacujici, pokud to necim neobohatite) - zvolime si vetu a odstranime z ni opakujici se znaky a dostaneme heslo
https://www.idnes.cz/technet/internet/jak-si-vytvorit-bezpecne-heslo-a-nebyt-za-hlupaka.A081007_194444_sw_internet_vse
Pravdepodobnosti vyskytu pismen, slov Tabulky vyskytu znaku EN26 ETAOINHSRDLMWUFCYGBPVKXJQZ (zdroj: kniha Robinson Crusoe, 624.000 znaku) EN26 TAOINHSRDLUWMFCYGPBEVKXJQZ (zdroj: kniha L&A of Robinson Crusoe, 1.261.407 znaku) EN26 TAOINSHRDLCUMWFGEYPBVKJXQZ (zdroj: algoritmy.net) EN26 TAOINSHRDLCUMWFGYEPBVKJXQZ (zdroj: dcode.fr) EN26 ETAOINHSRDLUFWCYMGPBKVJXQZ (zdroj: kniha Creatures that once were men, 140.000 znaku) CZ26 EOAINTSRVULKCDPMZYHJBFGXWQ (zdroj: algoritmy.net) CZ26 EAOILSNTRMUKVJDPZCYHBGFXWQ (spojene povidky, odstranena diakritika, 900.000 znaku) Analyza textu text The Life and Adventures of Robinson Crusoe (1808), by Daniel Defoe (https://www.gutenberg.org/cache/epub/12623/pg12623.txt) program Text analyser (https://www.online-utility.org/text/analyzer.jsp) Count Letter Frequency (https://www.browserling.com/tools/letter-frequency) Letter Frequency TAOINHSRDLUWMFCYGPBEVKXJQZ Number of characters (including spaces znaku): 1261407 Number of characters (without spaces; znaku): 961467 Number of words (slov): 239578 Number of unique words (unikatnich slov): 8948 Number of sentences (vet): 4688 Number of syllables (slabik): 324135 Nejcastejsi dvojice slov (top 10) of the 1560, i had 1055, in the 1047, to the 838, i was 705, it was 675, that i 541, as i 538, to be 532, and the 498 Nejcastejsi slova (top 20) the 11602 , and 9532, to 8318, i 7471, of 6883, a 4368, in 3893, that 3813, was 3484, it 3313, had 2858, my 2855, as 2804, they 2711, for 2504, them 2323, with 2232, but 2201, he 2179, not 2010
Prolomene moderni algoritmy
Doporucovane moderni algoritmy (2019)
abcd|e e = a xor b xor c xor d 0000|0 0001|1 abc|d d = a xor b xor c 0010|1 000|0 c = d xor a xor b 0011|0 001|1 b = c xor d xor a 0100|1 010|1 a = b xor c xor d 0101|0 011|0 0110|0 100|1 0111|1 101|0 1000|1 110|0 1001|0 111|1 1010|0 1011|1 ab|c c = a xor b 1100|0 00|0 b = c xor a 1101|1 01|1 a = b xor c 1110|1 10|1 1111|0 11|0 Xor ma na vystupu jednicku, kdyz je pocet jednicek vstupu lichy. https://web.stanford.edu/class/cs103/tools/truth-table-tool/Top
Prevod na dvojkovou soustavu (binarni kod, bin; nebo pocitacovou 8-bit ASCII tabulku) A:00000 E:00100 I:01000 M:01100 Q:10000 U:10100 Y:11000 2:11100 B:00001 F:00101 J:01001 N:01101 R:10001 V:10101 Z:11001 3:11101 C:00010 G:00110 K:01010 O:01110 S:10010 W:10110 0:11010 4:11110 D:00011 H:00111 L:01011 P:01111 T:10011 X:10111 1:11011 5:11111Top