MonoAB
- 1 znak se meni na 1 jiny, stale stejny
- ZO: abeceda, algoritmus, intuice
PolyAB
- 1 znak se meni na 1 pokazde jiny, podle pravidla (algoritmu)
- ZO: algoritmus, algoritmus+hruba sila
Algoritmicke
- to jsou vsechny, ale myslim tim slozitejsi kodovaci algoritmy, treba kompresni
- ZO: algoritmus+hruba sila
Zpetne - pouzitim stejneho algoritmu je mozne kodovat tam i zpet (Algoritmicke-XOR)
Priklad 1: (skaut) substituce: Morseovka Morse A .- I .. Q --.- 1 .---- B -... J .--- R .-. 2 ..--- C -.-. K -.- S ... 3 ...-- D -.. L .-.. T - 4 ....- -.-.- pozor E . M -- U ..- 5 ..... ..... nerozumim F ..-. N -. V ...- 6 -.... ...-.- konec vysilani G --. O --- X -..- 7 --... ...-. rozumim H .... P .--. Y -.-- 8 ---.. CH---- W .--- 9 ----. Z --.. 0 ----- AHOJ = -.-.-/.-/..../---/.---/...-. Dale ze skautu zname: Semafor (abeceda s vlajkami), lodni vlajkove signaly Panackovou abecedu ze Sherlocka Holmese Priklad 1a: Substituce pismen (nahrada, zamena) ABCDEFGHIJKLMNOPQRSTUVWXYZ IPEBTLXRDKVZFAQMWHOCJSGYUN AHOJ = IRQD Priklad 2: (skaut) Posun pismen +2 = Caesaruv kod ABCDEFGHIJKLMNOPQRSTUVWXYZ (26) yzABCDEFGHIJKLMNOPQRSTUVWXYZ AHOJ = YFMH Zname uz 500 prnl jako namotani pasku kolem tyce o stejnem polomeru v cele delce. Psalo se pak podel tyce. Priklad 3: (skaut) Psani pozpatku AHOJ = JOHA AHOJ ADELKO = JOHA OKLEDA Priklad 4: (skaut) Zmena na cisla a zlomky 1 2 3 4 5 ABCDE FGHchI JKLMN OPRST UVWYZ (25, chybi QX, navic ch) 12345 123 45 12345 12345 12345 AHOJ = 1/1 2/3 4/1 3/1 Priklad 5: Kazde 3ti pismenko je zprava ..A..H..O..J...... slanahodouujezirkakolemskal ..............I..A..L..S..L Sla nahodou u jezirka kolem skal... Priklad 6: Vylepseni 5 - zmeneni kodovani s delsim casem po 3 znacich se meni kodovani na 2 a pak po 4 opet na 3 ..A..H..O.J.T.O..J..S.E.M..x..x slanahodoujatrovajersleimovakolem Priklad 7: Vylepseni 5 - stridani kodu Kazde 3ti a pak 2he pismenko je zprava, doplnovani mezerou ..A.H..O.J...... slazhoro jedenacte ............E.A..E Sla_z_hor_o__jedenacte Priklad 8: (skaut) Morzeovka+velikosti pismen/cislic /_ -A .a -.-.-/.-/..../---/.---/...-. = AHOJ JeNdA_sI_mezi_NAS_lEHA_vecER do poslete, protoze je maly. -123 .456 /789 tohle muze jeste nekomu dojit -.-.-/.-/..../---/.---/...-. = AHOJ 2 1 1 3 232 313 2 4 6 5 6565 4 645 2416185396565823284313764525 -267 .139 /458 tak mu to zkomplikujeme -.-.-/.-/..../---/.---/...-. = AHOJ 2961243789391572253662811973 Priklad 9: (skaut) teckovana mrizka, jako 4 ABC|DEF|GHch ------------ IJK|LMN|OPQ ------------ RST|UVW|XYZ Poloha tecky udava pozici, okraj pak polohu bunky. ---- ---- AHOJ = . | | . |. . | ---- ---- ---- ---- ---- ---- A | | H |O J | ---- ---- ---- ---- Priklad 10: (skaut) teckovana mrizka2, jako priklad 4 a 9 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 Pocet tecek udava tabulku, okraj pak polohu bunky. ---- --- AHOJ = | | | .| | .| --- ---- ---- --- A | | H| O| | J| --- ---- Priklad 11: kodova tabulka, posun +-5, jako 2 ------------------- |t vuyzabcdefghchijklmnop| | ABCDEFGHchIJK | | |5 432101234505 432101234| ||_____________|| | + | | | LMNOPRST UVYZ | | |hchijklmnoprst vuyzabcde| ||_____________|| | |5 432101234505 432101234| ------------------- -3 ABCDE... ...|uyzabc...|... ...|321012345|... LMNOP... ...|ijklmn...|... ...|321012345|... AMOL (-3) = ujliHlavni menu
Priklad 1: Posun podle predchoziho znaku zpravy ABCDEFGHIJKLMNOPQRSTUVWXYZ 00000000011111111112222222 12345678901234567890123456 (26) AHOJ zpet AIWZ AIWZ AHOJ A=1 H+1=I A=1 I-1=H H=8 O+8=W H=8 W-8=O O=16 J+16=Z O=16 Z-16=J Priklad 2: Jako 1 ... sifrovane zpravy ABCDEFGHIJKLMNOPQRSTUVWXYZ 00000000011111111112222222 12345678901234567890123456 (26) AHOJ zpet AIXG AIXG AHOJ A=1 H+1=I A=1 I-1=H I=9 O+9=X I=9 X-9=O X=23 J+23=G X=23 G-23=J (23-26=-3=X J-3=G) Priklad 2: Jako 1 ... vylepseni a) posun doprava/doleva b) posun doprava/doleva a podle zpravy/sifrovane zpravy a) AHOJ zpet AIGZ AIGZ AHOJ A=1 H+1=I A=1 I-1=H H=8 O-8=G H=8 G+8=O O=16 J+16=Z O=16 Z-16=J b) AHOJ zpet AIGQ AIGQ AHOJ A=1 H+1=I +z A=1 I-1=H +z H=8 O-8=G -z H=8 G+8=O -z G=7 J+6=Q +sz G=7 Q-7=J +sz -sz +z -z +sz -sz ... Priklad 3: Posun podle poradi v textu - Vigeneruv kod a) podle posunuti +1 b) nahodne rovnomerne rozmistneni a) b) ABCDE ABCDE ABCDE 1 ABCDE 1 CEBDA 1 ....A 2 BCDEA 2 BDAEC 2 ..A.. 3 CDEAB 3 ECDAB 3 ...A. 4 DEABC 4 ABECE 4 A.... 5 EABCD 5 DACBD 5 .A... 1234512 1234512 ABECEDA ABECEDA ACBADDB CDBEDDB [A,1]=A [A,1]=C [B,2]=C [B,2]=D [E,3]=B [E,3]=BHlavni menu
Priklad 1: sifrovaci mrizka - rozmistneni pismen 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. ----+---r ----+---r ----+---r 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. 048Cb3210 048.b321. xxx.bxxx. 1 text 2 otoceno ->v 2 text xAxx|xHxx xx.x|xxxx xxIx|xxxx xxOx|xxJx xxx.|.xx. xxxL|OxxV xxxx|xxxx xx.x|xx.x xxAx|xxNx xAxx|xDxE .xx.|xxxx AxxD|xxxx ----+---r b---+---- b---+---- xLxK|xOxx xxxx|xxxx xxxx|xxxx MxOx|xxJx xxx.|.xx. xxxE|HxxT xxxx|xxxE xx.x|xx.x xxVx|xxUx xxxMbxxxI ..xxr.xxx IBxxrBxxx AHOJ ADELKO ...LOVANA MOJE MI... DEHTVUIBB - doplnujici text Priklad 2: bitova funkce XOR (notxor, binarni, 2jkova) A: 0 0 1 1 X pouzijeme xor s predchozim bitem zpravy B: 0 1 0 1 O ---------- R C: 0 1 1 0 C = A XOR B prevod na 2 soustavu - viz komprese dimenze A:00000 B:00001 C:00010 D:00011 E:00100 F:00101 G:00110 H:00111 I:01000 J:01001 K:01010 L:01011 M:01100 N:01101 O:01110 P:01111 Q:10000 R:10001 S:10010 T:10011 U:10100 V:10101 W:10110 X:10111 Y:11000 Z:11001 0:11010 1:11011 2:11100 3:11101 4:11110 5:11111 texta: AHOJ A=2a : 00000001110111001001 B= 2a : 00000001110111001001 C=XORa : 00000001001100101101 textb: AEZN 0 = 0 A[0] 0 XOR 0 = 0 A[1] xor A[0] A[n] xor A[n-1] 0 XOR 0 = 0 A[2] xor A[1] 0000 A[3] xor A[2], A[4] xor A[3], A[5] xor A[4], A[6] xor A[5] 1 XOR 0 = 1 A[7] xor A[6] 1 XOR 1 = 0 2[8] xor 2[7] -ZPET- stejna funkce, jine parametry textb: AEZN A=2b : 00000001001100101101 C=XORb : 00000001110111001001 = 2a B= XORb: 00000001110111001001 = 2a 0 = 0 A[0] 0 XOR 0 = 0 A[1] xor C[0] A[n] xor C[n-1] 0 XOR 0 = 0 A[2] xor C[1] 0000 1 XOR 0 = 1 A[7] xor C[6] 0 XOR 1 = 1 A[8] xor C[7] Priklad 3: Dimenze bit 5 na bit 4+mateni prevod na 2 soustavu - viz komprese dimenze A:00000 B:00001 C:00010 D:00011 E:00100 F:00101 G:00110 H:00111 I:01000 J:01001 K:01010 L:01011 M:01100 N:01101 O:01110 P:01111 Q:10000 R:10001 S:10010 T:10011 U:10100 V:10101 W:10110 X:10111 Y:11000 Z:11001 text : AHOJ 2 : 00000 00111 01110 01001 5na4 : 0000 0001 1101 1100 1001 zmat : 10000 10001 01101 01100 11001 (doplneni skoro nahodnym znakem) textb: QRNMZ doplneni z0xxx: z=0/1 z1xxx: z=0 (Y:11001 Z:11001 ??:11010) Priklad 4: Pomoci kodovaciko klice - posun klic+sifra klic=AHOJ text=AHOJADELKO ABCDEFGHIJKLMNOPQRSTUVWXYZ 00000000011111111112222222 12345678901234567890123456 (26) klic=+1 +8 +15 +10 klic: AHOJAHOJAHOJ text: AHOJADELKO kod : BPDTBLTVLW Priklad 5: XOR klic / OR klic - vratna pouzitim stejneho algoritmu - stejna funkce, stejne parametry A: 0 0 1 1 X B: 0 1 0 1 O ---------- R C: 0 1 1 0 C = A XOR B prevod na 2 soustavu - viz komprese dimenze A:00000 B:00001 C:00010 D:00011 E:00100 F:00101 G:00110 H:00111 I:01000 J:01001 K:01010 L:01011 M:01100 N:01101 O:01110 P:01111 Q:10000 R:10001 S:10010 T:10011 U:10100 V:10101 W:10110 X:10111 Y:11000 Z:11001 0:11010 1:11011 2:11100 3:11101 4:11110 5:11111 texta : AHOJ klic: EZ klic : EZEZ A=texta2: 00000001110111001001 B=klic 2: 00100110010010011001 C=XORa : 00100111100101010000 textb : E4KQ 0 = 0 A[0] xor B[0] A[n] xor B[n] 0 XOR 0 = 0 A[1] xor B[1] 0 XOR 1 = 1 A[2] xor B[2] -ZPET- textb : E4KQ A=textb2: 00100111100101010000 B=klic 2: 00100110010010011001 C=XORb : 00000001110111001001 = texta2 0 = 0 A[0] xor B[0] A[n] xor B[n] 0 XOR 0 = 0 A[1] xor B[1] Priklad 6: Sifrovani s promennym klicem Zdroj a cil pouzivaji stejnou metodu synchronizovanou podle nejakeho algoritmu, nejcasteji datumu. Cili pak je treba nastaveno, ze kazdych 5 minut se text zasifruje jinak. Je nutne pridat informaci pro dekodovani nebo ji vedet. klic=datum sifra=f(klic) 11.04.1998 05:00 klic=110419980500 11.04.1998 06:00 klic=110419980600 11.04.1998 07:00 klic=110419980700 ... nebo klic=f(datum) 11.04.1998 05:00 if time=5:00 then klic=1 if time=6:00 then klic=4 ... nebo klic=f(datum) 11.04.1998 05:00 if time=5:00 then algoritmus=1 if time=6:00 then algoritmus=4 ... nebo pocitam kolikata je zprava zasifrovana, podle toho urcim zpusob zprava=0 zprava+1 if zprava=1 then klic=4 if zprava=2 then klic=9 ...Hlavni menu
Priklad: EN26 ETAOINHSRDLMWUFCYGBPVKXJQZ (Robinson Crusoe 624,000 znaku) EN26 ETAOINHSRDLUFWCYMGPBKVJXQZ (Creatures that once were men 140,000 znaku, scifi) CZ26 EAOILSNTRMUKVJDPZCYHBGFXWQ (bez hacku spojene povidky 900,000)Pouziti: Anglictina ma 26 znaku + specialni (rekneme 32), to je 5 bitovy kod 00000-11110, 11111=ostatni znaky (ktere se vykopiruji nakonec)