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!