Documente Academic
Documente Profesional
Documente Cultură
- metodele de substituție: înlocuiesc valorile literelor din textul clar cu alte valori (alte litere sau alte
simboluri), fără modificarea pozițiilor relative ale literelor în mesajul clar;
- metodele de transpoziție: valorile literelor din textul clar nu sunt modificate, dar sunt schimbate
pozițiile relative ale literelor din textul clar.
Cele două clase de metode implementează algoritmi de criptare diferiți ⟹ criptanaliza sistemelor
de substituție se bazează pe principii diferite față de criptanaliza sistemelor de transpoziție.
Astfel, în prima etapă a criptanalizei unui text, trebuie identificat tipul de sistem de criptare utilizat.
Conform analizei lui Friedman4:
● criptogramele compuse din simboluri, litere, cifre și alte asemenea caractere, sunt rezultatul aplicării
unor metode de substituție, deci este vorba de un cifru de substituție.
● în cazul criptogramelor compuse exclusiv din litere, trebuie făcută o analiză privind numărul total de
litere, numărul de vocale și de consoane și frecvența de apariție a acestora în textul criptat.
Conform Tabelului 1, referitor la frecvența de apariție a literelor într-un text în limba engleză:
- vocalele: A, E, I, O, U, Y reprezintă 40.33% din nr. total de litere
- consoanele: H, N, R, S, T au frecvență mare de apariție și reprezintă 34.09% din nr. total de litere
- consoanele: D, L, C, M, P, F au frecvență medie de apariție și reprezintă 23.81% din nr. total de litere
- consoanele: J, K, Q, X, Z au frecvență mică de apariție și reprezintă 1.77% din nr. total de litere
În cazul unei criptograme, dacă procentele identificate deviază cu mai puțin de 5% față de valorile
normale, este vorba de un cifru de transpoziție; altfel, analiza se îndreaptă spre un cifru de substituție.
Aceasta deoarece într-un cifru de transpoziție literele textului clar au fost rearanjate, deci fără a face
modificări în valorile literelor, astfel încât numărul de vocale, procentul consoanelor cu frecvență
mare/mică de apariție rămâne la fel în criptogramă, față de textul clar. Iar într-un mesaj de lungime
medie, aceste proporții se abat de la normal cu mai puțin de 5%.
Apoi se transpun literele pe coloane conform permutării generate de scrierea în ordine alfabetică a
literelor cheii, de la poziția 1 la poziția 7:
Alfabetul de criptare rezultat este:
E F O Z I C L X N B K W R G P S H Q U A J T V D M Y
- amestecat aleator: sunt mai sigure d.p.d.v. criptografic, deoarece nu oferă niciun indiciu despre
dispunerea literelor în funcție de poziția câtorva litere
● alfabet reciproc: toate elementele alfabetului de criptare sunt în perechi de valori reciproce cu valori
ale alfabetului textului clar; de exemplu, litera A din textul clar este reprezentată în criptogramă de litera
E, iar litera E din textul clar este reprezentată în criptogramă de litera A.
De exemplu, un alfabet standard inversat este un alfabet reciproc.
- substituție monoalfabetică: un singur alfabet de criptare este folosit pentru criptarea întregului mesaj,
deci o anumită literă din textul clar este reprezentată invariabil de aceeași literă a alfabetului de criptare,
și reciproc.
Exemplu: cifrurile de deplasare, cifrul afin, cifrul Polybius, cifrul de substituție simplă.
- substituție polialfabetică: în cadrul aceluiași mesaj sunt utilizate mai multe alfabete de criptare, deci o
anumită literă din textul clar este reprezentată de mai multe litere ale alfabetului de criptare, conform
unei reguli de criptare.
Exemplu: cifrul Vigenère, cifrul Vernam, cifrul Polybius în varianta polialfabetică.
- substituție poligramică: se substituie grupuri de n litere ale textului clar (poligrame ) cu alte grupuri
de n caractere
- substituție poliliterală: o anumită literă din textul clar este transformată într-un bloc de litere sau
simboluri
Pentru a distinge între tipul de substituție monoalfabetică, versus polialfabetică există mai multe metode:
(1) prin calculul IC (indicele de coincidență):
pentru un text de lungime n cu frecvențele f0, f1, ..., fr-1:
r 1 r 1 r 1 r 1 2
fi 1
r 1 fi ( fi 1 ) fi 2 fi fi 2 n
i 0 n n r 1 f i
2 r 1
Ic ( x ) i 0 i 0
i 0
pi2 ,
i 0 n( n 1 ) n( n 1 ) 1
n2 (1 )
1
(1 ) i 0 n i 0
n n
1 f
deoarece pentru n foarte mare, 0 , iar frecvență relativă i = pi
n n
Dacă x este un text în limba engleză, conform frecvențelor relative de apariție a literelor în limba engleză
din Tabelul 1, rezultă că:
25
I c ( x ) pi2 0.0822 0.0152 ..... 0.0012 0.0655
i 0
Obs: Pentru un text într-un limbaj în care frecvențele relative de apariție ale celor 26 de litere sunt egale
(limbaj ipotetic), indicele de coincidență va fi:
2
1 1
I c ( x ) 26 0.038
26 26
Se calculează nr. de apariții ale literelor în criptogramă și frecvențele lor relative de apariție:
A B C D E F G H I J K L M
11 9 4 1 7 3 25 5 11 23 51 15 14
0.025882 0.021176 0.009412 0.002353 0.016471 0.007059 0.058824 0.011765 0.025882 0.054118 0.12 0.035294 0.032941
N O P Q R S T U V W X Y Z
16 27 1 2 16 13 27 44 7 0 36 23 34
0.037647 0.063529 0.002353 0.004706 0.037647 0.030588 0.063529 0.103529 0.016471 0 0.084706 0.054118 0.08
25
I c ( x ) pi2 0.0258822 0.0211762 ..... 0.0082 0.064825
i 0
Valoarea rezultată este foarte apropiată de valoarea normală obținută pentru un text scris în lb. engleză,
deci cifrul care a stat la baza criptării este monoalfabetic.
(2) în baza histogramei frecvenței de apariție a literelor într-un text în limba engleză:
Histograma unui text clar, de lungime câteva sute de caractere prezintă vârfuri și adâncituri, deoarece
literele apar cu frecvențe diferite.
Analizând histograma frecvenței de apariție a literelor în textul criptat, în cazul unei substituții
monoalfabetice, aceasta ar trebui să prezinte aceleași neregularități, deși poziția acestor vârfuri și
adâncituri este diferită față de textul clar.
Analizând acest grafic, neregularitatea distribuției de frecvențe indică faptul că fiecare literă din textul
criptat reprezintă întotdeauna aceeași literă din textul clar, un singur alfabet de criptare a fost folosit
pentru criptarea întregului mesaj, deci este vorba de o substituție monoalfabetică.
În cazul în care fiecare literă din criptogramă reprezintă mai multe litere diferite din textul clar, unele cu
frecvențe mari de apariție și altele cu frecvențe mici de apariție, atunci histograma frecvenței de apariție
a literelor în textul criptat nu va mai prezenta neregularitățile caracteristice substituției monoalfabetice.
De exemplu, fie situația în care:
- litera A din criptogramă reprezintă mai multe litere din textul clar: litera C situată într-o anumită poziție
în textul clar, litera R în altă poziție și litera T în altă poziție;
- litera S din criptogramă reprezintă mai multe litere din textul clar: litera V situată într-o anumită poziție
în textul clar, litera B în altă poziție și litera D în altă poziție;
Atunci, frecvențele de apariție ale literelor A și S în criptogramă vor fi aproximativ egale. Acest lucru
fiind valabil și pentru restul literelor din criptogramă, rezultă un aspect mai aplatizat al histogramei
criptogramei.
- Se pleacă de la presupunerea că cea mai frecvent întâlnită literă din textul criptat reprezintă cea mai
frecvent întâlnită literă din textul clar. Deci, se identifică în histograma criptogramei litera cu cea mai
mare frecvență de apariție și se încearcă asocierea cu litera E
- Se repetă pentru cea de a doua cea mai frecvent întâlnită literă din textul criptat, etc.și se încearcă
asocierea cu literele T, A, O I, N, S, etc.
- Se caută secvențe de caractere din care se deduc cuvinte.
Histograma criptogramei:
Pe site-ul khanacademy.org: în secțiunea: Spin-off of "Frequency Analysis (English) - for Cesarean Shift
Ciphers"
https://www.khanacademy.org/computer-programming/spin-off-of-frequency-analysis-english-for-cesarean-
shift-ciphers/4959459685138432
este disponibil un program de decriptare a cifrurilor prin deplasare, care realizează o analiză on-line, pe
baza distribuțiilor de frecvențe ale literelor din criptogramă.
Soluția pt. textul de mai sus este:
Aplicații de criptanaliză:
1)
https://www.khanacademy.org/computing/computer-science/cryptography/cryptochallenge/a/crypto-clue-1
Second Cipher:
”vwduwljudeehghyhubwklqjlfrxogilqgsohdvhuhwxuqdqbeoxhsulqwviruydxowdqg
dodupghvljqedvhgrqzklfkedqnbrxghflghrqldpvhwwlqjxsvdihkrxvhfr”
start i grabbed everything i could find please return any blueprints for vault and alarm design based on
which bank you decide on i am setting up safe house co
Am început să iau tot ce puteam găsi, vă rugăm să returnați toate planurile pentru designul seifului și
alarmei, pe baza băncii pe care o decideți am să creez o casă sigură.
First Cipher:
”gluhtlishjrvbadvyyplkaohavbyjpwolypzavvdlhrvuuleatlzzhnlzdpajoavcpnlu
lyljpwolyrlfdvykpzaolopkkluzftivsvmklhaoputfmhcvypalovsilpuluk”
2)
http://practicalcryptography.com/cryptanalysis/stochastic-searching/
Etape în rezolvare:
a) determinarea lungimii cheii prin:
- testul Kasiski
- Indicele de coincidență
Se determină o cheie de lungime 7
b) Împărțirea textului în blocuri de 7 litere:
vptnvff qwioiiv
untshta knulvvf
rptymjw emioiem
zirappl ojtywds
jmhhqvs ajtwmtc
ubwlzzy gluysds
gvtyita umfbieu
rptyiou gmvalvx
gxiuydt kjduetu
gzhhvvm katymvk
umshwkz qzhvqvg
gstfmek vptytjw
vmpkswd wldyeev
gbilvjl quhlulw
jmglmjf pkt
În continuare se realizează analiza frecvențelor pentru literele situate pe fiecare dintre cele 7 poziții ale
cheii:
- literele situate pe prima poziție: VURZJUGRGGUGVGJQKEOAGUGKKQVWQP
Din analiza frecvențelor rezultă: cheia = 26- alphaNum = 26-24 = 2, deci prima literă a cheii este C
Din analiza frecvențelor rezultă: cheia = 26 - alphaNum = 26-18 = 8, deci a doua literă a cheii este I
----------
În final, cheia va fi: ”CIPHERS”
Practic, pentru unei criptograme, se calculează statistica Chi-pătrat pentru textul inițial al
criptogramei și pentru celelalte permutări obținute prin deplasarea cu pasul 1. Se va alege cheia
corespunzătoare secvenței cu cea mai mică valoare a statisticii.
De exemplu, pentru literele situate pe prima poziție: VURZJUGRGGUGVGJQKEOAGUGKKQVWQP
cheie textul analizat statistica Chi-pătrat
---------------------------------------------------------------------------------------------------
0 VURZJUGRGGUGVGJQKEOAGUGKKQVWQP 594,393
1 UTQYITFQFFTFUFIPJDNZFTFJJPUVPO 465.834
2 TSPXHSEPEESETEHOICMYESEIIOTUON 40.200
3 SROWGRDODDRDSDGNHBLXDRDHHNSTNM 68.265
4 RQNVFQCNCCQCRCFMGAKWCQCGGMRSML 641.343
5 QPMUEPBMBBPBQBELFZJVBPBFFLQRLK 526.742
6 POLTDOALAAOAPADKEYIUAOAEEKPQKJ 120.943
7 ONKSCNZKZZNZOZCJDXHTZNZDDJOPJI 2440.172
8 NMJRBMYJYYMYNYBICWGSYMYCCINOIH 195.667
9 MLIQALXIXXLXMXAHBVFRXLXBBHMNHG 1155.881
10 LKHPZKWHWWKWLWZGAUEQWKWAAGLMGF 357.844
11 KJGOYJVGVVJVKVYFZTDPVJVZZFKLFE 961.107
12 JIFNXIUFUUIUJUXEYSCOUIUYYEJKED 353.153
13 IHEMWHTETTHTITWDXRBNTHTXXDIJDC 242.502
14 HGDLVGSDSSGSHSVCWQAMSGSWWCHICB 107.891
15 GFCKUFRCRRFRGRUBVPZLRFRVVBGHBA 149.390
16 FEBJTEQBQQEQFQTAUOYKQEQUUAFGAZ 1806.857
17 EDAISDPAPPDPEPSZTNXJPDPTTZEFZY 530.198
18 DCZHRCOZOOCODORYSMWIOCOSSYDEYX 246.636
19 CBYGQBNYNNBNCNQXRLVHNBNRRXCDXW 401.480
20 BAXFPAMXMMAMBMPWQKUGMAMQQWBCWV 502.108
21 AZWEOZLWLLZLALOVPJTFLZLPPVABVU 815.982
22 ZYVDNYKVKKYKZKNUOISEKYKOOUZAUT 647.305
23 YXUCMXJUJJXJYJMTNHRDJXJNNTYZTS 1475.082
24 XWTBLWITIIWIXILSMGQCIWIMMSXYSR 280.460
25 WVSAKVHSHHVHWHKRLFPBHVHLLRWXRQ 159.066
Conform acestei analize, statistica este minimă pentru cheia 2, prima literă din cheia textului este C.
Se repetăm această procedură pentru fiecare din cele 7 litere ale cheii.
De exemplu, pentru literele situate pe a doua poziție: PNPIMBVPXZMSMBMWNMJJLMMJAZPLUK
cea mai mică valoare a statisticii Chi-pătrat se obține pentru cheia 8: , deci a doua literă din cheie este I.
cheie textul analizat statistica Chi-pătrat
---------------------------------------------------------------------------------------------------
0 PNPIMBVPXZMSMBMWNMJJLMMJAZPLUK 489.999
8 HFHAETNHPREKETEOFEBBDEEBSRHDMC 35.038
20 13 14 12
7 10 7 10 10
10 3 3 6 3 6
2 1 2
0
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Se comparară aceste frecvențe cu frecvențele din Tabelul 1: E T A O I ..................
D A J S V
Se încearcă o primă asociere:
”The initial advance of the 6th Army was so successful that Hitler intervened and ordered the 4th Panzer
Army to join Army Group South (A) to the south. A massive traffic jam resulted when the 4th Panzer
and the 6th both required the few roads in the area. Both armies were stopped dead while they attempted
to clear the resulting mess of thousands of vehicles. The delay was long, and it is thought that it cost the
advance at least one week. With the advance now slowed, Hitler changed his mind and re-assigned the
4th Panzer Army back to the attack on Stalingrad.”
(World War II: The Battle of Stalingrad, July 17, 1942 - February 2, 1943)
https://en.wikipedia.org/wiki/Battle_of_Stalingrad
Se încearcă permutarea coloanelor într-o ordine care să genereze ulterior, la citirea pe linii, un text clar.
Permutarea (5 , 3, 2, 4, 1) va genera:
t h e i n
i t i a l
a d v a n
c e o f t
h e s i x
t h a r m
y w a s s
o s u c c
e s s f u
l t h a t
h i t l e
r i n t e
r v e n e
d a n d o
r d e r e
d t h e f
o u r t h
p a n z e
r a r m y
t o j o i
n a r m y
g r o u p
s o u t h
a t o t h
e s o u t
h