Author
tomislav-kolaric
View
601
Download
26
Embed Size (px)
8/18/2019 Kriptografija Prezentacija
1/12
Kriptologija
(gr. κρυπτός, kryptós – skriven; λόγος, logos - znanje, znanost)
je znanost koja se bavi izučavanjem metodaza zaštitu informacija (šifriranjem), temetoda za otkrivanje šifriranih informacija(dekriptiranjem)
objekti izučavanja kriptologije su pisaneporuke (kriptografija), govorne (kriptofonija),vizuelne (slike, karte, šeme) i druge poruke.
1
Kriptografija
Kriptografija je znanstvena disciplina koja se
bavi proučavanjem metoda za slanje poruka utakvom obliku da ih samo onaj kome sunamijenjene može pročitati.
doslovno bi se mogla prevesti kao tajnopis (gr. γράφω, gráfo – pisati)
Kriptografija je grana kriptologije
2
Skital (5. stoljeće pr. Kr.)
Spartanska naprava za šifriranje: drveni štapoko kojeg se namotavala vrpca od pergamenta,pa se na nju okomito pisala poruka.
Nakon upisivanja poruke, vrpca bi se odmotala,a na njoj bi ostali izmiješani znakovi koje jemogao pročitati samo onaj tko je imao štap
jednake debljine.
3
Hebrejska šifra (5.- 6. stoljeće pr. Kr.)
zasniva se na principu zamjene slova abecede.
atbash ABCDEFGHIJKLM
ZYXWVUTSRQPON
albam ABCDEFGHIJKLM
NOPQRSTUVWXYZ
atbah ABCDJKLMESTUV
IHGFRQPONZYXW
4
Kriptografija – osnovni pojmovi
5
JASNI (OTVORENI)
TEKSTKRIPTIRANI TEKST
(KRIPTOGRAM)
JASNI (OTVORENI)
TEKST
kript iranje
enkripci ja
dekript iranje
dekripci ja
KLJUČ pravila enkripcije(unaprijed
dogovorena izmeđupošiljatelja iprimatelja)
KRIPTOANALIZATOR
Tradicionalni kriptosustavi
Cezarovo kriptiranje Kriptiranje s pomakom
Afino kriptiranje
Vigenèreovo kriptiranje
6
8/18/2019 Kriptografija Prezentacija
2/12
Cezarovo kriptiranje
Cezar (1. st. pr. Kr.) – slao kriptirane porukezapovjednicima
svaki znak jasnog teksta pomaknuo za 3mjesta u abecedi: ključ za enkripciju: broj 3
ključ za dekripciju: broj 3
simetrični ključ
7
Cezarovo kriptiranje
Kriptirajmo riječ KRIPTOGRAFIJA Cezarovim kriptiranjem
8
Slovo A B C D E F G H I J K L M
Kriptirano slovo
D E F G H I J K L M N O P
Slovo N O P Q R S T U V W X Y Z
Kriptirano slovo
Q R S T U V W X Y Z A B C
K N
R U
I L
P S
T W
O R
G J
R U
A D
F I
I L
J M
A D
NULSWRJUDILMD
Kriptiranje s pomakom
općenitiji slučaj – svaki znak jasnog tekstapomaknuti za k mjesta u abecedi(Cezarovo kriptiranje ima pomak 3)
9
Kriptiranje s pomakom
Kriptirajmo riječ KRIPTOGRAFIJA kriptiranjem s pomakom pričemu je ključ kriptiranja 6
10
Slovo A B C D E F G H I J K L M
Kriptirano slovo
G H I J K L M N O P Q R S
Slovo N O P Q R S T U V W X Y Z
Kriptirano slovo
T U V W X Y Z A B C D E F
K Q
R X
I O
P V
T Z
O U
G M
R X
A G
F L
I O
J P
A G
QXOVZUMXGLOPG
Kriptiranje s pomakom u Pythonu
def pomak(s, k):s2 = ''
for c in s:
c2 = chr(((ord(c) - 65) + k) % 26 + 65)
s2 += c2
return s2
Napomena: samo za velika slova engleskog alfabeta
11
Monoalfabetsko kriptiranje: neko slovo će uvijek biti kriptirano istim slovom
12
8/18/2019 Kriptografija Prezentacija
3/12
Afino kriptiranje
kriptiranje se provodi linearnom funkcijom y = (ax + b) % 26
13
red. br. 0 1 2 3 4 5 6 7 8 9 10 11 12
slovo A B C D E F G H I J K L M
red. br. 13 14 15 16 17 18 19 20 21 22 23 23 25
slovo N O P Q R S T U V W X Y Z
INFORMATIKA
JSOZULFIJXF
14
Kriptirajmo riječ INFORMATIKA afinim kriptiranjem pri čemusu parametri kriptiranja a = 7 i b = 5, tj. y = (7x + 5) % 26
red. br. 0 1 2 3 4 5 6 7 8 9 10 11 12
slovo A B C D E F G H I J K L M
red. br. 13 14 15 16 17 18 19 20 21 22 23 23 25
slovo N O P Q R S T U V W X Y Z
Afino kriptiranje u Pythonu
def afino(s, a, b):
s2 = ''
for c in s:
c2 = chr(((ord(c) - 65) * a + b) % 26 + 65)
s2 += c2
return s2
x = input()
print(afino(x, 7, 5))
15
Dekriptiranje afine funkcije
Neka je zadana afina funkcija za kriptiranje:
y = (5x + 3) % 26
te je tako kriptirani tekst:
BZARQD
Koji je pripadni jasni tekst?
16
Modularna aritmetika
predstavlja aritmetiku cijelih brojeva kodkoje se brojevi "vraćaju u krug", nakon štodostignu određenu vrijednost — modulo
Euclid (3 st. pr. K.)
Carl Friedrich Gauss (1801.)
17
svakodnevna primjena modularne aritmetike: 9:00 h + 4 h = 1:00 h (u 12 satnom prikazu)
22:00 h + 8 h = 6:00 h (u 24 satnom prikazu)
18
8/18/2019 Kriptografija Prezentacija
4/12
Modularna aritmetika
Zadan je skup nenegativnih cijelih brojeva Zn,
Zn = {0, 1, 2, 3, .. , n-1}
potrebno je definirati aritmetičke operacijezbrajanja i množenja, ali tako da je rezultatuvijek element skupa Zn modularno zbrajanje: oznaka a +n b
modularno množenje: oznaka a •n b
19
Modularna aritmetika
20
a +n b = (a + b) % n
a •n b = (a • b) % n
Primjer: n = 5
+5 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
•5 0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 4
2 0 2 4 1 3
3 0 3 1 4 2
4 0 4 3 2 1
Modularna aritmetika
21
neutralni element za zbrajanje: 0
neutralni element za množenje: 1
aditivni inverz y є Zn, x +n y = 0
multiplikativni inverz y є Zn, x •n y = 1
+5 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
•5 0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 4
2 0 2 4 1 3
3 0 3 1 4 2
4 0 4 3 2 1
Modularna aritmetika
22
nula nema multiplikativni inverz
multiplikativni inverz ne mora postojati niti zaostale elemente skupa
•6 0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 1 2 3 4 5
2 0 2 4 0 2 4
3 0 3 0 3 0 3
4 0 4 2 0 4 2
5 0 5 4 3 2 1
Skup Zn čiji svaki element osim nule imamultiplikativni inverz zove se grupa ako je n prost broj
U skupu Z26 očito svi elementi nemajumultiplikativni inverz
23
Natrag na primjer:
Funkcija za kriptiranje y = (5x + 3) % 26i kriptirani tekst: BZARQD
y = 5 •26 x +26 3
x = (y –26 3) / 26 5 = (y +26 (-3)) •26 (5-1)
24
aditivniinverz
multiplikativniinverz
(da li postoji???)
8/18/2019 Kriptografija Prezentacija
5/12
Klasa Z (za rad sa skupovima Zn)class Z:
def __init__(self, n, v):
self.n = n
self.v = vreturn
def __str__(self):
return '({}, {})'.format(self.n, self.v)
# zbrajanje
def __add__(self, y):
return Z(self.n, (self.v + y.v) % self.n)
# množenje
def __mul__(self, y):
return Z(self.n, (self.v * y.v) % self.n)
25
Klasa Z (za rad sa skupovima Zn)# aditivni inverz
def __neg__(self):
return Z(self.n, (self.n - self.v))
# multiplikativni inverz (potenciranje)
def __pow__(self, p):
if p < 0:
i = 1
while i < self.n and i * self.v % self.n != 1:
i += 1
if i < self.n:
return Z(self.n, (i ** -p) % self.n)
else:
return -1
else:
return Z(self.n, self.v ** p % self.n)
26
Ponovo natrag na primjer
x = (y +26 (-3)) •26 (5-1)
= (y +26 23) •26 21
= 21 •26 y +26 483 = 21 •26 y +26 15
= (21y + 15) % 26
27
Monoalfabetsko kriptiranje: neko slovo će uvijek biti kriptirano istim slovom
Polialfabetsko kriptiranje: određeno slovo neće se uvijek kriptirati istim slovom
28
Vigenèreovo kriptiranje
ključ je riječ (kod Cezara je broj)
svako slovo jasnog teksta kriptira seodgovarajućim slovom ključa
ključ se ciklički ponavlja dok mu duljina nepostane jednaka duljini jasnog teksta
29
Vigenèreovo kriptiranje - primjer
Potrebno je kriptirati riječ KRIPTOGRAFIJA ključem SLOVO.
KRIPTOGRAFIJA
SLOVOSLOVOSLO
-------------
30
8/18/2019 Kriptografija Prezentacija
6/12
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
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 A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
IJ K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z A B C D E F G H I J K L M N O P R S T U V W X Y
31
Vigenèreovo kriptiranje - primjer
KRIPTOGRAFIJA
SLOVOSLOVOSLO
C------------
32
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
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 A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R SU V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z 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
33
Vigenèreovo kriptiranje - primjer
KRIPTOGRAFIJA
SLOVOSLOVOSLO
CC-----------
34
polialfabetsko kriptiranje
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
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 A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E FH I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z 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
35
Vigenèreovo kriptiranje - primjer
KRIPTOGRAFIJA
SLOVOSLOVOSLO
CCW----------
36
8/18/2019 Kriptografija Prezentacija
7/12
Vigenèreovo kriptiranje - primjer
KRIPTOGRAFIJA
SLOVOSLOVOSLO
CCWKHGRFVTAUO
37
Vigenèreovo kriptiranje - primjer
Primjer dekriptiranja:
-------------
SLOVOSLOVOSLO
CCWKHGRFVTAUO
38
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
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 A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R SU V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z 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
39
Vigenèreovo kriptiranje - primjer
Primjer dekriptiranja:
K------------
SLOVOSLOVOSLO
CCWKHGRFVTAUO
40
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
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 A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E FH I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z 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
41
Vigenèreovo kriptiranje - primjer
Primjer dekriptiranja:
KR-----------
SLOVOSLOVOSLO
CCWKHGRFVTAUO
42
8/18/2019 Kriptografija Prezentacija
8/12
Vigenèreovo kriptiranje - primjer
Primjer dekriptiranja:
KRIPTOGRAFIJA
SLOVOSLOVOSLO
CCWKHGRFVTAUO
43
Vigenèreovo kriptiranje i Python
ideja: zbrojiti redni broj slovaotvorenog teksta (broj stupca) i
redni broj pripadnog slova ključa(broj retka) …
… i pronaćiostatak pridjeljenju sa 26(modularna a.)
44
A B C D E F G H I J K L M N O
B C D E F G H I J K L M N O P
C D E F G H I J K L M N O P Q
D E F G H I J K L M N O P Q R
E F G H I J K L M N O P Q R S
F G H I J K L M N O P Q R S T
G H I J K L M N O P Q R S T U
H I J K L M N O P Q R S T U V
I J K L M N O P Q R S T U V W
J K L M N O P Q R S T U V W X
K L M N O P Q R S T U V W X Y
L M N O P Q R S T U V W X Y Z
M N O P Q R S T U V W X Y Z A
N O P Q R S T U V W X Y Z A B
O P Q R S T U V W X Y Z A B C
10
3
Vigenèreovo kriptiranje i Python
def vigenere(s, k):
k *= len(s) // len(k) + 1
s2 = ''
for i in range(len(s)):
x = ord(s[i]) - 65
y = ord(k[i]) - 65
z = (x + y) % 26
s2 += chr(z + 65)
return s2
45
Za domaću zadaću:
Vigenèreovo dekriptiranje
46
Transpozicijsko kriptiranje(Stupčana transpozicija)
tekst složimo u matricu sa unaprijed zadanimbrojem stupaca (po redcima)
permutiramo (presložimo) stupce matriceprema zadanom ključu
pročitamo tekst iz matrice po stupcima
47
Transpozicijsko kriptiranje - primjer
Potrebno je kriptirati tekstKRIPTOGRAFIJAMIJESVEZANIMLJIVIJAtranspozicijskim kriptiranjem iključem [2, 3, 5, 4, 1]
48
8/18/2019 Kriptografija Prezentacija
9/12
Transpozicijsko kriptiranje - primjer
KRIPTOGRAFIJAMIJESVEZANIMLJIVIJA [2,3,5,4,1]
TFIEMIA KOIJZLJ RGJEAJA PAMVIVA IRASNIA
49
K R I P T
O G R A F
I J A M I
J E S V E
Z A N I M
L J I V I
J A A A A
142 53
T K R P I
F O G A R
I I J M A
E J E V S
M Z A I N
I L J V I
A J A A A
1 2 3 4 5
Transpozicijsko kriptiranje - primjer
primjer dekriptiranja, ključ [2, 3, 5, 4, 1]
TFIEMIAKOIJZLJRGJEAJAPAMVIVAIRASNIA
50
T K R P I
F O G A R
I I J M A
E J E V S
M Z A I N
I L J V I
A J A A A
R
G
J
E
A
J
A
I
R
A
S
N
I
A
K
O
I
J
Z
L
J
P
A
M
V
I
V
A
T
F
I
E
M
I
A
KRIPTOGRAFIJA MI JE SVE ZANIMLJIVIJA
Zadatak:
Tzv. "brute-force" metodom odrediti jasnitekst (bez znanja ključa transpozicijskogkriptiranja)
CRIPEALFERIEIJFRDXUESAJS
51
Suvremeni kriptosustavi
52
Kriptiranje sa simetričnim ključem tajni ključ
Glavni problem:
Kako poslati ključ???
53
DES (Data Encryption Standard)
sredinom 20 st. razvoj komunikacija stvarapotrebu za sigurnim prijenosom informacija(ne samo za vojne i diplomatske potrebe)
1974-1976 IBM razvija DES (uz sudjelovanjeNSA) 2006. COPACOBANA, Universities of Bochum and
Kiel, razbija DES u 9 dana ($10,000)
2008 RIVYERA razbija DES u manje od dana
54
8/18/2019 Kriptografija Prezentacija
10/121
DES
grupiranje otvorenog teksta u blokove od 64
bita koristi ključ K veličine 56 bitova (zapravo 64
bita, ali se 56 bitova koristi u algoritmu, apreostalih 8 za provjeru pariteta) 56 bitova 72 057 594 037 927 936 različitih
ključeva
55
DES – postupak enkripcije (1. korak)
inicijalna permutacija
npr. jasni tekst M = 0123456789ABCDEF
M (binary) = 0000 0001 0010 0011 0100 0101 01100111 1000 1001 1010 1011 1100 1101 1110 1111
56
M (binary) = 0000 0001 0010 0011 0100 0101 01100111 1000 1001 1010 1011 1100 1101 1110 1111
M (nakon IP) = 1100 1100 0000 0000 1100 1100 11111111 1111 0000 1010 1010 1111 0000 1010 1010
57
DES – postupak enkripcije (2. korak)
MIP = 1100 1100 0000 0000 1100 1100 1111 11111111 0000 1010 1010 1111 0000 1010 1010
permutirani niz se podijeli u dvije polovice L0 i R0 L0 = 1100 1100 0000 0000 1100 1100 1111 1111
R0 = 1111 0000 1010 1010 1111 0000 1010 1010
58
u 16 podkoraka (i = 1..16)Li = Ri-1Ri = Li-1 ⊕ f(Ri-1, Ki)
ključ Ki se kreira iz ključa K sličnim postupcimakao Li i Ri (podjela na polovice, zamjena, "šiftanje")
funkcija f radi na principu dodavanja i brisanjabitova, te permutiranja
59
npr. ključ K = 133457799BBCDFF1 K (binary) = 0001 0011 0011 0100 0101 0111 0111 1001
1001 1011 1011 1100 1101 1111 1111 0001
K (nakon permutacije, bez paritetnih bitova) =1111 0000 1100 1100 1010 1010 1111 0101 0101 01100110 0111 1000 1111
60
8/18/2019 Kriptografija Prezentacija
11/12
DES – postupak enkripcije (3. korak)
inverzna inicijalna permutacija
61
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
AES (Advanced Encryption Standard)
U.S. National Institute of Standards and
Technology (NIST), 2001 (još uvijek) siguran simetrični kriptosustav
62
Kriptiranje s asimetričnim ključem javni ključ
ključ za dekriptiranje nije "inverzan" ključu zaenkripciju, tj. ne dobiva se lako iz ključa zakriptiranje
proces enkripcije i dekripcije je (matematički) vrlosložen (dakle spor), te nepraktičan za velike količine
podataka često se kriptosustavima javnog ključa šalje tajni
ključ te se nastavlja kriptografijom tajnog ključa
63
Kriptografija javnog ključa:
Osoba A obznanjuje javni ključ svima koji želekomunicirati s njom
Osoba B kriptira jasni tekst javnim ključem
Osoba A ima tajni ključ pomoću kojeg je jedinomoguće dekriptirati poruku
64
RSA
1977, Ronald Rivest, Adi Shamir i LeonardAdlerman
do sada djelotvoran: RSA problem – problemfaktorizacije velikog broja
65
RSA - postupak
odaberu se dva različita, velika prosta broja p i q neka je n = p * q i neka je f = (p-1) * (q-1) odabere se prir. br. e koji je relativno prost s f
odabere se d takav da je d * e % f = 1
Neka je m poruka (broj) javni ključ je par (n,e)
…kriptiranje: c = me % n
tajni ključ je d…dekriptiranje: m = cd % n
66
8/18/2019 Kriptografija Prezentacija
12/12
Računanje vrijednosti c = me % n može se
obaviti modularnim potenciranjem
… više u knjizi
67
Digitalni potpis
Ako osoba A šalje poruku osobi B, osoba B
mora biti sigurna da je poruka od osobe A
68
Digitalni potpis
osoba A želi poslati poruku M osobi B
osoba A kriptira poruku tajnim ključem (M')
osoba A šalje poruke M i M' osobi B
osoba B dekriptira poruku M' javnim ključemosobe A (M'')
ako su M i M'' jednake, potpis je valjan
69
Problemi: dvostruko dulja poruka – dvostruko zauzeće
komunikacijskog kanala
enkripcija javnim ključem spora (duže procesorskovrijeme)
dulji kriptirani tekst olakšava probijanje enkripcije
70
71
Ako sažeci nisu jednaki: poruku nije poslala osoba A već netko drugi
poruku je presreo netko drugi i izmijenio ju je
došlo je do greške u komunikacijskom kanalu
72