Sunteți pe pagina 1din 41

Prelegerea 1

Noţiuni de bază ale criptografiei

1
2 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Bibliografie

1. Kahn, David - The Codebreakers, MacMillan Publishing Co, New


York, 1967
2. A. Menezes, P. Oorschot, S. Vanstome, Handbook of Applied Cryptog-
raphy
3. D. Stinton, Cryptography, Theory and Practice, Chapman & Hall/CRC,
2002
4. A. Salomaa, Criptografie cu chei publice, Ed. Militară, 1996
1.1. DEFINIŢII ŞI NOTAŢII PRELIMINARE 3

1.1 Definiţii şi notaţii preliminare


Criptografia este o componentă a unui domeniu numit securitatea informaţiei.

Obiective:
1. Confidenţialitate (privacy): proprietatea de a păstra secretul informaţiei,
pentru ca aceasta să fie folosită numai de persoanele autorizate.
2. Integritatea datelor: proprietatea de a evita orice modificare (inserare,
ştergere, substituţie) neautorizată a informaţiei.
3. Autentificare: Proprietatea de a identifica o entitate conform anumitor
standarde. Este compusă din
(a) Autentificarea unei entităţi;
(b) Autentificarea sursei informaţiei;
4. Non - repudierea: Proprietatea care previne negarea unor evenimente
anterioare.
Celelalte obiective legate de securitatea informaţiei (autentificarea mesajelor,
semnături, autorizare, validare, controlul accesului, certificare, anonimi-
tate, timestamping, confirmarea recepţiei, revocare) pot fi derivate din aces-
tea.
Definiţia 1.1 Criptografia este studiul metodelor matematice legate de se-
curitatea informaţiei, capabile să asigure confidenţialitatea, autentificarea
şi non-repudierea mesajelor, precum şi integritatea datelor vehiculate.
4 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Criptografie ı̂nseamnă scriere secretă (cryptos – ascuns şi grafie – scriere).


Domeniul cuprinde atât operaţia de criptare (cifrare) a unui text, cât şi
eventualele ı̂ncercări de descifrare şi de aflare a cheii de criptare.

În unele lucrări, cadrul general de lucru este numit criptologie, termenul
de criptografie desemnând numai operaţia de cifrare şi descifrare legală.

Situaţia generală de care se ocupă criptografia este următoarea:

Expeditor - Destinatar
6

Criptanalist

Expeditorul (Alice) doreşte să trimită destinatarului (Bob) un mesaj


printr-un canal de comunicaţie, canal cu un grad ridicat de nesiguranţă1 .
Această insecuritate o prezintă un adversar criptanalist (Oscar/Eve)
care doreşte – din diverse motive – să cunoască şi – eventual – să modifice
conţinutul mesajului, deşi acesta nu ı̂i este destinat.

Această confidenţialitate solicitată de Alice şi Bob se rezolvă de obicei


prin transformarea mesajului ı̂n aşa fel ı̂ncât el să nu poată fi ı̂nţeles de
nici o persoană care l-ar putea intercepta. Transformarea respectivă se
numeşte criptare, iar operaţia inversă – decriptare.

1
Canalul de comunicaţie poate suferi şi perturbări de ordin fizic: zgomote, ştergeri, demodulări etc;
studiul detectării şi corectării erorilor de de transmitere a informaţiei constituie tema altui domeniu,
numit Teoria Codurilor.
1.1. DEFINIŢII ŞI NOTAŢII PRELIMINARE 5

În general, hackerul Oscar poate avea două tipuri de comportament:


• Pasiv: el se mulţumeşte să intercepteze mesajele şi să le citească,
folosindu-le ı̂n scop personal;

• Activ: doreşte să modifice mesajele, să le schimbe ordinea sau să in-
troducă propriile sale mesaje, ı̂n intenţia de a fi acceptat de Bob drept
Alice.

În acest caz, mesajul va trebui să verifice – ı̂nafară de condiţia de


confidenţialitate – şi pe cea de autenticitate: Bob trebuie să fie sigur
că mesajul primit a fost de la Alice.

În unele cazuri, problema se poate complica prin faptul că există anu-
mite mesaje pe care Alice neagă că ı̂i aparţin, deşi le-a trimis chiar ea.
În acest caz trebuie prevăzute anumite protocoale care să ı̂ntărească
proprietăţile de autentificare; proprietăţi care să o silească pe Alice să
ı̂şi recunoască propriile mesaje (non-repudiere).

În general, ı̂ntr-un triplet (expeditor, destinatar, criptanalist) nimeni nu


are ı̂ncredere ı̂n nimeni. Variantele studiate ı̂n care Alice are ı̂ncredere ı̂n
Bob sau invers, sunt mult mai simple şi – de aceea – extrem de rare.
6 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Terminologia folosită uzual:

Un mesaj ı̂n forma sa originară este numit text clar.


Expeditorul rescrie acest mesaj folosind o metodă cunoscută numai de
el (eventual şi de destinatar); spunem că el criptează (sau cifrează)
mesajul, obţinând un text criptat.
Destinatarul primeşte textul criptat (cifrat) şi ı̂l decriptează ştiind
metoda folosită pentru criptare.

Algoritmul care realizează operaţiile descrise se numeşte sistem de


criptare.
Definiţia 1.2 Un sistem de criptare este o structură (P, C, K, E, D), unde:
• P= {w | w ∈ V ∗ } este mulţimea ”textelor clare”, scrise peste un
alfabet nevid V (uzual V = {0, 1}).
• C= {w | w ∈ W ∗ } este mulţimea ”textelor criptate”, scrise peste un
alfabet nevid W (uzual W = V ).
• K este o mulţime de elemente numite chei.
• Fiecare cheie K ∈ K determină o metodă de criptare eK ∈ E şi o
metodă de decriptare dK ∈ D.
eK : P−→ C şi dK : C−→ P sunt funcţii cu proprietatea
∀m ∈ P, dK (eK (m)) = m

În general se consideră


C= {α | ∃m ∈ P, ∃k ∈ K, α = eK (m)}

Funcţia eK este evident injectivă (condiţia de injectivitate nu este obliga-


torie pentru funcţia de decriptare dK ); dacă eK este bijectivă (şi deci
dK = e−1
K ), sistemul de criptare se numeşte ”simetric”.
1.1. DEFINIŢII ŞI NOTAŢII PRELIMINARE 7

Pentru ca un sistem de criptare să fie considerat bun, trebuie ı̂ndeplinite


trei criterii (enunţate de Francis Bacon ı̂n sec. XV II):

1. Fiind date eK şi α ∈ P, este uşor de determinat eK (α);


2. Fiind date dK şi w ∈ C, este uşor de determinat dK (w);
3. α este imposibil de determinat din w, fără a cunoaşte dK .

Ultimul criteriu defineşte – sub o formă vagă – ideea de ”securitate” a


sistemului.

La aceste criterii, Bacon adăuga şi o a patra regulă:


4 Textul criptat trebuie să fie un text banal, fără suspiciuni.

Această condiţie este utilizată astăzi doar de un subdomeniu strict al


criptografiei, numit steganografie.
8 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

În termeni de complexitate, prin ”uşor” se ı̂nţelege folosirea unui al-


goritm polinomial de grad mic – preferabil algoritm liniar; o problemă se
consideră ”imposibilă” dacă pentru rezolvarea ei nu se cunosc decât algo-
ritmi de complexitate exponenţială.
Întreaga disciplină numită ”criptografie” se bazează pe o conjectură
notată prescurtat P6= N P (Aceasta este prima din cele cinci probleme ale
mileniului, pentru rezolvarea cărora se acordă premii de câte un milion
dolari.)
P reprezintă clasa problemelor rezolvabile prin algoritmi a căror com-
plexitate este mărginită superior de o funcţie polinomială ı̂n lungimea
datelor de intrare. Modelul standard de calculabilitate este maşina Turing.
N P este clasa problemelor rezolvabile prin algoritmi nedeterministic
polinomiali (care sunt incluşi ı̂n algoritmii de complexitate cel puţin expo-
nenţială).
Evident, P⊆ N P, dar se pare că problema egalităţii este nedecidabilă
(ı̂n termeni matematici).
http://www.win.tue.nl/ gwoegi/P-versus-NP.htm

n f (n) = n f (n) = n log n f (n) = n2 f (n) = n3 f (n) = 2n


10 0, 01µs 0, 03µs 0, 1µs 1µs 1µs
20 0, 02µs 0, 09µs 0, 4µs 8µs 1ms
30 0, 03µs 0, 15µs 0, 9µs 27µs 1sec
40 0, 04µs 0, 21µs 1, 6µs 64µs 18, 3min
50 0, 05µs 0, 28µs 2, 5µs 125µs 13zile
100 0, 1µs 0, 66µs 10µs 1ms 4 ∗ 1013 ani
1.000 1µs 9, 96µs 1ms 1s 32 ∗ 10283 ani
10.000 10µs 130µs 100ms 16, 67min −
100.000 100µs 1, 66ms 10s 11, 57zile −
1.000.000 1ms 19, 92ms 16, 67min 31, 71ani −
1.1. DEFINIŢII ŞI NOTAŢII PRELIMINARE 9

Exemplul 1.1 Sistemul de criptare Cezar:


ABCDEFGHIJKLMNOPQRSTUVWXYZ
Fie k un număr ı̂ntreg din intervalul [0, 25]. El se va numi ”cheie de
criptare”. Rescriem alfabetul latin permutat ciclic, ı̂ncepând ı̂nsă cu litera
având numărul de ordine k (litera A are numărul de ordine 0). Această
nouă scriere o aşezăm sub prima scriere, astfel (am presupus k = 2):
ABCDEFGHIJKLMNOPQRSTUVWXYZ
CDEFGHIJKLMNOPQRSTUVWXYZAB
Text clar: NIMIC NOU.
Se aşează sub fiecare literă a acestui text, litera aflată pe linia a doua
din tabelul de sus, astfel:
NIMICNOU
PKOKEPQW
Textul criptat obţinut este P KOKEP QW (din motive suplimentare de
securitate, spaţiile dintre cuvinte se ignoră de obicei).
La primirea textului, Bob – care ştie că este vorba de sistemul de criptare
Cezar – va proceda astfel: el cunoaşte (fiind destinatar legal) cheia de
criptare ek .
Cheia sa de decriptare este dk = e26−k .
Pe baza ei Bob va putea construi cele doua linii ale tabelului, după care
va proceda ca Alice: scrie textul criptat pe prima linie, iar pe a doua linie
determină literele corespunzătoare, conform tabelului.
În cazul k = 2, cheia este e26−2 = e24 , iar tabelul (litera 24 corespunde
lui Y) este
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YZABCDEFGHIJKLMNOPQRSTUVWX
Literele P KOKEP QW determină pe a doua linie textul N IM ICN OU .
10 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Rescriem sistemul Cezar ı̂n termenii Definiţiei 1.2. Deoarece textele


clare şi cele criptate folosesc alfabetul latin, vom efectua ı̂n prima etapă
o operaţie de ”codificare”: asociem literelor numere ı̂ntregi din intervalul
[0, 25]:
A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12
N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25

În acest fel putem opera matematic pe un inel finit foarte simplu: Z26 . Vom
avea
P = C = K= Z26 . Pentru un K ∈ K ales arbitrar,

eK (m) = m + K (mod 26)

şi
dK (α) = α − K (mod 26)
1.1. DEFINIŢII ŞI NOTAŢII PRELIMINARE 11

Definiţia 1.3 Procesul de determinare a unei chei K folosind un text


criptat α (asociat eventual cu alte informaţii auxiliare) se numeşte ”crip-
tanaliză”.

Deci decriptarea şi criptanaliza au ı̂n final acelaşi scop: aflarea textului
clar. Diferenţa constă ı̂n faptul că ı̂n criptanaliză el trebuie aflat fără a şti
cheia de decriptare.

Există o ”regulă de aur” a creatorilor de sisteme de criptare:


Nu subestimaţi niciodată pe criptanalist.
care s-a verificat din punct de vedere istoric pentru toate sistemele create
până ı̂n prezent: acestea sau au fost sparte sau trebuie să se revizuiască
periodic pentru a rezista atacurilor permanente ale intruşilor.
12 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Să studiem puţin poziţia unui criptanalist (Oscar). Se presupune că el


are la dispoziţie facilităţi de calcul excelente, adesea superioare celor de
care dispun cei doi parteneri Alice şi Bob.

Mai mult, se poate considera că Oscar cunoaşte sistemul de criptare.


S-a constatat că – practic – acest lucru se ı̂ntâmplă totdeauna. Ce nu
cunoaşte ı̂nsă criptanalistul este cheia K ∈ K.

Cel mai simplu atac constă ı̂n parcurgerea tuturor cheilor posibile şi
verificarea textului criptat, până se găseşte cheia corectă. Este atacul prin
forţă brută şi el reuşeşte totdeauna, pentru că există ı̂ntotdeauna o cheie
ı̂n K, care a folosit la criptare. Deci, ı̂n cazul când numărul cheilor posibile
este mic, această cheie se poate afla foarte uşor după un număr finit de
ı̂ncercări.
De aceea sunt folosite obligatoriu sisteme de criptare cu card(K) foarte
mare.

Pentru o cheie care ocupă n biţi sunt necesare ı̂n general 2n căutări
(dacă nu există nici o informaţie suplimentară). O extindere a lungimii
cheii la n + 1 biţi dublează deci spaţiul de căutare.
În momentul de faţă, tehnica de calcul oferă atacuri prin forţă brută
eficiente pentru cheile de lungimi mai mici de 128 biţi; aşa că sistemele de
criptare actuale folosesc ı̂n general chei de 1024 biţi sau chiar mai mult.
(O excepţie o constituie sistemele bazate pe curbe eliptice, datorită
aparatului matematic special).
1.1. DEFINIŢII ŞI NOTAŢII PRELIMINARE 13

În general, un criptanalist este pus ı̂n faţa următoarelor situaţii, care ı̂i
solicită strategii diverse de urmat:
1. Ştie numai textul criptat w; ı̂n acest caz atacurile sunt direct legate
de lungimea textului.
În sisteme simple – cum este Cezar – sunt suficiente texte scurte,
pentru că o singură potrivire produce textul - clar. Pentru sistemele
mai evoluate, este necesară o lungime mai mare a textului criptat.
Metodele de criptanaliză folosesc diverse conjecturi şi informaţii sta-
tistice relative la alfabetul textului - clar, la frecvenţa apariţiei carac-
terelor etc.
2. Ştie cel puţin o pereche de caractere (text clar, text criptat); din
cunoaşterea câtorva perechi (x, eK (x)) cu x ∈ V criptanalistul va
ı̂ncerca să decripteze ı̂ntregul text criptat interceptat.

Exemplul 1.2 La sistemul de criptare Cezar, o singură pereche


(a, eK (a)), dezvăluie imediat cheia şi – implicit duce la decriptare.

Exemplul 1.3 Aceasta a fost situaţia ı̂n care s-a aflat orientalistul
francez Champollion când a descifrat hieroglifele,folosind piatra de la
Rosetta (http://en.wikipedia.org/wiki/Rosetta stone)

3. Criptanalistul cunoaşte criptarea unor texte clare selectate de el; este


atacul cu text clar ales, considerat ı̂n majoritatea studiilor de crip-
tanaliză.
4. Ştie cheia de criptare; acum Oscar va cunoaşte cheia eK şi ı̂ncearcă să
determine dK ı̂nainte de interceptarea mesajelor criptate.
Aceasta este situaţia tipică sistemelor de criptare cu cheie publică:
cheia de criptare eK este cunoscută public cu mult ı̂nainte de a fi
14 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

folosită pentru criptare. Deci criptanalistul are la dispoziţie destul de


mult timp pentru prelucrarea ei şi orice clarificare ı̂n perioada când
timpul este ”ieftin” are o valoare deosebită; după ce se primesc mesaje
criptate, timpul devine scump, şi el trebuie să fie scurtat cât mai mult.
1.1. DEFINIŢII ŞI NOTAŢII PRELIMINARE 15

Exemplul 1.4 Sistemul de criptare Hill (1929).


Fie d ≥ 2 un număr ı̂ntreg fixat. Se definesc
P= C= (Z26 )d , K= {M | M ∈ Md (Z26 ), det(M ) 6= 0}.

Textul clar w se ı̂mparte ı̂n blocuri de lungime


d : w = α1 α2 . . . αn , |αi | = d.
Textul criptat va fi x = β1 β2 . . . βn unde
βi = eM (αi ) = αi · M (mod 26), (1 ≤ i ≤ n).

Pentru decriptare se foloseşte relaţia dM (βi ) = βi · M −1 (mod 26).


 
3 3
Să luăm de exemplu d = 2 şi cheia M =  , cu inversa
 
2 5
15 17 
M −1 =  .
20 9
Dacă textul clar este w = F RAC, vom avea
α1 = (F R) = (5 17), α2 = (A C) = (0 2)
Din relaţiile
 
3 3
β1 = α1 · M (mod 26) = (5 17) ·   = (23 22) = (X W )
2 5
 
3 3
β2 = α2 · M (mod 26) = (0 2) ·   = (4 10) = (E K)
2 5
se obţine textul criptat x = XW EK.
16 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Să ne situăm acum pe poziţia lui Oscar: presupunem că am găsit di-
mensiunea d = 2 şi ı̂ncercăm să aflăm matricea M (sau – echivalent –
M −1 ), ştiind perechea (text clar, text criptat)= (F RAC, XW EG).
 
a b
Oscar trebuie să afle matricea M =   cu a, b, c, d ∈ {0, 1, . . . , 25},
    
c d
5 17 a b 23 22 
astfel ca   ·  = .
0 2 c d 4 10  
5 17 
Deci Oscar trebuie să afle inversa lui A =  . Cum det(A) = 10
0 2
şi cmmdc(10, 26) > 1 =⇒ 10−1 (mod 26) nu există; deci A nu este
inversabilă.

Să presupunem acum că Oscar lucrează ı̂n ipoteza (3); alege un text clar
a cărui matrice este inversabilă şi ı̂i află
 criptarea.
 Fie BRAD acest text
1 17 
clar, a cărui matrice asociată este A =  . Oscar solicită criptarea
0 3  
11 10
lui BRAD şi primeşte LKGP – de matrice B =  . Deci el
6 15
dispune de perechea (BRAD, LKGP ).
 
1 3
Oscar detemină ı̂ntâi A−1 =  . Apoi, din ecuaţia A · M = B, va
0 9
găsi soluţia
     
−1 1 3 11 10 3 3
M =A ·B =  ·  = 
0 9 6 15 2 5
1.2. SISTEME SIMETRICE DE CRIPTARE 17

1.2 Sisteme simetrice de criptare


În general, sistemele de criptare clasice se numesc şi sisteme simetrice:
odată cu aflarea cheii de criptare eK , cheia de decriptare dK se obţine
imediat, fiind funcţia inversă.
Exemplul 1.5 În Exemplul 1.1, la sistemul Cezar dK = e26−K este cheia
de decriptare pentru cheia de criptare eK .
Sistemele de criptare simetrice se ı̂mpart ı̂n două clase mari:
1. cifruri de permutare
2. cifruri cu substituţie
18 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

1.2.1 Cifruri de permutare


Textul clar se ı̂mparte ı̂n blocuri de n (n ≥ 2) caractere, după care fiecărui
bloc i se aplică o permutare fixată.
Exemplul  1.6 Săpresupunem că vom lua drept cheie de criptare per-
1 2 3
mutarea  . Atunci un text clar, de exemplu
2 1 3
FLOARE ALBASTRA
se ı̂mparte ı̂n grupuri de căte trei caractere (s-a considerat şi caracterul
spaţiu, notat )
FLO ARE AL BAS TRA
Textul criptat va fi
LFO RAE A L ABS RTA
sau – eliminând grupările, LFORAEA LABSRTA.
1.2. SISTEME SIMETRICE DE CRIPTARE 19

Exemplul 1.7 Sistemul Richelieu.


Fie cartonul 6 × 6, ı̂n care zonele haşurate constituie găuri.

Vrem să criptăm textul


EMINESCU A FOST UN MARE POET NATIONAL
Vom scrie acest text sub forma unui tabel 6 × 6:
E M I N E S
C U A F
O S T U N
M A R E P
O E T N A
T I O N A L
Aplicând cartonul rămân vizibile 9 caractere: MNS TA AN
Rotim cartonul cu 90o ı̂n sensul acelor de ceasornic.

Aşezând acum peste text, rămân vizibile caracterele F MPTNIL (primul


caracter a fost un spaţiu şi l-am marcat cu pentru a-l face vizibil).
La a treia rotire a cartonului se obţine similar textul ICSUEETOA, iar
la a patra – EEUAOURO
20 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Deci textul criptat este


MNS TA AN F MPTNILICSUEETOAEEUAOURO
Operaţia de decriptare se realizează similar.
1.2. SISTEME SIMETRICE DE CRIPTARE 21

Definiţia 1.4 Fie n un număr natural nenul. Un cifru de permutare este


un sistem (P, C, K, E, D) unde P= C= (Z26 )n , K= Pn (mulţimea per-
mutărilor de n elemente).
Pentru o cheie (permutare) π

eπ (a1 a2 . . . an ) = aπ(1) aπ(2) . . . aπ(n)

dπ (b1 b2 . . . bn ) = bπ−1 (1) bπ−1 (2) . . . bπ−1 (n)

Lema 1.1 Un cifru de permutare este un sistem de criptare Hill.


22 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Cifruri de substituţie

Se ı̂nlocuieşte fiecare caracter din V cu alt caracter (din W ).

Există două clase mari de cifruri de substituţie:


1. Sisteme monoalfabetice
2. Sisteme polialfabetice

1.3 Sisteme de criptare monoalfabetice


Substituie fiecare caracter cu alt caracter – totdeauna acelaşi, indiferent de
poziţie.

Atunci când cele două alfabete coincid (V = W ), sistemele monoalfa-


betice sunt cazuri particulare de cifruri de permutare.
1.3. SISTEME DE CRIPTARE MONOALFABETICE 23

1.3.1 Sistemul de criptare Cezar


Odată stabilită cheia de criptare eK , fiecare caracter cod x se ı̂nlocuieşte
prin caracterul cod x + k (mod 26).
Decriptarea se realizează după formula dK (x) = x − k (mod 26).

Observaţia 1.1 În cartea sa ”De bello gallico”, Cezar aminteşte de un


sistem de criptare, fără să dea detalii. Mai tarziu, Suetoniu – ı̂n ”Viata
lui Iuliu Cezar” descrie sistemul.
Cezar folosea sistemul ı̂nlocuind literele romane cu cele greceşti şi folosea
deplasarea k = 3.
Nepotul lui Cezar, ı̂mpăratul Augustus a utlizat acelaşi sistem, cu k = 1.
Sistemul Cezar a fost utilizat mult timp. Armata rusă apela frecvent
la el ı̂n 1915, ca ı̂nlocuitor pentru sistemele sale proprii de criptare, prea
sofisticate la nivelul trupelor de câmp.
Un sistem Cezar cu k = 13 este inclus ı̂n ROT 13, implementat pe
sistemele UNIX.

Cezar este un sistem generat de permutările ciclice din P26 . Fiind numai
26 chei posibile, el este extrem de vulnerabil la atacul prin forţă brută.

Variantă: sistem Cezar cu cheie:


Se consideră un cuvânt (cheie), preferabil cu toate caracterele distincte
(ı̂n caz contrar, literele identice se folosesc doar la prima apariţie).
Acest cuvânt se aşează la ı̂nceputul alfabetului.
După ce se termină, şirul de completează cu literele care nu existau ı̂n
cuvântul cheie, ı̂n ordine alfabetică.

Cuvânt cheie M ART OR.


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
M A R T O B C D E F G H I J K L N P Q S U V W X Y Z

STUDENT – QSUTOJS, ARGINT – MPCEJS.


24 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Sistemul Cezar cu cheie rezistă mai bine la atacul cu forţă brută, numărul
cheilor fiind acum card(P26 ) = 26!.
1.3. SISTEME DE CRIPTARE MONOALFABETICE 25

1.3.2 Sistemul de criptare afin


P = C= Z26 , K= {(a, b) | a, b ∈ Z26 , cmmdc(a, 26) = 1},
iar funcţiile de criptare şi decriptare (pentru o cheie K = (a, b)) sunt
eK (x) = ax + b (mod 26), dK (y) = a−1 y + a−1 (26 − b) (mod 26)
Condiţia ca a să fie prim cu 26 asigură existenţa lui a−1 ı̂n Z26 .
Pentru a = 3, b = 5 funcţia de criptare este eK (x) = 3x + 5, care poate
fi reprezentată prin tabelul:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
5 8 11 14 17 20 23 0 3 6 9 12 15 18 21 24 1 4 7 10 13 16 19 22 25 2

sau – scris direct pentru caractere


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
F I L O R U X A D G J M P S V Y B E H K N Q T W Z C

PRIMAVARA TARZIE – YEDPFQFEF KDECDR.


Deoarece 3−1 = 9 (mod 26), decriptarea se realizează matematic folosind
funcţia dK (x) = 9x + 7
(sau – practic – inversând cele două linii ale tabelului de mai sus).
Condiţia cmmdc(a, 26) = 1 asigură injectivitatea aplicaţiei eK .

De exemplu, pentru eK (x) = 10x + 1, A şi N se transformă ambele ı̂n


B, iar O nu apare ca imagine ı̂n alfabetul substituţiei.
Spaţiul cheilor K: O cheie K ∈ K este determinată de valorile ı̂ntregi
(a, b) cu (a, 26) = 1. Sunt posibile 12 valori pentru a:
1, 3, 5, 7, 9, 11, 15, 19, 21, 23, 25
Pentru b sunt posibile 26 valori, care se iau independent de a, cu singura
excepţie a = 1, b = 0 (care se exclude deoarece nu conduce la nici o
criptare).
Deci card(K) = 311.
26 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

1.3.3 Sistemul de criptare Polybios


Polybios (istoric grec mort cu 30 ani ı̂naintea naşterii lui Cezar).
Iniţial acesta a fost doar un sistem maritim de semnalizare cu torţe;
ulterior i s-a dat o semnificaţie criptografică.
Se foloseşte alfabetul latin, din care eliminam o literă de frecvenţă cât
mai redusă; de exemplu W . Cele 25 litere rămase le aşezăm ı̂ntr-un pătrat
5 × 5 (numit careu Polybios) ı̂n felul următor:

A B C D E
A A B C D E
B F G H I J
C K L M N O
D P Q R S T
E U V X Y Z

În operaţia de criptare, fiecare caracter a va fi reprezentat printr-o pereche


(x, y) (x, y ∈ {A, B, C, D, E}) care dau linia respectiv coloana pe care se
află a.
Astfel, textul clar MERGEM ACASA este criptat ı̂n
CCAEDCBBAECCAAACAADDAA.
Sistemul de criptare Polybios este o substituţie monoalfabetică cu alfa-
betul W = {AA, AB, AC, . . . , EE} de 25 caractere.

Variante ale sistemului Polybios: Dacă se folosesc drept coordonate


cifrele 1, 2, 3, 4, 5 ı̂n loc de A, B, C, D, E, sistemul a fost folosit ı̂n peni-
tenciarele ruseşti (alfabetul cirilic are 33 litere, deci ı̂n acest caz s-a utilizat
un careu 6×6) şi de către prizonierii americani din Vietnam. A fost utilizat
de asemenea ı̂n cadrul altor sisteme de criptare, cum ar fi sistemul nihilist,
cifrul ADFGVX (utilizat de armata germană ı̂n primul război mondial)
sau sistemul Bifid, inventat de Dellastell ı̂n 1901.
1.3. SISTEME DE CRIPTARE MONOALFABETICE 27

1.3.4 Sistemul cavalerilor de Malta


Sistem de criptare monoalfabetic bazat pe stilizarea unei cruci.
A: B: C: J. K. L. S T U
D: E: F : M. N. O. V W X
G: H: I: P. Q. R. Y Z

DUPA DOUAZECI DE ANI

: . : : . : : : : : : : . :
28 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

1.4 Criptanaliza sistemelor de criptare monoalfabet-


ice
Frecvenţa de apariţie a caracterelor ı̂n text.
Dacă un text criptat este suficient de lung şi se cunoaşte limba ı̂n
care este scris textul clar, sistemul poate fi spart printr-un atac bazat pe
frecvenţa apariţiei literelor ı̂ntr-o limbă.
Cu cât un text criptat este mai lung, cu atât frecvenţa literelor folosite se
apropie de această ordonare generală. O comparare ı̂ntre cele două relaţii
de ordine (cea a caracterelor din textul criptat şi cea a literelor din alfabetul
limbii curente) conduce la realizarea câtorva corespondenţe (literă text clar
– literă text criptat), ceea ce stabileşte ı̂n mod univoc cheia de criptare.
Pentru sistemul Cezar este suficientă stabilirea unei singure perechi;
pentru sistemul afin trebuiesc două perechi etc.
Pentru limba română, un tabel al literelor cele mai frecvent ı̂ntâlnite
este
Literă Frecvenţă
A 13, 04 % Literă Frecvenţă
I 12, 89 % L 4, 58 %
E 11, 75 % O 3, 85 %
R 7, 39 % D 3, 68 %
T 6, 62 % M 3, 33 %
N 6, 44 % P 2, 91 %
U 6, 44 % F 1, 50 %
S 5, 50 % V 1, 26%
C 5, 47 %
(restul caracterelor au o ı̂n mod normal o frecvenţă de apariţie sub 1 %).
1.4. CRIPTANALIZA SISTEMELOR DE CRIPTARE MONOALFABETICE 29

Exemplul 1.8 Să considerăm că s-a interceptat următorul text, criptat cu
un sistem monoalfabetic (nu se ştie exact ce sistem a fost utilizat).
lqakc sp gcxk aca pcmgqb kq kxc pkersmpqsb vk vsmgxkbc
mkacpc tcacpbqlqs vk cgele cmtxq ms nocxgsb mbxcsp vk
exsgk oxcbqsbcbk texbslk spclbk gcxk cmgqpvkcq bxkgcbexslk
gqxbslk xktxknkpbcq tkpbxq mbxcsps qp cfkxbsmakpb mqtcxcbex
vcx lsatkvk pq bxkrqscq mc zsk txkc gqxsems psgs mc mk cmbktbk
mc czlk acxk lqgxq vk lc gkl gq gcxk fkpkcq sp gepbcgb

Caracter c k x b s q g p m l e p a v b n o f z
Frecvenţă 39 38 27 25 23 20 19 18 18 11 9 8 7 7 2 2 2 2 2

Deci caracterele cele mai frecvente sunt c şi k. Pe de-altă parte, cele mai
frecvente caractere din limba română sunt a, i şi e. În mod cert, a ∈ {c, k}.
Sunt patru opţiuni posibile, din care trei se elimină rapid.
Varianta c ←− a, k ←− e.
Vom nota cu litere mari caracterele din textul clar; prin ı̂nlocuirea lui c
cu A, a lui k cu E, textul devine
lqaEA sp gAxE aAa pAmgqb Eq ExA pEersmpqsb vE vsmgxEbA
mEaApA tAaApbqlqs vE Agele Amtxq ms noAxgsb mbxAsp vE
exsgE oxAbqsbAbE texbslE spAlbE gAxE AmgqpvEAq bxEgAbexslk
gqxbslE xEtxEnEpbAq tEpbxq mbxAsps qp AfExbsmaEpb mqtAxAbex
vAx lsatEvE pq bxErqsAq mA zsE txEA gqxsems psgs mA mE AmbEtbE
mA AzlE aAxE lqgxq vE lA gEs gq gAxE fEpEAq sp gepbAgb
Cuvântul ExA de pe primul rând are caracterul din mijloc (x) de frecvenţă
ridicată (27 apariţii); deci el trebuie să corespundă unei litere frecvente din
limba română şi – ı̂n plus – să aibă semnificaţie semantică. Concluzie:
acest cuvânt este ERA. Deci x ←− R.
30 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

lqaEA sp gARE aAa pAmgqb Eq ERA pEersmpqsb vE vsmgREbA


mEaApA tAaApbqlqs vE Agele AmtRq ms noARgsb mbRAsp vE
eRsgE oRAbqsbAbE teRbslE spAlbE gARE AmgqpvEAq bREgAbeRsleR
gqRbslE REtREnEpbAq tEpbRq mbRAsps qp AfERbsmaEpb mqtARAbeR
vAR lsatEvE pq bRErqsAq mA zsE tREA gqRsems psgs mA mE AmbEtbE
mA AzlE aARE lqgRq vE lA gEs gq gARE fEpEAq sp gepbAgb

REtREnEpbAq − REP REZEN T A{I, M, U }.


Se obţin decriptările t ←− P, n ←− Z, p ←− N şi b ←− T (pentru
ultimul caracter - q, nu facem deocamdată nici o opţiune).
lqaEA sp gARE aAa NAmgqT Eq ERA NEersmNqsT vE vsmgRETA
mEaANA PAaANTqlqs vE Agele AmPRq ms ZoARgsT mTRAsN vE
eRsgE oRATqsTATE PeRTslE sNAlTE gARE AmgqNvEAq TREgATeRsleR
gqRTslE REPREZENTAq PENTRq mTRAsNs qN AfERTsmaENT mqPARATeR
vAR lsaPEvE Nq bRErqsAq mA zsE PREA gqRsems Nsgs mA mE AmTEPTE
mA AzlE aARE lqgRq vE lA gEs gq gARE fENEAq sN geNTAgT
P EN T Rq este corect numai pentru q ←− U , AmT EP T E pentru m ←− S.
Apoi N ASgU T dă g ←− C, SU P ARAT eR dă e ←− O, iar din
f EN EAU deducem f ←− V .
lUaEA sp CARE MAM NASCUT EU ERA NEOrsSNUsT DE vsSCRETA
SEaANA PAaANTUlUs DE ACOlO ASPRU Ss ZoARCsT STRAsN vE
ORsCE oRATUsTATE PORTslE sNAlTE CARE ASCUNvEAU TRECATORslOR
CURTslE REPREZENTAU PENTRU STRAsNs UN AfERTsSaENT SUPARATOR
vAR lsaPEvE NU bRErqsAU SA zsE PREA CURsOms NsCs SA SE ASTEPTE
mA AzlE aARE lUCRU vE lA CEs CU CARE VENEAU sN CONTACT
l ←− L, a ←− M, r ←− B, s ←− I, v ←− D. Textul clar final:
LUMEA IN CARE MAM NASCUT EU ERA NEOBISNUIT DE DISCRETA
SEMANA PAMANTULUI DE ACOLO ASPRU SI ZGARCIT STRAIN DE
1.4. CRIPTANALIZA SISTEMELOR DE CRIPTARE MONOALFABETICE 31

ORICE GRATUITATE PORTILE INALTE CARE ASCUNDEAU TRECATORILOR


CURTILE REPREZENTAU PENTRU STRAINI UN AVERTISMENT SUPARATOR
DAR LIMPEDE NU TREBUIAU SA FIE PREA CURIOSI NICI SA SE ASTEPTE
SA AFLE MARE lUCRU DE LA CEI CU CARE VENEAU IN CONTACT

Tabelele de frecvenţă a literelor pentru principalele limbi europene (nu-


mai cele mai frecvente nouă litere):
Engleză Frecvenţă Germană Frecvenţă
E 12, 31 % E 18, 46 %
T 9, 59 % N 11, 42 %
A 8, 05 % I 8, 02 %
O 7, 94 % R 7, 14 %
N 7, 19 % S 7, 04 %
I 7, 18 % A 5, 38 %
S 6, 59 % T 5, 22%
R 6, 03 % U 5, 01%
H 5, 14 % D 4, 94%

Franceză Frecvenţă Spaniolă Frecvenţă


E 15, 87 % E 13, 15 %
A 9, 42 % A 12, 69 %
I 8, 41 % O 9, 49 %
S 7, 90 % S 7, 60 %
T 7, 26 % N 6, 95 %
N 7, 15 % R 6, 25 %
R 6, 46 % I 6, 25 %
U 6, 24 % L 5, 94 %
L 5, 34 % D 5, 58 %
Criptanaliza unui sistem monoalfabetic este imposibilă când P= V ∗ şi
nu dispunem de nici o altă informaţie (decât eventual sistemul de criptare).
32 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Acest caz corespunde unei codificări; adevărata criptare a avut loc


atunci când mesajele inteligibile au fost translatate ı̂n cuvinte din V ∗ .
1.5. SISTEME DE CRIPTARE POLIALFABETICE 33

1.5 Sisteme de criptare polialfabetice


Substituţia unui caracter variază ı̂n text, ı̂n funcţie de diverşi parametri
(poziţie, context etc.).
Aceasta conduce la un număr mult mai mare de chei posibile.

Se pare că primul sistem de criptare polialfabetic a fost creat de Leon


Battista ı̂n 1568.
34 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

1.5.1 Sistemul homofonic


Sistem intermediar ı̂ntre sistemele mono şi cele polialfabetice.
Principalul scop: rezistenţa la atacul prin frecvenţa de apariţie.
Se pare că a fost utilizat prima oară ı̂n 1401 de către ducele de Mantua.

Fiecărui caracter a ∈ P i se asociază o mulţime H(a) ⊂ C astfel ı̂ncât:


1. H(a) ∩ H(b) = ∅ ⇐⇒ a 6= b;
2. Dacă a apare mai frecvent ı̂n textele clare, atunci
card((H(a)) ≥ card(H(b))

Criptarea unui caracter a ∈ P se face cu un element ales aleator din


H(a).

Pentru decriptarea lui y ∈ C se caută o mulţime H(a) astfel ca y ∈ H(a).


Exemplul 1.9 Să considerăm P= {a, b} şi

H(a) = {001, 010}, H(b) = {000, 011, 101, 111}

Pentru criptarea textului ab se poate folosi oricare din secvenţele


001000, 001011, 001101, 001111, 010000, 010011, 010101, 010111.
Sistemul homofonic este mult mai rezistent la un atac doar pe baza textului
criptat, dar cedează uşor la un atac cu text clar ales.
1.5. SISTEME DE CRIPTARE POLIALFABETICE 35

1.5.2 Sistemul de criptare Playfair


Inventat ı̂n 1854 de Sir Charles Wheatstone.
Baronul Lyon Palyfayr de St. Andrews ı̂l promovează şi ı̂l susţine pentru
a fi adoptat ca cifru oficial al Marii Britanii. Guvernul preferă altă variantă,
dar acest sistem de criptare capătă numele baronului.

Din cele 26 litere ale alfabetului se elimină una de frecvenţă minimă; de


exemplu Q. Restul literelor se aranjează ı̂ntr-un pătrat 5 × 5.
S Y D W Z
R I P U L
H C A X F
T N O G E
B K M J V
Tabel constituie atât cheia de criptare cât şi cea de decriptare.

Regulile de criptare/de-criptare sunt:


• Textul clar este separat ı̂n blocuri de câte două caractere (ignorând
spaţiile). Condiţia este ca nici un bloc să nu conţină aceiaşi literă, iar
textul să fie de lungime pară.
• Fiecare bloc se criptează astfel: dacă cele două litere nu sunt plasate
ı̂n tabel pe aceiaşi linie sau coloană (de exemplu A şi E), se cercetează
colţurile dreptunghiului determinat de cele două litere (ı̂n cazul nostru
A, F, O, E). Perechea AE este criptată ı̂n F O. Ordinea este determi-
nată de ordinea liniilor pe care se află literele din textul clar. Astfel,
EA se criptează ı̂n OF , SF ı̂n ZB etc.
Dacă cele două litere se găsesc pe aceaşi linie (coloană), se merge ciclic
cu o poziţie la dreapta (respectiv jos). Deci CA se criptează ı̂n AX,
W X ı̂n U G, CA ı̂n AX etc.
36 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

AFARA PLOUA - XHHPPDPEPX

O permutare ciclică a liniilor şi coloanelor tabloului nu modifică criptarea.

Regulile de bază pot fi modificate sau completate după necesităţi.


1. Se poate adăuga din loc ı̂n loc câte o literă falsă (cu frecvenţă foarte
redusă, cum ar fi X, Y ) care să modifice textul criptat.
2. Pătratul 5 × 5 poate fi ı̂nlocuit cu un dreptunghi 4 × 6 sau 3 × 8, cu
schimbările corespunzătoare ı̂n alegerea literelor care se elimină.
Pentru a păstra cheia ı̂n siguranţă, se recomandă memorarea acesteia. Cum
o astfel de cheie este extrem de greu de memorat, se foloseşte un cuvânt
cheie sau o propoziţie cu toate literele distincte. Acesta cuvânt este scris
la ı̂nceputul tabloului. Spaţiile rămase sunt completate cu restul literelor
alfabetului, scrise ı̂n ordinea apariţiei lor.

În preajma primului război mondial, armata română folosea un drep-


tunghi 3×8 din care lipseau literele Q şi K. Cuvântul cheie era ROM AN ESC.
Un astfel de tablou putea avea de exemplu forma
R O M A N E S C
B D F G H I J L
P T U V W X Y Z

Ca şi sistemul anterior, Palyfair rezistă la atacuri bazate pe frecvenţa


apariţiei, dar nu şi la cele prin text clar ales.

Implementări actuale folosesc reprezentarea binară a literelor şi fac un


pas suplimentar: după ce s-a obţinut o pereche criptată, aceasta se combină
printr-un XOR (adunare modulo 2) cu perechea criptată anterior.
1.5. SISTEME DE CRIPTARE POLIALFABETICE 37

1.5.3 Sistemul de criptare Vigenere


Numele vine de la baronul francez Blaise de Vigenere (1523 − 1596) diplo-
mat la curtea regelui Henry III (unele surse indică drept real inventator al
sistemului pe Giovan Batista Belaso ı̂n 1553).
A fost considerat mult timp unul din cele mai bune sisteme de criptare.
A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12
N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
+
Definim P = C= Z26 , K= Z26 .
O cheie K ∈ K este un cuvânt având codificarea numerică k0 k1 . . . kp−1 .
Fie a = a0 a1 . . . an codificarea textului clar care trebuie transmis. Textul
criptat va fi eK (a) = x = x0 x1 . . . xn , unde
xi = ai + ki (mod p) (mod 26) (∗)

Exemplul 1.10 Să considerăm cuvântul cheie F OCAR; deci p = 5 şi


K = 5 14 2 0 17.
Dacă vrem să criptăm cu această cheie textul clar NU POT VENI AZI,
vom proceda astfel:
Codificarea textului este a = 13 20 15 14 19 21 4 13 8 0 25 8.
Sub fiecare număr din a se aşează câte un număr din K; când cheia se
termină, ea se reia ciclic, până se termină a. Deci vom avea
13 20 15 14 19 21 4 13 8 0 25 8
5 14 2 0 17 5 14 2 0 17 5 14
18 8 17 14 10 0 18 15 8 17 4 22
S I R O K A S P I R E W
Linia a treia conţine suma modulo 26 a numerelor de pe primele două linii,
iar pe ultima linie s-a scris textul criptat rezultat.
38 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Decriptarea se realizează similar, scăzând (modulo 26) din codul caracteru-


lui criptat, codul caracterului corespunzător din cheie.
O variantă a sistemul Vigenere este sistemul Beaufort (amiral englez,
autorul şi a unei scale a vânturilor care ı̂i poartă numele); aici relaţia de
criptare (∗) este ı̂nlocuită cu

xi = ki (mod p) − ai (mod 26), (i ≥ 0)

Avantajul sistemului Beaufort constă ı̂n faptul că ecuaţia de criptare se


aplică şi la decriptare (ai = ki (mod p) − xi ).

Altă variantă este sistemul Autoclave, atribuit matematicianului Car-


dano (autorul formulelor de rezolvare pentru ecuaţiile de gradul 3 şi 4).
Aici cheia se foloseşte o singură dată, la ı̂nceput, după care este utilizat
drept cheie textul clar.
Exemplul 1.11 Să luăm cuvântul cheie COV OR şi textul clar A VENIT
TOAMNA. Putem aranja sistemul de criptare sub forma unui tabel (s-au
trecut doar caracterele, nu şi codificările lor):
Text clar: A V E N I T T O A M N A
Cheie: C O V O R A V E N I T T
Text criptat C J Z B Z T O S N U G T

Sistemul Vigenere a fost utilizat secole de-a rândul, fiind considerat ca


fiind unul din cele mai sigure sisteme de criptare. În 1917 de exemplu,
prestigioasa revistă ”Scientific American” ı̂l considera imposibil de atacat.

Numai că acest sistem a fost spart de Kasiski ı̂ncă din 1863 (şi indepen-
dent de Babbage ı̂n 1854).
1.5. SISTEME DE CRIPTARE POLIALFABETICE 39

Criptanaliza sistemului Vigenere

Fie x = x0 x1 . . . xn−1 textul criptat cu cheia K = k0 k1 . . . kp−1 . Putem


aranja acest text sub forma unei matrici cu p linii şi dn/pe coloane, astfel

x0 xp x2p . . .
x1 xp+1 x2p+1 . . .
..
.
xp−1 x2p−1 x3p−1 . . .
Elementele de pe prima linie au fost criptate după formula

xpr = apr + k0 (mod 26), (k ≥ 0)

adică cu un sistem Cezar (k0 fiind o valoare fixată din Z26 ). În mod similar
şi celelalte linii.

Deci, dacă s-ar cunoaşte lungimea p a cheii, problema s-ar reduce la


criptanaliza a p texte criptate cu Cezar – sistem de criptare monoalfabetic.
Sunt cunoscute două metode pentru aflarea lungimii cheii: testul lui
Kasiski şi indexul de coincidenţe.
Prima metodă constă ı̂n studiul textului criptat şi aflarea de perechi
de segmente de cel puţin 3 caractere (această lungime este propusă de
Kasiski) identice. Pentru fiecare astfel de pereche, se determină distanţa
dintre segmente.
După ce s-au găsit mai multe astfel de distanţe, valoarea lui p va fi cel
mai mare divizor comun al lor (sau – eventual un divizor al acestuia).
40 PRELEGEREA 1. NOŢIUNI DE BAZĂ ALE CRIPTOGRAFIEI

Exemplul 1.12 Oscar interceptează următorul text criptat, despre care


bănuie că s-a folosit Vigenere:
D V L O E G O G L C G I W W A F R S C K A R V S S R A A K R S
T U H D A Q L N C J T S R U J V C W E A W K O H Z T I E U A R
I Q L N C J C I K A Q V A G K A S J T S G R W D A G K R C W A
O L N S Z P C V Z W Z C S C E P I E R V M W Y A W V M W E E G
T U
Textul este destul de scurt (146 litere) şi nu se mai ştie nici un text trimis
anterior. Folosind metoda Kasiski, Oscar găseşte secvenţa QLN CJ care
apare pe rândul al doilea. Distanţa dintre cele două apariţii este 27. De
asemenea, apar două cuvinte foarte asemă-nătoare: AQLN şi AOLN ,
având ı̂ntre ele distanţa 57.
Deci putem bănui că avem de-a face cu un cuvânt cheie de lungime
cmmdc(27, 57) = 3. Rescriem textul pe coloane, fiecare coloană având trei
elemente. Anume:
D O O C W F C R S A S H Q C S J W W H I A Q C I Q G S S W G C O S C W S P R W W W G
V E G G W R K V R K T D L J R V E K Z E R L J K V K J G D K W L Z V Z C I V Y V E T
L G L I A S A S A R U A N T U C A O T U I N C A A A T R A R A N P Z C E E M A M E U

Numărând frecvenţa apariţiei literelor pe fiecare linie, obţinem tabelul


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
Linia 1 2 0 6 1 0 1 3 2 2 1 0 0 0 0 3 1 3 2 7 0 0 1 8 0 0 0
Linia 2 0 0 1 2 4 0 3 0 1 3 6 3 0 0 0 0 0 4 0 2 0 6 2 0 1 3
Linia 3 11 0 3 0 3 0 1 0 2 0 0 2 2 3 1 1 0 3 2 3 4 0 0 0 0 1

În limba română, primele litere ca frecvenţă sunt A − E − I, aflate la


distanţă egală una de alta. Deci vom căuta pe fiecare linie tripletele de litere
situate pe poziţiile (k, k + 4, k + 8) având frecvenţă semnificativ de mare
(maximă ı̂n cazul unui text lung). Pentru linia 3, alegerea este simplă: ea
este chiar A − E − I (16 apariţii din 49 posibile), deci o deplasare 0 ı̂n
codul Cezar.
Pentru prima linie, sunt două posibilităţi: O − S − W (deplasare 14)
sau S − W − A (deplasare 18), ambele cu câte 18 apariţii.
1.5. SISTEME DE CRIPTARE POLIALFABETICE 41

Tot două variante apar şi pentru a doua linie: C − G − K (deplasare 2)


cu 10 apariţii, sau R − V − Z (deplasare 14) cu 13 apariţii.
Deplasările dau exact codificările cheii. Deci trebuie luate ı̂n considerare
patru variante de cuvânt cheie: OCA, ORA, SCA sau SRA. Cum de
obicei cuvântul cheie are o semnificaţie semantică (pentru a putea fi reţinut
mental uşor), putem presupune că el este OCA sau ORA.
O simplă verificare reţine drept cuvânt cheie ORA, care conduce la de-
criptarea corectă a textului (spaţiile şi semnele de punctuaţie se pun core-
spunzător):
PELANGAPLOPIIFARASOTADESEAAMTRECUTMACUNOSTEAUVECINIITOTI
TUNUMAICUNOSCUTACEASTAESTEPRIMASTROFAAUNEINPOEZIICELEBRE
DEMIHAIEMINESCU

A doua metodă de aflare a lungimii cheii de criptare ı̂ntr-un sistem Vigenere


se bazează pe un concept definit ı̂n 1920 de Wolfe Friedman ı̂n 1920: indexul
de coincidenţe.

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