Documente Academic
Documente Profesional
Documente Cultură
M D(C)=M
E D B
A
C = E(M)
Ke Kd
K
ObservaÆie:
Aceste trei cerinÆe sunt vitale pentru interacÆiunea “socialå” în
calculatoare çi sunt echivalente cu interacÆiunile umane faÆå în faÆå.
ObservaÆii
toate aceste obiective existå natural în interacÆiunile umane
faÆå în faÆå;
apariÆia reÆelelor de calculatoare prin care au loc
interacÆiunile interumane pune o serie de probleme în plus:
hârtia se înlocuieçte cu discul, unda radio, firul; scrisul are
un format electronic çi anume “biÆii” cu posibilitate extrem de
uçoarå de copiere (copiile digitale sunt identice); utilizatorii se
aflå la distanÆå, nu se pot vedea faÆå în faÆå çi deci se lucreazå
în condiÆii de neîncredere
8 Autori
Nr.
Obiectivul Definirea
crt.
1 ConfidenÆialitatea påstrarea secretului pentru neavizaÆi
2 EntitåÆilor / legatå de identitatea unei entitåÆi
autentificar
informaÆiei)
IntegritåÆii asigurå cå informaÆia nu a fost modificatå
datelor de surse neautorizate
3 semnåtura mijlocul de a lega informaÆia de entitate
4 nerepudierea prevenirea unor acÆiuni comise anterior
5 autorizarea transferul cåtre altå entitate a unei
imputerniciri oficiale de a fi sau de a face
ceva
6 validarea mijlocul de a permite (pentru o anumitå
perioadå de timp) autorizarea de a folosi
sau manipula informaÆia sau resursele
7 revocarea retragerea certificatului sau autorizaÆiei
8 controlul accesului restricÆionarea accesului la resurse pentru
entitåÆi privilegiate (cu drept de acces)
9 certificare informaÆia de aprobare datå de o entitate
de încredere (arbitru)
10 certificare înregistrarea timpului de creere sau de
temporalå existenÆå a informaÆiei
3. Elemente de criptografie / criptologie 9
11 mårturia verificarea creerii sau existenÆei unei
informaÆii de cåtre o entitate diferitå decât
cea creatoare
12 confirmarea recunoaçterea faptului cå serviciile au fost
efectuate
13 dreptul de mijlocul de a înzestra o entitate cu dreptul
proprietate legal de a utiliza sau transfera o surså la
alÆii
14 anonimatul ascunderea (tåinuirea) identitåÆii unei
entitåÆi implicate într-un anumit proces
atac pasiv
(atac la
flux normal confidenÆialitate)
intercepÆie
atacuri
active
întrerupere
modificare fabricare
1 2 3 4 5
1 A B C D E
2 F G H IJ K
3 L M N O P
4 Q R S T U
5 V W X Y Z
Text în clar A S O S I T T I M P U L
Text cifrat M G B S U H G I Y D H L
Text \n clar A S O S I T T I M P U L
Text cifrat M S G G A B M B U B J F
Text \n clar A S O S I T T I M P U L
Text cifrat M E S K S L E M Y N H S
ObservaÆie:
Deçi fiecare caracter utilizat drept cheie poate fi gåsit din caracterul
anterior al textului cifrat, el este funcÆional dependent de toate
caracterele anterioare ale mesajului, inclusiv de cheia de încercare.
Urmare a acestui fapt este efectul de difuziune a proprietåÆilor
statistice ale textului în clar asupra textului cifrat, ceea ce face ca
analizele statistice så devinå foarte grele pentru un criptanalist.
În baza standardelor actuale, schemele de cifrare Vigenere nu sunt
foarte sigure; contribuÆia importantå a lui Vigenere constå în faptul cå a
descoperit cå pot fi generate secvenÆe nerepetitive drept cheie, prin
utilizarea a însuçi mesajului sau a unor pårÆi ale acestuia.
3.6.1 GeneralitåÆi
(1)
(4)
(3) (2)
A B
A B
P1 P2
A B
M
F Criptanaliz
å
k
D(C)=M
M C=E(M)
D B
A E
k C=Ek(M) k
A Dk(C)=M
H
SA VA
a) b)
Fig.3.7 - Reprezentarea graficå a procedurii de semnare a) çi verificare b)
ObservaÆie:
semnåturile trebuie så fie verificabile în caz de conflict så
nu poatå fi repudiate sau reclamate în mod fraudulos; un
arbitru trebuie så poatå rezolva disputa fårå a avea nevoie de
cheia privatå a lui A.
AplicaÆii:
3. Elemente de criptografie / criptologie 33
autentificare
integritatea datelor
nerepudiere
certificarea datelor publice în reÆele mari
Realizåri:
existå numeroçi algoritmi pentru semnåturi digitale, toÆi necesitând
informaÆie secretå pentru semnare çi informaÆie publicå pentru
verificare;
în cazul algoritmilor cu chei publice, cheia privatå folositå la criptare:
D A poate fi folositå la semnare, iar cheia publicå folositå la criptare:
E A poate fi folositå pentru verificare; acesta este cazul algoritmului
RSA.
în cazul altor algoritmi, implementårile pot fi diferite; de exemplu,
pentru algoritmii bazaÆi pe funcÆii hash (de contracÆie) çi cu certificare
temporalå (TS) se adaugå paçi suplimentari pentru semnare çi verificare;
o serie de algoritmi pot fi folosiÆi pentru semnåturi, dar nu pot fi
folosiÆi pentru criptare (confidenÆialitate), de exemplu DSA.
C B E B M A M I (3.22)
(2) I decripteazå C B çi gåseçte pe M A
DB C B M A M I (3.23)
(3) I verificå în baza de date dacå îl are pe M A
(4) I cripteazå cu k C mesajul M A precum çi certificarea sa M I
çi îl trimite lui C:
C I EC M A M I (3.24)
(5) C decripteazå C I çi citeçte pe M A precum çi certificare M I
DC C I M A M I (3.25)
Concluzii:
Aceste protocoale sunt bune, dar extrem de laborioase, totul
tranzitând prin I
I trebuie så Æinå o bazå de date cu cheile tuturor utilizatorilor
cât çi a mesajelor certificate, astfel încât devine un punct de
“strangulare” a traficului çi în acelaçi timp extrem de
vulnerabil la atac, deoarece el deÆine practic toate
informaÆiile. În plus, ca orice protocol arbitrat este mai
costisitor decât unul nearbitrat.
Propunem cititorului, ca exerciÆiu, så analizeze îndeplinirea cerinÆelor
unei semnåturi digitale în cele douå cazuri prezentate.
O ilustrare graficå a acestor douå situaÆii este prezentatå în fig. 3.8.
I CB=EKB(MA+ MI)
CA=EKA(MA)
CI=EKB(MA+
MI)
A B
CI=EKC(MA+ MI)
C
3. Elemente de criptografie / criptologie 35
S A D A M (3.28)
(2) A cripteazå mesajul criptat cu cheia publicå a lui B çi îl
trimite acestuia
C1 E B S A E B D A M (3.29)
(3) B decripteazå C cu cheia privatå D B
DB C1 DB E B S A S A (3.30)
(4) B verificå semnåtura lui A cu cheia sa publicå E A
V A S A M E A D A M M (3.31)
ObservaÆii:
a semna înainte de a cripta este natural. Când A scrie o scrisoare,
semneazå înainte de a pune scrisoarea în plic
utilizarea aceleiaçi perechi de chei (E, D) pentru semnåturå çi criptare
nu
este obligatorie. (Cheile pot avea dimensiuni diferite çi pot expira la
date
diferite).
Retransmiterea mesajului, ca o confirmare de primire (Resending the
message as a receipt)
(5) B, dupå verificarea lui S A retransmite M semnat ( S B ) la A
cu o confirmare de primire:
C2 E A S B M A (3.32)
(6) A decripteazå C 2 cu cheia sa privatå, verificå S B cu cheia
publicå a lui B çi dacå M este acelaçi cu cel transmis de el, A
çtie cå B a primit mesajul:
D A C 2 S B M DB M (3.33)
VB S B E B DB M M cu cel transmis de A. (3.34)
Atacul de retransmitere (confirmare de primire)
Ipotezå: H (atacatorul) este un utilizator legitim al sistemului deci are
E H , DH
(1) H înregistreazå mesajul lui A cåtre B în pasul (2)
E B S A M E B D A M (3.35)
(2) Dupå un anumit timp, H trimite acest mesaj lui B pretinzând
cå vine de la H (dar nesemnat)
3. Elemente de criptografie / criptologie 37
E B D A M (3.36)
(3) B decripteazå mesajul
DB E B D A M D A M (3.37)
çi verificå semnåtura lui H
VH E H D A M (3.38)
(4) B continuå protocolul çi retransmite mesajul lui H
S B DB E H D A M (3.39)
E H S B E H DB E H D A M
(5) H decripteazå mesajul:
DH E H S B DB E H D A M (3.40)
(6) H aplicå cheia publicå a lui B
E B DB E H D A M E H D A M (3.41)
(7) H decripteazå încå o datå cu cheia sa privatå
DH E H D A M D A M (3.42)
(8) H aplicå cheia publicå a lui A çi obÆine pe M
E A D A M M (3.43)
çi aça H poate citi corespondenÆa
AtenÆie:
deçi semnalul decriptat de cåtre B la pasul (3) este fårå sens, el a
continuat protocolul, generând astfel insecuritate; dacå B ar fi
verificat mesajul înainte de a-l retransmite, acest atac nu era posibil;
nu semnaÆi niciodatå mesaje arbitrare de la alte persoane, nu decriptaÆi
mesaje arbitrare çi nu difuzaÆi rezultatele obÆinute de alÆii.
Contracararea atacului de retransmitere
- utilizarea de operaÆii distincte (chiar dacå apropiate) pentru
criptare respectiv semnåturå;
- chei diferite pentru criptare çi semnåturå;
- algoritmi diferiÆi pentru criptare çi semnåturå;
- certificare temporalå care fac ca semnåtura de intrare så fie
diferitå de cea de ieçire;
- semnåturi digitale cu funcÆii hash.
Atacuri în criptografia cu chei publice
cheia publicå trebuie så fie protejetå la accesul la scriere;
38 Autori
n = m
FuncÆie hash
.. .
H
preimagine valoare hash (VH)
S A D A HV M (3.44)
(4) A trimite M çi S A cåtre B, criptat cu cheia publicå a lui B:
C B E B S A M E B D A HV M M (3.45)
(5) B decripteazå C B çi gåseçte M çi S A dupå care determinå pe
HV(M) çi o comparå cu cea decriptatå
DB C B S A M . (3.46)
HV M CALC HashM (3.47)
V A S A E A S A E A D A HV HV M DECRIPTATA (3.48)
dacå (a) (b) S A este validatå
Avantaje:
vitezå mare;
securitate sporitå: p 2 160 de a avea douå HV identice;
S A poate fi påstratå separat de documentul M, ocupând o memorie
mult mai micå.
Utilizåri:
sisteme de arhivare fårå citirea documentelor;
obÆinerea dreptului de autor prin påstrarea secretului documentului.
S B DB VH M (3.51)
(3) B trimite S B la A
(4) A trimite la C: S A S B (3.52)
(5) C verificå S A çi S B
(1) I
kA kB
(2) (k,kA)
(5)
A B
(4) (k,kB)
(6)
k
Fig. 3.10 - Protocol de schimb de chei în criptografia simetricå
I are copia tuturor cheilor k, deci poate citi tot traficul din
reÆea;
PotenÆial I este un punct de “strangulare” a traficului în reÆea.
Principiul:
A çi B utilizeazå criptografia cu chei publice pentru a stabili cheia de
sesiune k
ComunicaÆia confidenÆialå între A çi B se face cu criptografie
simetricå
I
(1) EB
(1) EA (3) DB (EB(k))=k
(2) EB(k)
A B
EH EB H EA EH
Protocolul este:
(1) A çi B îçi procurå de la I (CDC - centru de distribuÆie a
cheilor) cheile publice E A çi E B
(2) A genereazå o cheie de sesiune aleatoare k pe care o cripteazå
utilizând cheia publicå a lui B çi o trimite la B: E B k
(3) B decripteazå mesajul primit de la A utilizând cheia sa privatå
DB :
DB E B k k (3.55)
(4) A çi B comunicå confidenÆial între ei folosind cheia cheia
secretå k
Atacul “om la mijloc” (man in the middle attack)
46 Autori
(1) H - atacatorul activ, înlocuieçte cheia publicå a lui A sau B cu
cheia sa publicå: E H (în timpul transmiterii de la A la B çi
invers, fie într-o bazå de date a CDC)
(2) Toate mesajele criptate în acest caz de A çi B vor trece pe la H
care le va decripta cu uçurinÆå
Protocolul de interblocare (interlock protocol)
Protocolul de interblocare a fost inventat de Ron Rivest çi Adi Shamir çi
poate contracara atacul “om la mijloc”. Paçii acestuia sunt:
(1) A çi B intrå în posesia cheilor publice E A çi E B fie de la
CDC fie transmiÆându-le direct unul altuia
(2) A cripteazå M A cu E B çi transmite jumåtate din
criptogramå:
C A E B M A (3.56)
(3) B cripteazå M B cu EA çi transmite jumåtate din
criptogramå:
C B E A M B (3.57)
(4) A trimite lui B cealaltå jumåtate din C A
(5) B pune împreunå cele douå jumåtåÆi recepÆionate de la A çi le
cripteazå cu cheia sa privatå
E B M A E B M A E B M A
1 1
(3.58)
2 2
DB E B M A M A (3.59)
(6) A procedeazå identic çi obÆine M B
ObservaÆii:
H nu mai poate face nimic deoarece ½ din M A sau M B nu
are utilitate ½ reprezentând tot al doilea bit pentru un
algoritm de tip bloc;
decriptarea poate depinde de vectorul de iniÆializare, care se
poate transmite în a doua jumåtate a mesajului;
3. Elemente de criptografie / criptologie 47
Criptarea: E K M M K C . (3.64)
Decriptarea: DK C C K M K K M . (3.65)
ObservaÆii:
pentru cifruri secvenÆiale puternice se au în vedere:
- schimbarea periodicå a lui g i X
- pe timpul pauzelor între mesaje, se vor transmite valorile
aleatoare produse de un generator de zgomot
Cutia P
M0 C0
M1 C1
M2 C2
M3 C3
M7 C7
Cutia S
P
0 0
M0 1 1
C0
2 2
M1 CB 3 3 CZ C1
Z 4 4 B
M2 5 5 C2
6 6
7 7
3. Elemente de criptografie / criptologie 55
Intrare M0 M1 M2 C0 C1 C2 Ieçire
0 0 0 0 1 1 0 3
1 1 0 0 1 1 1 7
2 0 1 0 0 0 0 0
3 1 1 0 0 1 1 6
4 0 0 1 0 1 0 2
5 1 0 1 1 0 1 5
6 0 1 1 0 0 1 4
7 1 1 1 1 0 0 1
Tabelul 3.5 - Stårile intrårilor çi ieçirilor pentru cutia S din fig. 3.13.
Exemple:
n=3 2 3 8 8! 40320 permutåri
dacå n = 128 2128 ! criptanaliza exhaustivå imposibilå
tehnic
k' k''
8 8
M0 C0
B i 4 4 4 4 B c
S
l n M1 S C1 l i
o c 1 1 o f
4 4 4 4
c l S S c r
P1 M
P20 P3
t a 2 2 t a
4 S 4 4 S 4 e t
e r
x 3 3 x
M15 4 S 4 4 S 4 C15 t C
t M
4 4
AplicaÆii:
LUCIFER
IDEA
DES
Prezentate pe larg în [Scheneier], [Patriciu (1994)], [Stallings] çi [Menezes]
Sistemul
DES (Data Encryption Standard)
DEA (Data Encryption Algoritm) - ANSI (American
National Standards Institute)
DEA - 1 - ISO
3. Elemente de criptografie / criptologie 57
Caracteristici:
- flexibilitatea implementårii çi utilizårii în diferite aplicaÆii;
- fiecare bloc cifrat este independent de celelalte;
- nu este necesarå sincronizarea între operaÆiile de criptare /
decriptare ale unui bloc;
- pentru creçterea securitåÆii se poate aplica algoritmul T-DES
care constå în iterarea de trei ori a algoritmului DES;
Deçi då semne de “båtrâneÆe” DES-ul s-a comportat excepÆional timp de
20 de ani la atacuri criptanalitice çi este considerat încå sigur. Consideråm
cå istoria apariÆiei sale meritå a fi amintitå [Scheneier], deoarece ea
reprezintå un model de conlucrare eficientå a lumii çtiinÆifice, a
producåtorilor de echipamente, a consumatorilor çi - în final - a factorului
politic în dezvoltarea unei probleme de mare actualitate.
Dezvoltarea standardului
La începutul anilor 70 cercetarea criptograficå nemilitarå era
întâmplåtoare. Aproape cå nu erau lucråri publicate în domeniu.
Majoritatea oamenilor çtiau cå militarii utilizau coduri speciale pentru a
comunica, dar puÆini erau cei ce înÆelegeau çtiinÆa criptografiei. NSA
(National Security Agency) avea cunoçtinÆe considerabile, dar nici nu
admiteau public cå existå.
Anumite companii mici fåceau çi livrau echipamente criptografice, în
afara SUA, diferitelor guverne. Echipamentele erau total diferite fårå
posibilitate de interconectare. Nimeni nu çtia måcar dacå era sigur, dat
fiind cå nu exista un organism independent care så certifice securitatea.
În 1972, NBS (National Bureau of Standards) aståzi NIST (National
Institute of Standards and Technology), a iniÆiat un program pentru
protecÆia calculatoarelor çi comunicaÆiilor de date. Ca parte a acestui
program, ei doreau så dezvolte un singur standard pentru un algoritm
criptografic. Un singur algoritm ar fi putut fi testat çi certificat, iar
diferitele echipamente criptografice care l-ar fi folosit ar fi fost compatibile
çi ar fi fost în acelaçi timp mai ieftin de implementat çi mai rapid
disponibile.
La data de 15 mai 1973 NBS a fåcut publice cererile pentru propuneri
de algoritmi criptografici standard. Criteriile specificate au fost:
58 Autori
- algoritmul trebuie så asigure un nivel ridicat de securitate
- algoritmul trebuie complet specificat çi uçor de înÆeles
- securitatea algoritmului trebuie så fie cuprinså în cheie çi nu
în secretul algoritmului
- algoritmul trebuie så fie disponibil tuturor utilizatorilor
- algoritmul trebuie så se poatå adapta diferitelor aplicaÆii
- algoritmul trebuie så poatå fi implementat economic cu
circuite electronice
- algoritmul trebuie så fie eficient în utilizare
- algoritmul trebuie så poatå fi evaluat
- algoritmul trebuie så poatå fi exportabil
Råspunsul public la prima strigare a aråtat cå interesul pentru un
standard criptografic era mare, dar existau puÆini specialiçti (în domeniul
public). Nici una dintre propuneri nu a îndeplinit cerinÆele specificate.
La data de 27 august 1974, NBS a fåcut a doua cerere (Federal
Register). Primiserå promisiunea unei candidaturi: un algoritm descoperit
de IBM la începutul anilor 1970 (LUCIFER). IBM avea un grup de
criptografi la Kingston çi Yorktown Heights. Algoritmul, deçi complicat,
era clar. Utiliza doar operaÆii simple pe grupuri mici de biÆi çi se putea
implementa destul de eficient.
NBS a cerut agenÆiei NSA så evalueze securitatea algoritmului çi så
determine dacå poate constitui un standard federal. IBM a patentat
algoritmul, dar dorea ca drepturile de autor så fie date altora pentru
fabricaÆie, implementare çi utilizare.
La data de 17 martie 1975, Registrul Federal a publicat algoritmul dat
de NBS çi cerinÆele companiei IBM de neexclusivitate çi a cerut comentarii.
Çi comentariile au fost multe. ToÆi erau speriaÆi cå NSA a modificat
algoritmul instalând o trapå. Ei au comentat cå NSA a redus cheia de la
128 la 56 de biÆi.
În 1976, NBS a Æinut douå conferinÆe pentru a evalua standardul
propus. Prima conferinÆå a discutat matematica algoritmului çî
posibilitatea unei trape. Cea de-a doua conferinÆå a discutat problema
creçterii dimensiunii cheii. Au fost invitaÆi: proiectanÆii algoritmului,
evaluatorii, implementatorii, vânzåtorii, utilizatorii çi criticii. Dupå toÆi,
conferinÆele au fost strålucite.
NBS a publicat:
3. Elemente de criptografie / criptologie 59
Bit ieçire 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Bit 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
intrare
Bit ieçire 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Bit 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
intrare
Bit ieçire 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
intrare
Bit ieçire 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
intrare
Bit intrare 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27
Bit ieçire 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
Bit intrare 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25
Bit ieçire 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Bit intrare 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10
Bit ieçire 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Bit intrare 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25
Tabelul 3.9 - Permutarea P
Bit ieçire 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Bit intrare 57 49 41 33 25 17 9 1 58 50 42 34 26 18
Bit ieçire 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Bit intrare 10 2 59 51 43 35 27 19 11 3 60 52 44 36
Bit ieçire 29 30 31 32 33 34 35 36 37 38 39 40 41 42
Bit intrare 63 55 47 39 31 23 15 7 62 54 46 38 30 22
Bit ieçire 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Bit intrare 14 6 61 53 45 37 29 21 13 5 28 20 12 4
IteraÆia 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Nr. biÆi 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
Bit ieçire 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Bit intrare 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4
Bit ieçire 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Bit intrare 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40
Bit ieçire 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
Bit intrare 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32
Cutie Rând 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
S1
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
S2
2 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
1 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
S3
2 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
3 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
S4
2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
1 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
S5
2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
0 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
1 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
S6
2 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
64 Autori
0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
S7
2 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
S8
2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
3 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Tot din fig 3.16 se poate observa cå în cazul algoritmului DES, çi cheia
de 56 de biÆi va fi supuså unei permutåri de tipul 1 dupå care va fi împårÆitå
în douå blocuri de 28 de biÆi iniÆial. Dupå aceasta, asupra ambelor pårÆi
astfel obÆinute se va efectua o rotaÆie circularå spre stânga cu un numår de
biÆi corespunzåtor numårului iteraÆiei, numår ce se poate gåsi în tabelul
3.11 prezentat anterior în aceastå secÆiune. Cele douå blocuri care s-au
obÆinut anterior se vor introduce ca çi blocuri de intrare în viitoarea iteraÆie
dar çi într-un bloc de permutare de tip 2 din care se va obÆine de altfel çi
cheia intermediarå a iteraÆiei curente.
3. Elemente de criptografie / criptologie 67
Principiul:
- Utilizarea a douå chei diferite:
- E - publicå pentru criptare
- D - secretå / privatå pentru decriptare
- Cele douå funcÆii E çi D sunt funcÆii greu inversabile
cu trapå.
Conceptul a fost inventat de Whitfield Diffie çi Martin Hellman în 1976
(când au prezentat o lucrare la National Computer Conference çi pe care
au publicat-o dupå aceea în lucrarea New Directions in Cryptography).
Ralph Merkle a inventat - independent - acelaçi principiu, dar lucrarea
i-a apårut doar în 1978 (datoritå unui proces prelungit de publicare).
NSA a susÆinut cå deÆine principiul din 1976, dar nu a putut aduce
probe.
Din numeroçii algoritmi propuçi, numai trei lucreazå bine atât pentru
criptare cât çi pentru semnåturi digitale:
RSA
El Gamal
Rabin.
Utilizare (în sisteme hibride): pentru sesiuni de chei.
Dezavantaj: de 1000 de ori mai lenÆi decât algoritmii simetrici.
Diffie çi Hellman au propus ca cele douå funcÆii E çi D så îndeplineascå
çi urmåtoarele proprietåÆi adiÆionale:
dacå S DM , atunci M E S , sau E DM M , M
posibilitatea utilizårii în semnåturi digitale
Principiul:
- funcÆii greu inversabile
- f - se calculeazå uçor
- f 1 se calculeazå uçor doar dacå existå o trapå (informaÆie
secretå)
-
f , f 1 ~ E, D
Exemplu:
Fie q un numår prim çi un întreg x, x 1, q 1
68 Autori
3.7.3.1 GeneralitåÆi
O funcÆie hash: H opereazå asupra unui mesaj pre-imagine de lungime
variabilå M çi då la ieçire o valoare hash: h de lungime constantå (128 sau
160 de biÆi).
h H M [m biÆi- lungimea valorii lui h]
O funcÆie hash neinversabilå (one way hash) trebuie så mai
îndeplineascå urmåtoarele proprietåÆi:
Dacå se då M, h H M se calculeazå uçor.
Dacå se då h, determinarea lui M astfel încât h H M , este foarte
dificilå.
Dacå se då M este greu de gåsit un alt mesaj M’ astfel încât:
H M H M (collusion free).
Aceastå ultimå cerinÆå este necesarå pentru a evita “atacul zilei de
naçtere” (birthday attack), bazat pe determinarea a douå mesaje aleatoare
M çi M’ astfel încât H M H M .
Protocol cu atacul zilei de naçtere – Gideon Yuval
(1) A pregåteçte douå versiuni ale unui contract: unul favorabil
lui B, al doilea de escrocare.
(2) A face câteva modificåri subtile la fiecare document çi
calculeazå pe h (valoare lui H) (exemplu: SPACE SPACE-
BACKSPACE-SPACE, SPAæIUL înainte sau dupå întoarcerea carului. În
acest fel A poate genera 2 32 documente diferite dacå în document sunt 32
de linii).
(3) A comparå valoarea h pentru toate modificårile, pentru a
vedea douå identice. Dacå h - 64 biÆi, cele 2 32 modificåri vor
conduce la valori h identice.
(4) A face ca B så semneze o versiune a contractului favorabilå
lui, utilizând un document de semnare cu valoarea h.
3. Elemente de criptografie / criptologie 73
(5) Mai târziu, A înlocuieçte contractul semnat de B cu altul,
defavorabil dar având aceeaçi valoare h. În acest mod poate
convinge un arbitru cå B a semnat noua variantå.
Morala: este bine så se facå întotdeauna unele modificåri cosmetice ale
documentelor care se semneazå.
Lungimea funcÆiilor hash neinversabile
S-a aråtat cå funcÆiile hash de 64 de biÆi nu rezistå la atacul “zilei de
naçtere”. Cele mai practice funcÆii prevåd pe m = 128 de biÆi (de exemplu
MD5) 2 64 documente aleatoare la care se cautå valori h identice cu
celelalte 2 64 documente.
NIST foloseçte în standardul SHS (Secure Hash Standard) 160 de biÆi ca
lungime a rezumatului mesajului atacul zilei de naçtere necesitå 2 80
valori ceea ce sporeçte securitatea.
În continuare, se då o metodå care genereazå o valoare h mai mare
decât cea produså de o funcÆie hash.
(1) Genereazå o valoare h a unui mesaj utilizând o funcÆie H datå
în carte.
(2) Concateneazå mesajul cu valoarea h.
(3) Genereazå valoarea h a mesajului concatenat cu valoarea h.
(4) Prin concatenarea valorii h generate în (1) cu valoarea h
generatå în (3), valoarea h rezultantå va creçte.
(5) Repetå pasul (1) pânå la (3) de câte ori vrei çi concateneazå
ObservaÆie:
Deçi metoda propuså nu s-a dovedit a fi sigurå sau nesigurå, o
serie de specialiçtii au rezerve serioase asupra ei.
Rezumat al functiei hash neinversabile
În lumea realå, funcÆiile hash sunt gândite ca funcÆii de compresie.
Valoarea h a întregului mesaj este valoarea h a ultimului bloc. Aceastå
tehnicå se numeçte MD – strengthening. IniÆialele MD provin de la
message digest, ceea ce - în traducere - reprezintå rezumatul mesajului.
DiferiÆi cercetåtori au teoretizat cå dacå funcÆia de compresie este
sigurå, atunci aceastå metodå de a comprima (hashing) preimagini de
lungimi arbitrare este de asemenea sigurå, dar nu s-a demonstrat nimic.
[Scheneier]
74 Autori
3.7.3.2 Algoritmi mai importanÆi
ObservaÆie:
Merkle a recomandat utilizarea lui SNEFRU cu cel puÆin 8
treceri, caz în care algoritmul este mult mai lent decât MD-5
sau SHA.
N – HASH (Nippon - Hash)
- inventat de cåtre Nippon Telephone and Telegraph în 1990
(tot ei au inventat FEAL - cod bloc)
- m = 128
- blocurile M i au lungimi de 128 de biÆi
MD – 4 (Message Digest)
- inventat de Ron Rivest
- m = 128 biÆi
- a fost supus criptanalizei çi a rezultat un algoritm mai
puternic (MD - 5)
3. Elemente de criptografie / criptologie 75
Tråsåturi:
cel mai eficient atac este forÆa brutå;
nu se bazeazå pe nici o ipotezå, de exemplu dificultatea factorizårii;
vitezå: bun pentru implementåri soft de mare vitezå, bazându-se pe o
simplå manipulare a unor operanzi pe 32 de biÆi.
MD – 5
- este o variantå îmbunåtåÆitå a lui MD - 4, dar m råmâne în
continuare de 128 de biÆi;
- este puÆin mai lent decât MD - 4, dar datoritå complexitåÆii
sale ridicate oferå o securitate mai ridicatå decât acesta;
- spre deosebire de SNEFRU care foloseçte cutii S çi funcÆia
SAU-EXCLUSIV, MD - 5 se bazeazå pe adunarea modulo
2 32 ceea ce îl face mai puÆin vulnerabil la criptanaliza
diferenÆialå [Stallings].
SHA (Secure Hash Algorithm)
- este propus de NIST çi NSA pentru utilizare în standardul de
semnåturi digitale (DSS) standardul SHS (Secure Hash
Standard);
- dezvoltat de NIST çi publicat ca standard federal de procesare
a informaÆiilor sub numele de FIPS PUB 180 în 1993
- este bazat pe algoritmul MD - 4;
- spre deosebire de MD - 5 este mai lent dar mult mai sigur
având m = 160 biÆi.
Nr.
Parametrul Algoritmi simetrici Algoritmi cu chei publice
crt
1 viteza mare (sute Mbps) hard mai micå de cca 1000 de ori
(1 10 Mbps) soft
2 lungimea relativ micå (ex: 64, 128 biÆi) mare (ex. RSA:1024)
tipul secretå (necesitå canal k E - publicå, k D - privatå
K sigur)
manage- greoi, necesitå un centru de uçor, nu necesitå CDC
mentul distribuÆie a cheilor (CDC)
78 Autori
schimbare foarte des (cheie de sesiune) rar, la ani de zile
3 semnåtura - necesitå protocoale - nu necesitå arbitraj
digitalå arbitrate - verificarea semnåturii
- verificarea este de lungime micå
semnåturii este de
lungime mare
4 eficienÆa pentru confidenÆialitate - pentru semnåturi
digitale
- pentru managementul
cheilor
5 utilizarea - în criptografia clasicå - RSA
- în standarde moderne - Rabin
(DES, LUCIFER, IDEA) - El Gamal etc.
Tabelul 3.14 - ComparaÆia algoritmilor simetrici çi cu chei publice
Caracteristici:
Criptarea se face la nivel fizic.
Echipamentul de criptare se pune dupå interfaÆa stratului
fizic, care este standardizatå; aceste echipamente hard cripteazå
toate datele ce trec prin ele: date, informaÆii de rutare, informaÆii
corespunzåtoare protocolului. Datoritå acestui fapt se realizeazå o
protecÆie a traficului (traffic flow security), ceea ce constituie un
avantaj.
Comutatoarele inteligente çi nodurile cu memorie dintre
emiÆåtor çi receptor necesitå decriptare înainte de procesare (vezi
nodurile 2 çi 3 din fig. 3.18) ceea ce constituie un dezavantaj,
nodurile devin vulnerabile din punct de vedere al securitåÆii.
Managementul cheilor este simplu, numai nodurile terminale
ale unei legåturi necesitând o cheie comunå, ele putând så-çi
schimbe cheia independent de restul reÆelei (în fig 3.18 se vede de
exemplu cå legåtura 1 foloseçte k1 ç.a.m.d.
Securitatea nu depinde de managementul cheilor.
Criptarea este online.
3.8 Bibliografie
Schneier, B. (1996): Applied cryptography. Protocols, Algorithms and Source Code in C, J.
Willey & Sons, New York
Patriciu, V. V. (1994): Criptografia çi securitatea reÆelelor de calculatoare, Edittura Tehnicå,
Bucureçti
Stallings, W. (1995): Network and Internetwork Security. Principles and Practice, Prentice
Hall
Angheloiu, I., Gyorfi, E., Patriciu, V.V. (1986): Securitatea çi protecÆia informaÆiei în
sistemele electronice de calcul, Editura Militarå, Bucureçti
Patriciu V. V. (1998): Securitatea informaticå în UNIX çi Internet, Editura Tehnicå,
Bucureçti
Menezes, A., Orschot, P., van, Vanstone, S. (1997): Handbook of Applied Cryptography, CRC
Press Inc.
Borda, M. (1999): Teoria transmiterii informaÆiei, Dacia, Cluj-Napoca
Deavours, C.A., Kahn, D. (1998): Selections from Cryptologia, Artech House
Swanson, M.D., Kobayashi, M., Tewfik, A. (1998): Multimedia Data – Embedding and
Watermarking Technologies, Proceedings of the IEEE, Vol. 86, No. 6, June.