fix dhke image in rsa slide
This commit is contained in:
parent
22712060f7
commit
5efe5810a9
Binary file not shown.
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 80 KiB |
Binary file not shown.
@ -12,42 +12,42 @@ colortheme:
|
|||||||
|
|
||||||
# Uvod
|
# Uvod
|
||||||
- Simetricna kriptografija
|
- Simetricna kriptografija
|
||||||
- Isti kljuc za sifrovanje i desifrovanje\pause
|
- Isti kljuc za sifrovanje i desifrovanje
|
||||||
|
|
||||||
$10101 \oplus 11001 = 01100$\pause
|
$10101 \oplus 11001 = 01100$
|
||||||
|
|
||||||
$(m \oplus k) \oplus k =m \oplus (k \oplus k)= m \oplus 0= m$\pause
|
$(m \oplus k) \oplus k =m \oplus (k \oplus k)= m \oplus 0= m$
|
||||||
- Problem bezbedne razmene kljuceva\pause
|
- Problem bezbedne razmene kljuceva
|
||||||
- Problem autenticnosti
|
- Problem autenticnosti
|
||||||
|
|
||||||
# Uvod
|
# Uvod
|
||||||
- Asiemtricna kriptografija
|
- Asiemtricna kriptografija
|
||||||
- Razliciti kljucevi za sifrovanje i desifrovanje\pause
|
- Razliciti kljucevi za sifrovanje i desifrovanje
|
||||||
|
|
||||||
$f(m,k1)=c$\pause
|
$f(m,k1)=c$
|
||||||
|
|
||||||
$f(c,k2)=m$\pause
|
$f(c,k2)=m$
|
||||||
- Kljuc za sifrovanje je javno dostupan, (svi znaju $k1$)\pause
|
- Kljuc za sifrovanje je javno dostupan, (svi znaju $k1$)
|
||||||
- Sifrovanje privatnim kljucem korisceno kao digitalni potpis\pause
|
- Sifrovanje privatnim kljucem korisceno kao digitalni potpis
|
||||||
|
|
||||||
$f(m,k2)=c$\pause
|
$f(m,k2)=c$
|
||||||
|
|
||||||
$f(c,k1)=m$
|
$f(c,k1)=m$
|
||||||
|
|
||||||
# RSA
|
# RSA
|
||||||
- RSA
|
- RSA
|
||||||
- 1977\. Ron Rivest, Adi Shamir, Leonard Adleman\pause
|
- 1977\. Ron Rivest, Adi Shamir, Leonard Adleman
|
||||||
- 1976\. Diffie–Hellman razmena kljuceva\pause
|
- 1976\. Diffie–Hellman razmena kljuceva
|
||||||
|
|
||||||
$g^a \equiv A \mod p$\pause
|
$g^a \equiv A \mod p$
|
||||||
|
|
||||||
$g^b \equiv B \mod p$\pause
|
$g^b \equiv B \mod p$
|
||||||
|
|
||||||
$A^b \equiv (g^a)^b$\pause$\equiv (g^b)^a$\pause$\equiv B^a$\pause$\mod p$
|
$A^b \equiv (g^a)^b$$\equiv (g^b)^a$$\equiv B^a$$\mod p$
|
||||||
|
|
||||||
# RSA
|
# RSA
|
||||||
<div>
|
<div>
|
||||||
![Diffie–Hellman](dhke.png)
|
![Diffie–Hellman](slides/rsa/dhke.png)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
# RSA
|
# RSA
|
||||||
@ -57,19 +57,19 @@ Ako je $p$ prost broj, za svako $a$ vazi:
|
|||||||
|
|
||||||
$a^{p-1} \equiv 1 \mod p$
|
$a^{p-1} \equiv 1 \mod p$
|
||||||
|
|
||||||
\pause
|
|
||||||
|
|
||||||
## Posledica
|
## Posledica
|
||||||
Ako su $p$ i $q$ prosti brojevi, za svako $a$ vazi:
|
Ako su $p$ i $q$ prosti brojevi, za svako $a$ vazi:
|
||||||
|
|
||||||
|
|
||||||
$a^{(p-1)(q-1)}$\pause$\equiv ({a^{p-1}})^{q-1}$\pause$\equiv 1 \mod q$\pause
|
$a^{(p-1)(q-1)}$$\equiv ({a^{p-1}})^{q-1}$$\equiv 1 \mod q$
|
||||||
|
|
||||||
|
|
||||||
$a^{(p-1)(q-1)}$\pause$\equiv ({a^{q-1}})^{p-1}$\pause$\equiv 1 \mod p$\pause
|
$a^{(p-1)(q-1)}$$\equiv ({a^{q-1}})^{p-1}$$\equiv 1 \mod p$
|
||||||
|
|
||||||
|
|
||||||
$(a^{(p-1)(q-1)}-1)$ je deljivo i sa $p$ i $q$.\pause
|
$(a^{(p-1)(q-1)}-1)$ je deljivo i sa $p$ i $q$.
|
||||||
|
|
||||||
|
|
||||||
$p$ i $q$ su prosti, pa mora da je deljivo i sa $p \cdot q$.
|
$p$ i $q$ su prosti, pa mora da je deljivo i sa $p \cdot q$.
|
||||||
@ -78,78 +78,78 @@ $p$ i $q$ su prosti, pa mora da je deljivo i sa $p \cdot q$.
|
|||||||
# RSA
|
# RSA
|
||||||
|
|
||||||
## Primecujemo
|
## Primecujemo
|
||||||
$a^{(p-1)(q-1)} \equiv 1 \mod pq$\pause
|
$a^{(p-1)(q-1)} \equiv 1 \mod pq$
|
||||||
|
|
||||||
|
|
||||||
Takodje:
|
Takodje:
|
||||||
$a^{x(p-1)(q-1)}$\pause$\equiv ({a^x})^{(p-1)(q-1)}$\pause$\equiv 1 \mod pq$\pause
|
$a^{x(p-1)(q-1)}$$\equiv ({a^x})^{(p-1)(q-1)}$$\equiv 1 \mod pq$
|
||||||
|
|
||||||
|
|
||||||
$a^{x(p-1)(q-1)+1} \equiv a \mod pq$\pause
|
$a^{x(p-1)(q-1)+1} \equiv a \mod pq$
|
||||||
|
|
||||||
|
|
||||||
## Trazimo
|
## Trazimo
|
||||||
$e$ i $d$ tako da:
|
$e$ i $d$ tako da:
|
||||||
|
|
||||||
|
|
||||||
$({a^e})^d \equiv a^{ed} \equiv a^{x(p-1)(q-1)+1} \mod pq$\pause
|
$({a^e})^d \equiv a^{ed} \equiv a^{x(p-1)(q-1)+1} \mod pq$
|
||||||
|
|
||||||
|
|
||||||
Odnosno:
|
Odnosno:
|
||||||
$ed \equiv 1 \mod (p-1)(q-1)$ \pause
|
$ed \equiv 1 \mod (p-1)(q-1)$
|
||||||
|
|
||||||
|
|
||||||
$d$ je modularni inverz od $e$ pod modulom $(p-1)(q-1)$\pause
|
$d$ je modularni inverz od $e$ pod modulom $(p-1)(q-1)$
|
||||||
|
|
||||||
|
|
||||||
Mozemo koristiti `Produzeni Euklidov algoritam`.\pause
|
Mozemo koristiti `Produzeni Euklidov algoritam`.
|
||||||
|
|
||||||
|
|
||||||
U buduce cemo oznacavati $n=pq$, a $\varphi(n)=(p-1)(q-1)$\pause
|
U buduce cemo oznacavati $n=pq$, a $\varphi(n)=(p-1)(q-1)$
|
||||||
|
|
||||||
|
|
||||||
$a^{\varphi(n)} \equiv 1 \mod n$\pause
|
$a^{\varphi(n)} \equiv 1 \mod n$
|
||||||
|
|
||||||
|
|
||||||
$a^{ed} \equiv a^{x\varphi(n)+1}$\pause$\equiv a \mod n$
|
$a^{ed} \equiv a^{x\varphi(n)+1}$$\equiv a \mod n$
|
||||||
|
|
||||||
|
|
||||||
# RSA
|
# RSA
|
||||||
|
|
||||||
- Problem faktorisanja $n=pq$\pause
|
- Problem faktorisanja $n=pq$
|
||||||
- $\varphi(n)=(p-1)(q-1)$ nije poznato bez $p$ i $q$\pause
|
- $\varphi(n)=(p-1)(q-1)$ nije poznato bez $p$ i $q$
|
||||||
- $d$ kao modularni inverz od $e$ nije poznat bez $\varphi(n)$\pause
|
- $d$ kao modularni inverz od $e$ nije poznat bez $\varphi(n)$
|
||||||
- $d$ mozemo da cuvamo tajnim cak i ako objavimo $e$ i $n$ javno\pause
|
- $d$ mozemo da cuvamo tajnim cak i ako objavimo $e$ i $n$ javno
|
||||||
|
|
||||||
|
|
||||||
# RSA
|
# RSA
|
||||||
- Generisanje kljuceva
|
- Generisanje kljuceva
|
||||||
- Nadjimo velike proste brojeve $p$ i $q$\pause
|
- Nadjimo velike proste brojeve $p$ i $q$
|
||||||
|
|
||||||
|
|
||||||
Testovi prostosti brojeva (Fermaov test)\pause
|
Testovi prostosti brojeva (Fermaov test)
|
||||||
- Generisemo $n=pq$\pause
|
- Generisemo $n=pq$
|
||||||
- Nadjimo $e$ koji je uzajamno prost sa $(p-1)(q-1)$\pause
|
- Nadjimo $e$ koji je uzajamno prost sa $(p-1)(q-1)$
|
||||||
- Nadjimo $d$ koriscenjem Produzenog Euklidovog algoritma\pause
|
- Nadjimo $d$ koriscenjem Produzenog Euklidovog algoritma
|
||||||
- Zaboravimo $p$ i $q$, jer nam vise ne trebaju\pause
|
- Zaboravimo $p$ i $q$, jer nam vise ne trebaju
|
||||||
- Javni kljuc se sastoji od brojeva $e$ i $n$
|
- Javni kljuc se sastoji od brojeva $e$ i $n$
|
||||||
|
|
||||||
|
|
||||||
$m^e \equiv C \mod n$
|
$m^e \equiv C \mod n$
|
||||||
|
|
||||||
\pause
|
|
||||||
|
|
||||||
- Privatni kljuc se sastoji od brojeva $d$ i $n$
|
- Privatni kljuc se sastoji od brojeva $d$ i $n$
|
||||||
|
|
||||||
|
|
||||||
$C^d \equiv m \mod n$
|
$C^d \equiv m \mod n$
|
||||||
|
|
||||||
\pause
|
|
||||||
|
|
||||||
- Digitalni potpis se postize sifrovanjem sa privatim kljucem
|
- Digitalni potpis se postize sifrovanjem sa privatim kljucem
|
||||||
|
|
||||||
|
|
||||||
$m^d \equiv S \mod n$\pause
|
$m^d \equiv S \mod n$
|
||||||
|
|
||||||
- Provera digitalnog potpisa:
|
- Provera digitalnog potpisa:
|
||||||
$S^e \equiv m \mod n$
|
$S^e \equiv m \mod n$
|
||||||
@ -173,67 +173,67 @@ def modinv(a, m):
|
|||||||
# Napadi na RSA
|
# Napadi na RSA
|
||||||
|
|
||||||
- Napadi na RSA
|
- Napadi na RSA
|
||||||
- Pogadjanje poruke, potrebno dopunjavanje poruke random podacima (padding)\pause
|
- Pogadjanje poruke, potrebno dopunjavanje poruke random podacima (padding)
|
||||||
- Premali eksponent $e$, korenovanje sifrovanog teksta za male poruke (veliko $e$)\pause
|
- Premali eksponent $e$, korenovanje sifrovanog teksta za male poruke (veliko $e$)
|
||||||
- Koriscenje istog eksponenta za vise kljuceva, napad koriscenjem Kineske teoreme o ostatku (random izabrano $e$)\pause
|
- Koriscenje istog eksponenta za vise kljuceva, napad koriscenjem Kineske teoreme o ostatku (random izabrano $e$)
|
||||||
- Desifrovanje sumnjivog teksta, $(x^e \cdot C)^d \equiv (x^e)^d \cdot C^d \equiv x \cdot m \mod n$
|
- Desifrovanje sumnjivog teksta, $(x^e \cdot C)^d \equiv (x^e)^d \cdot C^d \equiv x \cdot m \mod n$
|
||||||
|
|
||||||
# Primena
|
# Primena
|
||||||
|
|
||||||
## GNU Privacy Guard
|
## GNU Privacy Guard
|
||||||
- 1999\. Werner Koch\pause
|
- 1999\. Werner Koch
|
||||||
- Generisanje kljuca: `gpg --gen-key`\pause
|
- Generisanje kljuca: `gpg --gen-key`
|
||||||
- Lista javnih kljuceva: `gpg --list-keys`\pause
|
- Lista javnih kljuceva: `gpg --list-keys`
|
||||||
- Export privatnih kljuceva: `gpg --export-secret-keys --output backup.gpg`\pause
|
- Export privatnih kljuceva: `gpg --export-secret-keys --output backup.gpg`
|
||||||
- Upload kljuceva: `gpg --send-key [KEYID]`\pause
|
- Upload kljuceva: `gpg --send-key [KEYID]`
|
||||||
- Sifrovanje poruke: `gpg -e file.txt`\pause
|
- Sifrovanje poruke: `gpg -e file.txt`
|
||||||
- Desifrovanje: `gpg -d file.txt`\pause
|
- Desifrovanje: `gpg -d file.txt`
|
||||||
- Potpisivanje poruke ili fajla: `gpg -s file.exe`\pause
|
- Potpisivanje poruke ili fajla: `gpg -s file.exe`
|
||||||
- Potpisivanje kljuca: `gpg --sign-key [KEYID]`\pause
|
- Potpisivanje kljuca: `gpg --sign-key [KEYID]`
|
||||||
- ASCII output: `gpg --armor -se file.txt`\pause
|
- ASCII output: `gpg --armor -se file.txt`
|
||||||
- GPG password manager: `gpg --armor -c passwords.txt`
|
- GPG password manager: `gpg --armor -c passwords.txt`
|
||||||
|
|
||||||
# Primena
|
# Primena
|
||||||
|
|
||||||
## Git
|
## Git
|
||||||
- Podesavanje kljuca: `git config --global user.signingkey [KEYID]`\pause
|
- Podesavanje kljuca: `git config --global user.signingkey [KEYID]`
|
||||||
- Potpisivanje komita: `git commit -S`\pause
|
- Potpisivanje komita: `git commit -S`
|
||||||
<div>
|
<div>
|
||||||
![Github signed commits](github-verified.png)
|
![Github signed commits](slides/rsa/github-verified.png)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
# Primena
|
# Primena
|
||||||
|
|
||||||
## SSH
|
## SSH
|
||||||
- Generisanje kljuca: `ssh-keygen [-f filename]`\pause
|
- Generisanje kljuca: `ssh-keygen [-f filename]`
|
||||||
- Dodavanje kljuca na remote masinu: `ssh-copy-id [-i filename] user@hostname`\pause
|
- Dodavanje kljuca na remote masinu: `ssh-copy-id [-i filename] user@hostname`
|
||||||
- `~/.ssh/authorized_keys`
|
- `~/.ssh/authorized_keys`
|
||||||
|
|
||||||
# The Onion Router
|
# The Onion Router
|
||||||
|
|
||||||
## Tor
|
## Tor
|
||||||
- 1990\.-te United States Naval Research Laboratory (Paul Syverson,Michael G. Reed,David Goldschlag)\pause
|
- 1990\.-te United States Naval Research Laboratory (Paul Syverson,Michael G. Reed,David Goldschlag)
|
||||||
- 20.9.2002. prva verzija Tor-a (javni projekat, anonimnosti u masi)
|
- 20.9.2002. prva verzija Tor-a (javni projekat, anonimnosti u masi)
|
||||||
|
|
||||||
|
|
||||||
# The Onion Router
|
# The Onion Router
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
![How Tor works](tor.png)
|
![How Tor works](slides/rsa/tor.png)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
# Onion hidden services
|
# Onion hidden services
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
![How hidden services works](tor-onion-services.png)
|
![How hidden services works](slides/rsa/tor-onion-services.png)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
# The Onion Router
|
# The Onion Router
|
||||||
|
|
||||||
- Napadi na Tor
|
- Napadi na Tor
|
||||||
- Tor ne stiti od vremenske korelacije (pristup sa obe strane veze)\pause
|
- Tor ne stiti od vremenske korelacije (pristup sa obe strane veze)
|
||||||
- Slabosti u aplikacijama koje koriste Tor\pause
|
- Slabosti u aplikacijama koje koriste Tor
|
||||||
- Pogresno konfigurisane aplikacije\pause
|
- Pogresno konfigurisane aplikacije
|
||||||
- DNS Leak
|
- DNS Leak
|
||||||
|
|
||||||
# Hvala
|
# Hvala
|
||||||
|
Loading…
Reference in New Issue
Block a user