fix dhke image in rsa slide

This commit is contained in:
fram3d 2023-05-16 13:50:30 +02:00
parent 22712060f7
commit 5efe5810a9
Signed by: fram3d
GPG Key ID: 938920E709EEA32A
3 changed files with 67 additions and 67 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

View File

@ -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\. DiffieHellman razmena kljuceva\pause - 1976\. DiffieHellman 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>
![DiffieHellman](dhke.png) ![DiffieHellman](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