Feladatok‎ > ‎

A karakterhelyettesítéses kódolás törése

Leírás

A legegyszerűbb rejtjelezések szinte mind karakterhelyettesítésesek. Ez azt jelenti, hogy az abc minden karakterét megfeleltetjük egy másiknak, és aszerint elvégezzük a cserét.

Például

Vegyük egy 4 elemű abc-t, csináljunk egy megfeleltetést:
a → d
b → a
c → c
d → b
Ez esetben az ababdc 'szót' úgy kódolnánk, hogy dadabc.

De nem véletlenül nem használják a gyakorlatban ezt a kódolást. Készíthető rá ugyanis törő algoritmus, ami az üzenet szövegének sajátosságait használja ki. Készítsetek programot, amely megfejti, hogy milyen üzenetet kódoltam egy karakterhelyettesítéses módszerrel.

Bemenet

  • Egy hosszú angol szöveg, csakúgy, mint ez.

Kimenet

  • Az eredeti szöveg :)

Példa

 Bemenet Kimenet 

aqyxfjos ghf ajiuvq axcaojoxojhw yjubqfa

t ejateztwotlq hg obja iqobhe hg eqftwlqiqwo ja obto obq vtao vqooqfa hg obq tvubtcqo (pbjyb tfq ihaovs vhp gfqdxqwys) oqwe oh aots to obq qwe. t aofhwlqf pts hg yhwaofxyojwl t ijrqe tvubtcqo ja oh uqfghfi t yhvxiwtf oftwauhajojhw hw obq hfejwtfs tvubtcqo xajwl obq mqsphfe, cxo obja ja who hgoqw ehwq.

tvobhxlb obq wxicqf hg uhaajcvq mqsa ja zqfs vtflq, obja yjubqf ja who zqfs aofhwl, twe ja qtajvs cfhmqw. ufhzjeqe obq iqaatlq ja hg fqtahwtcvq vqwlob (aqq cqvhp), obq yfsuotwtvsao ytw eqexyq obq ufhctcvq iqtwjwl hg obq ihao yhiihw asichva cs twtvskjwl obq gfqdxqwys ejaofjcxojhw hg obq yjubqfoqro—gfqdxqwys twtvsaja. obja tvvhpa ghfitojhw hg utfojtv phfea, pbjyb ytw cq oqwotojzqvs gjvvqe jw, ufhlfqaajzqvs qrutwejwl obq (utfojtv) ahvxojhw (aqq gfqdxqwys twtvsaja ghf t eqihwaoftojhw hg obja). jw ahiq ytaqa, xweqfvsjwl phfea ytw tvah cq eqoqfijwqe gfhi obq utooqfw hg obqjf vqooqfa; ghf qrtiuvq, tooftyo, haaqhxa, twe phfea pjob obhaq oph ta obq fhho tfq obq hwvs yhiihw qwlvjab phfea pjob obq utooqfw tccytec. itws uqhuvq ahvzq axyb yjubqfa ghf fqyfqtojhw, ta pjob yfsuohlfti uxkkvqa jw obq wqpautuqf.

tyyhfejwl oh obq xwjyjos ejaotwyq hg qwlvjab, opqwosaqzqw uhjwo ajr vqooqfa hg yjubqfoqro tfq fqdxjfqe oh yftym t ijrqe tvubtcqo ajiuvq axcaojoxojhw. jw uftyojyq, osujytvvs tchxo gjgos vqooqfa tfq wqqeqe, tvobhxlb ahiq iqaatlqa ytw cq cfhmqw pjob gqpqf jg xwxaxtv utooqfwa tfq ghxwe. jw hobqf ytaqa, obq uvtjwoqro ytw cq yhwofjzqe oh btzq t wqtfvs gvto gfqdxqwys ejaofjcxojhw, twe ixyb vhwlqf uvtjwoqroa pjvv obqw cq fqdxjfqe cs obq xaqf.

Titok :)

Comments