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 bezpiqdkao modularni inverz odenije poznat bez\varphi(n)dmozemo da cuvamo tajnim cak i ako objavimoeinjavno
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!