Sunteți pe pagina 1din 20

Criptare cu cheie simetric

Cifruri bloc clasice


Considerm schema de criptare format din mulimea de transformri de criptare
{Ee e K } i mulimea corespunztoare de decriptri {Dd d K } cu K , spaiul
cheilor. Se spune c schema de criptare este (cu cheie) simetric dac pentru fiecare
pereche de chei (e, d ), este uor, din punct de vedere computaional s determinm d
tiind doar e i invers. De multe ori, avem chiar d = e, ceea ce motiveaz denumirea
acestor scheme de criptare.
Criptarea cu cheie simetric are o lung istorie. Majoritarea sistemelor inventate
nainte de anii 70 prezint acum doar interes istoric.
Spre exemplu, s considerm urmtoarea schem de criptare numit cifrul Cezar:
Fie A = { A, B,..., X , Y , Z } alfabetul latin. Pentru a fi criptat, un mesaj scris folosind
alfabetul latin (n limba englez, romn, etc.) este mprit n grupe de cte 5 litere
(gruparea literelor se face pentru a prentmpina recunoaterea unor cuvinte scurte
particulare). Dac lungimea mesajului nu este multiplu de 5, ultima grup se completeaz
corespunztor, eventual cu X. Astfel, M i C sunt mulimile formate din toate irurile
de 5 litere din A . Cheia e este aleas a fi o permutare a mulimii A. Pentru criptare, se
aplic cheia e, pe rnd, fiecrei litere. La decriptare, se aplic permutarea invers d = e 1
fiecrei litere din textul cifrat. Presupunem c e este permutarea care pune n coresponden fiecrei litere din alfabet, litera aflat cu trei poziii la dreapta, deci:
A
e=
D

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

Aceste cifruri permut simbolurile unui bloc.


Considerm o schem de criptare bloc cu cheie simetric n care lungimea blocurilor
este t. Fie K mulimea permutrilor de grad t. Pentru fiecare e K , definim funcia
de criptare Ee (m) = ( me (1) me (2) ...me (t ) ) unde m = ( m1m2 ...mt ) M. Mulimea tuturor aces-

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)

Fie A un alfabet de q simboluri i M mulimea tuturor irurilor de lungime t peste


A. Fie K mulimea permutrilor mulimii A. Pentru fiecare e K , definim funcia
de criptare
Ee (m) = ( e(m1 )e(m2 )...e(mt ) ) = ( c1c2 ...ct ) = c,

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

De exemplu, n cazul nostru, mesajul MESAGER devine JAPSBTO. n acest caz,


numrul cheilor devine 26! i rezist mai bine atacului de for brut.
2. Cifruri afine. Ele sunt o generalizare a cifrurilor de deplasare.
n cazul alfabetului latin A , considerm echivalenii numerici ai literelor. Fie m
echivalentul numeric al unei litere din textul clar, iar c echivalentul numeric al literei
corespunztoare din textul cifrat, 0 c, m 25. Transformarea de criptare este dat de
relaia c = Ee (m) am + b (mod 26) cu 0 a, b 25. Pentru ca transformarea de
decriptare s fie unic, (a, 26) = 1. Astfel, fiecare funcie de criptare este unic determinat
de cheia de criptare e = (a, b), spaiul cheilor fiind K = {(a, b) 0 a, b 25, (a, 26) = 1} .
Pentru decriptare, se folosete funcia invers Dd (c ) a 1c + a 1 (26 b) (mod 26), unde

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

Dac considerm textul CRIPTOGRAFIE, prin transformarea de criptare rezult


textul cifrat ACDCBDDADECEBBDCAABABDAE.
Pentru decriptare, se mparte textul cifrat n grupe de cte dou litere ab; fiecare liter
se nlocuiete cu litera aflat n ptrat pe poziia (a, b).
4. Sistemul Cavalerilor de la Malta. Ordinul Cavalerilor de la Malta folosea o
schem de criptare monoalfabetic bazat pe stilizarea unei cruci. Se consider careurile:
A: B:
D: E:
G: H:

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
:

Criptanaliza cifrurilor de substituie monoalfabetice

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

Spre deosebire de cifrurile simple de substituie, cifrurile poligrafice implic grupuri


de caractere care sunt substituite prin alte grupuri de caractere. De exemplu, secvene de
dou caractere din textul clar (diagrame) pot fi nlocuite prin alte diagrame.
Un exemplu clasic de cifru de substituie diagrafic este cifrul Playfair. El a fost
inventat de Sir Charles Wheatstone n anul 1854. Cu toate acestea, cifrul poart numele
baronul Lyon Playfair, prieten al inventatorului, cel care a susinut ca sistemul s fie
adoptat ca cifru oficial al Marii Britanii. Acest cifru a fost iniial respins pentru c a fost
considerat foarte complex (cnd Wheatstone s-a oferit s demonstreze c trei din patru
elevi ai colii din apropiere pot s nvee s l foloseasc n 15 minute, subsecretarul

15

Serviciului diplomatic a rspuns c este foarte posibil, dar nu va putea niciodat s i


nvee acest lucru pe ataai). Acest cifru a fost utilizat n cele dou rzboaie mondiale
(pentru a proteja informaii pe timp scurt) i prima soluie de decriptare a fost publicat n
1914 (de ctre locotenentul Joseph Mauborgne). n prezent, un computer l sparge n
cteva secunde.
Se construiete o diagram de substituie, aeznd 25 de litere ale alfabetului (n englez, s-a considerat I = J ; n general se renun la o liter de frecven minim, Q spre
exemplu, n limba romn) sub forma unei matrice de dimensiune 5 5.
De exemplu:
S
R
H
T
B

Y
I
C
N
K

D
P
A
O
M

W
U
X
G
J

Z
L
F
E
V

Aceast matrice reprezint att cheia de criptare ct i cea de decriptare.


Pentru nceput, se mparte textul clar n blocuri de cte dou caractere, m1m2 , ignornd spaiile. Lungimea textului da baz trebuie s fie par iar fiecare bloc trebuie s fie
format din caractere diferite. Dac aceste condiii nu sunt ndeplinite iniial, se introduce
o liter cu frecven redus (de exemplu X) ntre cele dou litere egale sau la sfritul
textului, ca ultim caracter.
Fiecare bloc m1m2 se cripteaz dup urmtoarele reguli, rezultnd blocul c1c2 :
Dac m1 i m2 se gsesc n matrice pe aceeai linie, c1 se definete ca fiind caracterul situat imediat la dreapta lui m1 i c2 , litera din dreapta lui m2 (prima coloan se
consider a fi coloana situat la dreapta ultimei coloane). De exemplu, NG se transform
n OE, iar EN n TO.
Dac m1 i m2 se gsesc n matrice pe aceeai coloan, c1 i c2 sunt literele
situate imediat sub m1 i m2 (se permut ciclic coloana cu o poziie n jos. De exemplu,
IK se transform n CY, iar OP n MA.
Dac m1 i m2 nu se gsesc n matrice pe aceeai linie sau coloan, ele determin
un dreptunghi (este posibil s fie chiar matricea iniial), fiind dou din colurile acestuia.
Celelalte dou coluri sunt c1 i c2 , unde c1 este caracterul situat n colul aflat pe aceeai
coloan cu m1. Ordinea este dat de ordinea liniilor pe care sunt aezate literele din textul
clar. De exemplu, literele I, G determin dreptunghiul cu colurile I, U, N, G. Atunci, cum
U este aezat pe aceeai linie cu I, blocul IG se transform n UN. La fel, GI se
transform n NU.
Dac considerm textul clar,
ACASA ACUM,
observm c la mprirea iniial n blocuri rezult un bloc cu litere egale AA. Vom
introduce ntre acestea litera X i regrupm literele. Rezult blocurile
AC AS AX AC UM.

16

innd cont de regulile de criptare, obinem blocurile


XA HD XF XA PJ,
deci textul cifrat corespunztor este
XAHDXFXAPJ.
Se observ c acelai caracter, n cazul nostru A, este criptat diferit, dup cum este
poziionat n matrice fa de caracterul pereche. n exemplul nostru, A a fost criptat cu X
i H.
Pentru decriptarea textului cifrat, se aplic aceleai reguli ca la criptare.
Orice permutare ciclic a liniilor i coloanelor matricei nu modific criptarea. De
exemplu, deplasnd cu dou poziii la dreapta i dou n sus, rezult cheia
X
G
J
W
U

F
E
V
Z
L

H
T
B
S
M

C
N
K
Y
I

A
O
M
D
P

care este echivalent cu cea iniial.


Pentru a pstra cheia n siguran, ea trebuie memorat. Deoarece acest lucru este
foarte dificil de realizat pentru o matrice oarecare, se prefer o fraz cheie cu neles.
Cum aceasta trebuie s aib toate literele diferite, n caz contrar, se elimin literele care
se repet. Literele se aeaz n matrice, iar locurile rmase sunt completate cu literele
rmase nefolosite din alfabet, n ordine alfabetic. De exemplu, dac alegem cheia
PLAYFAIR ESTE UN CIFRU DIAGRAFIC,
matricea va fi
P
I
U
B
O

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

considera A = 26 . Presupunem c lungimea blocurilor este t, deci M =C = ( 26 ) .


Spaiul cheilor de criptare este format din toate matricele inversabile (pentru c
decriptarea implic existena inversei) de dimensiune t, adic
K = A M t ( 26 ) ( det( A), 26 ) = 1 .
t

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

ztor, c = ( c1c2 ...ct ) C se obine calculnd ci m j a ji , 1 i t. Cheia de decriptare


j =1

este d = A

( mod 26 ) iar

m = Ed (c ) ( c1c2 ...ct ) A (mod 26) este funcia de decriptare.


1

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 )

Observaie. Un cifru de permutare este un cifru Hill. ntr-adevr, pentru orice


permutare S t se poare construi matricea de permutare A = ( aij ) M t ( 26 ) definit

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

criptare Hill, cu cheia A , rezult ci m j a ji = m (i ) , deci rezult acelai text cifrat.


j =1

18

Se observ, c pentru decriptare, cheia este matricea A 1 = A 1 .


S relum exemplul considerat la cifrurile de permutare. Atunci am ales t = 6 i cheia
1 2 3 4 5 6
e=
S 6 . Matricea corespunztoare acestei permutri este
5 1 6 2 4 3
0 1 0 0 0 0

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

(mod 26) este o posibil cheie.


7 4 18 11 1 4

Dac lungimea blocurilor crete, schemele de substituie polialfabetic rezist la


analiz statistic.
S considerm acum, tot pentru un cifru Hill, un exemplu de atac cu text clar ales. n
acest caz, criptanalistul cunoate criptarea unor texte selectate de el (tie deci dimensiunea blocurilor, de exemplu, 2) i caut matricea inversabil A (adic cheia).
Dac Holmes ar cunoate doar perechea MARE YKMP (text clar text cifrat), el nu
poate gsi cheia. ntr-adevr, nlocuind literele cu echivalenii numerici corespunztori, el
24 10 12 0
obine relaia

A (mod 26) din care nu se poate determina matricea A


12 15 17 4

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

Deoarece cifrurile simple de substituie implic o singur transformare asupra textului


clar, s-a cutat o variant n care s fie folosite mai multe aplicaii de substituie pe poriuni variate din textul clar.
Au rezultat astfel cifrurile de substituie polialfabetice, datorate lui Leon Battista
Alberti (cu toate c principiul era cunoscut de mult timp, el este considerat primul care a
creat un sistem de criptare polialfabetic numit cifrul Alberti, pentru care a folosit un disc
de cifrare).
n cel mai simplu caz, funciile de substituie se folosesc secvenial i apoi se repet;
deci, fiecrui caracter din textul clar i se va aplica una dintre transformri, n funcie de
poziia ocupat n irul surs. Astfel, deoarece se folosesc diferite aplicaii, acelai
caracter din textul clar este criptat n caractere diferite, n textul cifrat. n acest fel, aceste
sisteme rezist atacurilor ce folosesc analiza frecvenei literelor, spre deosebire de sistemele de substituie monoalfabetice.
Un cifru de substituie polialfabetic este un cifru bloc cu lungimea blocului t, peste un
alfabet A , n care:
Spaiul cheilor K este alctuit din toate mulimile ordonate de t permutri
1.
( p1 , p2 ,..., pt ) unde fiecare permutare pi este definit pe A.
2.

Criptarea mesajului m = ( m1m2 ...mt ) M

folosind cheia e = ( p1 , p2 ,..., pt )

este dat de Ee (m) = ( p1 (m1 ) p2 (m2 )... pt (mt ) ) .


3.

Cheia de decriptare asociat lui e este d = ( p11 , p2 1 ,..., pt 1 ) .

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

n exemplul considerat de noi, cheia este cuvntul DHK ( k1 = 3, k2 = 7, k3 = 10 ).


Obinem tabelul:
S
18
3
21
V

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

O tehnic general de criptanaliz a cifrurilor polialfabetice cu cheie care se repet, ca


de exemplu, cifrul simplu Vigenre, urmrete aflarea lungimii cheii.
S presupunem c, prin criptarea textului clar folosind cheia k1k2 ...kt , rezult textul
criptat c = c1c2 c3 ...cn . Scriem caracterele textului criptat ntr-o matrice cu t linii astfel:

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

S considerm acum cazul general al problemei.


Fie A = {a0 , a1 ,..., an1} alfabetul n care este scris textul cifrat x = c1c2 ...cN , text
care are N caractere. Notm cu fi , 0 i n 1, numrul de apariii (frecvena de apariie) al caracterului ai n textul cifrat, 0 i n 1. Astfel,

n 1

= N . Numrul de perechi

i =0

de litere din textul cifrat este

f ( f 1)
N ( N 1)
sunt perechile ( ai , ai ) ,
, dintre care i i
2
2

pentru un caracter ai fixat.


Definim indexul de coincidene IC ( x ) al lui x ca fiind probabilitatea ca dou
caractere alese la ntmplare din textul x s fie identice. Deci,
n 1

IC ( x) =

C 2fi
i =0

CN2

n 1

f (f
i

1)

i =0

N ( N 1)

De exemplu, pentru textul INDEX DE COINCIDENTE, obinem:


IC =

3 2(d ) + 2 1(c) + 4 3(e) + 3 2(i ) + 3 2(n) + 1 0( x ) + 1 0(t )


0.104
18 17

S notm cu pi probabilitatea de apariie a caracterului ai , 0 i n 1, ntr-un text.


Obinem astfel c probabilitatea ca dou elemente aleatoare s fie amndou egale cu ai
este pi 2 , 0 i n 1 (aceast afirmaie este adevrat pentru orice substituie monoalfabetic).
Folosind tabelul frecvenelor de apariie ale literelor n limbajul surs (n care este
n 1

scris textul), valoarea estimat pentru indexul de coincidene este IC ( x) pi 2 , adic


i =0

exact ceea ce am notat anterior cu K p . De exemplu, n limba romn, IC ( x ) 0, 0788 iar


pentru limba englez, am gsit IC ( x ) 0, 0667.
S presupunem c textul criptat (limbajul surs este limba romn) x = c1c2 ...cN l
aranjm ntr-o matrice cu t linii (t este un numr natural oarecare):
x1 = c1 ct +1 c2t +1 ...
x2 = c2 ct + 2 c2t + 2 ...
... ... ... ...
... ...
xt = ct c2t
c3t ...
Dac t este chiar lungimea cheii, atunci fiecare valoare IC ( x j ) trebuie s fie apropiat de valoarea aproximativ 0, 0788. n caz contrar, irul x j va fi mult mai aleator, fiind
obinut prin amestecul unor secvene de caractere criptate cu chei diferite.
Pentru o secven complet aleatoare, am stabilit c valoarea indexului de coincidene
2

1
1
este IC = K r 26 =
= 0, 0384.
26
26

25

De fapt, 0, 0384 IC ( x j ) 0, 0788.


Pentru a gsi cea mai probabil valoare a lungimii cheii, vom proceda astfel:
considerm mai multe valori pentru t. Pentru textul cifrat x = c1c2 ...cN , ncepem cu t = 1
i determinm numrul de apariii c j = c j +t , pentru 1 j N t. Se repet procedeul
pentru t = 2, t = 3, etc. i valorile gsite se trec ntr-un tabel sau ntr-un grafic. Perioada
cutat t , rezult innd cont c pentru valorile lui t care sunt multiplii de t , numrul de
coincidene este ct mai apropiat de ICmax = 0, 0788.
n concluzie, n loc s caute grupuri de litere care se repet, criptanalistul consider
dou copii ale mesajului pe care le aeaz una sub cealalt.
El deplaseaz mesajul aflat dedesubt cu o liter la dreapta, apoi cu dou litere la
dreapta, etc., i, de fiecare dat nregistreaz numrul de ori cnd aceeai liter apare una
sub cealalt n cele dou mesaje.
Numrul de coincidene crete rapid atunci cnd mesajul de dedesubt este deplasat
cu o distan egal cu un multiplu al lungimii cheii, pentru c literele adiacente sunt
transformate cu acelai cifru de deplasare.
De exemplu, s considerm un alfabet alctuit doar din dou litere A i B. Presupunem c n limbajul surs, litera A are frecvena de apariie de 75% iar litera B apare de
25% ori. Dac aezm dou texte scrise n acest limbaj unul sub cellalt, obinem pentru
cele 4 perechi urmtoarele probabiliti (pentru AA, probabilitatea este 0.752 = 0.5625 ):
Pereche
AA
BB
AB
BA

Probabilitate
56.25%
6.25%
18.75%
18.75%

Probabilitatea coincidenelor este 62.5% ( 56.25% pentru AA i 6.25% pentru BB).


S presupunem acum c ambele texte sunt criptate folosind cifrul de substituie care
nlocuiete A cu B i invers. Atunci, unde aveam nainte A, n ambele texte va fi B, etc.
Rezult tabelul
Pereche Probabilitate
AA
6.25%
BB
56.25%
AB
18.75%
BA
18.75%
Probabilitatea coincidenelor este aceeai, 62.5% ( 6.25% pentru AA i 56.25%
pentru BB).
Dac presupunem c doar un text a fost criptat cu cifrul de substituie menionat, n
textul criptat, litera A provine din litera B a textului clar, deci perechea AA provine din
litera A a textului clar i litera B a textului cifrat. Astfel, probabilitatea de apariie a
perechii AA este acum cea a perechii AB din cazul iniial. Procednd la fel, rezult tabelul

26

Pereche
AA
BB
AB
BA

Probabilitate
18.75%
18.75%
56.25%
6.25%

n acest caz, probabilitatea coincidenelor este de doar 37.5% ( 18.75% pentru AA i


18.75% pentru BB), mult mai mic dect n cazul anterior.
n cazul studiului nostru, se aplic acest raionament pentru textul cifrat considerat.
S considerm acum avem de decriptat textul cifrat:
QPWKA LVRXC QZIKG RBPFA EOMFL JMSDZ VDHXC XJYEB IMTRQ WNMEA IZRVK CVKVL
XNEIC FZPZC ZZHKM LVZVZ IZRRQ WDKEC HOSNY XXLSP MYKVQ XJTDC IOMEE XDQVS
RXLRL KZHOV

Gruparea n cinci caractere este doar o convenie telegrafic i nu are legtur cu


lungimile cuvintelor. Presupunem c textul este scris n limba englez i este criptat cu
cifrul Vigenre, cu o cheie de lungime mic.
Dac lungimea cheii se ntmpl s fie aceeai cu numrul de linii, atunci toate
literele dintr-o singur linie au fost criptate cu aceeai cheie de deplasare. Pentru diferite
valori ale lui t calculm IC-ul corespunztor fiecrei linii. Prin calcul, se observ c
pentru t = 5, indexul de coincidene este apropiat de 0, 0667. Dac valoarea t = 5 ar fi
cea corect pentru lungimea cheii de criptare, atunci indexul de coincidene pentru t = 10
ar fi i el apropiat de 0, 0667, ceea ce, n acest caz, se verific. Deci, vom considera t = 5
lungimea cea mai probabil a cheii.
n continuare, dup determinarea lungimii cheii, putem cuta efectiv cheia k1k2 ...kt .
Pentru aceasta, dac notm cu n1 lungimea secvenei x j (toate secvenele au aceeai
f 0 f1
f
, ,..., 25 . Aceast
n1 n1
n1
secven corespunde unui cifru de deplasare cu cheia k j , deci situaia ideal este cnd

lungime) distribuia de probabilitate a celor 26 de litere n x j este

distribuia de probabilitate a deplasrii

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

este ct mai apro-

pi fi + m
. Dac m j = k j , 1 j t , ne ateptm ca
n1

25

Fm pi 2 = 0, 0788, pentru limba romn. n cazul n care m j k j , Fm va fi cu mult


i =0

mai mic dect aceast valoare. Astfel, dup cel mult 25 de ncercri, se poate determina
kj.

27

n exemplul considerat, pentru a determina cheia, mprim textul n 5 linii. Pentru


fiecare coloan, j, putem s ncercm s determinm valoarea k j , alegnd echivalentul
numeric al literei pentru care se obine cea mai mare valoare Fm .
Fcnd calculele, se obine cheia EVERY care conduce la textul clar
MUST CHANGE MEETING LOCATION FROM BRIDGE TO UNDERPASS SINCE
ENEMY AGENTS ARE BELIEVED TO HAVE BEEN ASSIGNED TO WATCH
BRIDGE STOP MEETING TIME UNCHANGED XX

28

S-ar putea să vă placă și