Sunteți pe pagina 1din 39

CRIPTOGRAFIE COMPUTAȚIONALĂ

Conf.univ.dr. Ana Cristina Dăscălescu


Conf.univ.dr. Radu Boriga
PROGRAMA ANALITICĂ A CURSULUI

 Scurt istoric al criptografiei


 Cifruri de substituție monoalfabetice și polialfabetice
 Cifruri de permutare
 Principii ale criptografiei moderne
 Primitive criptografice moderne
 Generatoare de numere pseudoaleatoare
 Criptarea imaginilor
 Criptografia bazată pe haos

CRIPTOGRAFIE COMPUTAȚIONALĂ 2
MODALITATEA DE EVALUARE

Proiect (70%) + test grilă (30%)

Teme pentru proiecte

 Fiecare proiect va fi realizat de o echipă formată din


maxim 2 studenți.

 Proiectul trebui să conțină o descriere detaliată a


conceptului respectiv, împreună cu câteva exemple.

 Trebuie realizată și o implementare într-un limbaj de


programare.

CRIPTOGRAFIE COMPUTAȚIONALĂ 3
BIBLIOGRAFIE

 Adrian Atanasiu, "Curs de criptografie (semestrul I)",


http://www.galaxyng.com/adrian_atanasiu/cript.htm

 Adrian Atanasiu, "Securitatea Informației. Criptografie


(volumul I)", Ed. Infodata Cluj, 2007

 Bruce Schneier, "Applied Cryptography", Wiley & Sons, 1996

 Alfred Menezes, Paul van Oorschot, Scott Vanstone,


"Handbook of Applied Cryptography", CRC Press, 2001

CRIPTOGRAFIE COMPUTAȚIONALĂ 4
BAZELE MATEMATICE ALE CRIPTOGRAFIEI

 Combinatorică

 Algebra câmpurilor finite

 Teoria numerelor

 Teoria curbelor eliptice

 Probleme NP-complete

 Teoria haosului

 Mecanică cuantică

 Teoria jocurilor
CRIPTOGRAFIE COMPUTAȚIONALĂ 5
SCURT ISTORIC AL CRIPTOGRAFIEI

 Cuvântul criptografie provine din limba greacă: kryptós (ascuns) și gráfein


(a scrie).

Cryptography is the art of keeping secret a secret...


 Perioada antică:
 Scitala – cifru de transpoziție care folosea un cilindru pe care era înfășurată
o bandă de pergament pe care se scria textul clar, după care banda era
desfășurată.

 Cifrul lui Cezar – cifru de substituție monoalfabetic


CRIPTOGRAFIE COMPUTAȚIONALĂ 6
SCURT ISTORIC AL CRIPTOGRAFIEI

 Perioada medievală:
 Codul lui Alberti – primul cifru de substituție polialfabetic inventat în 1467
de către Leon Battista Alberti.

 Cifrul Vigenѐre – cifru de substituție polialfabetic cu cheie secretă inventat


în 1553 de către Giovan Battista Bellaso, dar atribuit, în mod eronat, lui
Blaise de Vigenère care în 1586 a inventat un sistem de cifrare asemănător.

 Perioada modernă:
 Principiile lui Kerckhoffs – au fost formulate în 1883 de către Auguste
Kerckhoffs și precizează condițiile pe care trebuie să le îndeplinească un
sistem de criptare pentru a fi considerat sigur. Cel mai cunoscut dintre ele
este următorul: "Un sistem de criptare trebuie să fie sigur chiar și în cazul
în care se cunosc toate detalii despre el, mai puțin cheia secretă."

CRIPTOGRAFIE COMPUTAȚIONALĂ 7
SCURT ISTORIC AL CRIPTOGRAFIEI
 Cifrul lui Vernam – un sistem de criptare fluid, singurul având securitate
necondiționată, inventat în 1918 de către Gilbert Sandford Vernam.

 Mașina Enigma – a fost construită în 1919 de Arthur Scherbius, pe baza


unui cifru de substituție polialfabetic complex, și utilizată de către germani
în cel de-al II-lea Război Mondial

 Principiile lui Shannon – au fost formulate în 1948 de către Claude


Shannon și postulează condițiile pe care trebuie să le îndeplinească un
sistem de criptare pentru a fi sigur pe baza noțiunilor de difuzie și confuzie.

CRIPTOGRAFIE COMPUTAȚIONALĂ 8
SCURT ISTORIC AL CRIPTOGRAFIEI
 Principiul lui Kerckhoffs:
A S IMP LE E XAMP LE
 "Only the key should be secret, not
the algorithm." PERMUTARE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
𝑝=
 Principiile lui Shannon: 9 7 1 13 10 8 6 11 15 4 14 16 3 5 12 2

 Difuzie: "The statistical structure


of the plaintext is dissipated into SE MEPL PAM ELI X A
long-range statistics of the
SUBSTITUȚIE
ciphertext."
Fiecare literă este deplasată cu trei poziții către
dreapta
 Confuzie: "Attempts to make
esar c
the relationship between the
ciphertext and the key as complex VHPH SO SDPHOL A D
as possible."

CRIPTOGRAFIE COMPUTAȚIONALĂ 9
SCURT ISTORIC AL CRIPTOGRAFIEI
 Perioada contemporană:
 Protocolul Diffie-Hellmann – primul sistem de criptare cu cheie publică,
inventat în 1976 de Whitfield Diffie și Martin Hellman.
 Sistemul de criptare RSA – sistem asimetric de criptare cu cheie publică,
care poate utilizat atât pentru criptare, cât și pentru semnare digitală,
propus în 1978 de Ron Rivest, Adi Shamir și Leonard Adleman.
 Sistemul de criptare DES - un sistem de criptare selectat ca standard
federal de procesare a informațiilor în Statele Unite în 1976, în prezent fiind
considerat nesigur.
 Sistemul de criptare AES - un sistem de criptare simetric pe blocuri
standardizat în 2001 de NIST pentru protecția datelor electronice, inventat
de către Joan Daemen și Vincent Rijmen.
 Criptografia bazată pe sisteme dinamice haotice - în 1998, Murilo Da
Silva Baptista a propus primul algoritm de criptare care folosea în mod
explicit caracteristici specifice doar sistemelor dinamice discrete haotice.

CRIPTOGRAFIE COMPUTAȚIONALĂ 10
NOȚIUNI DE BAZĂ ALE CRIPTOGRAFIEI

 Obiectivele criptografiei:
 Confidenţialitatea: informaţia rămâne accesibilă doar părţilor autorizate
 Integritatea datelor: proprietatea de a evita orice modificare (inserare,
ștergere, substituție) neautorizata a informației
 Autentificare: proprietatea de a identifica o entitate conform anumitor
standarde, fiind compusă din autentificarea unei entități și autentificarea sursei
informației
 Non-repudierea: proprietatea care previne negarea unor evenimente
anterioare

 Criptologia este ştiinţa care se ocupă cu studiul comunicaţiilor sigure şi


cuprinde criptografia și criptanaliza.

 Criptografia este studiul metodelor matematice legate de securitatea


informației, capabile să asigure confidențialitatea, autentificarea şi non-
repudierea mesajelor, precum și integritatea datelor vehiculate.

CRIPTOGRAFIE COMPUTAȚIONALĂ 11
NOȚIUNI DE BAZĂ ALE CRIPTOGRAFIEI

 O schemă de criptare convenţională este alcătuită din cinci elemente:


 Textul clar: mesajul original sau informaţia de intrare pentru algoritmul de
criptare
 Algoritmul de criptare: un algoritm ce execută diferite substituţii şi
transformări asupra textului clar
 Cheia secretă: dată de intrare pentru algoritmul de criptare.
 Textul cifrat: textul rezultat după aplicarea algoritmul de criptare, dependent
de textul clar şi de cheia secretă;
 Algoritmul de decriptare: algoritmul invers celui de criptare, fiind aplicat
textului cifrat şi aceleaşi chei secrete pentru a obţine textul clar original.

 Pentru un mesaj dat, două chei secrete diferite produc două texte cifrate diferite.

CRIPTOGRAFIE COMPUTAȚIONALĂ 12
NOȚIUNI DE BAZĂ ALE CRIPTOGRAFIEI

 Un sistem criptografic (criptosistem) este o structură S = (P, C, K, E, D) în


care:
 𝑃 este mulţimea textelor clare;
 𝐶 este mulţimea textelor criptate;
 𝐾 este mulţimea cheilor secrete;
 fiecare cheie 𝑘 ∈ 𝐾 determină un algoritm de criptare 𝑒𝑘 ∈ 𝐸 , 𝑒𝐾 : 𝑀 → 𝐶 şi
un algoritm de decriptare 𝑑𝑘 ∈ 𝐷 , 𝑑𝑘 : 𝐶 → 𝑀 , astfel încât 𝑑𝑘 (𝑒𝑘 (𝑤)) =
𝑤, ∀𝑤 ∈ 𝑃.

CRIPTOGRAFIE COMPUTAȚIONALĂ 13
NOȚIUNI DE BAZĂ ALE CRIPTOGRAFIEI

 Criptanaliza este ramura criptologiei care se ocupă cu spargerea cifrurilor


pentru refacerea informaţiilor.

 Un criptosistem este considerat sigur, dacă obţinerea unui text clar plecând de
la textul cifrat fără a cunoaşte cheia secretă este o problema cu grad înalt de
dificultate din punct de vedere computațional.

 Tipuri de atacuri:

 Forța brută: căutare exhaustivă a cheii în spaţiul tuturor cheilor posibile.


 Atacul cu text clar cunoscut: criptanalistul deţine o serie de texte
criptate 𝐶𝑖 şi texte clare 𝑃𝑖 corespunzătoare, pe baza cărora încearcă să obţină
cheia secretă, analizând posibile corelaţii între textul clar şi cel criptat.
 Atacul cu text clar ales: criptanalistul cunoaşte din nou unele perechi text
clar - text criptat, dar, în plus, acesta alege texte clare în mod arbitrar pe care
le criptează, obţinând texte criptate corespondente, scopul atacului fiind acela
de a obţine informaţii suplimentare despre cheia secretă.

CRIPTOGRAFIE COMPUTAȚIONALĂ 14
INSTRUMENTE DE ANALIZĂ A CALITĂȚII UNUI CRIPTOSISTEM

 Uniformitatea distribuției caracterelor


 Pentru a rezista în faţa atacurilor criptanalitice, un criptosistem trebuie să producă,
indiferent de cheia secretă utilizată, texte cifrate cu o distribuţie uniformă a
caracterelor care să mascheze distribuţia neuniformă a caracterelor inerentă oricărui
text clar.
 Unul dintre instrumentele utilizate în acest scop îl constituie histograma caracterelor
ASCII dintr-un text, o reprezentare grafică a frecvenţelor.

a) Histograma textului clar b) Histograma textului cifrat

CRIPTOGRAFIE COMPUTAȚIONALĂ 15
CIFRURI DE SUBSTITUȚIE MONOALFABETICĂ

 Cifrurile de substituție monoalfabetică folosesc o tabelă de


corespondenţă cu ajutorul căreia un caracter se înlocuieşte cu alt
caracter, întotdeauna același, indiferent de poziție.

 Cifrul Cezar
 Este un sistem de cifrare monoalfabetic.
 Textul clar este construit din literele mari ale alfabetului latin 𝐴 – 𝑍.
 Cheia de cifrare este reprezentată de un număr întreg 𝑘 ∈ {0,1, … ,25}.
 Un caracter 𝑥 din textul clar se criptează prin:
𝑒𝑘 (𝑥 ) = (𝑥 + 𝑘) mod 26
 Un caracter 𝑥 din textul criptat se decriptează prin:
𝑑𝑘 (𝑥 ) = (𝑥 − 𝑘) mod 26

CRIPTOGRAFIE COMPUTAȚIONALĂ 16
CIFRURI DE SUBSTITUȚIE MONOALFABETICĂ

 Exemplu: Criptarea mesajului CRIPTOGRAFIE folosind cifrul Cezar cu cheia


𝑘 = 7

Alfabet:
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
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

 Se cifrează literă cu literă, ţinând cont de poziţia literei respective în alfabet:


 literei C îi corespunde 𝑥 = 2 ⇒ se va cifra în (2 + 7) mod 26 = 9 ⇒ litera J
 literei R îi corespunde 𝑥 = 17 ⇒ se va cifra în (17 + 7) mod 26 = 24 ⇒ litera Y
 literei I îi corespunde 𝑥 = 8 ⇒ se va cifra în (8 + 7) mod 26 = 15 ⇒ litera P
 …………………………………………………………………………………………………………..
 literei E îi corespunde 𝑥 = 4 ⇒ se va cifra în (4 + 7) mod 26 = 11 ⇒ litera L

 Se continuă în mod analog pentru fiecare literă şi final se obţine cuvântul


JYPWAVNYHMPL.

CRIPTOGRAFIE COMPUTAȚIONALĂ 17
CIFRURI DE SUBSTITUȚIE MONOALFABETICĂ

 Modalități de criptanaliza ale cifrului Cezar


 Forţă brută: Spaţiul cheilor este mulțimea {0,1, … ,25}, deci un criptanalist poate
obţine textul clar prin încercarea celor 25 de posibile chei.
 Frecvenţa de apariţie: Fiind un cifru de substituție monoalfabetică, litera cu
frecvența maximă din textul criptat va corespunde literei cu frecvență maximă din
alfabetul limbii respective.

Frecvențele literelor din limba română Frecvențele literelor unui text criptat folosind
cifrul Cezar

Din analiza frecvențelor literelor textului criptat se deduce faptul ca litera J din textul
criptat corespunde literei E, deci cheia de criptare folosită a fost 𝑘 = 9 – 4 = 5.

CRIPTOGRAFIE COMPUTAȚIONALĂ 18
CIFRURI DE SUBSTITUȚIE DIGRAFICE

 Cifrul Playfair
 A fost propus în anul 1854 de Charles Wheatstone, dar promovat pentru utilizare de Lordul
Playfair.
 Transformă un grup de 2 litere (o digramă) într-un grup de alte două litere.

 Regula de cifrare:
 Se foloseşte alfabetul englezesc cu cele 26 de litere, din care elimină caracterul cu
frecvenţă minimă sau se asimilează litera J cu litera I.
 Se aşează cele 25 de litere într-un careu cu dimensiunea 5 × 5.
 Dacă digrama nu are literele pe aceeaşi linie sau coloană, atunci regula de cifrare este
regula dreptunghiului, traseul fiind pe verticală de la cea de-a doua literă a digramei
către prima literă (prima litera a perechii cifrate este aceea care se găsește pe aceeași
linie cu prima litera a perechii în clar).
 Dacă digrama are literele pe aceeaşi linie, atunci se cifrează la dreapta și, respectiv, se
descifrează la stânga.
 Dacă digrama are literele pe aceeaşi coloană, atunci se cifrează în jos și, respectiv, se
descifrează în sus.

CRIPTOGRAFIE COMPUTAȚIONALĂ 19
CIFRURI DE SUBSTITUȚIE DIGRAFICE

 Exemplu
 Fie matricea Playfair definită de parola CRIPTOGRAFIE:

 Mesajul clar: SI IN CRIPTOGRAFIE TACEREA ESTE AUR


 Se introduce litera Q ca delimitator şi la finalul mesajului, pentru ca acesta să aibă lungime pară,
obținându-se mesajul SIQINQCRIPTOGRAFIEQTACEREAQESTEQAURQ.
 Procesul de criptare:
 Digrama SI: conform regulii de cifrare se formează dreptunghiul cu colţurile I şi S parcurs în
sensul IQSP. Textul cifrat îl constituie digrama formată din colţurile care nu apar în textul clar, luate
conform ordinii de parcurgere, respectiv QP.
 Digrama QI: întrucât literele sunt pe aceeaşi coloană se aplică regula cifrează în jos, descifrează
în sus, obţinându-se digrama XA.
 Digrama NQ: întrucât literele sunt situate pe aceeaşi linie se aplică regula cifrează la dreapta,
descifrează la stânga, obţinându-se digrama QS.
 La final, se obține mesajul criptat: QPXAQSRIPTCEDGFETAUIOIGTOFUAUPAUEQINXXXX.

CRIPTOGRAFIE COMPUTAȚIONALĂ 20
CIFRURI DE SUBSTITUȚIE POLIALFABETICĂ

 Un sistem de cifrare de tip substituție polialfabetică este o


generalizare a sistemului de cifrare de substituție monoalfabetică folosind
mai multe alfabete, fiecare fiind o permutare circulară a alfabetului de
intrare. Algoritmul de cifrare constă în substituirea unei literei din textul
clar cu litera corespunzătoare dintr-un anumit alfabet.

 este un sistem de cifrare de tip substituție polialfabetică cu cheie secretă


inventat în anul 1553 de către Giovan Battista Bellaso, dar atribuit, în mod
eronat, lui Blaise de Vigenère care în 1586 a inventat un sistem de cifrare
asemănător.

 Cifrul Vigènere a rezistat atacurilor criptanaliștilor peste 3 secole, fiind


spart abia în anul 1863 de către Friedrich Wilhelm Kasiski.

CRIPTOGRAFIE COMPUTAȚIONALĂ 21
CIFRURI DE SUBSTITUȚIE POLIALFABETICĂ

 Cifrul Vigènere utilizează, pentru realizarea substituției polialfabetice, o


tabelă Vigènere și o cheie secretă:

Text
I N AM I C U L V I N E D I NSU D
clar
Cheia
S E C R E T S E CR E T S E CRE T
secretă
Text
ARCDMVMPXZRXVMP J YW
cifrat

Text
A R C D MVMP X Z R X V M P J Y W
cifrat
Cheia
S E C R E T S ECR E T S E C R E T
secretă
Text
I NAM I C U L V I N E D I N S U D
clar

CRIPTOGRAFIE COMPUTAȚIONALĂ 22
CIFRURI DE SUBSTITUȚIE POLIALFABETICĂ

 Considerând textul clar 𝑃 = 𝑝0 𝑝1 … 𝑝𝑛−1 , textul criptat 𝐶 = 𝑐0 𝑐1 … 𝑐𝑛−1 și cheia


secretă 𝐾 = 𝑘0 𝑘1 … 𝑘𝑚−1 , procesele de criptare și decriptare pot fi definite
matematic astfel:
𝑐𝑖 = (𝑝𝑖 + 𝑘𝑖 mod 𝑚 ) mod 26
𝑝𝑖 = (𝑐𝑖 − 𝑘𝑖 mod 𝑚 ) mod 26

Criptare Decriptare
𝒊 𝒑𝒊 𝒌𝒊 𝐦𝐨𝐝 𝒎 𝒄𝒊 𝒊 𝒄𝒊 𝒌𝒊 𝐦𝐨𝐝 𝒎 𝒑𝒊
0 I=8 S = 18 (8+18) mod 26 = 0 = A 0 A=0 S = 18 (0-18) mod 26 = 8 = I
1 N = 13 E = 4 (13+4) mod 26 = 17 = R 1 R = 17 E=4 (17-4) mod 26 = 13 = N
2 A=0 C=2 (0+2) mod 26 = 2 = C 2 C=2 C=2 (2-2) mod 26 = 0 = A
3 M = 12 R = 17 (12+17) mod 26 = 3 = D 3 D=3 R = 17 (3-17) mod 26 = 12 = M
4 I=8 E = 4 (8+4) mod 26 = 12 = M 4 M = 12 E=4 (12-4) mod 26 = 8 = I
5 C=2 T = 19 (2+19) mod 26 = 21 = V 5 V = 21 T = 19 (21-19) mod 26 = 2 = C
6 U = 20 S = 18 (20+18) mod 26 = 12 = M 6 M = 12 S = 18 (12-18) mod 26 = 20 = U
7 L = 11 E = 4 (11+4) mod 26 = 15 = P 7 P = 15 E=4 (15-4) mod 26 = 11 = L
8 V = 21 C = 2 (21+2) mod 26 = 23 = X 8 X = 23 C=2 (23-2) mod 26 = 21 = V
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮

CRIPTOGRAFIE COMPUTAȚIONALĂ 23
CIFRURI DE TRANSPOZIȚIE

1. Se determină lungimea cheii


Exemplu (text criptat):
KVGLGVPBNLEIUZDTEEKIWHWSGKDTIRHIKVYIKBTKIJVQCHXZQVUVVDCVNWIFRTTYMMCTXUKRPLQLMEIQCJSDRMIPXZQVLPXYEWJUXIKMHZYTJIHIYCIIG
PEXTMTJIZVIAFSIUXPPRSNIRRWVCZTZSIVAHBGYCABHQRKIDSMDRVTWXLPAPAYIPDTUYJCVSTEEIIAPERTMPTSEIBWLQRKVIVYIKAIPGRVBGHGKKWCZSW
VPTZYDOMGZIRUWCPRNKVILVKJMHRMIGADYXJHZDTXYGXGHLFXIKHPCGGPUHGQQPUESTIHVZRTMIOIWCDDBVZVMSLWKKVPAMFPADMXFWZXZXJFCTAS
KJMXYQVFQTCECCBBVWGJMGLSIVWIOIEGIGICTCAISIJOICFXICVHFPMCVXHRKQECZWLEPPZWZDQJIVRUWKZMXJQHVEICKABNECXDJEFTBPYKLOCGLWYCD
TIITQUTPQGQZIHRKRTPJIJQNXUXVTMHAJFTBDBVZUBHYITGVISCIWZPSXFWZXZQYCAPSWFFMKLPFRMSHRUKBUVGLUMHVRGTWBVXZPOUVPBNWGLEEFB
GHHZVQDUWKJMBHMECBIYETVQDUWRTMIOISTICJEJVTTALVRIXUXVFUDUEJVMGPIJKVCVVKJMGUQFNLPCMRVZPUWPNDPUMRUEDVHVPKWBVTJMHVVKJ
MBLVIAKTTIKGZNPRJCXPUXRTWBHRZCPPZECUWCHXLTIAASLTQHAMTCBIYETVQDUWJWKWHWKJMSHRLDMSLPKCBWLMIQVVHXVUARHVZUWPYETCDTH
RUQBWLVTCDTZMEVPTHTLUMCPQFWVIHMEUBWYSLIPXAWTQUESIOHCCJXZQVHALIQCVOMKUXDZMKKWCPRKJMRVYEVZNHRUVPTUYDGZDBWFDRTJXZX
MHVJYKAIVVZEIAHRUCZROMKGKIBVRNDPSYVCVSMSIOICFSKJMGYIRUWCZFLEPPYIJVQHVRVQNIOIDCQCASLTQHAGVPBTYWFHZDTEEKIQBGYCZTZXZUKW
HVREBTYMQGLQFEEGKALGKKKBPBFHIGJLZVMRAYICTHACCGAUYSDVPTVPUEWJYXMGAIPKVUWUALVHQUAIVPBWJIEVCGFTRNIRLSWXTPKXYGQBWECGZL
OSNCAIOIWQCCKIIQNIOITKBNHRUYPDPWRNADALVUWJYGVQNXUWGKZPAMFPNDYHICKJSEKQWGALFFWMJLLTKWLWJGKDUHVOXXYIJVGALZZNTPZLVCD
NZXRNQCPWKCZROMKGKIBVVQNIOITQUBBRZUBELVZQLPUHVPLXUKNKBWALVRIAHGVQNIOIGCZAPEDGVIHLLIMQBMCFQCNAZVPHPBKJWJZEEFZDVQJVP
TZITQVSSEIIMHAAFTTSDMUGIUAIIVPTWIEVIVVRSWKDCMECQHSSTCBTKMEVPTUSIVPTYRGCZIVJIQUPUMRKVCVVKJETZXVTVBVPUCDXHTZEBJYIJSCTTSLP
BPPRFWAGLKZQVLPXYGBWUSXTIEOMTVZPKMKKWCZXYCBAPZVQVJUECVMGLHSWKDCMECAIHRUUWJAFVEIJZIFHQIZHPPIBPGKQCGPWKKKPJXZXQIFXYCV
ZZTIKUPYMCABDPXJOWCHWKGZXLWKJMUPZVOWCHWKGZXLWNKBWLBKGZXVVGCQCAMEIEWPGYYMGLEUFMSASKJMLVVCFBDBVZUBXJLVTQIHKVRZTZII
XMIOIZTKWHVREBTYMJVQRZEWVMGTSIGBWHRWQCGOYEFZTKEEFNXMXPAMPYW

 Pentru fiecare 𝑘 = 1, 𝑛 , unde 𝑛 reprezintă lungimea maximă a unei posibile chei, se depleazează
textul ciclic către dreapta cu 𝑘-poziții și se calculează de câte ori o secvență de caractere se
repetă.

k 1 2 3 4 5 6 7 8 9 10
matches 13 8 8 13 11 19 10 7 10 6

CRIPTOGRAFIE COMPUTAȚIONALĂ 24
CIFRURI DE TRANSPOZIȚIE

 Se consideră frecvența de apariție a fiecărei litere (lb. engleză)

2. Se determină frecvența de apariție pentru fiecare secvență de lungime 𝐋 =


𝟏, 𝟔

CRIPTOGRAFIE COMPUTAȚIONALĂ 25
CIFRURI DE TRANSPOZIȚIE

 O transpoziţie reprezintă tehnica prin care literele unui mesaj sunt


rearanjate (permutate).
 Metoda transpoziţiei asigură, în cadrul sistemelor criptografice, realizarea
difuziei: împrăştierea proprietăţilor statistice ale textului clar în textul cifrat.

 Exemplu (transpoziţie pe coloană):


 Constă în rearanjarea caracterelor mesajului în text clar pe coloane.

 Parolă: CRIPTOGRAFIE

 Mesajul clar: SI IN CRIPTOGRAFIE TACEREA ESTE AUR


 Se construiește secvenţa numerică de cifrare prin asocierea fiecărei litere
din parole cu indicele din ordinea lexicografică:

1 2 3 4 5 6 7 8 9 10 11 12
A C E F G I I O P R R T

CRIPTOGRAFIE COMPUTAȚIONALĂ 26
CIFRURI DE TRANSPOZIȚIE

 Se obține permutarea:
1 2 3 4 5 6 7 8 9 10 11 12
𝑝=( )
2 10 6 9 12 8 5 11 1 4 7 3

 Textul clar este scris într-o tabelă cu 12 coloane:

 Deoarece lungimea textului nu este divizibilă cu 12 vom completa ultimul


rând cu o secvență prestabilită (în acest caz caracterul Q).
 Textul cifrat se obține citind coloanele tabelei de cifrare în ordinea indicată
de parola numerică:

IAASGEORRQPCUCQEQAQTERQETIFEIRARTQNIS

CRIPTOGRAFIE COMPUTAȚIONALĂ 27
PRINCIPIILE CRIPTOGRAFIEI MODERNE

 Principiul lui Kerckhoffs:


A S IMP LE E XAMP LE
 "Only the key should be secret, not
the algorithm." PERMUTARE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
𝑝=
9 7 1 13 10 8 6 11 15 4 14 16 3 5 12 2
 Principiile lui Shannon:

 Difuzie: "The statistical structure


SE MEPL PAM ELI X A
of the plaintext is dissipated into
long-range statistics of the SUBSTITUȚIE
ciphertext." Fiecare literă este deplasată cu trei poziții către
dreapta
 Confuzie: "Attempts to make the esar c
relationship between the ciphertext VHPH SO SDPHOL A D
and the key as complex as possible."

CRIPTOGRAFIE COMPUTAȚIONALĂ 28
SISTEME DE CRIPTARE SIMETRICE

 Utilizează o singură cheie secretă atât pentru procesul de criptare al


unui mesaj clar, cât şi pentru procesul de decriptare al unui mesaj
criptat.

 Cheia secretă, după ce este în prealabil stabilită şi transmisă pe un canal


cu un grad înalt de securitate, va fi folosită în comun atât de către
emiţător, cât şi de receptor.

CRIPTOGRAFIE COMPUTAȚIONALĂ 29
MODURI DE CRIPTARE

 Criptare de tip bloc  Criptare de tip şir


 textul este împărţit în blocuri cu  textul clar este convertit bit cu bit în
aceiaşi dimensiune; text cifrat;
 procesul de criptare/decriptare se  se utilizează un generator de numere
realizează prin accesarea bloc cu bloc pseudo-aleatoare pentru a obţine o
a textului clar/ textului criptat. cheie de tip şir;
 se aplică operaţia de XOR între cheia
de tip şir şi textul clar/textul criptat.

CRIPTOGRAFIE COMPUTAȚIONALĂ 30
SISTEMUL DE CRIPTARE DES

 Cel mai utilizat sistem de criptare simetric este DES (Data Encryption
Standard), adoptat în 1976 de către Biroul Naţional de Standarde, acum
Institutul Naţional de Standarde şi Tehnologie (NIST) din SUA, ca standard
federal de procesare a informațiilor.

 Sistemul DES este primul standard dedicat protecţiei criptografice a datelor


de calculator.

 Sistemul DES este un cifru bloc, cu lungimea de 64 biţi prelucraţi în conjuncţie


cu o cheie formată din 56 biţi.

 Privit în ansamblu, algoritmul DES este o combinaţie a două tehnici


elementare de criptare: confuzie şi difuziune.

CRIPTOGRAFIE COMPUTAȚIONALĂ 31
SISTEMUL DE CRIPTARE DES

 Algoritmul de criptare:

1. Textul este divizat în blocuri de 64 de biți. Pentru fiecare bloc se aplică o


permutare IP fixată.

CRIPTOGRAFIE COMPUTAȚIONALĂ 32
SISTEMUL DE CRIPTARE DES

2. Se vor efectua 16 runde de forma:

 la fiecare etapă (round) un bloc de 64 de biţi este


divizat în 2 jumătăţi de câte 32 biţi fiecare

 jumătatea dreaptă este expandată la 48 de biţi


printr-o permutare cu expandare şi este combinată
printr-o operaţie de tip SAU EXCLUSIV cu o cheie
de criptare pe 48 de biţi obţinută din cheia iniţială

 cei 48 de biţi rezultaţi se aplică la intrarea unor cutii


S (S-boxes) ce au rolul de a selecta 32 de biţi după
o lege neliniară

 cei 32 de biţi de la ieşirea cutiilor S sunt permutaţi


într-o cutie P (P box) şi combinaţi cu jumătatea
dreaptă a blocului de 64 de biţi prin SAU EXCLUSIV

CRIPTOGRAFIE COMPUTAȚIONALĂ 33
SISTEMUL DE CRIPTARE DES

 Algoritmul general DES

CRIPTOGRAFIE COMPUTAȚIONALĂ 34
SISTEMUL DE CRIPTARE DES

 Elemente DES

 Permutare cu expansiune

 operează asupra extremităţii drepte a blocurilor de 64 de biţi

 are rolul de a expanda un bloc de 32 de biţi la o lungime de 48 de biţi


pentru a permite operaţia de SAU EXCLUSIV cu o subcheie de aceeași
lungime

 asigură difuzarea rapidă a modificărilor induse de cheia de criptare în


mesajul criptat (un bit de intrare afectează mai mulţi biţi de ieşire).

CRIPTOGRAFIE COMPUTAȚIONALĂ 35
SISTEMUL DE CRIPTARE DES

 Cutii de substituție

 au un rol major în securitatea algoritmului deoarece operează neliniar


fiecare cutie S are 6 intrări şi 4 ieşiri
 cei 48 de biţi rezultaţi în urma operaţiei precedente sunt grupaţi în 8 blocuri
de câte 6 biţi fiecare
 fiecare grup de 6 biţi devine set de date de intrare în cutia S, iar la ieșire se
obțin câte 4 biți
 fiecare cutie S reprezintă un tabel cu 4 linii şi 16 coloane cu numere din
intervalul [0,15].
 cei 6 biţi de la intrare specifică biţii de ieşire din tabel conform unei reguli
particulare: dacă pentru un set de biţi de intrare de forma {𝑖1 , 𝑖2 , 𝑖3 , 𝑖4 , 𝑖5 , 𝑖6 },
secvenţa {𝑖1 , 𝑖6 } este utilizată ca indice pe linii, iar {𝑖2 , 𝑖3 , 𝑖4 , 𝑖5 } ca indice pe
coloane.

CRIPTOGRAFIE COMPUTAȚIONALĂ 36
SISTEMUL DE CRIPTARE DES

 fie mesajul de intrare110011

 dacă acesta este "input" pentru cutia S3,


atunci el este înlocuit cu 1111

 ieşirile fiecărei cutii sunt concatenate pentru


a forma un număr pe 32 biţi

CRIPTOGRAFIE COMPUTAȚIONALĂ 37
SISTEMUL DE CRIPTARE DES

 Key Schedule

 cheia originală are 64 de biți

 se obțin 56 de biți după ce se elimină biții


de pe pozițiile: 1, 8, 16, 24, 36, 48, 56, 64

 se aplică permutarea PC1

 se aplică operații de rotire a secvenței de 56


de biți astfel: pentru rundele 1, 2, 9, 16 se
rotește cu o poziție, iar pentru restul rudelor
cu câte 2 poziții

 se aplica permutarea PC2

CRIPTOGRAFIE COMPUTAȚIONALĂ 38
SISTEMUL DE CRIPTARE DES

 Securitatea DES
 De-a lungul timpului, algoritmul DES a fost cel mai studiat algoritm de
criptare, cea ce a condus la dezvoltarea unor tehnici de criptanaliză.

 Tipuri de atacuri:

 Forța brută

 cheie de criptare este de 56 de biţi, deci "forța brută" presupune generarea


tuturor combinaţiilor posibile (256 )
 în 1998, Electronic Frontier Foundation (EFF) a anunţat că cifrul DES a fost
spart folosindu-se un calculator special care a costat 250000$
 atacul a durat mai puţin de trei zile.

 Criptanaliză diferențială
 se analizează diferențele dintre două texte criptate care provin din două
texte clare care diferă doar printr-un bit.
CRIPTOGRAFIE COMPUTAȚIONALĂ 39

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