Pr-Tech
 

Google Pr-Tech
Punime Artikuj tė Shkurtėr Mėsime Praktike

 

Kategoritė e Artikujve

Programim / KoncepteHarduer / StandardeSigurim / KriptologjiSisteme OperativeRrjeta / TelekomunikimHapėsirė / ShkencėAplikacione SistemorePolitikė / Kulturė / BiznesMbulime EkskluziveLibra Digjital

Kriptimi i Cezarit dhe variacionet e tij
Sigurim / Kriptologji - 20/11/2004 - Shkruar nga: Genc DOKO - gdk ET pr-tech PIKĖ net
Pėr shtypės

Koment:, Ky shkrim spjegon funksionimin dhe aplikimin e algoritmit të njohur me emrin Kriptimi i Cezarit, si dhe funksionimin dhe aplikimin të variacioneve të tij: ROT13 dhe ROT47.
Kriptimi i Cezarit

Kriptimi i Cezarit është emri i një algoritmi që Perandori Romak Gaius Julius Cezar (100 para Krishtit - 44 para Krishtit) e ka përdorur për të komunikuar me personelin ushtarak të tij. Ky algoritëm e ka bërë enkriptimin e mesazheve që Cezari dëshironte t'i dërgonte personelit të tij ushtarak. Algoritmi Kriptimi i Cezarit në ditët e sotme paraqet një ndër algoritmet më të pavlefshëm. Sidoqoftë, në kohën e Cezarit ky algoritëm ka ofruar një siguri në komunikimin ndërmjet Cezarit dhe personelit të tij ushtarak për shkak se rrallë ndonjëri nga armiqët e Cezarit që ka qenë jo analfabet. Vet fakti i mungesës të edukimit të mjaftueshëm të njerëzve që ishin armiq të Cezarit, ishte i mjaftueshëm për t'u konkluduar mosekzistenca e çfarëdo aktiviteti kriptoanalitik.

Sa i përket aspektit teknik të Kriptimit të Cezarit, pjesa enkriptuese e këtij algoritmi është e bazuar në zhvendosjen e vlerave të alfabetit për një numër të definuar. P.sh. Cezari siq thuhet, ka përdorur zhvendosjën me vlerë 3. Pra, në rast që e marrim parasysh alfabetin Anglez që ka 26 shkronja, atëherë enkriptimi i bazuar në zhvendosje me vlerë 3, të stringut:
KTHEHUNI NE BAZE!
Do të jetë i barabartë me:
NWKHKXQL QH EDCH!

Ky algoritëm mundet të kuptohet më lehtë nëse i vendosim pranë një rreshtë që përmbanë të gjitha shkronjat e alfabetit me renditje të zakonshme, si dhe një rreshtë që përmbanë të gjitha shkronjat e alfabetit me renditje të zhvendosur me vlerë 3. Pra:


ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVWXYZABC


Këtu kjartas shihet që shkronja "K" nga fjala "KTHEHUNI" përputhet me shkronjën "N", dhe kështu me rradhë. Nëse e analizoni vargun "KTHEHUNI NE BAZE!" me daljën e enkriptuar "NWKHKXQL QH EDCH!" do të vëreni që është bërë vetëm enkriptimi i shkronjave, përderisa zbrastëritat ndërmjet, si dhe karakterët tjerë (në këtë rast pikquditsja), kanë mbetur të pandryshuar. Arsyeja pas kësaj është se algoritmi bazë i Kriptimit të Cezarit bën vetëm enkriptimin e shkronjave, por algoritmi ROT47, i cili është i derivuar nga Kriptimi i Cezarit shkonë disa hapa më larg, duke ofruar kriptimin e vargjeve alfanumerike të cilët përmbajnë edhe karakterë të ndryshëm si pika, pikquditse, presje, etj. Për algoritmin ROT47 do të flasi më vonë.
Deri më tash u diskutua për pjesën enkriptuese të Kriptimit të Cezarit. Pjesa dekriptuese e Kriptimit të Cezarit ka të bëj vetëm me zhvendosjen e shkronjave në anën e kundërt, ku kjo zhvendosje mvarret nga vlera e përdorur gjatë enkriptimit. Pra, në rast që e kemi përdorur vlerën 3 për enkriptim, atëherë në rast të dekriptimit, për çdo shkronjë që dëshirojmë t'a dekriptojmë, e bëjm zhvendosjen për tre shkronja mrapa të asaj shkronje. P.sh. shkronja "N" bëhet "K", shkronja "E" bëhet "H", e kështu me radhë. Për procesin e dekriptimit munden të përdoren po të njejtët rreshta të alfabetit që janë shfaqur më lartë.
I tërë procesi i enkriptimit si dhe i dekriptimit të Kriptimit të Cezarit, munden të realizohen me mjaft lehtësi në GNU/Linux nëpërmjet të rreshtave në vijim:

Për enkriptim:
echo "varguPerEnkriptim" tr a-z A-tr A-WX-Z D-ZA-C


Për dekriptim:
echo "varguPerDekriptim" tr a-z A-tr D-ZA-C A-WX-Z

Në të dy rreshtat e paraqitur më lartë, e përdorim komandën tr (shif: man tr), për të bërë enkriptimin dhe dekriptimin me zhvendosje të vlerës 3. Për shkak se në këtë shkrim jemi duke përdorur alfabetin Anglez i cili ka 26 shkronja, atëherë procesin e enkriptimit si dhe të dekriptimit mundemi t'a shfaqim edhe me anë të formulave matematikore, ku këto janë:

Për enkriptim:
E(shkronja) = shkronja + vlera % 26

P.sh.:
A = 1 => E(A) = 1 + 3 % 26 = 4 => 4 = D => A = D


Për dekriptim:
D(shkronjaEnkriptuar) = shkronjaEnkriptuar - vlera % 26

P.sh.:
Z = 26 => D(Z) = 26 - 3 % 26 = 23 => 23 = W => Z = W

Pra, siq shihet i tërë koncepti i Kriptimit të Cezarit është lehtë të kuptohet si dhe të aplikohet. Këto nuk janë të vetmet lehtësi tek Kriptimi i Cezarit; siguria që e ofronë Kriptimi i Cezarit mundet të thehet me shumë lehtësi. Thyerja është e lehtë për shkak se personi i cili dëshiron t'a realizon thyerjen, duhet t'a gjej VETĖM NJĖ përputhshmëri me ç'rast kjo do të jep vlerën e zhvendosjes. Gjetja e përputhshmërive nuk është aq e vështirë për shkak se Kriptimi i Cezarit nuk bën modifikim e zbrastirave, ku nga kjo përfitonë mjaftë analiza e frekuencës. Analizimi i frekuencës ka të bëj me numrin e paraqitjës së shkronjave mbrenda vargjeve të enkriptuara. Pasi që e dimë që shkronjat si "A", "E", "I" gjenden në shumë fjalë, atëherë në rast që shohim shkronjat si "D", "H", "L" apo qfarëdo tjetër, të përsëriten shpesh, mundemi t'a testojmë përputhshmërinë. Përputhshmërija është më lehtë të realizohet tek fjalët që nuk përmbajnë shumë shkronja, si në rastin e gjuhës Shqipe "NUK", "ESHTE" etj. P.sh. nëse e bëjmë enkriptimin e vargut:
DIELLI NUK NDRIQON

Me ç'rast fitojmë:
GLHOOL QXN QGULTRQ

Nuk do të kemi kumedit qfarë vështirësi t'a gjejmë përputshmërinë për pjesën "QXN" të vargut të enkriptuar. Thjeshtë, mundemi të bëjm një listë të fjalëve që kanë vetëm tre shkronja, dhe të shohim se a ka përputhshmëri.

Algortimet tjera që derivojnë nga Kriptimi i Cezarit që janë po aq të njohura janë ROT13 si dhe deri diku ROT47.

ROT13
Algoritmi ROT13 quhet shkurt për "ROTate by 13 places". Pra, ROT13 është thjeshtë aplikimi i Kriptimit të Cezarit me vlerë të zhvendosjës 13. Ky algoritëm nuk përdoret për siguri sa që përdoret vetëm për fshehje të zakonshme. ROT13 arriti të bëhet i njohur nga përdorimi në Usenet grupe. Njerëzit kanë përdorur ROT13 algortimi vetëm për t'i mshehur disa mesazhe nga qasja direkte nga publiku. Për shkak se vlera e zhvendosjës është 13 në algoritmin ROT13, enkriptimi i vargut të enkriptuar shfaq të njejtin rezultat sikurse dekriptimi i vargut të enkriptuar. Kjo ndodhë për shkak se 13 është vlera e mesit të alfabetit Anglez i cili ka 26 shkronja. Në rastin e ROT13 e përdorim rreshtin e njejtë në GNU/Linux për enkriptimin dhe dekriptimin e vargut, ku ky është:

echo "vargu" tr a-z A-tr A-Za-z N-ZA-Mn-za-m

Kjo mundet të shihet edhe nga testimet e shfaqura në vijim:
[schnapps]$ echo "vargu per enkriptim" | tr a-z A-Z | tr A-Za-z N-ZA-Mn-za-m
INETH CRE RAXEVCGVZ
[schnapps]$ echo "INETH CRE RAXEVCGVZ" | tr a-z A-Z | tr A-Za-z N-ZA-Mn-za-m
VARGU PER ENKRIPTIM

ROT47
Algoritmi ROT47 edhe pse derivon nga Kriptimi i Cezarit, ndryshon dukshëm në aplikim si dhe funksionalitet. ROT47 punon me 94 karakterë të ndryshëm, ku këtu përfshihen të gjithë vlerat alfanumerike (a-z, A-Z, si dhe 0-9). Në algoritmin ROT47, siq shihet edhe nga vet emri, vlera e zhvendosjës është 47, ku po edhe në këtë rastë kjo vlerë paraqet mesin sikurse në algoritmin ROT13. Pra, kjo do të thotë që natyra e ROT47 është relativisht e ngjajshme me atë të ROT13.
Në anën tjetër, ROT47 edhe pse punon me një sasi më të madhe të karakterëve se sa ROT13, ky algoritëm prap se prap nuk shfrytëzohet për shkak të sigurisë të dobët që e ofronë.

Të gjitha algoritmet e shfaqura në këtë shkrim shfrytëzohen për të spjeguar kryesisht bazat e kriptologjisë për shkak të thjeshtësis së tyre. Por asesi nuk duhet të mohohet rëndësia historike (në fushën e kriptologjisë) sa i përket Kriptimit të Cezarit.

Kaq nga unë për këtë shkrim. Ghat qrev ar urera r nequfuzr :)

Burimet e shfrytëzuara:
http://en.wikipedia.org/wiki/Caesar_cipher
http://en.wikipedia.org/wiki/ROT13
http://www.math.nmsu.edu/crypto/public_html/Caesar.html
http://www.rot13.com/
http://tools.geht.net/rot13.html
http://en.wikipedia.org/wiki/Frequency_analysis

Creative Commons License
Ky material ėshtė i lėshuar nėn licensėn
Creative Commons (Attribution-ShareAlike) qė do tė thotė qė materiali mund tė kopjohet, shpėrndahet, ekspozohet, pėrdoret pėr punime rrjedhėse dhe nevoja komerciale pėrderisa: Ceket autori; Nė rast ndryshimi, lėshohet nėn po tė njejtat kushte. Autori/ja i/e kėtij materiali pajtohet automatikisht qė materiali tė lėshohet nėn kėtė licensė. Kushtet mund tė largohen vetėm me lejėn e autorit/es.
Mbi Pr-Tech | Kontaktet Copyright Pr-Tech® 2004 - 2010 Thanks to all that inspired, taught and helped push us forward...