Documente Academic
Documente Profesional
Documente Cultură
B C
E F
D E
G H
F
I
G
J
H
K
I J
L M
K
N
L M
O P
N
Q
O P Q R S
R S T U V
T U
W X
V
Y
W
Z
X
A
Y Z
.
B C
innd cont de echivalenii numerici asociai literelor din A , sistemul se scrie sub
forma: A = K = 26 , M i C sunt formate din toate irurile de 5 elemente din A ,
e = 3, d = 3 23 (mod 26), Ee (m) m + 3 (mod 26), Dd (c) c 3 c + 23 (mod 26),
0 m, c 25.
Presupunem c textul clar este STRICT SECRET. mprim textul n blocuri de cte 5
litere i sub fiecare liter trecem litera corespunztoare transformrii determinate de cheia
e, rezultnd textul criptat.
STRIC
TSECR
ETAAA
VWULF WVHFU HWAAA
O comunicare ntre dou pri folosind criptarea cu cheie simetric este descris de
diagrama urmtoare:
Adversar
surs[
chei
canal securizat
e
criptare
Ee (m) = c
decriptare
canal
nesecurizat
Dd (c) = m
surs[
text clar
destinatar
Alice
Bob
Observm c problema major, n acest tip de comunicare, este asigurarea unei metode eficiente de schimbare a cheilor ntre participani. Aceasta poart numele de problema
distribuirii cheilor (key distribution problem). Am subliniat deja faptul c se presupune
c toi participanii la comunicare cunosc schema de criptare, deci ceea ce trebuie pstrat
secret este cheia d. n cazul criptrii cu cheie simetric, cheia d rezult uor din e; deci, n
acest caz, e trebuie i ea pstrat secret. Din acest motiv, cheia e este transmis de la o
entitate la cealalt printr-un canal securizat (cunoscnd e, cele dou entiti, afl d).
Cele mai frecvente modele de atac asupra cifrurilor cu cheie simetric sunt: atac
numai pe text cifrat, atac cu text clar cunoscut i atac cu text clar ales. Criptanalistul mai
poate ataca cu text clar ales adaptat, alegnd texte clare n funcie de perechi text clar
text cifrat dobndite anterior.
n criptarea cu cheie simetric, distingem dou tipuri de scheme de criptare: cifruri
bloc (block ciphers) i cifruri fluide (stream ciphers).
Cifruri bloc
Un cifru bloc este o schem de criptare care separ textul clar n scopul transmiterii
sale sub form de iruri (numite blocuri) de lungime finit t peste un alfabet A , criptnd
fiecare bloc n parte.
Cele mai cunoscute tehnici de criptare cu cheie simetric sunt cifruri bloc. Dintre
acestea, cele mai importante clase sunt cifrurile de substituie i cifrurile de permutare.
Se spune c un cifru bloc este total spart dac se gsete o cheie i parial spart dac
adversarul poate recupera o parte a textului clar din cel cifrat, fr a gsi cheia.
Vom vedea c cifrurile simple de permutare i de substituie, luate fiecare n parte, nu
ofer un nalt nivel de securitate. Dar, combinnd aceste transformri, putem gsi cifruri
puternice. Ele poart numele de cifruri produs. De exemplu, dac Ee1 , Ee2 ,..., Eet , t 2,
10
sunt cifruri de substituie sau de permutare, cifrul produs este cifrul obinut prin
compunerea acestora Ee1 Ee2 ...Eet (se compun n mod obinuit funciile de criptare).
1. Cifruri de permutare
tor transformri se numete cifru simplu de permutare. Cheia de decriptare corespunztoare lui e este inversa permutrii, adic d = e 1. Pentru a decripta c = ( c1c2 ...ct ) C , se
calculeaz Dd (c ) = ( cd (1) cd (2) ...cd ( t ) ) .
S considerm, de exemplu, un cifru de permutare cu:
1 2 3 4 5 6
t = 6 i e =
S 6 .
5 1 6 2 4 3
Astfel, fiecare bloc format din 6 simboluri, m = m1m2 m3m4 m5 m6 se va transforma n
c = Ee (m) = m5 m1m6 m2 m4 m3 . Dac m = SECRET , atunci, c = ESTERC. Pentru decriptare
1 2 3 4 5 6
se folosete permutarea invers d = e1 =
S 6 .
2 4 6 5 1 3
Dou sau mai multe cifruri simple de permutare cu lungimile blocurilor t1 , t2 ,..., ts , se
pot compune rezultnd un cifru de permutare compus. Acesta este tot un cifru simplu de
permutare n care lungimea blocurilor este egal cu [t1 , t2 ,..., ts ] .
Un cifru simplu de permutare modific relaiile dintre simbolurile consecutive, dar el
pstreaz frecvena de apariie a fiecrui simbolul n text; astfel, acest tip de cifru este
uor de criptanalizat. n acest caz, criptanaliza fiecrui bloc se aseamn cu rezolvarea
unor anagrame. Se poate ncerca s se identifice blocurile cele mai frecvente de cte 2 sau
3 litere, folosind statistica lingvistic.
2. Cifruri de substituie
Cifrurile de substituie sunt cifruri bloc care nlocuiesc simboluri (sau grupe de
simboluri) prin alte simboluri sau grupe de simboluri.
2.1. Cifruri simple de substituie (monoalfabetice)
11
unde m = ( m1m2 ...mt ) M. Cu alte cuvinte, fiecare simbol dintr-un t uplu este nlocuit
cu un alt simbol din A , conform unei permutri fixate e.
Pentru a decripta c = ( c1c2 ...ct ) C , calculm d = e 1 i apoi
Dd (c) = ( d (c1 )d (c2 )...d (ct ) ) = ( m1m2 ...mt ) = m.
Ee se numete cifru simplu de substituie sau cifru de substituie monoalfabetic.
Numrul de cifruri de substituie distincte este q ! i nu depinde de lungimea t a
blocului n cifru.
Cteva dintre cele mai cunoscute scheme de substituie monoalfabetic sunt prezentate n cele ce urmeaz.
1. Cifruri de deplasare (shift cipher). Acestea sunt cifruri de substituie
monoalfabetice n care permutarea e const ntr-o deplasare la dreapta n alfabetul A cu
k caractere, k fixat (e este o permutare ciclic). Dac A = q i mi este asociat cu un
ntreg i, 0 i q 1, atunci ci = e(mi ) mi + k (mod q ). Funcia de decriptare este
definit de d (ci ) ci k (mod q ). n cazul n care A este alfabetul latin, q = 26 i
fiecrei litere din alfabet i se atribuie un echivalent numeric ntre 0 i 25 ca n exemplul
cifrului Cezar. De fapt acest cifru este un caz particular de cifru de deplasare pentru
k = 3.
Existnd doar 26 de chei posibile, cifrurile de deplasare se decripteaz foarte uor
prin for brut. De aceea, pentru a-i mri rezistena se mai utilizeaz o variant cu cheie.
Cheia este un cuvnt cu toate caracterele distincte (dac nu, literele identice se folosesc
doar la prima apariie). De exemplu, dac cuvntul este SECRET, se consider cheia
SECRT. Pentru a gsi permutarea e, innd cont de scrierea unei permutri, formm dou
linii: pe prima linie scriem literele din alfabet; pe a dou linie, sub fiecare liter din primul rnd, vom trece noul corespondent al acesteia prin permutarea e: se ncepe cu cuvntul cheie i apoi se completeaz cu literele care nu apar n cuvntul cheie, n ordine alfabetic.
A B C
D E
L M
O P
U V
O P Q U V
E C
12
cheia este d = ( a 1 (mod 26), a 1 (26 b) (mod 26) ) . Din numrul total de chei posibile,
K = 26 (26) = 26 12 = 312 se poate renuna la cheia (1, 0) care las textul nemodificat. Acest numr fiind mic, schema nu rezist atacului prin for brut.
De exemplu, s considerm A , alfabetul latin i transformarea afin dat de cheia
(5, 2). Atunci, c = E(5,2) (m) 5m + 2 (mod 26), 0 c, m 25. Urmnd procedeul descris
n exemplificarea cifrului Cezar, pentru criptarea textului CRIPTARE procedm astfel:
nlocuim fiecare liter din textul clar cu echivalentul su numeric:
C R I P T A R E
2 17 8 15 19 0 17 4
Aplicm funcia de criptare fiecrui caracter n parte. Astfel, vom obine:
E(5,2) (2) = 5 2 + 2 12 (mod 26), E(5,2) (17) = 5 17 + 2 = 87 9 (mod 26), etc.
n final, se nlocuiesc echivalenii numerici cu literele corespunztoare din alfabet,
rezultnd textul cifrat:
12 9 16 25 19 2 9 22
M J Q Z T C J W
Deoarece 5 21 = 105 1 (mod 26), obinem a 1 = 21. n acest caz, cheia de decriptare
este d = (21,10) i transformarea de decriptare este E(21,10) (c ) 21c + 10 (mod 26).
Aplicnd aceast funcie fiecrei litere din textul cifrat, se recupereaz textul clar (de
exemplu, E(21,10) (12) 21 12 + 10 262 2 (mod 26) ).
3. Sistemul de criptare Polybios. Acesta se pare c este cel mai vechi sistem de
criptare (anterior cifrului Cezar). Iniial, el a fost utilizat ca un sistem de semnalizare
maritim cu tore, fiind folosit n scop criptografic, mult mai trziu.
Se consider alfabetul latin din care se nltur o liter de frecven redus (n limba
englez se elimin n general litera J). Noi vom elimina pe W (rar folosit n limba
romn). Cele 25 de litere rmase n alfabet, le aezm ntr-un ptrat 5 5 numit ptratul
Polybios astfel:
A
B
C
D
E
A
A
F
K
P
U
B
B
G
L
Q
V
C
C
H
M
R
X
D
D
I
N
S
Y
E
E
J
O
T
Z
Pentru criptarea unui mesaj, fiecare caracter m este reprezentat printr-o pereche (a, b)
cu a, b { A, B, C , D, E} reprezentnd linia a i coloana b ocupat de m n ptrat. Fiecare
liter m din textul clar, va fi nlocuit cu literele ab din perechea corespunztoare.
n acest caz, observm c alfabetul spaiului mesajelor text A , al limbii latine din
care s-a nlturat o liter, difer de alfabetului corespunztor spaiului mesajelor cifrate
A = { AA, AB, AC ,..., EE} (ele au acelai numr de simboluri).
13
C:
F:
I:
J.
M.
P.
K.
N.
Q.
L.
O.
R.
S
V
Y
T
W
Y
U
X
n acest caz, fiecare liter este substituit cu un semn care corespunde liniilor care
ncadreaz fiecare caracter (inclusiv spaiul) mpreun cu punctele (dou, unul sau
niciunul). S considerm textul CAVALERII DE MALTA. Rezult:
C
A
:
Cifrurile simple de substituie peste blocuri de lungime mic nu asigur o bun securitate, chiar dac spaiul cheilor este de dimensiune mare. n cazul n care A este alfabetul latin, de exemplu, spaiul cheilor este de dimensiune 26! 4 1026. Cu toate acestea,
cheia de decifrare se determin prin studierea unei pri de dimensiune mic a textului
cifrat, deoarece frecvena literelor din textul clar se pstreaz n textul cifrat.
Chiar dac denumirea de criptanaliz este datorat lui William Friedman (n 1920),
primele studii cunoscute n domeniul criptanalizei dateaz nc din secolul al IX-lea i se
datoreaz marelui nvat arab Al-Kindi (cunoscut n Europa cu varianta latin a numelui,
Alkindus). El este considerat un pionier n dezvoltarea criptanalizei. n lucrarea sa,
pornind de la studierea textului Coranului, el ofer tehnici pentru spargerea cifrurilor de
substituie monoalfabetice care constau n analiza frecvenei pentru litere i grupuri de
litere n limba arab.
Analiza frecvenei se bazeaz pe dou caracteristici ale limbajului natural. n orice
limb, toate literele nu sunt folosite n mod egal. Astfel, unele apar mai rar, altele mai
frecvent. De asemenea, indiferent de natura unui text (scrisoare, document militar,
comentariu sportiv), suficient de lung (s spunem de 1000 de cuvinte), raportul n care
apar literele este aceeai.
Din acest motiv, pentru fiecare limb, este cunoscut frecvena de distribuie a
fiecrei litere ntr-un text. Pentru uurin, se grupeaz literele alfabetului n funcie de
frecven n clase cu frecven nalt, medie, sczut i foarte mic (litere rar ntlnite).
Astfel, n limba romn, cele mai des ntlnite litere sunt A, I, E, R, T, N; n limba englez
avem E, T, A, O, N, I, S iar n francez sunt E, A, I, S, T, N, R, etc.
14
Frecvena de apariie a literelor din textul cifrat poate fi comparat cu cea a literelor
din limbajul surs i ne concentrm atenia asupra grupului de litere din textul cifrat cu
frecvena cea mai mare. Cu ct textul cifrat este mai lung, cu att frecvena literelor
folosite n acesta se apropie de frecvena literelor folosite ntr-un text general.
Presupunem c se cunoate limba n care a fost scris textul clar i c el a fost criptat
folosind un cifru de substituie monoalfabetic, n acest caz, punem n coresponden litera
cu frecven maxim din textul cifrat cu litera cel mai des ntlnit ntr-un text arbitrar,
scris n acea limb. Astfel, dac literele C i K apar de cele mai multe ori ntr-un text
cifrat, scris n romn, atunci, cum cele mai frecvente litere dintr-un text scris n limba
romn sunt A, I, E, realizm toate corespondenele posibile:
Ee ( A) = C i Ee ( I ) = K ; Ee ( A) = C i Ee ( E ) = K ;
Ee ( A) = K i Ee ( I ) = C ; Ee ( A) = K i Ee ( E ) = C.
Dup ce identificm transformarea care convine, continum criptanaliza identificnd
anumite corespondene naturale (cuvinte scurte, unele cuvinte au sens doar pentru
anumite litere care se vor pune n coresponden cu cele necunoscute din text) sau
stabilim relaii ntre literele alfabetului, nefolosite nc, de frecven mare i literele
rmase din textul cifrat cu numr mare de apariii. ntr-un numr finit de pai, se ajunge
la recuperarea ntregului text clar.
De asemenea, se mai poate ine cont i de modul de asociere a vocalelor i consoanelor n limba surs ct i de cuvinte standard n care se repet literele (de exemplu, n
englez: soon, three, that).
Dac presupunem c un text scris n limba romn, suficient de lung, a fost criptat cu
o transformare de deplasare, atunci putem presupune c litera care apare n textul cifrat
de cele mai multe ori, s spunem M, provine din litera A, cu frecven maxim n limba
romn. Astfel, relaia Ee ( A) = M , n cazul nostru conduce la 12 0 + k (mod 26) i
astfel, k = 12 este o posibil cheie a cifrului.
Considerm acum c un text, scris n limba englez, a fost criptat printr-o transformare afin. Analiznd frecvena literelor din textul cifrat, observm c cele mai des
folosite litere sunt L i U. Putem presupune atunci c, L este n coresponden cu litera E
i U corespunde lui T. Rezult relaiile:
11 4a + b (mod 26) i 20 19a + b (mod 26).
Rezolvnd sistemul de congruene, gsim ca posibil cheie de criptare (a, b) = (11,19) , de
unde se determin cheia de decriptare d = (19,3).
2.2. Cifruri de substituie poligrafice
15
Y
I
C
N
K
D
P
A
O
M
W
U
X
G
J
Z
L
F
E
V
16
F
E
V
Z
L
H
T
B
S
M
C
N
K
Y
I
A
O
M
D
P
L
R
N
H
V
A
E
C
J
W
Y
S
D
K
X
F
T
G
M
Z
Cifrul Playfair rezist la atacuri bazate pe analizarea frecvenei literelor (dup cum
am vzut, o liter poate fi transformat n litere diferite), dar el este vulnerabil la atacuri
cu text clar ales.
Implementrile actuale folosesc reprezentarea binar a literelor i dup ce se obine
perechea criptat, ea se combin printr-un XOR, adunare modulo 2, cu perechea criptat
anterior.
Cifrul Hill este un exemplu de substituie t grafic. n acest caz, literele alfabetului
se nlocuiesc cu echivalenii lor numerici, deci n locul lui A = { A, B,..., X , Y , Z } vom
17
Textul clar este mprit n blocuri de lungime t (la nevoie, se completeaz ultimul
bloc pentru a obine lungimea dorit). Fie e = A = (aij ) M t ( 26 ), ( det( A), 26 ) = 1, cheia
de criptare. Fiecare bloc de mesaj clar m = ( m1m2 ...mt ) M este criptat cu transformarea
de criptare dat de c = Ee (m) ( m1m2 ...mt ) A (mod 26). Astfel, mesajul criptat corespunt
este d = A
( mod 26 ) iar
2 3
Pentru exemplificare, s alegem t = 2 i cheia e = A =
. Deoarece det( A) = 5,
1 4
( 5, 26 ) = 1, matricea A este inversabil mod 26. Rezult det( A) 21( mod 26 ) i cheia de
6 15
decriptare este d = A1 det( A)A
( mod 26 ) .
5 16
Dac textul clar este CIFRU, obinem blocurile CI, FR, UX (numrul de litere din text
fiind impar, am completat ultimul bloc cu un X). Trecem la echivalenii numerici
corespunztori literelor i forma final a blocurilor din textul clar devine:
2 8 5 17 20 23.
Pentru a obine textul cifrat, aplicm fiecrui bloc n parte transformarea de criptare
2 3
( c1c2 ) ( m1m2 )
( mod 26 ) . Astfel,
1 4
2 3
( 2 8)
(12 12 )( mod 26 ) ,
1 4
2 3
(1 5 )( mod 26 ) ,
1 4
2 3
( 20 23)
(11 22 )( mod 26 ) .
1 4
nlocuind echivalenii numerici cu literele corespunztoare, rezult blocurile MM BF
LW, deci textul cifrat este MMBFLW.
( 5 17 )
1, i = ( j )
prin aij =
. Criptnd blocul m = ( m1m2 ...mt ) printr-un cifru de permutare de
0, altfel
cheie S t , rezult c = ( c1c2 ...ct ) = ( m (1) m (2) ...m ( t ) ) , deci ci = m ( i ) , pentru 1 i t.
n acelai timp, dac aplicm transformarea de criptare corespunztoare unui sistem de
t
18
0 0 0 1 0 0
0 0 0 0 0 1
Ae =
.
0 0 0 0 1 0
1 0 0 0 0 0
0 0 1 0 0 0
Criptm acum blocul m = SECRET cu un cifru Hill. Astfel, aplicm transformarea de
criptare c1c2 c3c4 c5c6 = ( m1m2 m3 m4 m5 m6 ) Ae i rezult c = ESTERC , ca i n urma criptrii
folosind cheia de criptare e.
Criptanaliza cifrurilor de substituie poligrafice
Am vzut c cifrurile poligrafice sunt mai bune dect cele monoalfabetice deoarece
frecvena simbolurilor nu se mai pstreaz. Cu toate acestea, criptanaliza nu este cu mult
ngreunat.
S considerm c blocurile au lungime mic, t = 2 sau t = 3. n acest caz, dac tim
limba n care a fost scris textul clar, putem ine cont de informaiile furnizate de statistica
acestei limbi. Se va lua n considerare frecvena de apariie a diagramelor respectiv, a
trigramelor, ntr-un text. De exemplu, n limba englez, cele mai des ntlnite diagrame
sunt TH i HE iar THE, AND i THA sunt grupele de trei litere cu frecven maxim.
De exemplu, dac ntr-un text cifrat, scris n limba englez, cele mai frecvente grupe
de cte dou litere sunt TH i SL, presupunnd c cifrul folosit este unul Hill cu t = 2 ,
putem pune n coresponden TH cu TH i SL cu HE.
19 7 19 7
nlocuind literele cu echivalenii lor numerici rezult
A (mod 26)
18 11 7 4
1
19 7 19 7 2 3
i astfel, A
19
deoarece ambele matrice cunoscute din relaie nu sunt inversabile (valorile determinanilor nu sunt numere prime cu 26).
n cele mai multe cazuri, criptanalistul are o colecie de texte clare la care cunoate
criptarea. El alege un text clar a crui matrice asociat este inversabil, de exemplu
7 0
HARD cu matricea asociat M
(mod 26) pentru care tie criptarea RVLL.
17 3
17 21
Matricea asociat textului cifrat este C
(mod 26) . Astfel, rezult ecuaia ma 11 11
15 0
triceal C M A (mod 26). Holmes calculeaz mai nti M 1
(mod 26) i
19 9
2 3
apoi afl A M 1C
(mod 26).
1 4
2.3. Cifruri de substituie polialfabetice
n cazul acestor cifruri, substituia unui caracter variaz n text, n funcie de diferii
parametrii (poziie, context), ceea ce conduce la un numr mult mai mare de chei
posibile.
Dintre aceste scheme de criptare, cel mai cunoscut este cifrul Vigenre.
20
Cifrul poart numele baronului Blaise de Vigenre, diplomat la curtea regelui Henry
al III-lea. El ns a fost inventat de Giovan Battista Bellaso (n anul 1553), care a avut
ideea de a combina rezultatele cunoscute pn atunci cu folosirea unei chei, crend
conceptul modern de substituie polialfabetic. Acest cifru a fost considerat mult timp
unul dintre cele mai bune sisteme de criptare.
Un cifru Vigenre simplu de perioad t peste un alfabet cu q caractere necesit o
cheie cu t caractere e = k1k2 ...kt . Funcia ce transform textul clar m = m1m2 m3 ... n textul
cifrat c = c1c2 c3 ... se aplic pe fiecare caracter n parte, prin ci mi + ki (mod q ), unde
indicele i al lui ki este considerat modulo t (cheia este refolosit).
Astfel, cifrul Vigenre simplu utilizeaz t cifruri de deplasare definite de valorile ki ,
1 i t , fiecare fiind unul dintre cele q cifruri de deplasare posibile. ki se aplic caracterelor aflate pe poziiile i, i + t , i + 2t ,... . n general, cele t substituii sunt diferite.
Pentru decifrare, se folosete transformarea mi ci ki (mod q ), 1 i t.
De exemplu, s considerm A = { A, B,..., X , Y , Z }, deci q = 26. Alegem t = 3 i
cheia e = ( p1 p2 p3 ) definit prin: fiecare liter este dus prin p1 n litera aflat la trei
poziii la dreapta de aceasta, prin p2 n cea aflat cu 7 poziii la dreapta, i prin p3 n
litera aflat cu 10 poziii mai la dreapta. Cu alte cuvinte, k1 = 3, k2 = 7, k3 = 10.
Textul clar este mprit n blocuri de lungime trei. Fiecare liter este nlocuit cu
echivalentul su numeric.
Dac textul clar este STRICT SECRET, rezult
STR
ICT
SEC
RET
18 19 17 8 2 19 18 4 2 17 4 19
Fiecrui bloc m1m2 m3 i corespunde n textul cifrat blocul c1c2 c3 obinut prin
ci mi + ki ( mod 26 ) , 1 i 3. n cazul nostru, obinem:
21 0 1 11 9 3 21 11 22 20 11 3
VAB
LJD
VLW
ULD
Astfel, textul cifrat corespunztor este VABLJDVLWULD.
O form echivalent de a prezenta acest cifru este urmtoarea.
Deoarece literele din alfabetul A = { A, B,..., X , Y , Z } ( q = 26 ) se nlocuiesc cu echivalenii lor numerici, o cheie e K
K este un cuvnt avnd codificarea numeric k1k2 ...kt .
Presupunem ca i nainte c textul clar obinut nlocuind literele cu echivalenii lor numerici este m = m1m2 m3 ... . Transformarea de criptare, ci mi + ki (mod t ) (mod 26), conduce la
textul criptat c = c1c2 c3 ... . Pentru a cripta mesajul, se poate proceda astfel: se scrie pe un
rnd textul clar i sub el forma rezultat din echivalenii numerici corespunztori literelor.
Sub fiecare numr din textul de pe acest rnd se aeaz cte un numr din cheia e; cnd
cheia se termin (dup t numere), ea se reia ciclic. Pe linia urmtoare se face nsumarea
modulo 26 a numerelor de pe ultimele dou linii. Pe ultimul rnd se trec literele corespunztoare numerelor din rndul anterior, deci se obine textul cifrat.
21
T
19
7
0
A
R
17
10
1
B
I
8
3
11
L
C
2
7
9
J
T
19
10
3
D
S E C
18 4 2
3 7 10
21 11 22
V L W
R
17
3
20
U
E
4
7
11
L
T
19
10
3
D
Decriptarea se realizeaz la fel, scznd modulo 26 din echivalentul numeric al caracterului din textul criptat echivalentul numeric corespunztor din cheie.
O variant a sistemului Vigenre este sistemul Beaufort n care transformarea de
criptare este ci ki (mod t ) mi (mod 26), i 1. Sistemul Beaufort are avantajul c transformarea de decriptare coincide cu cea de criptare.
Dac aplicm secvenial r sisteme simple Vigenre, rezult un sistem numit Vigenre
compus. Revenind la notaiile iniiale, transformarea de criptare este dat de relaia
ci mi + ( ki1 + ki2 + ... + kir ) (mod q ), unde cheile k j , 1 j r , n general, au perioade
diferite, t j i indicele i al lui ki j (al i-lea caracter din k j ), este considerat modulo t j . De
fapt, acest sistem compus Vigenre este un sistem Vigenre de perioad [t1 , t2 ,..., tr ] .
Criptanaliza cifrurilor de substituie polialfabetice
c1 ct +1 c2t +1 ...
c2 ct + 2 c2t + 2 ...
... ...
... ...
ct c2t
c3t ...
Elementele de pe fiecare linie corespund uneia din cele t cifruri de deplasare
determinate de valorile ki , 1 i t. De exemplu, caracterele de pe prima linie au rezultat
n 1
din transformarea de criptare cts +1 mts +1 + k1 (mod 26), 0 s
.
t
Deci, dac s-ar cunoate lungimea t a cheii, criptanaliza cifrului simplu Vigenre se
reduce la criptanaliza a t cifruri de deplasare.
Una dintre metodele de determinare a lungimii cheii este metoda Kasiski. Aceast
metod a fost publicat de Friedrich Kasiski n 1863 (se consider c ea fost descoperit
independent de Charles Babbage, nc din 1846).
Metoda Kasiski se bazeaz pe faptul c segmentele de text clar care se repet, criptate
cu aceeai parte a cheii, genereaz n textul criptat segmente identice. Astfel, ne ateptm
22
ca numrul de caractere ntre capetele de nceput ale segmentelor din textul criptat care se
repet s fie egal cu un multiplu al lungimii cheii. Nu putem considera doar cazul ideal n
care calculm c.m.m.d.c.-ul distanelor care apar ntre segmentele identice deoarece astfel
de segmente pot aprea i ntmpltor. Pentru a reduce repetiia accidental a segmentelor
identice, este indicat s se gseasc segmente de text cifrat de lungime 4 (Kasiski a
propus ca lungimea minim a segmentelor s fie 3).
Examinarea Kasiski const n a determina toate perechile de segmente identice, a
calcula, n fiecare caz, distanele dintre acestea i a analiza factorii comuni ale acestor
distane. Cel mai mare factor care apare este (de cele mai multe ori) aproape sigur
lungimea cheii.
Numrul de litere ale cheii specific numrul de transformri de substituie (de cifruri
de deplasare). Caracterele din textul cifrat se mpart n t mulimi (completm o matrice cu
t linii, scriind pe coloane literele din text, n ordinea n care apar), fiecare corespunznd
unei substituii monoalfabetice.
Pentru fiecare (posibil) valoare gsit pentru t, vedem n care situaie frecvena de
apariie a literelor n grupurile monoalfabetice presupuse de noi (liniile din matrice) se
coreleaz cu frecvena dintr-un text scris n limba corespunztoare textului clar (dac nu
se cunoate limbajul surs, determinarea acestuia se face prin compararea frecvenei de
apariie a literelor din textul cifrat cu cea dintr-o limb care presupunem c a fost
folosit). Acea valoare va reprezenta lungimea cheii.
Grupele monoalfabetice rezultate (cifrurile de deplasare) se rezolv apoi individual,
folosind informaii suplimentare obinute din combinarea soluiilor (frecvena literelor, a
grupurilor de litere, diagrame, cuvinte posibile, etc.).
De exemplu, s presupunem c un criptanalist studiaz urmtorul text pe care l
presupune criptat cu cifrul simplu Vigenre:
DVLOEGOGLCGIWWAFRSCKARVSSRAAKRSTUHDAQL
NCJTSRUJVCWEAWKOHZTIEUARIQLNCJCIKAQVAGK
ASJTSGRWDAGKRCWAOLNSZPCVZWZCSCEPIERVMWY
AWVMWEEGTU
Textul este destul de scurt (126 litere) i el nu mai cunoate niciun text trimis anterior.
Folosind metoda Kasiski, Holmes gsete secvena QLNCJ care apare de dou ori;
distana dintre capete de nceput ale celor dou segmente este de 27. De asemenea, apar
dou cuvinte foarte asemntoare: AQLN i AOLN, avnd ntre ele distana 57.
Criptanalistul presupune c lungimea cheii este ( 27,57 ) = 3. Din acest motiv, rescrie
textul cifrat pe coloane de cte 3 elemente (3 grupe) i anume:
DOO CW FC RSASHQCS JWWHI AQCI QGSSWGCOSCWSPRWWWG
VE G GWRKVRKTDL J RVE K ZE RLJ KVKJGD KWLZVZCI VY V E T
LG L I A SA SARUANTUCA O TU INCAAATRA RANPZCEE MAM EU
Pentru fiecare linie n parte, stabilim frecvena de apariie a literelor. n cazul nostru:
A BCDE
Linia 1 2 0 6 1 0
Linia 2 0 0 1 2 4
Linia 3 11 0 3 0 3
FG
1 3
0 3
0 1
H
2
0
0
I
2
1
2
J
1
3
0
K
0
6
0
LM
0 0
3 0
2 2
23
NOPQR
0 3 1 3 2
0 0 0 0 4
3 1 1 0 3
ST
7 0
0 2
2 3
UVWXY
0 1 8 0 0
0 6 2 0 1
4 0 0 0 0
Z
0
3
1
n limba romn, (limbajul surs presupus de Holmes), literele cele mai frecvente
sunt A, E, I, care se afl la distane egale una de cealalt. Din acest motiv, vom cuta pe
fiecare linie, trei litere situate pe poziiile j , j + 4, j + 8 care au frecven maxim.
n a treia linie, alegerea este simpl, grupul A, E, I are 16 apariii (de 11 ori A, de 3 ori
E, de 2 ori I) din 42 posibile. Cel mai probabil, rezult k3 = 0.
n prima linie gsim grupele O, S, W i S, W, A, fiecare cu cte 18 apariii. n funcie
de variante, obinem k1 = 14 sau k1 = 18.
Pentru linia a doua, apar tot dou posibiliti i anume C, G, K cu 10 apariii sau R, V,
Z, cu 13 apariii. Valorile corespunztoare sunt k2 = 2 sau k2 = 14.
Rezult c pentru cheia cifrului Vigenre exist posibilitile: OCA, ORA, SCA sau
SRA. n general, cuvntul cheie are un neles semantic, pentru a fi mai uor de reinut. n
loc s verificm toate cele 4 chei gsite, mai nti ncercm cu cheile OCA sau ORA.
O verificare pentru cheia ORA, conduce la decriptarea corect a textului:
PELANGAPLOPIIFARASOTADESEAAMTRECUTMACUNOSTEAUVECINIITOTI
TUNUMAICUNOSCUTACEASTAESTEPRIMASTROFAAUNEIPOEZIICELEBRED
EMIHAIEMINESCU
O alt metod de determinare a lungimii cheii pentru un cifru Vigenre se bazeaz pe
noiunea de index de coincidene. Acest concept a fost definit n anul 1992 de ctre
Wolfe Friedman n lucrarea sa Coincidence and Its Applications in Cryptography.
Metoda sa a fost foarte ingenioas prin faptul c a tratat distribuia frecvenelor ca un
ntreg, aplicnd concepte din statistic.
Indexul de coincidene, IC, reprezint probabilitatea ca dou litere alese aleator
(dintr-un alfabet) s fie identice. Pentru a nelege mai bine teoria matematic ce st la
baza acestui concept, s considerm urmtorul exemplu:
Dac avem o cutie n care sunt cele 26 de litere din alfabetul latin (o singur dat
1
fiecare), probabilitatea de a scoate litera A (sau oricare alta) este de
. n cazul n care
26
mai adugm o cutie identic, probabilitatea de a scoate din fiecare cutie litera A (deci
1 1
perechea AA) este
. Probabilitatea de a scoate orice pereche de litere identice este:
26 26
1 1
1 1
1 1
1 1
+ + ... +
= 26
0, 0384.
26 26 26 26
26 26
26 26
Deci, pentru o mulime cu o distribuie uniform a literelor, IC = 0.0384. (Aceast
valoare se mai noteaz cu K r , constanta pentru distribuia de caractere aleatoare)
S presupunem acum c cele dou cutii sunt pline cu 100 de litere, fiecare n numr
egal cu frecvena de apariie a literei n limba respectiv (de exemplu, A de 8 ori, B odat,
C de 3 ori, etc., pentru limba englez). Probabilitatea de a scoate acum orice pereche de
litere identice este egal cu
8
8
1
1
3
3
+ ... 0, 0667.
100 100 100 100 100 100
Aceast constant reprezint indexul de coinciden pentru limba englez i se mai
notez K p , constanta pentru distribuia frecvenelor n textul clar.
24
n 1
= N . Numrul de perechi
i =0
f ( f 1)
N ( N 1)
sunt perechile ( ai , ai ) ,
, dintre care i i
2
2
IC ( x) =
C 2fi
i =0
CN2
n 1
f (f
i
1)
i =0
N ( N 1)
1
1
este IC = K r 26 =
= 0, 0384.
26
26
25
Probabilitate
56.25%
6.25%
18.75%
18.75%
26
Pereche
AA
BB
AB
BA
Probabilitate
18.75%
18.75%
56.25%
6.25%
fk j
f k j +1(mod 26)
,...,
f k j + 25(mod 26)
n1
n1
n1
piat de de distribuia de probabilitate p0 , p1 ,..., p25 a limbii surs.
25
Pentru 0 m 25 definim Fm =
i =0
pi fi + m
. Dac m j = k j , 1 j t , ne ateptm ca
n1
25
mai mic dect aceast valoare. Astfel, dup cel mult 25 de ncercri, se poate determina
kj.
27
28