Codul de criptare atribuit lui Iulius Cezar este o maniera simpla de a cifra un text folosind un singur numar pe post de cheie. Modul de criptare este urmatorul: dat fiind numarul X, criptarea ROTX se realizeaza inlocuind fiecare litera din textul clar cu litera corespunzatoare aflata in alfabet la o distanta de X. De exemplu, pentru ROT1, A-->B, B-->C, C-->D, ... , Z-->A. Astfel, textul "HELLO" devine, incifrat, "IFMMP".
Scrieti un program care decripteaza un text cifrat cu cod de substitutie ROTX in toate variantele posibile (26 la numar) si afiseaza de asemenea X (numarul de litere din alfabet) cu care se realizeaza saltul inainte sau inapoi pentru cifrarea fiecarei litere).
ROTX este o varianta a unui sistem de cifrare general, anume cifrul cu substitutie monoalfabetic, ce presupune inlocuirea ne-liniara a literelor (e.g. A-->H, B-->U, C-->L, ... etc). In acest caz, nu mai este suficient sa stim un numar, trebuie sa stim tot alfabetul (i.e. HUL...). Pentru a sparge un astfel de cod, stiind ca textul este scris intr-o anumita limba, putem folosi frecventa de aparitie a literelor in limba respectiva, pentru ca, prin comparatie cu frecventa aparitiei literelor din textul cifrat, sa putem ajunge la o corespondenta cat mai apropiata de cifrul corect.
Scrieti de asemenea o metoda care sa calculeze frecventa aparitiei literelor in textul cifrat.
Folositi ca exemplu urmatorul text in limba engleza
PK XA, KN JKP PK XA: PDWP EO PDA MQAOPEKJ:
SDAPDAN 'PEO JKXHAN EJ PDA IEJZ PK OQBBAN
PDA OHEJCO WJZ WNNKSO KB KQPNWCAKQO BKNPQJA,
KN PK PWGA WNIO WCWEJOP W OAW KB PNKQXHAO,
WJZ XU KLLKOEJC AJZ PDAI? PK ZEA: PK OHAAL;
JK IKNA; WJZ XU W OHAAL PK OWU SA AJZ
PDA DAWNP-WYDA WJZ PDA PDKQOWJZ JWPQNWH ODKYGO
PDWP BHAOD EO DAEN PK, 'PEO W YKJOQIIWPEKJ
ZARKQPHU PK XA SEOD'Z. PK ZEA, PK OHAAL;
PK OHAAL: LANYDWJYA PK ZNAWI: WU, PDANA'O PDA NQX;
BKN EJ PDWP OHAAL KB ZAWPD SDWP ZNAWIO IWU YKIA
SDAJ SA DWRA ODQBBHAZ KBB PDEO IKNPWH YKEH,
IQOP CERA QO LWQOA: PDANA'O PDA NAOLAYP
PDWP IWGAO YWHWIEPU KB OK HKJC HEBA;
BKN SDK SKQHZ XAWN PDA SDELO WJZ OYKNJO KB PEIA,
PDA KLLNAOOKN'O SNKJC, PDA LNKQZ IWJ'O YKJPQIAHU,
PDA LWJCO KB ZAOLEOAZ HKRA, PDA HWS'O ZAHWU,
PDA EJOKHAJYA KB KBBEYA WJZ PDA OLQNJO
PDWP LWPEAJP IANEP KB PDA QJSKNPDU PWGAO,
SDAJ DA DEIOAHB IECDP DEO MQEAPQO IWGA
SEPD W XWNA XKZGEJ? SDK SKQHZ BWNZAHO XAWN,
PK CNQJP WJZ OSAWP QJZAN W SAWNU HEBA,
XQP PDWP PDA ZNAWZ KB OKIAPDEJC WBPAN ZAWPD,
PDA QJZEOYKRAN'Z YKQJPNU BNKI SDKOA XKQNJ
JK PNWRAHHAN NAPQNJO, LQVVHAO PDA SEHH
WJZ IWGAO QO NWPDAN XAWN PDKOA EHHO SA DWRA
PDWJ BHU PK KPDANO PDWP SA GJKS JKP KB?
PDQO YKJOYEAJYA ZKAO IWGA YKSWNZO KB QO WHH;
WJZ PDQO PDA JWPERA DQA KB NAOKHQPEKJ
EO OEYGHEAZ K'AN SEPD PDA LWHA YWOP KB PDKQCDP,
WJZ AJPANLNEOAO KB CNAWP LEPD WJZ IKIAJP
SEPD PDEO NACWNZ PDAEN YQNNAJPO PQNJ WSNU,
WJZ HKOA PDA JWIA KB WYPEKJ. - OKBP UKQ JKS!
PDA BWEN KLDAHEW! JUILD, EJ PDU KNEOKJO
XA WHH IU OEJO NAIAIXAN'Z.
Linkuri utile:
0 comentarii:
Trimiteți un comentariu