SDA Crack the Cipher

De la WikiLabs

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

uz-h,tmhbv!hzTh!bhlhzvDvzct-phz!bhvt,zvl!bsrzghlhD!vbpzhi,h!hz,hlmhzrz-,hcvbpzvlz-rlD!bt-!vpnz
el!bsrzOvazDh!t,hzHhlhzHpD!pz-hHzcpz,vgThdt,zot,mhbzh,z-rlD!bt-!rbv,rbzDshzUr!hbh!zDhsDvzHp!bph-hz
-pohz!vgHz-tzpvzDvzDhz,pz-rbp-!pOpz,vgThdt,zgtbchbnzFhztbghbpzDvshzHtDzvlzgvl!pz-hzhzcrthzOvzDhsDv
zvhzHbhlOt,z,hzHh-Up!zDvzDhzD!phzvl!bpzgtl-v!rbvazDhzorbTphD-hz-tzpvazDhzghlhl-pzvgHbptlhz-tzpvnz
elzOvthztbgh!rhbpz,hzobpgphzhgvpOvvzDvshzHtDztlzDhlcov-vzvl!bsrzHtlmhzghbrzDvzDshzvlcbpH!h!zDHbpz
-rlD!bt-!rbvvz-hbpz-Uvhbzvlzgrgpl!t,zh-p,hzvDvz,thtzHbhlOt,nzFtztlzOhgTp!z,hbmzHpzih!hzDvz-tzrz
or-pzT,hlchzvshzvl!bpTh!?z
sz:bh!v,rbazorvzv,z-tlrhD!p!vzHpzeDtDzCbvD!rDjz
fr!vzgtl-v!rbvvzhtzD-t!tbh!zlpmh!vozcvlz-hHzaztv!hlctsDpzrhbp-tgzcpbt!h!vztlvvz,hzh,!vvnz
Plt,zcvl!bpzgtl-v!rbvzDshztv!h!zvlzDtDzDHbpzD-Up,pzDvzhzD!bvmh!z?z
szCpvazv,z-tlrhD!pz-hbpohzcvl!bpzorvzHpzeDtDzCbvD!rDjz
Plt,zcvl!bpzgtl-v!rbvvzcpzHpzD-Up,pzhzD!bvmh!zvlhHrv?z
szIpz-pjz
sz.hvazhztb,h!z-hzbhDHtlDz-p,zcpzdrDazhzoplv!zlpohD!hsDhzDhsvzhct-hzHbhlOt,