Sunteți pe pagina 1din 29

Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

CRIPTOSISTEME SIMETRICE I

Criptografie

Anul II

Martie 2020
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistem

P = mulţimea
mesajelor ı̂n clar
E C = mulţimea
+ −→ mesajelor criptate
K = mulţimea
cheilor
C = mulţimea
mesajelor criptate
D C = mulţimea
+ −→ mesajelor ı̂n clar
K = mulţimea
cheilor
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistem

Notaţie: E (m, k) = Ek (m), D(c, k) = Dk (c)


∀k ∈ K funcţia m 7→ Ek (m) este injectivă
∀k ∈ K , ∃k 0 ∈ K astfel ı̂ncât

m 7→ c := Ek (m) 7→ Dk 0 (c) = m

(condiţia de reversibilitate a criptării)

Criptosistem simetric (cu cheie privată)

Cheia de criptare “=” cheia de decriptare


Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Metode de criptare

Criptare ı̂n sistem flux (stream cypher)


Criptare pe blocuri (block cypher)
Criptare prin substituţie (substitution cypher)
Criptare prin transpoziţie (transposition cypher)
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptare in sistem flux

Fie A un alfabet (cu n caractere) şi K o mulţime (chei). Pentru


fiecare k ∈ K este dată o funcţie bijectivă

Ek : A −→ A

Fie M = m1 m2 . . . un şir de caractere din A şi K = k1 k2 . . . un şir


de chei de aceeaşi lungime (keystream = flux de chei). O criptare
ı̂n sistem flux constă ı̂n obţinerea unui text criptat C = c1 c2 . . .
unde ci = Eki (mi ).

AVANTAJE
Funcţia de criptare se schimbă la fiecare caracter
Erorile nu se propagă
Util ı̂n cazurile sistemelor fără memorie
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptare ı̂n sistem flux

GENERAREA CHEILOR
Aleatoriu
Algoritm de generare plecând de la un flux de chei iniţial de
lungime mică (seed)

ki = fi (k1 , . . . , kn0 ) , i > n0

ci = Eki (mi ) , i >0


Algoritm de generare care depinde de un flux de chei iniţial de
lungime mică (seed) şi de caracterele criptate deja obţinute

ki = fi (k1 , . . . , kn0 , ci−1 ) , i > n0

ci = Eki (mi ) , i >0


Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptare ı̂n sistem flux


Criptosistemul Vernam

Alfabetul: A = {0, 1}.


Mesaj ı̂n clar: m1 m2 . . . mt
Keystream: k1 k2 . . . kt
Mesaj criptat: c1 c2 . . . ct

ci = mi ⊕ ki ⊕ = XOR

Exemplu
Text ı̂n clar: TEST = 10011001001001010011
Keystream: 11011101101111101010
Text criptat: 01000100100110111001 = ISNZ
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptare ı̂n sistem flux


Criptosistemul Vernam

ONE TIME PAD = criptosistem Vernam cu cheie generată


aleatoriu şi folosită o singură dată
One Time Pad are securitate absolută: singura metodă de
atac este căutarea exhaustivă
Pentru aceasta fluxul de chei trebuie să fie generat total
aleatoriu, impredictibil (folosind, de exemplu, surse fizice, ca
miscarea browniană a particulelor sau procese radioactive) şi
utilizat o singură dată.
Folosit de: spionii sovietici; CIA; comunicaţiile “red line”
Washington – Moscova.
Cunoaşterea a două mesaje criptate cu acelaşi flux de chei
duce la cunoaşterea sumei XOR a mesajelor ı̂n clar
corespunzătoare.
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptare ı̂n sistem flux


RC4

criptosistem bazat pe criptarea ı̂n sistem flux


pentru obţinerea unui bit criptat sunt necesare ı̂ntre 8 si 16
operaţii
optimizat pentru implementare software rapidă
utilizat ı̂n produse Microsoft (parole Windows, MSAccess,
MSWord, ...), SSL (Netscape, Explorer), Adobe Acrobat ...
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptare pe blocuri

Mesajul ı̂n clar este ı̂mpărţit ı̂n blocuri de o anumită lungime,


fiecare din acestea fiind criptat şi obţinându-se astfel un alt bloc,
eventual de lungime diferită.
Criptarea prin substituţie: S-BOX. Un bloc de n caractere
(biţi) este ı̂nlocuit cu o altă combinaţie de caractere (biţi)
Substituţie monoalfabetică
Exemplu: Criptosistemul lui Iulius Cezar
Substituţie polialfabetică
Exemplu: Criptosistemul lui Vigenère
Criptarea prin substituţie induce confuzie: legătura dintre
cheie şi textul cifrat este pe cât posibil de complexă.
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptare pe blocuri

Criptarea prin permutare: P-BOX. Fiecare bloc este criptat


prin permutarea caracterelor (biţilor) sale.
Criptarea prin permutare induce difuzie: posibilele puncte
slabe sunt imprăştiate ı̂n ı̂ntreg textul cifrat.
Exemplu
Text ı̂n clar: VINDETI TOATE ACTIUNILE DE LA FIRMA X
Algoritm de criptare:
VINDET
ITOATE
ACTIUN
ILEDEL
AFIRMA
X
Text criptat: VIAIAXITCLFNOTEIDAIDRETUEMTENLA
Cheia: 6
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptare pe blocuri

Criptosisteme produs: RUNDE. Un bloc este criptat prin


aplicarea succesivă a unui număr determinat de S-Box şi
P-Box

Arhitectura Feistel

Data Encryption System

Rijndael (Advanced Encryption System).


Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul lui Iulius Cezar

Menţionat de Suetonius ı̂n biografia lui Iulius Cezar


Criptare pe blocuri
Mesajele (ı̂n clar şi criptate) sunt scrise ı̂ntr-un alfabet cu N
caractere. Fiecare bloc are un caracter.
Fiecărui caracter i se asociază un element m ∈ ZN . Mulţimea
cheilor este ZN .
Funcţia de criptare:

Ek (m) = m + k (mod N)
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul lui Iulius Cezar

Exemplu
N = 26

A B C D E F G H I J K L M N
0 1 2 3 4 5 6 7 8 9 10 11 12 13

O P Q R S T U V W X Y Z
14 15 16 17 18 19 20 21 22 23 24 25
Text ı̂n clar: ALTE EXEMPLE LA SEMINAR
Text criptat: DOWH HAHPSOH OD VHPLQDU
Cheie: 3
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul lui Iulius Cezar

Exerciţiu
Criptaţi textul ı̂n clar: INTRODUCERE IN CRIPTOGRAFIE
Cheie: 10

Condiţia de reversibilitate a criptării este satisfăcută. Funcţia de


decriptare:
Dk 0 (c) = c + k 0 (mod N)
unde k 0 = −k (mod N).

Criptosistemul este foarte uşor de spart: analiza frecvenţelor.

Exerciţiu
Decriptaţi:
HAHJBSCHHCLHSVJHGP
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosisteme afine

Criptare pe blocuri
Mesajele (ı̂n clar şi criptate) sunt scrise ı̂ntr-un alfabet cu N
caractere. Fiecare bloc are un caracter.
Fiecărui caracter i se asociază un element m ∈ ZN . Mulţimea
cheilor este ZN .
Funcţia de criptare: Ek (m) = am + b (mod N).
Cheia: k = (a, b) ∈ Z2N .
O generalizare directă a Criptosistemului lui Cezar
(a = 1, b = 0)
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosisteme afine
Exemplu
Cheia: a = 3, b = 2
Text ı̂n clar: CRIPTOGRAFIE
Text criptat: IBAVHSUBCRAO
Pentru decriptare, este necesară inversarea funcţiei

m 7→ c := am + b (mod N)

Condiţia de reversibilitate a criptării:

(a, N) = 1

In acest caz funcţia de decriptare este

c 7→ m := a0 c + b 0 (mod N)

unde a0 = a−1 (mod N) , b 0 = −a−1 b (mod N).


Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosisteme afine

Dacă (a, N) 6= 1, funcţia de criptare nu este injectivă.


Exemplu
a = 2, b = 3
C 7→ H, P 7→ H.

Pentru atac: analiza frecvenţelor.


Este necesar să deţinem a două informaţii.
Exemplu
Determinaţi cheia de decriptare pentru un criptosistem afin dacă
numărul caracterelor este N = 28 (A – Z ?) şi se cunoaşte că si
A sunt criptate ı̂n B, respectiv ?.
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosisteme bazate pe transformari ale


digrafilor
Presupunem că mesajele sunt scrise folosind caracterele unui
alfabet A, de cardinal N.
Fiecare bloc are două caractere. Fiecărui bloc xy i se asociază
un element
m = xN + y ∈ {0, 1, . . . , N 2 − 1} = ZN 2
Funcţia de criptare este o aplicaţie bijectivă
Ek : ZN 2 −→ ZN 2
De exemplu, poate fi o transformare afină
Ek (m) = am + b (mod N 2 )
cu cheia k = (a, b) ∈ Z2N 2 ,
Condiţia de reversibilitate a criptării:
a inversabil in Z2N 2 ⇔ (a, N) = 1.
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosisteme bazate pe transformări ale


digrafilor

Exemplu
N = 26, a = 159, b = 580
Text in clar: NO Text criptat: QY
Text in clar: ON Text criptat: NV
Funcţia de decriptare este

c 7→ m := a0 c + b 0 (mod N 2 )

unde a0 = a−1 (mod N 2 ) , b 0 = −a−1 b (mod N 2 )


Pentru atac: este necesar să cunoaştem 2 blocuri ale textului
criptat şi cele 2 blocuri corespunzătoare din textul in clar
(astfel de informaţii pot fi obţinute, de exemplu, prin analiza
frecvenţelor).
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosisteme bazate pe transformari ale


digrafilor

Exemplu
Decriptaţi mesajul NDXBHO ştiind că s-a realizat o criptare afină
pe digrafi, cu un alfabet cu 27 de caractere (A – Z ). De asemenea,
se cunoaşte că prin criptarea digrafilor ı̂n clar E S T se obţin
digrafii ZA IA IW .
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Matrici de criptare

Presupunem că mesajele sunt scrise folosind caracterele unui


alfabet A, de cardinal N.
Fiecare bloc are l caractere (l ∈ N∗ fixat). Fiecărui bloc
m1 m2 . . . ml i se asociază o matrice coloană
m := (m1 m2 . . . ml )T (mi ∈ ZN , i = 1, . . . , l).
Funcţia de criptare:
     

m1 a11 . . . a1l m1 b1
 m2   a21 . . . a2l   m2   b2 
 ...  →
m=  7 c :=  · + 
 ... ... ...   ...   ... 
ml al1 . . . all ml bl
aij ∈ ZN (i, j = 1, . . . , l), bi ∈ ZN (i = 1, . . . , l)

m 7→ c := Am + B
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Matrici de criptare
Cheia: k = (A, B).
Condiţia de reversibilitate a criptării:
A matrice inversabilă in Ml (ZN )
m

det A ∈ Z×
N ⇔ (det A, N) = 1

Funcţia de decriptare:

c 7→ m := A0 c + B 0

unde

A0 = A−1 (mod N) , B 0 = −A−1 B (mod N)


Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul Vigenère
Criptosistem bazat pe substituţie polialfabetică
Propus de Giovan Batista Belaso, in 1553
Blaise de Vigenère, la curtea regelui Henri III al Franţei, a

propus in 1586 o versiune mai puternică


Mesajele şi cheile sunt scrise ı̂tr-un alfabet cu N caractere
Mesajele ı̂n clar sunt ı̂mpărţite ı̂n blocuri cu n caractere, iar
cheia are aceeaşi lungime n
Un bloc m corespunde unui vector din ZnN , la fel şi cheia k
Un bloc al mesajului criptat se obţine caracter cu caracter:
ci = mi + ki (mod N) , i = 1, . . . , n.
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul Vigenère

Exemplu
Text ı̂n clar: TO BE OR NOT TO BE THAT IS THE QUESTION
Cheia: RELATIONS
Text criptat: KSMEHZBBLKSMEMPOGAJXSEJCSFLZSY
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul Vigenère

Atac: analiza frecvenţelor (Kasiski, Babbage, Friedman)

Exemplu
Text ı̂n clar: TO BE OR NOT TO BE THAT IS THE QUESTION
Cheia: RELATIONS
Text criptat: KSMEHZBBLKSMEMPOGAJXSEJCSFLZSY
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul Vigenère

Atac: analiza frecvenţelor (Kasiski, Babbage, Friedman)

Exemplu
Text ı̂n clar: TO BE OR NOT TO BE THAT IS THE QUESTION
Cheia: RELATIONS
Text criptat: KSMEHZBBLKSMEMPOGAJXSEJCSFLZSY
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul Vigenère

Atac: analiza frecvenţelor (Kasiski, Babbage, Friedman)

Exemplu
Text ı̂n clar: TO BE OR NOT TO BE THAT IS THE QUESTION
Cheia: RELATIONS
Text criptat: KSMEHZBBLKSMEMPOGAJXSEJCSFLZSY
Moduri de criptare Flux Blocuri Iulius Cezar Criptosisteme afine Digrafi Matrici Vigenère

Criptosistemul Vigenère

Atac: analiza frecvenţelor (Kasiski, Babbage, Friedman)

Exemplu
Text ı̂n clar: TO BE OR NOT TO BE THAT IS THE QUESTION
Cheia: RELATIONS
Text criptat: KSMEHZBBLKSMEMPOGAJXSEJCSFLZSY

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