diff --git a/slides/rsa/dhke.png b/slides/rsa/dhke.png
index b39d55d..67b875d 100644
Binary files a/slides/rsa/dhke.png and b/slides/rsa/dhke.png differ
diff --git a/slides/rsa/dhke.xcf b/slides/rsa/dhke.xcf
index 34e34d3..79d9f1b 100644
Binary files a/slides/rsa/dhke.xcf and b/slides/rsa/dhke.xcf differ
diff --git a/slides/rsa/rsa.md b/slides/rsa/rsa.md
index 3bf8a70..70f58e9 100644
--- a/slides/rsa/rsa.md
+++ b/slides/rsa/rsa.md
@@ -12,42 +12,42 @@ colortheme:
# Uvod
- 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
- - Problem bezbedne razmene kljuceva\pause
+ $(m \oplus k) \oplus k =m \oplus (k \oplus k)= m \oplus 0= m$
+ - Problem bezbedne razmene kljuceva
- Problem autenticnosti
# Uvod
- 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
- - Kljuc za sifrovanje je javno dostupan, (svi znaju $k1$)\pause
- - Sifrovanje privatnim kljucem korisceno kao digitalni potpis\pause
+ $f(c,k2)=m$
+ - Kljuc za sifrovanje je javno dostupan, (svi znaju $k1$)
+ - Sifrovanje privatnim kljucem korisceno kao digitalni potpis
- $f(m,k2)=c$\pause
+ $f(m,k2)=c$
$f(c,k1)=m$
# RSA
- RSA
- - 1977\. Ron Rivest, Adi Shamir, Leonard Adleman\pause
- - 1976\. Diffie–Hellman razmena kljuceva\pause
+ - 1977\. Ron Rivest, Adi Shamir, Leonard Adleman
+ - 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
-![Diffie–Hellman](dhke.png)
+![Diffie–Hellman](slides/rsa/dhke.png)
# RSA
@@ -57,19 +57,19 @@ Ako je $p$ prost broj, za svako $a$ vazi:
$a^{p-1} \equiv 1 \mod p$
-\pause
+
## Posledica
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$.
@@ -78,78 +78,78 @@ $p$ i $q$ su prosti, pa mora da je deljivo i sa $p \cdot q$.
# RSA
## Primecujemo
-$a^{(p-1)(q-1)} \equiv 1 \mod pq$\pause
+$a^{(p-1)(q-1)} \equiv 1 \mod pq$
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
$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:
-$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
-- Problem faktorisanja $n=pq$\pause
-- $\varphi(n)=(p-1)(q-1)$ nije poznato bez $p$ i $q$\pause
-- $d$ kao modularni inverz od $e$ nije poznat bez $\varphi(n)$\pause
-- $d$ mozemo da cuvamo tajnim cak i ako objavimo $e$ i $n$ javno\pause
+- Problem faktorisanja $n=pq$
+- $\varphi(n)=(p-1)(q-1)$ nije poznato bez $p$ i $q$
+- $d$ kao modularni inverz od $e$ nije poznat bez $\varphi(n)$
+- $d$ mozemo da cuvamo tajnim cak i ako objavimo $e$ i $n$ javno
# RSA
- Generisanje kljuceva
- - Nadjimo velike proste brojeve $p$ i $q$\pause
+ - Nadjimo velike proste brojeve $p$ i $q$
- Testovi prostosti brojeva (Fermaov test)\pause
- - Generisemo $n=pq$\pause
- - Nadjimo $e$ koji je uzajamno prost sa $(p-1)(q-1)$\pause
- - Nadjimo $d$ koriscenjem Produzenog Euklidovog algoritma\pause
- - Zaboravimo $p$ i $q$, jer nam vise ne trebaju\pause
+ Testovi prostosti brojeva (Fermaov test)
+ - Generisemo $n=pq$
+ - Nadjimo $e$ koji je uzajamno prost sa $(p-1)(q-1)$
+ - Nadjimo $d$ koriscenjem Produzenog Euklidovog algoritma
+ - Zaboravimo $p$ i $q$, jer nam vise ne trebaju
- Javni kljuc se sastoji od brojeva $e$ i $n$
$m^e \equiv C \mod n$
-\pause
+
- Privatni kljuc se sastoji od brojeva $d$ i $n$
$C^d \equiv m \mod n$
-\pause
+
- Digitalni potpis se postize sifrovanjem sa privatim kljucem
- $m^d \equiv S \mod n$\pause
+ $m^d \equiv S \mod n$
- Provera digitalnog potpisa:
$S^e \equiv m \mod n$
@@ -173,67 +173,67 @@ def modinv(a, m):
# Napadi na RSA
- Napadi na RSA
- - Pogadjanje poruke, potrebno dopunjavanje poruke random podacima (padding)\pause
- - Premali eksponent $e$, korenovanje sifrovanog teksta za male poruke (veliko $e$)\pause
- - Koriscenje istog eksponenta za vise kljuceva, napad koriscenjem Kineske teoreme o ostatku (random izabrano $e$)\pause
+ - Pogadjanje poruke, potrebno dopunjavanje poruke random podacima (padding)
+ - 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$)
- Desifrovanje sumnjivog teksta, $(x^e \cdot C)^d \equiv (x^e)^d \cdot C^d \equiv x \cdot m \mod n$
# Primena
## GNU Privacy Guard
-- 1999\. Werner Koch\pause
-- Generisanje kljuca: `gpg --gen-key`\pause
-- Lista javnih kljuceva: `gpg --list-keys`\pause
-- Export privatnih kljuceva: `gpg --export-secret-keys --output backup.gpg`\pause
-- Upload kljuceva: `gpg --send-key [KEYID]`\pause
-- Sifrovanje poruke: `gpg -e file.txt`\pause
-- Desifrovanje: `gpg -d file.txt`\pause
-- Potpisivanje poruke ili fajla: `gpg -s file.exe`\pause
-- Potpisivanje kljuca: `gpg --sign-key [KEYID]`\pause
-- ASCII output: `gpg --armor -se file.txt`\pause
+- 1999\. Werner Koch
+- Generisanje kljuca: `gpg --gen-key`
+- Lista javnih kljuceva: `gpg --list-keys`
+- Export privatnih kljuceva: `gpg --export-secret-keys --output backup.gpg`
+- Upload kljuceva: `gpg --send-key [KEYID]`
+- Sifrovanje poruke: `gpg -e file.txt`
+- Desifrovanje: `gpg -d file.txt`
+- Potpisivanje poruke ili fajla: `gpg -s file.exe`
+- Potpisivanje kljuca: `gpg --sign-key [KEYID]`
+- ASCII output: `gpg --armor -se file.txt`
- GPG password manager: `gpg --armor -c passwords.txt`
# Primena
## Git
-- Podesavanje kljuca: `git config --global user.signingkey [KEYID]`\pause
-- Potpisivanje komita: `git commit -S`\pause
+- Podesavanje kljuca: `git config --global user.signingkey [KEYID]`
+- Potpisivanje komita: `git commit -S`
-![Github signed commits](github-verified.png)
+![Github signed commits](slides/rsa/github-verified.png)
# Primena
## SSH
-- Generisanje kljuca: `ssh-keygen [-f filename]`\pause
-- Dodavanje kljuca na remote masinu: `ssh-copy-id [-i filename] user@hostname`\pause
+- Generisanje kljuca: `ssh-keygen [-f filename]`
+- Dodavanje kljuca na remote masinu: `ssh-copy-id [-i filename] user@hostname`
- `~/.ssh/authorized_keys`
# The Onion Router
## 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)
# The Onion Router
-![How Tor works](tor.png)
+![How Tor works](slides/rsa/tor.png)
# Onion hidden services
-![How hidden services works](tor-onion-services.png)
+![How hidden services works](slides/rsa/tor-onion-services.png)
# The Onion Router
- Napadi na Tor
- - Tor ne stiti od vremenske korelacije (pristup sa obe strane veze)\pause
- - Slabosti u aplikacijama koje koriste Tor\pause
- - Pogresno konfigurisane aplikacije\pause
+ - Tor ne stiti od vremenske korelacije (pristup sa obe strane veze)
+ - Slabosti u aplikacijama koje koriste Tor
+ - Pogresno konfigurisane aplikacije
- DNS Leak
# Hvala