Sunteți pe pagina 1din 28

IOAN MANG

ALGORITMI MODERNI
DE CRIPTARE

2003
Algoritmi moderni de criptare

Referenţi:

Prof. dr. ing. Mircea Vlăduţiu


Prof. dr. ing. Nicolae Robu

Descrierea CIP a Bibliotecii Naţionale a României


MANG, IOAN
Algoritmi moderni de criptare / Mang Ioan – Oradea:
Editura Universităţii din Oradea, 2003
Bibliogr.
ISBN 973-613-270-6

004.065.55

2
Algoritmi moderni de criptare

ALGORITMII DE CRIPTARE SIMETRICĂ

2.1. Criptarea simetrică prin cifruri transpoziţie

Cifrurile transpoziţie realizează o permutare a


caracterelor din texul clar. Cheia de cifrare este perechea
K=(d,f) unde d reprezintă lungimea blocurilor succesive de
caractere care vor fi cifrate conform permutării f,

f : Zd Zd
Zd = {1, 2,…, d}
de forma:
1 2 … d
f(1) f(2) f(d)
unde, evident f(i) != f(j),  i != j

Mulţimea funcţiilor astfel definite este d!. În acest fel


mesajul clar:
M = m1m2 … md md+1 … md+d …
este cifrat astfel:
Ek(M) = mf(1) … mf(d) md+f(1) … md+f(d)
Descifrarea se obţine prin permutarea inversă.
Cifrarea prin transpoziţie este o transformare a textului
clar prin care se modifica poziţia caracterelor in mesaj.
Transpoziţiile se pot aplica întregului mesaj sau blocurilor de

3
Algoritmi moderni de criptare

lungime d obţinute prin împărţirea mesajului întreg. În metoda


de cifrare transpoziţională alfabetul textului clar rămâne
neschimbat. O metodă des folosită pentru implementarea acestui
tip de transformări este scrierea mesajului într-o anumită matrice
după care textul clar se obţine prin citirea caracterelor pe linie,
pe coloană sau după un anumit traseu în matrice. Cifrurile
transpoziţie se pot clasifica după numărul lor de aplicare, în
transpoziţii monofazice, când se aplică o singură dată, şi
transpoziţii polifazice, când se aplică de mai multe ori. De
asemenea, dacă în procesul de transformare elementul unitate
este litera, atunci transpoziţia se numeşte monografică, iar dacă
se transpun grupe de litere (simboluri) transpoziţia se numeşte
poligrafică [67].
Cele mai simple transpoziţii monografice se obţin prin
împărţirea textului clar în două jumatăţi care se scriu una sub
alta, după care se citesc coloanele de la stânga la dreapta. De
exemplu, cuvântul CALCULATOR se cifrează astfel:
CALCU
CLAALTCOUR
LATOR
Dacă se împarte cuvântul CALCULATOR în două:
CLUAO
ACLTR
cifrarea rândurilor de sus în jos, conduce la criptograma: C L U
A O A C L T R. Acest sistem este uşor de atacat, deoarece
frecvenţa de apariţie a literelor rămâne invariabilă în procesul
cifrării.
De asemenea, se obţine o transpoziţie de caractere dacă
literele textului clar se scriu ca elemente ale unei matrice. Se

4
Algoritmi moderni de criptare

completează matricea cu literele textului clar, plecând de la un


element oarecare a matricei, pe un anumit traseu. Se obţine
textul cifrat parcurgând întreaga matrice pe un alt traseu. Astfel,
textul clar CALCULATOR UNIVERSAL FELIX se poate scrie
sub forma matricială:
CALCU
LATOR
UNIVE
RSALX
FELIX
Mesajul se poate cifra în următoarele moduri:
- prin cifrarea elementelor matricei pe
coloane de la stânga la dreapta, ceea ce conduce la
următoarele criptograme: CLURF AANSE LTIAL
COVLI UREXX;
- prin citirea elementelor matricei pe
diagonală de jos în sus începând cu primul element
al matricei: CLAUA LRNTC FSIOU EAYRL
LEIXX.
În practica cifrării, stabilirea traseelor de citire din
matrice se face în mod frecvent cu ajutorul unui cuvânt cheie.
Cheia are un număr de litere egal cu numărul de coloane din
matrice. Literele cheii, numerotate în ordine alfabetică, se scriu
deasupra matricei; coloanele matricei, în ordinea stabilită de
cheie, furnizează textul cifrat.
O transpoziţie ingenioasă a literelor dintr-un text clar se
poate realiza prin rotirea cu 90 de grade a unei grile de formă
pătratică. Se pot imagina şi alte grile (triunghi, pentagon,
hexagon, etc.) care pot fi folosite la transpoziţia literelor din
textul clar.

5
Algoritmi moderni de criptare

De asemenea trebuie observat că se pot realiza şi alte


tipuri de transpoziţii, cum ar fi cele operate asupra unor grupuri
de litere, numite transpoziţii poligrafice.

m1 c1
m2 c2

pp p

md cd
Figura 2.1. Cutie P pentru transpoziţii

În cazul cifrurilor computaţionale, adică a celor care se


folosesc la protejarea datelor în sistemele informatice,
transpoziţia se realizează prin cutii P (Figura 2.1). Cifrurile
transpoziţie reprezintă componente importante ale
criptosistemelor complexe ce vor fi prezentate în paragrafele
următoare.

2.2. Criptarea simetrică prin cifruri substituţie

Cifrurile substituţie înlocuiesc fiecare caracter din


alfabetul mesajelor A cu un caracter din alfabetul criptogramelor
C.
Dacă: A = { a1, a2, …, an }
atunci:
C = { f(a1), f(a2), …, f(an) }
unde:

6
Algoritmi moderni de criptare

f: A  C
este funcţia de substituţie, constituind cheia cifrului.
Cifrarea unui mesaj
M = m1 m2 … mn
se face astfel:
Ek(M) = f(m1) f(m2) … f(mn)
Deci substituţiile sunt transformări prin care caracterele
(literele) sau grupurile de caractere ale alfabetului primar sunt
înlocuite cu caracterele sau grupurile de caractere ale alfabetului
secundar.
În practică se aplică frecvent substituţia care se poate
descrie cu ajutorul transformării liniare de forma:
C = aM + b (mod N)
În acest scop se stabileşte o corespondenţă biunivocă
între literele alfabetului primar şi numerele întregi 0, 1, …, N-1
care formează un inel, ZN, faţă de operaţiile de adunare modulo
N şi înmulţire modulo N. În relaţie, a se numeşte factor de
amplificare; iar b este coeficientul de deplasare. Prin
particularizarea coeficienţilor a şi b se obţin cazuri particulare
de transformări liniare. În cazul cel mai simplu se stabileşte o
corespondenţă între literele mi  M ale alfabetului primar şi
elementele alfabetului secundar (eventual alfabetului extins) al
criptogramei.

2.2.1. Substituţii monoalfabetice

Transformările cu o singură lege de corespondenţă între


literele alfabetului primar şi cele ale alfabetului secundar se
numesc substituţii monoalfabetice. Cea mai simplă substituţie

7
Algoritmi moderni de criptare

monoalfabetică este cunoscută sub numele de „cifrul lui Cezar”.


În cifrul lui Cezar atât alfabetul primar, cât şi cel secundar
coincid cu alfabetul latin de 26 de litere. Corespondenţa
biunivocă între literele celor două alfabete se stabileşte scriind în
ordinea alfabetică literele şi trecând sub fiecare literă
corespondenţa acesteia din alfabetul secundar, obţinută prin
deplasarea ciclică cu trei poziţii la stânga a literelor alfabetului
primar. Corespondenţa în cifrul Cezar este:
A B C…X Y Z
D E F… A B C
Astfel lui A îi corespunde litera D, lui B litera E ş.a.m.d.
Folosind corespondenţa biunivocă între literele
alfabetului latin (mi) şi echivalentele lor numerice (ei) unde
ei{0,1,2,…,25}, cifrul lui Cezar se poate scrie sub forma:
C(ei) = ei + 3 (mod 26)
Ulterior, cifrul lui Cezar a fost generalizat, prin alegerea în
calitate de cheie a oricărei litere din alfabet. În acest caz
corespondenţa invariabilă este stabilită prin funcţia:
C(ei) = ei + bi (mod 26)
unde:
ei,bi  {0, 1, 2,…, 25}.
Prin particularizarea, în continuare, a coeficienţilor,
punând b = 0, se obţine o substituţie de litere de forma:
C(ei) = a * ei (mod 26)
Corespondenţa ei  C(ei) este biunivocă dacă numerele
a şi 26 sunt relativ prime, deci (a,N)=1. În caz contrar două sau
mai multe litere primare vor fi cifrate prin aceeaşi literă şi
funcţia de cifrare nu admite o inversă.

8
Algoritmi moderni de criptare

Alegând a astfel încât să fie relativ prim cu N=26, relaţia


stabileşte o permutare a alfabetului primar. De exemplu, luând
a=3, se obţine următoarea corespondenţă:
Litere primare: A B C…X Y Z
Numere echivalente, ei: 0 1 2 … 23 24 25
3*ei(mod 26): 0 3 6 … 17 20 23
Cifru: A D G…R U X
Literele cifrului se pot obţine din alfabetul primar şi prin
următorul proces de selectare: se alege prima literă A şi apoi, în
ordine ciclică fiecare a treia literă; deci D, G… Y. După Y şirul
cifrului se continuă cu B ş.a.m.d., motiv pentru care factorul de
amplificare a = 3 se mai numeşte şi factor de selectare.
Se poate obţine un alfabet de substituire prin compunerea
operaţiei de deplasare cu operaţia de selectare. Astfel, de
exemplu, alegând b = 4 şi a = 3 se obţine cifrul:
C(ei)= 3ei + 12 (mod 26)
Cifrul sau permutarea P a literelor alfabetului primar,
unde:
P= A B C…X Y Z
M P S…D G J
se poate caracteriza în mod univoc prin perechea de numere
(3,4), în care 3 reprezintă factorul de selectare, iar 4 coeficientul
de deplasare.
În general, perechea de numere (a,b) care defineşte în
mod univoc o transformare liniară se numeşte cheia substituţiei
respective.
Cifrurile substituţiei prezentate până acum – cifrul lui
Cezar, cifrul obţinut prin operaţia de selectare şi cifrul obţinut

9
Algoritmi moderni de criptare

prin compunerea operaţiei de deplasare ciclică de amplitudine b


cu operaţia de selectare, având intervalul de selectare a – pot fi
considerate ca cicluri simple şi slabe la atacurile criptanalitice.
Ele sunt simple deoarece cheile prin care aceste substituţii se
definesc sunt numerele a şi b. Cifrurile sunt slabe la atacurile
criptanalitice, deoarece este suficient pentru criptanalist să
stabilească o cheie simplă, pe baza căreia apoi să obţină
substituţia tuturor literelor. Cifrul de substituţie cel mai puternic
şi cel mai rezistent la atacurile criptanaliste este cifrul aleatoriu
de substituţie, în care literele alfabetului de substituire se obţin
printr-un proces aleatoriu.
Cifrul aleatoriu de substituţie, pe lângă avantajele
referitoare la dificultăţile sporite ale decriptării, întrucât literele
alfabetului de substituire sunt statistic independente, prezintă
însă un dezavantaj în privinţa generării, transmiterii şi păstrării
cheii. Cheia conţine, în acest caz, 26 de perechi de numere
echivalente de forma (a, b), unde a, b  {0, 1, 2,…, 25 }, şi ca
atare necesită o memorie de 26 de ori mai mare decât cifrul de
substituţie cu transformare liniară. În plus, memorarea cheii de
cifrare de către cifrator şi descifrator fiind imposibilă, se recurge
la înregistrarea cheii într-o anumită modalitate ce determină însă
apariţia pericolului pierderii sau furtului cheii.
Un sistem de cifrare bazat pe substituţie se poate obţine
şi prin folosirea unei chei mnemonice. De exemplu, o permutare
a alfabetului primar se poate preciza cu ajutorul unei chei
mnemonice. Pentru aceasta se alege cheia literală CERNEALA
sub care se scrie cheia numerică, care se obţine prin numărarea
literelor cuvântului-cheie, după aşezarea lor în ordinea
alfabetică, deci:
cheia literală: C E R N E A L A
cheia numerică: 3 4 8 7 5 1 6 2

10
Algoritmi moderni de criptare

în care primul A din cuvântul cheie are numărul de ordine 1, cel


de-al doilea A numărul 2 ş.a.m.d. În continuare se scriu literele
alfabetului primar sub cheia numerică sub forma:
C E R N E A L A
3 4 8 7 5 1 6 2
--------------------------
A B C D E F G H
I J K L M NO P
Q R S T U V W X
Y Z
Corespondenţa monoalfabetică, corespunzătoare
cuvântului cheie CERNEALA se obţine prin scrierea sub literele
alfabetului primar a literelor coloanelor de mai sus în ordinea
crescătoare, adică:
P = A B C …. X Y Z
F N V … C K S
Cu ajutorul acestei corespondenţe se poate cifra orice
text clar, obţinând textul cifrat. În acest caz numărul
corespondenţelor posibile creşte de la 26 la 26! Ca urmare,
putem afirma că această metodă de cifrare implică operaţii
criptanalitice de mare complexitate.
Cifrând încă o dată permutarea P conform cuvântului
cheie CERNEALA, se obţine permutarea P2 (CERNEALA). În
acest caz, tabelul pentru a doua substituţie este de forma:
C E R N E A L A
3 4 8 7 5 1 6 2
--------------------------
F N V H P X A I
Q Y B J R Z E M
U G OW D L T C
K S

11
Algoritmi moderni de criptare

de unde rezultă permutarea:


P2 (CERNEALA) = A B C … X Y Z
X Z L … V B O
În mod asemănător se pot construi permutările P3,… , Pn.
Un cifru de substituţie se poate obţine şi cu ajutorul unui
tabel sub formă de scară. Pentru aceasta se scriu toate literele
alfabetului, în ordine alfabetică, sub literele cheii, cu condiţia ca
linia i să se completeze începând cu coloana i, pentru i=1,2, ….
Apoi permutarea fixă sau alfabetul cifrat rezultă din scrierea sub
literele alfabetului primar a literelor coloanelor tabelului scară în
ordine crescătoare. Astfel, de exemplu, pentru cheie
mnemonică:
P R A C T I C A
6 7 1 3 8 5 4 2
se obţine următorul tabel sub formă de scară:
P R A C T I C A
6 7 1 3 8 5 4 2
-------------------------
1 A B C D E F
2 G
3 H I J K L
4 M N
5 O P Q
6R S T U V W XY
7 Z
care conduce la următoarea permutare:
A B C D E …………… W X Y Z
P=
R S Z A T …………… L N Q Y

12
Algoritmi moderni de criptare

Un alt procedeu de obţinere a unui alfabet cifrat constă în


repetarea cuvântului cheie până rezultă un număr de litere egal
cu numărul literelor din alfabetul primar. Acesta se scrie sub
literele alfabetului primar şi se numerotează în ordine alfabetică
de la 0 până la 25. Litera A se cifrează prin acea literă care este
deasupra lui 0 ş.a.m.d

Substituţia omofonică

Cifrurile bazate pe substituţie simplă sunt în general uşor


de spart prin atac cu text-cifrat, utilizând însă şi frecvenţele de
apariţie a caracterelor. O variantă de substituţie este cea
omofonică prin care se înlocuieşte fiecare caracter din A cu un
caracter dintr-o mulţime f(A). Funcţia f se defineşte astfel:
f: A  2c
Un mesaj clar M = m1 m2…mn va fi cifrat sub forma C=c1
c2…cn, unde fiecare ci este ales aleatoriu din mulţimea f(mi).
Cifrurile omofonice sunt mult mai greu de spart decât
cele bazate pe substituţie simplă, în special atunci când
cardinalul mulţimii f(mi) este proporţional cu frecvenţa
caracterului mi. În acest fel se realizează o aplatizare a
frecvenţelor de apariţie a diferitelor caractere, îngreunând
munca de criptoanaliză.
În cifrarea omofonică pentru caracterele cu o frecvenţă
de apariţie mai mare se creează mai multe posibilităţi de
reprezentare în textul cifrat. De exemplu, în urma unor analize
statistice, numărul de apariţie a literelor într-un text de limbă
engleză de 100 000 caractere este:
E – 12604, T – 9042, R – 8256, … , Q – 318, J – 198, Z – 101.

13
Algoritmi moderni de criptare

Pentru literele E, T, R, având un număr de apariţii mai


mare, în cifrarea omofonică se creează patru posibilităţi de
reprezentare. Evident, cu cât alfabetul secundar este mai bogat
în caractere, cu atât este mai uşoară mascarea caracteristicilor
statistice ale textului clar. Fiecare caracter al textului clar poate
avea mai multe reprezentări în textul cifrat. Pentru a ilustra acest
lucru se consideră cazul când alfabetul textului clar este format
din 26 de caractere, iar alfabetul secundar conţine 210=1024 de
caractere de 10 biţi fiecare. Iniţial se face ca pentru fiecare literă
din alfabetul primar să corespundă un număr de cifruri direct
proporţionale cu frecvenţa de apariţie a literei respective în
textul considerat. Numărul cuvintelor de cod prin care sunt
codificate literele alfabetului primar este:
E – 133, T – 93, R – 85, …, Q – 2, J –2 ,Z –1.
Prin acest sistem de cifrare se realizează ca frecvenţa de
apariţie a cuvintelor de cod să fie aproape constantă.

2.2.2 Substituţii polialfabetice

Cifrurile bazate pe substituţie polialfabetică constau din


utilizarea periodică a unor substituţii simple diferite. Fie d
alfabete de cifrare C1,C2…Cd şi d funcţii fi care realizează
substituţia de forma:
fi : A  Ci, 1 i d.
Un mesaj clar:
M = m1m2…mdmd+1…m2d…
va fi cifrat prin reprezentarea secvenţelor de funcţii f1,…,fd la
fiecare al d-lea caracter:
Ek(M) = f1(m1)f2(m2)… fd(md) f1(md+1)

14
Algoritmi moderni de criptare

Utilizarea unei secvenţe periodice de substituţii ale


alfabetului, măreşte în mod semnificativ securitatea
criptogramei prin nivelarea caracteristicilor statistice ale limbii.
Aceeaşi literă din textul cifrat poate reprezenta mai multe litere
din textul clar, cu diverse frecvenţe de apariţie. În acest caz
numărul cheilor posibile se măreşte de la 26!, câte erau la
substituţia monoalfabetică, la (26!)n
În substituţia n-alfabetică caracterul m1 al mesajului clar
este înlocuit cu un caracter din alfabetul A1, m2 cu un caracter
din alfabetul A2,…, mn cu un caracter din alfabetul An, mn+1 din
nou cu un caracter din alfabetul A1, etc., conform tabelului:
CARACTER DE INTRARE: m1 m2 m3 m4 m5 m6 m7 m8 m9 …
ALFABET SUBSTITUŢIE: A1 A2 A3 A4 A5 A6 A7 A8 A9 …
O versiune cunoscută de substituţie polialfabetică o
constituie cifrul Vigenere, când cheia K este o secvenţă de litere
de forma:
K = k1 k2 …kd
Funcţiile fi de substituţie se definesc astfel:
fi(a) = (a+ki)(mod n)
unde n este lungimea alfabetului.
Ca un exemplu să considerăm cheia de 8 litere
ACADEMIE care va fi utilizată repetitiv pentru cifrarea
mesajului SUBSTITUŢIE POLIALFABETCĂ.
Folosind o corespondenţă biunivocă între literele
alfabetului şi elementele inelului claselor de resturi modulo 26
(A=0, B=1, …, Z=25), substituţia 8-alfabetică conduce la
următorul text cifrat:
TEXT CLAR: SUBSTITUŢIA POLIALFABETICĂ

15
Algoritmi moderni de criptare

CHEIA: ACADEMIE
S+A=18+0(mod26)=18(mod26)=18=S
U+C=20+2(mod26)=22(mod26)=22=W
B+A=1+0(mod26)=1+(mod26)=1=B
…………………………………………
C+E=2+4(mod26)=6(mod26)=6=C
A+A=0+0(mod26)=0(mod26)=0=A
TEXTUL CIFRAT: SWBVXUBYTKESSXQ
ELHAEIFQGA
Un cifru Vigenere cu o perioadă n, deşi mult mai
puternic decât un cifru bazat pe substituţia monoalfabetică,
poate fi spart dacă criptanalistul dispune de cel puţin 2n
caractere din textul cifrat.
O variantă mai nouă a acestui cifru peste un alfabet
binar, este cifrul Vernam care se diferenţiază prin cheia de
cifrare care este reprezentată de o secvenţă de caractere
aleatoare care nu se repetă.
Fie M = m1m2… un mesaj clar binar şi K = k1k2… un şir
binar care reprezintă cheia. Criptograma C = Ek(M) = c1c2… se
obţine determinând fiecare caracter ci astfel:
ci = (mi + ki)(mod n), i=1, 2, …
Utilizarea o singură dată a cheii (“one time pad”) face ca
mesajul să fie foarte rezistent la criptoanaliză, practic imposibil
de spart; aceste cifruri au o largă utilizare în comunicaţiile
diplomatice şi militare.

Substituţia poligramică

Cifrurile bazate pe substituţie poligramică relizează


substituirea unor blocuri de caractere (poligrame) din textul clar,

16
Algoritmi moderni de criptare

distrugând astfel semnificaţia atât de utilă în criptoanaliză, a


frecvenţelor diferitelor caractere.
Vom considera un mesaj M = m1m2…mdmd + 1… şi un
cifru care prelucreză poligrame de lungime d. Criptograma
rezultată este C = c1…cdcd + 1…cd + d. Fiecare poligramă
mid+1…mid+d va fi prelucrată în poligrama cid+1… cid+d prin
funcţia de substituţie fi astfel:
cid + j = fj(mid + 1,…, mid + d)
În cazul cifrării literelor singulare frecvenţa de apariţie a
literelor in textul cifrat este aceeaşi ca frecvenţa de apariţie a
literelor corespunzătoare din textul clar. Această invarianţă a
frecvenţelor furnizeză o cantitate de informaţie suficientă
criptanalistului pentru spargerea sistemului de secretizare.
Pentru minimizarea informaţie colaterale furnizate de frecvenţa
de apariţie a literelor s-a procedat la cifrarea grupurilor de n
litere (n-grame). In cazul când un grup de n litere este substituit
printr-un alt grup de n-litere, substituţia se numeşte poligramică.
Substituţia poligramică cea mai simplă se obţine pentru n = 2
când diagrama m1m2 din textul clar se substituie cu diagrama
c1c2 din teztul cifrat.
Corespondenţa biunivocă dintre diagramele m1m2 şi
c1c2 se poate stabili cu ajutorul unui tabel de formă pătratică.
Literele din coloana din stânga pătratului şi din rândul dispus
deasupra pătratului servesc drept coordonate pentru diagrama
m1m2 din textul clar, iar diagrama cifrată corespunzătoare se
scrie la intersecţia liniei m1 cu coloana m2 sub forma:

A B C D E
A QX FN LB YE HJ
B AS EY BN RD CO
C PD RA MG LU OP

17
Algoritmi moderni de criptare

Pentru simplificarea operaţiei de descifrare se poate


întocmai “pătratul invers” care în punctul de coordonate c1c2
conţine diagrama clară m1m2.
Un exemplu clasic pentru substituţia diagramelor este
cifrul lui PLAYFAIR. Metoda constă în dispunerea literelor
alfabetului latin de 25 de litere (I=J) într-un pătrat de 5 linii şi 5
coloane de forma :
V U L P E
A B C D F
G H I K M
N O Q R S
T W X Y Z
De regulă, în prima linie a pătratului se scrie un cuvânt
cheie şi apoi se completează celelalte linii cu linii din literele
alfabetului, fără repetarea liniilor. Cifrele se execută după
următoarele reguli :
- dacă m1m2 sunt dispuse in vârfurile opuse ale
unui dreptunghi atunci c1c2 sunt caracterele din
celelalte vârfuri ale dreptunghiului, c2 fiind in
aceeaşi linie cu m1. De exemplu GS devine MN,
deci GS  MN;
- dacă m1 şi m2 se găsesc intr-o linie, atunci
c1 şi c2 se obţin printr-o deplasare ciclică spre
dreapta literelor m1 şi m2. De exemplu AD  BF
sau CF  DA, etc.;
- dacă m1 şi m2 se găsesc în aceeaşi coloană
atunci c1 şi c2 se obţin printr-o deplasare ciclică a
lui m1 şi m2 de sus în jos. De exemplu UO  BW
sau EZ  FE, etc.;

18
Algoritmi moderni de criptare

- pentru separarea liniilor identice alăturate se


introduc nişte caractere de separare care, regulă, au o
frecvenţă de apariţie redusă, cum sunt de exemplu
literele X,Q în limba română.
Descifrarea se execută după reguli asemănătoare cu cele
de cifrare.
O substituţie poligramică interesantă este metoda
algebrică de cifrare care se bazează pe utilizarea unei
transformări liniare de forma:
f(M) = PMT
unde P este o matrice pătratică cu n linii şi n coloane, iar M este
un vector coloană cu n elemente. Elementele matricei
transformării P aparţin inelului Z26, iar elementele lui M sunt
echivalente numerice al n-gramei M = e1, e2,…, en. În mod
analog cu cifrarea şi descifrarea digramelor se pot prelucra
trigramele, tetragramele sau pentagramele, obţinând un spor de
securitate prin creşterea rangului matricei de cifrare. Aplicând în
mod repetat operaţia de transformare liniară se obţine un cifru
produs definit prin produsul matriceal de forma:
C = P1(P(…(PkMT))…)
unde matricile Pi, i = 1, 2, …, k sunt matrici inversabile, de tipul
n x n, iar M = e1, e2 …, en este echivalentul numeric al n-
gramei.
Cele n litere ale n-gramei-text clar depind de n-grama-
cifru, dar dacă două n-grame din textul clar au o literă comună
de aici nu se poate deduce că n-gramele-cifru corespunzătoare
au o litera comună şi invers, ceea ce conduce la mascarea
caracteristicilor statistice ale textului clar.

19
Algoritmi moderni de criptare

În cadrul cifrurilor computaţionale, folosite în sistemul


de securitate ale calculatoarelor, substituţia simplă se realizează
prin aşa numitele cutii S.
Cifruri produs

Un algoritm produs (numit şi cifru produs) a t funcţii


(cifruri) f1, f2, …, ft, în care fi poate fi o substituţie sau o
permutare. Shannon a propus compunerea în diferite feluri a
funcţiilor pentru crearea unor transformări mixte care distribuie
în mod uniform mulţimea mesajelor M pe mulţimea tuturor
criptogramelor C. Aceste categorii de cifruri-produs se bazează
pe reţele de cutii S-P, în care se obţine criptograma
C = Ek(M) = StPt-1…S2P1 S1(M)
unde fiecare Si este dependentă de o cheie k, parte din cheia
cifrului K.

20
Algoritmi moderni de criptare

BIBLIOGRAFIE

[1] R. Anderson, E. Biham, and L. Knudsen, “Serpent: A


Proposal for the Advanced Encryption Standard”, NIST
AES Proposal, 1998.
[2] E Biham, RJ Anderson, LR Knudsen, “Serpent: A New
Block Cipher Proposal”, in Fast Software Encryption FSE
98, Springer LNCS vol. 1372 pp. 222-238.
[3] E Biham, A Shamir, “Power Analysis of the Key Scheduling
of the AES Candidates”, AES Second Candidate
Conference,
[4] Eli Biham, “Cryptanalysis of Ladder-DES”, proceedings of
FSE'97, lecture notes in computer science 1267, pp. 134-
138, 1997.
[5] E. Biham and A. Shamir, “Differential Cryptanalysis of the
Data Encryption Standard”, Springer-Verlag, 1993.
[6] E. Biham and A. Shamir, “Differential cryptanalysis of DES-
like cryptosystems”, Journal of Cryptology, Vol. 4, No.1,
1991, pp. 3-72.
[7] E. Biham, A. Biryukov, A. Shamir, “Miss in the Middle
Attacks on IDEA”, LNCS 1636, Fast Software
Encryption, pp. 124-138, March 1999.

21
Algoritmi moderni de criptare

[8] E. Biham, “New types of cryptanalytic attacks using related


keys”, Advances in Cryptology, Proceedings
Eurocrypt’93, LNCS' 765, T. Helleseth, Ed., Springer-
Verlag, 1993, pp. 398-409.
[9] E. Biham, “A Note Comparing the AES Candidates”, Israel
Institute of Technology, 1998.
[10] E. Biham. “A note on comparing the AES candidates”,
The Second AES Conference, March 22-23, pag 85-92;
1999.
[11] C Burwick, D Coppersmith, E D'Avignon, R Gennaro, S
Halevi, C Jutla, SM Matyas Jr., L O'Connor, M Peyravian,
D Sa_ord, N Zunic, “MARS: a candidate cipher for
AES”, July 17th 1998.
[12] http://www.research.ibm.com/security/mars.html
[13] C. Burwick, D. Coppersmith, E. D’Avignon, R. Gennaro,
S. Halevi, C. Jutla, S. M. Matyas, L. O’Connor, M.
Peyravian, D. Safford and N. Zunic: “MARS – a candidate
cipher for AES”.
[14] S. Contini, R.L. Rivest, M.J.B. Robshaw şi Y.L.Yin.,
“Some Comments on the First Round AES Evaluation of
RC6”, AES-Submmision, 1999.
[15] J. Daemen, R. Govaerts, and J. Vandewalle, “Weak Keys
for IDEA”, Advances in Cryptology, EUROCRYPT '93
Proceedings, Springer-Verlag, 1994, pp. 159-167.
[16] J. Daemen, “Cipher and hash function design strategies
based on linear and differential cryptanalysis”, Doctoral
Dissertation, March 1995, K.U.Leuven.
[17] J. Daemen and C. Clapp, “Fast hashing and stream
Encryption with PANAMA”, Fast Software Encryption,
LNCS 1372, S. Vaudenay, Ed., SpringerVerlag, 1998, pp.
60-74.

22
Algoritmi moderni de criptare

[18] J. Daemen, L.R. Knudsen and V. Rijmen, “Linear


frameworks for block ciphers”, to appear in Design, Codes
and Cryptography, 1996.
[19] J. Daemen, V. Rijmen, “AES Proposal: Rijndael”, AES
Proposal, 1998.
[20] J. Daemen şi V. Rijmen, ”Resistance Implementation
Attacks. A comparative Study of the AES Proposals”,
Second Advanced Encryption Standard Candidate
Conference, National Institute of Standard and
Technology (NIST), March 1999.
[21] O. Dunkelman, “An Analysis of Serpent-p and Serpent-p-
ns”, rump session, Second AES Candidate Conference,
1999.
[22] J. Hughes, “Implementation of NBS/DES Encryption
Algorithm in Software”, in Colloquium on Techniques and
Implications of Digital Privacy and Authentication
Systems, 1981.
[23] Electronic Frontier Foundation, “Cracking DES. Secrets of
Encryption Research, Wiretap Politics & Chip Design”,
O'Reilly (July 98) ISBN 1-56592-520-3.
[24] B. Gladman, “Implementation experience with AES
Candidate Algoritms”, Second Advanced Encryption
Standard Candidate Conference, National Institute of
Standard and Technology (NIST), March 1999.
[25] P. Hawkes, “Differential-Linear Weak Key Classes of
IDEA”, Advances in Cryptology, EUROCRYPT '98
Proceedings, Springer-Verlag, 1998, pp. 112-126.
[26] http://csrc.nist.gov/encryption/aes/round2/AESAlgs
/MARS/mars.pdf, Aug. 1999.
[27] http://www.counterpane.com/twofish-ks2.html

23
Algoritmi moderni de criptare

[28] http://csrc.nist.gov/encryption/aes/round1/conf2/papers/pa
pers/biham3.pdf
[29] http://csrc.nist.gov/encryption/aes/round1/conf2/aes2conf.
html
[30] ISO/IEC 9797, “Information technology - security
techniques - data integrity mechanism using a
cryptographic check function employing a block cipher
algorithm”, International Organization for Standardization,
Geneva, 1994 (second edition).
[31] T. Jakobsen and L.R. Knudsen, “The interpolation attack
on block ciphers”, Fast Software Encryption, LNCS 1267,
E. Biham, Ed., Springer-Verlag, 1997, pp. 28-40.
[32] D. Whiting, J. Kelsey, B.Schneier, D. Wagner, C. Hall,
and N. Ferguson, “Further Observations on the Key
Schedule of Twofish”, 1999.
[33] J. Kelsey, B. Schneier, D. Wagner and Chris Hall,
“Cryptanalytic attacks on pseudorandom number
generators”, Fast Software Encryption, LNCS 1372, S.
Vaudenay, Ed., Springer-Verlag, 1998, pp. 168-188.
[34] J. Kelsey, T. Kohno, and B. Schneier, “Amplified
Boomerang Attacks Against Reduced-Round MARS and
Serpent”, Fast Software Encryption, 7th International
Workshop, to appear.
[35] J. Kelsey, B. Schneier, and D. Wagner, “Key-Schedule
Cryptanalysis of IDEA, GDES, OST, SAFER, and Triple-
DES”, Advances in Cryptology, CRYPTO '96
Proceedings, LNCS 1109, N. Koblitz, Ed., Springer-
Verlag, 1996, pp. 237-252.
[36] K. Kim, S. Park, and S. Lee, “Reconstruction of s2 DES S-
Boxes and their Immunity to Differential Cryptanalysis”,
Proceedings of the 1993 Japan-Korea Workshop on

24
Algoritmi moderni de criptare

Information Security and Cryptography, Seoul, Korea, 24-


26 October 1993, pp. 282-291.
[37] L.R. Knudsen, “Truncated and higher order differentials”,
Fast Software Encryption, LNCS 1008, B. Preneel, Ed.,
Springer-Verlag, 1995, pp. 196-211.
[38] H. Lipmaa, “AES Candidates: A survey of
Implementations”, Second Advanced Encryption Standard
Candidate Conference, National Institute of Standard and
Technology (NIST), March 1999.
[39] E. Mang, I. Mang, S. Rotoiu, C. P. Popescu, ”MARS
attacks ! Preliminary cryptanalysis of reduced-rounds
MARS variants”, Analele Universităţii din Oradea,
Fascicola Colegiului tehnic, economic şi de administraţie-
2002.
[40] E. Mang., ”CRIPTOR - VLSI implementation of the RC6
Block Cipher”, Lucrare publicată la adresa:
http://csrc.nist.gov/encryption/aes/round2/pubcmnts.htm
[41] E. Mang, R. Ţirtea, “CRIPTOR - VLSI implementation of
the RC6 Block Cipher”, Lucrare acceptată la Simpozionul
ECI 2000, Kosice-Slovakia, sept. 2000.
[42] I. Mang, E. Mang, R. Ţirtea, ”Tehnici de securitate a
datelor”, indrumător de laborator, Oradea, 1998.
[43] . E. Mang, I. Mang, R. Ţirtea, ”A Comparative Analysis of
the Fifteen Advanced Encryption Standard Candidates”,
lucrare acceptată la sesiunea de comunicări SINTES’10,
Craiova, 2000.
[44] E. Mang, I. Mang, C. P. Popescu, “Hardware
Implementation of the Rijndael Algorithm”, Volumul
Conferinţei EMES, mai, 2000.

25
Algoritmi moderni de criptare

[45] E. Mang, I. Mang, C. P. Popescu, “Summarized


Characteristics of the five Finalists AES Algorithms”,
Volumul Conferinţei EMES, mai, 2000.
[46] I. Mang E. M. C. P. Popescu, “Implementări hardware a
celor cinci algoritmi finalişti AES”, Analele Universitatii
din Oradea, Fascicola Colegiului tehnic, economic şi de
administraţie-2001, pp. 43-51.
[47] E. Mang, I. Mang, C. P. Popescu, “Atacuri asupra
implementărilor celor cinci algoritmi finalişti AES”,
Analele Universitatii din Oradea, Fascicola Colegiului
tehnic, economic şi de administraţie-2001, pp. 59-66.
[48] I. Mang, E. Mang, C. P. Popescu, “Implementări software
a celor cinci algoritmi finalişti AES”, Analele Universitatii
din Oradea, Fascicola Colegiului tehnic, economic şi de
administraţie-2001, pp. 53-58.
[49] E. Mang, I. Mang, C. P. Popescu, “Cryptanalysis of
Reduced Variants of Rijndael”, Volumul Conferintei
ARA, 29 mai-3 iunie, 2002, în curs de apariţie.
[50] E. Mang, I. Mang, C. P. Popescu, “Analysis of Some
Attacks Against Reduced Variants of the Rijndael
Cipher”, Proceedings of the fifth international scientific
conference, ECI 2002 Conference in Herlany, Slovacia,
pp. 165-170.
[51] I. Mang, E. Mang, C. P. Popescu, “VLSI Implementation
of the Rijndael Cipher”, Proceedings of the fifth
international scientific conference, ECI 2002 Conference
in Herlany, Slovacia, pp. 159-164.
[52] E. Mang, I. Mang, C. P. Popescu, “Cryptanalysis of
Reduced Variants of Rijndael”, Volumul Alethea 2002,
pp. 163-172.
[53] E. Mang, I. Mang, C. P. Popescu, D. Popescu, “VLSI
Implementation of the Rijndael cipher”, Jornadas sobre

26
Algoritmi moderni de criptare

Computacion Reconfigurable y Aplications” – JCRA2002,


Almunecar, 18-20 de Septiembre, pp. 161-166.
[54] I. Mang, C. Popescu, C. A. Mang, “The AES winner”,
Analele Universitatii din Oradea, Fascicola Colegiului
tehnic, economic şi de administraţie-2002.
[55] M. Matsui, “On Correlation Between the Order of S-
Boxes and the Strength of DES”, Advances in Cryptology,
EUROCRYPT'94 Proceedings, Springer-Verlag, 1995, pp.
366-375.
[56] M. Matsui, ”Linear cryptanalysis method for DES cipher”,
Advances in Cryptology, Proceedings Eurocrypt'93,
LNCS 765, T. Helleseth, Ed., Springer-Verlag, 1994, pp.
386-397.
[57] F. Mirza and S. Murphy, “An Observation on the Key
Schedule of Twofish”, Proceedings of the 2nd AES
Conference, pp151-154, Rome, 1999.
[58] J.Nechvatal, E.Barker, L.Bassham, W.Burr, M.Dworkin,
J.Foti, E.Roback, “Report on the Advanced Encryption
Standard”, Computer Security Division, Information
Technology Laboratory, National Institute of Standards
and Technology, Technology Administration, U. S.
Departament of Commerce, october 2000.
[59] K. Nyberg, "Differentially uniform mappings for
cryptography", Adyances in Cryptology, Proceedings
Eurocrypt'93, LNCS 765, T. Helleseth, Ed., Springer-
Verlag, 1994, pp. 55-64.
[60] National Bureau of Standards, “Data Encryption
Standard” U.S.Department of Commerce, FIPS 46-3,
October 1999.

27
Algoritmi moderni de criptare

[61] M. Riaz and H. Heys, “The FPGA Implementation of RC6


and CAST-256 Encryption Algorithms”, in accepted for
CCECE'99, (Edmonton, Alberta, Canada), 1999.
[62] B. Preneel, “Analysis and Design of Cryptographic Hash
Functions”, Ph.D. dissertation, Katholieke Universiteit
Leuven, Jan 1993.
[63] V. Rjjmen, “Cryptanalysis and design of iterated block
ciphers”, Doctoral Dissertation, October 1997,
K.U.Leuven.
[64] V. Rijmen and B. Preneel, “On weaknesses of non-
surjective round functions”, the 2nd Workshop on
Selected Areas in Cryptography (SAC’95), Ottawa,
Canada, May 18–19 1995.
[65] Schneier B., Kelsey J., Whiting D., Wagner D., Hall C.,
Ferguson N. ”Performance Comparison Of The AES
Submissions”, The Second AES Conference, March 22-
23, 1998, pp 15-34R.L.Rivest, M.J.B.Robshaw, R.Sidney,
Y.L.Yin, “The RC6 Block Cipher”, AES submission,
1998.
[66] B. Schneier, J. Kelsey, D. Whiting, D. Wagner, C. Hall,
and N. Ferguson, “Twofish: A 128-Bit Block Cipher”,
AES Submission, 1999.
http://www.counterpane.com/twofish-paper.html.
[67] B. Schneier - ”Applied cryptography”, Ed. John Wiley &
Sons, Inc., 1997.
[68] D. Wagner, “The Boomerang Attack”, Fast Software
Encryption, 6th International Workshop, Springer-Verlag,
1999.
[69] V. V. Patriciu, ”Criptografia şi securitatea reţelelor de
calculatoare cu aplicaţii în C şi Pascal”, Editura Tehnică,
Bucureşti, 1994.

28

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