4.8 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	title, author, theme, colortheme
| title | author | theme | colortheme | ||||
|---|---|---|---|---|---|---|---|
| 
 | 
 | 
 | 
 | 
Uvod
- 
Simetricna kriptografija Isti kljuc za sifrovanje i desifrovanje 10101 \oplus 11001 = 01100(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 
- 
f(m,k1)=c
- 
f(c,k2)=m
- 
Kljuc za sifrovanje je javno dostupan, (svi znaju k1)
- 
Sifrovanje privatnim kljucem korisceno kao digitalni potpis 
- 
f(m,k2)=c
- 
f(c,k1)=m
 
- 
RSA
- RSA
- 
1977. Ron Rivest, Adi Shamir, Leonard Adleman 
- 
1976. Diffie–Hellman razmena kljuceva 
- 
g^a \equiv A \mod p
- 
g^b \equiv B \mod p
- 
$A^b \equiv (g^a)^b$$\equiv (g^b)^a$$\equiv B^a$ \mod p
 
- 
RSA
RSA
Mala Fermaova teorema
Ako je p prost broj, za svako a vazi:
a^{p-1} \equiv 1 \mod p
Posledica
Ako su p i q prosti brojevi, za svako a vazi:
$a^{(p-1)(q-1)}$$\equiv ({a^{p-1}})^{q-1}$\equiv 1 \mod q
$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.
p i q su prosti, pa mora da je deljivo i sa p \cdot q.
RSA
Posledica
a^{(p-1)(q-1)} \equiv 1 \mod pq
Takodje:
$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
Trazimo
e i d tako da:
({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)
d je modularni inverz od e pod modulom (p-1)(q-1)
Mozemo koristiti Produzeni Euklidov algoritam.
U buduce cemo oznacavati n=pq, a \varphi(n)=(p-1)(q-1)
a^{\varphi(n)} \equiv 1 \mod n
$a^{ed} \equiv a^{x\varphi(n)+1}$\equiv a \mod n
RSA
- Problem faktorisanja n=pq
- \varphi(n)=(p-1)(q-1)nije poznato bez- pi- q
- dkao modularni inverz od- enije poznat bez- \varphi(n)
- dmozemo da cuvamo tajnim cak i ako objavimo- ei- njavno
RSA
- Generisanje kljuceva
- 
Nadjimo velike proste brojeve piqTestovi prostosti brojeva (Fermaov test) 
- 
Generisemo n=pq
- 
Nadjimo ekoji je uzajamno prost sa(p-1)(q-1)
- 
Nadjimo dkoriscenjem Produzenog Euklidovog algoritma
- 
Mozemo zaboraviti piq, jer nam vise ne trebaju
 
- 
Sifrovanje i potpisivanje
- 
Javni kljuc se sastoji od brojeva einm^e \equiv C \mod n
- 
Privatni kljuc se sastoji od brojeva dinC^d \equiv m \mod n
- 
Digitalni potpis se postize sifrovanjem sa privatim kljucem m^d \equiv S \mod n
- 
Provera digitalnog potpisa: S^e \equiv m \mod n
Prodruzeni Euklidov algoritam
def egcd(a, b):
    if a == 0:
        return (b, 0, 1)
    g, y, x = egcd(b%a,a)
    return (g, x - (b//a) * y, y)
def modinv(a, m):
    g, x, y = egcd(a, m)
    if g != 1:
        raise Exception('No modular inverse')
    return x%m
Napadi na RSA
- Napadi na RSA
- Pogadjanje poruke, potrebno dopunjavanje poruke random podacima (padding)
- Premali eksponent e, korenovanje sifrovanog teksta za male poruke (velikoe)
- 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
- 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]
- Potpisivanje komita: git commit -S
Primena
SSH
- 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)
- 20.9.2002. prva verzija Tor-a (javni projekat, anonimnosti u masi)
The Onion Router
Onion hidden services
The Onion Router
- Napadi na Tor
- Tor ne stiti od vremenske korelacije (pristup sa obe strane veze)
- Slabosti u aplikacijama koje koriste Tor
- Pogresno konfigurisane aplikacije
- DNS Leak
 
Hvala
Hvala na paznji!