SDA Crack the Cipher
Cerință
Se dă un text criptat prin metoda substituției. Se cere decodarea acestuia fără să se cunoască cheia.
Informații suplimentare
Metoda substituției are la bază înlocuirea caracterelor dintr-un text cu alte caractere, asocierea dintre caracterele noi și vechi reprezentând cheia de criptare/ decriptare.
Spre exemplu, dacă textul de intrare este:
ana are mere
cu regulile de substituție (cheia):
- a -> h
- n -> v
- r -> o
- e -> z
- m -> e
- <spațiu> -> r
Textul criptat este:
hvarhozrezoz
Metoda de spargere a cifrului
Acest mod de criptare a fost spart folosind metode statistice. Cunoscându-se limba în care a fost scris textul original, și cunoscându-se care este frecvența statistică a caracterelor în acea limbă, se pot face încercări, considerând caracterul care apare de cele mai multe ori în text ca fiind cel mai probabil codarea literei care apare de cele mai multe ori în limba respectivă.
Ordonând caracterele după frecvența apariției lor în limba română, obținem următoarea secvență (de la cel mai frecvent caracter, la cel mai puțin frecvent):
<spațiu> a i e t r s u n c l o p m - d v z g , b h . I H j : ? C U f D F O P T !
Date de intrare
uGtw?pxz?0z'-08V?z(0H0?'z'Sek0r8z8'(Sr8S 0'1Se'ep 0?szE0's?nzeSoz8SSQ'z8z8'1Se'E0r8s?pH'xphHSrQ'rz8'ES 1Se'r0H'x?S(z8Q'SerHpES('SeE8S8p8SS'np(0?ez 0e8zH0Q'z hzEz10Q's?nzeSoz8SS'1Se'Se1pE8?Sz'10'x08?sH'ES nzo0Q'r0e8?0'10'r0?r08z?0Q'r0e8?0' SHS8z?0'ES's?nzeSoz8SS'10'zr8S(SE8Sy'js8?S(S8'?zxs?8pHpS'4zEx0?E&l BzhQ'zr0zE8z'z 0eSe8z?0'0E80'zr8S(z'Serz'1Se'dLLCQ'SeEz'r0H' zS' z?0'(sHp '10'zr8S(S8z80'ENz' Se?0nSE8?z8'Se'x0?Ssz1z'dL)L'N'dL)Cy'?0H0' zS'S xs?8ze80'1s 0eSS'10'Se80?0E'x0e8?p'n?pxz?0z'10'ExSsezO' rSh0?e08Sr'-08V?z(0H0?'zp'SerHpE'?0r0e8'02xHs?z?0z'Exz8SzHzQ'ezes80ResHsnSzQ'x?s1pr8Sz'10'0e0?nS0Q' 0e0?nSz'eprH0z?zQ'80ResHsnSz'HzE0?Q' 01SrSez'ES'rs peSrz8SSH0y'W8zrz8s?SS'Sek0r8zp'ESE80 0H0' (Sr8S 0Hs?'8?S S8ze1'0N zSHp?S'10'8Sx'Ex0z?NxRSERSenQ'rz?0'rse8Se0zp'z8zEz 0e80'FSr?sEsk8'?kkSr0' 0rRSxz80'rp'1spz'(pHe0?zhSHS8zVS'Se80eE'02xHsz8z80'b?vPNdL)dNL)5g'ES'?vPNdL)LNIIII.y'?RSz?'1zrz' FSr?sEsk8'z'HzeEz8'10Oz'xz8rRNp?S'x0e8?p'zr0E80'(pHe0?zhSHS8zVSQ'0H0'Epe8'Se'rse8Sepz?0'02xHsz8z80' x0'Erz?z'Hz?nz'Se'z8zrp?S'8z?n08z80Q'1s(01Se1pNE0'z'kS'0kSrS0e80y'VS8Hp?SH0'z8zEz 0e80Hs?' zHS8SszE0' 1Se'0N zSHp?SH0'10'8Sx'Ex0z?NxRSERSen'?0H0(z'0ks?8p?SH0'n?pxz?SS'-08V?z(0H0?'10'zNES'z1zx8z'z8zrp?SH0' x0e8?p'z'xp80z'Sek0r8z'8Se80H0'ksz?80'S xs?8ze80y'j?Se8?0'8S8Hp?SH0'1srp 0e80Hs?' zHS8SszE0'E0'ep z?zi W? l'?lh0?'A0rp?S8l'jsHSrl'dL)Cy1srQ'U0xs?8'N'WESz'M0k0eE0'Ax0e1Sen':ss y1srQ'Wr8S(S8l'M08zSHEy1sr TSE'TsHSe0EE'8R0'MzHzS'Bz zKE'(SES8'8s'AaS8o0?Hze1'1zl'C'J?001s 'sk'Ax00rRy1sry'De'rz1?pH'zezHSo0S' 4zEx0?E&l'BzhQ'0rRSxz'10'02x0?8S'z'sh8Sep8'Op?ezH0H0'10'Sek0r8z?0'10'x0'1Sk0?S80'E0?(0?0'10'rs ze1z' ES'10'rse8?sH'b?m?.'zH0'n?pxz?SS'-08V?z(0H0?y'A0?(0?0H0'?m?'0?zp'p8SHSoz80'x0e8?p'z'SeE8zHz'pe' zHaz?0'z1S8SsezH'x0'1SExsoS8S(0H0'Sek0r8z80'ES'x0e8?p'z'028?zn0'Seks? z8SSH0'kp?z80y'P2x0?8SS' 4zEx0?E&l'Bzh'zp'0E8S z8'rze8S8z80z'10'Seks? z8SS'kp?z80'E8srz80'x0'E0?(0?0H0'10'rs ze1z'ES'10' rse8?sH'zH0'-08V?z(0H0?'rz'kSSe1'10'x0E80'dd'nSnzhl80Ey'Mz80H0'EpE8?zE0'10'x0'ESE80 0H0'Sek0r8z80' zp'SerHpE'HSE8z?S'zH0'kSES0?0Hs?Q'Hsnp?S'10'8zE80'zxzEz80Q'1z?'ES'zH80'8Sxp?S'10'kSES0?0Q'rp 'z?'kS' jMJNp?SQ'8zh0H0'P2r0H'Ezp'1srp 0e80'cs?1y'Se'xHpEQ'8ssH&S8NpH'-08V?z(0H0?'xp80z'Ez'SeE8zH0o0'pe' zHaz?0'EpxHS 0e8z?'10'8Sx'hzr&1ss?'r?0z8'x0e8?p'EpE8?zn0?0z'1z80Hs?Q'rz?0'xp80z'kS'x0?EsezHSoz8' x0e8?p'z'kp?z'zH80'8Sxp?S'10'Seks? z8SS'10HSrz80Q'rp 'z?'kS'108zHSS'10'rsekSnp?z?0'x0e8?p'zxHSrz8SS' Ezp'kSES0?0'10'x?sS0r8z?0'zESE8z8z'10'rzHrpHz8s?'b?WM.y'js8?S(S8'zezHSo0S'4zEx0?E&l'Bzh'zEpx?z' E0?(0?0Hs?'10'rs ze1z'ES'rse8?sH'zH0'n?pxz?SS'-08V?z(0H0?Q'zp'02SE8z8Q'Se'8s8zHQ'I5L'10'(Sr8S 0'Se' CL'10'8z?S'1Sk0?S80Q'SerHpES('A8z80H0',eS80Q'?zez1zQ'Fz?0z':?S8zeS0Q'UpESzQ'?RSH0Q'Fz?srQ'w?0rSzQ' :0HnSzQ'WpE8?SzQ',enz?SzQ'Us zeSzQ':pHnz?SzQ',r?zSezQ'BS8pzeSzQ':0Hz?pEQ'WpE8?zHSzQ'Tsen'4senQ' 3zxseSzQ'?RSezQ'FsensHSzQ'D?zeQ'Vp?rSzQ'De1SzQ'jz&SE8zeQ'?s?00z'10'Ap1Q'VRzSHze1zQ'fz8z?Q'4zoz&RE8ze' ES'Ds?1zeSzy'j0'Hzenz'zezHSoz'1z80Hs?'rp'x?S(S?0'Hz'r0e8?0H0'r0'rse8?sH'ES'rs ze1zQ'02x0?8SS' 4zEx0?E&l'Bzh'zp'ksHsES8'4zEx0?E&l'A0rp?S8l'-08as?&'b4A-.'x0e8?p'z'S10e8SkSrz'E8z8SE8SrS'EpxHS 0e8z?0' rp'x?S(S?0'Hz'Sek0r8S0y'j?S 0H0')L'8z?S'1pxz'ep z?pH'10'(Sr8S 0'1080r8z80'10'4A-'zp'ksE8'FsensHSzQ' p? z8z'10'UpESzQ'De1SzQ'4zoz&RE8zeQ'4l?nloE8zeQ'?RSezQ'VzOS&SE8zeQ'?s?00z'10'Ap1Q'AxzeSz'ES'w0? zeSzy De'8S xpH'zezHSo0S'4zEx0?E&l'Bzh'zEpx?z'-08V?z(0H0?Q'02x0?8SS'rs xzeS0S'zp'S10e8SkSrz8'EzE0'(Sr8S 0' rz?0'zp'ksE8'Sek0r8z80'z8z8'10'-08V?z(0H0?Q'rz8'ES'10'U01'?r8sh0?Q's'zH8z'sx0?z8Spe0'10'ExSsezO' rSh0?e08Sry'M0ES'ep'z'ksE8'S10e8SkSrz8z'eSrSs'H0nz8p?z'1S?0r8z'Se8?0'z8zrz8s?SS'-08V?z(0H0?'ES' zr8s?SS'S xHSrz8S'Se'sx0?z8Spe0z'U01'?r8sh0?Q'kzx8pH'rz'zep S80'(Sr8S 0'zp'ksE8'zk0r8z80'10'z h0H0' rz xzeSS'10'ExSsezO'rSh0?e08Sr'10 seE8?0zoz'rz'zr0E80'(Sr8S 0'ksz?80'S xs?8ze80'Epe8'8Se8z' zS' pH8s?' z8zrz8s?S'1Se'rzpoz'rz'Seks? z8SSH0'x0'rz?0'H0'108Se'Epe8'ksz?80'(zHs?szE0y