90
RSA - Asimetricna kriptografija i primena Aleksej Jocic Aleksej Jocic RSA - Asimetricna kriptografija i primena

RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA - Asimetricna kriptografija i primena

Aleksej Jocic

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 2: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Simetricna kriptografijaIsti kljuc za sifrovanje i desifrovanje

10101 ⊕ 11001 = 01100(m ⊕ k) ⊕ k = m ⊕ (k ⊕ k) = m ⊕ 0 = mProblem bezbedne razmene kljucevaProblem autenticnosti

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 3: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Simetricna kriptografijaIsti kljuc za sifrovanje i desifrovanje10101 ⊕ 11001 = 01100

(m ⊕ k) ⊕ k = m ⊕ (k ⊕ k) = m ⊕ 0 = mProblem bezbedne razmene kljucevaProblem autenticnosti

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 4: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Simetricna kriptografijaIsti kljuc za sifrovanje i desifrovanje10101 ⊕ 11001 = 01100(m ⊕ k) ⊕ k = m ⊕ (k ⊕ k) = m ⊕ 0 = m

Problem bezbedne razmene kljucevaProblem autenticnosti

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 5: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Simetricna kriptografijaIsti kljuc za sifrovanje i desifrovanje10101 ⊕ 11001 = 01100(m ⊕ k) ⊕ k = m ⊕ (k ⊕ k) = m ⊕ 0 = mProblem bezbedne razmene kljuceva

Problem autenticnosti

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 6: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Simetricna kriptografijaIsti kljuc za sifrovanje i desifrovanje10101 ⊕ 11001 = 01100(m ⊕ k) ⊕ k = m ⊕ (k ⊕ k) = m ⊕ 0 = mProblem bezbedne razmene kljucevaProblem autenticnosti

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 7: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Asiemtricna kriptografijaRazliciti kljucevi za sifrovanje i desifrovanje

f (m, k1) = cf (c, k2) = mKljuc za sifrovanje je javno dostupan, (svi znaju k1)Sifrovanje privatnim kljucem korisceno kao digitalni potpisf (m, k2) = cf (c, k1) = m

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 8: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Asiemtricna kriptografijaRazliciti kljucevi za sifrovanje i desifrovanjef (m, k1) = c

f (c, k2) = mKljuc za sifrovanje je javno dostupan, (svi znaju k1)Sifrovanje privatnim kljucem korisceno kao digitalni potpisf (m, k2) = cf (c, k1) = m

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 9: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Asiemtricna kriptografijaRazliciti kljucevi za sifrovanje i desifrovanjef (m, k1) = cf (c, k2) = m

Kljuc za sifrovanje je javno dostupan, (svi znaju k1)Sifrovanje privatnim kljucem korisceno kao digitalni potpisf (m, k2) = cf (c, k1) = m

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 10: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Asiemtricna kriptografijaRazliciti kljucevi za sifrovanje i desifrovanjef (m, k1) = cf (c, k2) = mKljuc za sifrovanje je javno dostupan, (svi znaju k1)

Sifrovanje privatnim kljucem korisceno kao digitalni potpisf (m, k2) = cf (c, k1) = m

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 11: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Asiemtricna kriptografijaRazliciti kljucevi za sifrovanje i desifrovanjef (m, k1) = cf (c, k2) = mKljuc za sifrovanje je javno dostupan, (svi znaju k1)Sifrovanje privatnim kljucem korisceno kao digitalni potpis

f (m, k2) = cf (c, k1) = m

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 12: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Asiemtricna kriptografijaRazliciti kljucevi za sifrovanje i desifrovanjef (m, k1) = cf (c, k2) = mKljuc za sifrovanje je javno dostupan, (svi znaju k1)Sifrovanje privatnim kljucem korisceno kao digitalni potpisf (m, k2) = c

f (c, k1) = m

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 13: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Uvod

Asiemtricna kriptografijaRazliciti kljucevi za sifrovanje i desifrovanjef (m, k1) = cf (c, k2) = mKljuc za sifrovanje je javno dostupan, (svi znaju k1)Sifrovanje privatnim kljucem korisceno kao digitalni potpisf (m, k2) = cf (c, k1) = m

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 14: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

RSA1977. Ron Rivest, Adi Shamir, Leonard Adleman

1976. Diffie–Hellman razmena kljuceva

ga ≡ A mod pgb ≡ B mod pAb ≡ (ga)b≡ (gb)a≡ Ba mod p

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 15: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

RSA1977. Ron Rivest, Adi Shamir, Leonard Adleman1976. Diffie–Hellman razmena kljuceva

ga ≡ A mod pgb ≡ B mod pAb ≡ (ga)b≡ (gb)a≡ Ba mod p

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 16: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

RSA1977. Ron Rivest, Adi Shamir, Leonard Adleman1976. Diffie–Hellman razmena kljuceva

ga ≡ A mod p

gb ≡ B mod pAb ≡ (ga)b≡ (gb)a≡ Ba mod p

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 17: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

RSA1977. Ron Rivest, Adi Shamir, Leonard Adleman1976. Diffie–Hellman razmena kljuceva

ga ≡ A mod pgb ≡ B mod p

Ab ≡ (ga)b≡ (gb)a≡ Ba mod p

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 18: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

RSA1977. Ron Rivest, Adi Shamir, Leonard Adleman1976. Diffie–Hellman razmena kljuceva

ga ≡ A mod pgb ≡ B mod pAb ≡ (ga)b

≡ (gb)a≡ Ba mod p

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 19: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

RSA1977. Ron Rivest, Adi Shamir, Leonard Adleman1976. Diffie–Hellman razmena kljuceva

ga ≡ A mod pgb ≡ B mod pAb ≡ (ga)b≡ (gb)a

≡ Ba mod p

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 20: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

RSA1977. Ron Rivest, Adi Shamir, Leonard Adleman1976. Diffie–Hellman razmena kljuceva

ga ≡ A mod pgb ≡ B mod pAb ≡ (ga)b≡ (gb)a≡ Ba

mod p

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 21: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

RSA1977. Ron Rivest, Adi Shamir, Leonard Adleman1976. Diffie–Hellman razmena kljuceva

ga ≡ A mod pgb ≡ B mod pAb ≡ (ga)b≡ (gb)a≡ Ba mod p

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 22: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Figure 1: Diffie–HellmanAleksej Jocic RSA - Asimetricna kriptografija i primena

Page 23: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)≡ (ap−1)q−1≡ 1 mod qa(p−1)(q−1)≡ (aq−1)p−1≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 24: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)

≡ (ap−1)q−1≡ 1 mod qa(p−1)(q−1)≡ (aq−1)p−1≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 25: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)≡ (ap−1)q−1

≡ 1 mod qa(p−1)(q−1)≡ (aq−1)p−1≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 26: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)≡ (ap−1)q−1≡ 1 mod q

a(p−1)(q−1)≡ (aq−1)p−1≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 27: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)≡ (ap−1)q−1≡ 1 mod qa(p−1)(q−1)

≡ (aq−1)p−1≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 28: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)≡ (ap−1)q−1≡ 1 mod qa(p−1)(q−1)≡ (aq−1)p−1

≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 29: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)≡ (ap−1)q−1≡ 1 mod qa(p−1)(q−1)≡ (aq−1)p−1≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 30: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)≡ (ap−1)q−1≡ 1 mod qa(p−1)(q−1)≡ (aq−1)p−1≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 31: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Mala Fermaova teoremaAko je p prost broj, za svako a vazi:ap−1 ≡ 1 mod p

PosledicaAko su p i q prosti brojevi, za svako a vazi:a(p−1)(q−1)≡ (ap−1)q−1≡ 1 mod qa(p−1)(q−1)≡ (aq−1)p−1≡ 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 · q.

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 32: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pq

Takodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 33: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)

≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 34: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)

≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 35: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pq

ax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 36: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 37: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pq

Odnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 38: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 39: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 40: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 41: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)

aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 42: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod n

aed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 43: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1

≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 44: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Primecujemoa(p−1)(q−1) ≡ 1 mod pqTakodje: ax(p−1)(q−1)≡ (ax )(p−1)(q−1)≡ 1 mod pqax(p−1)(q−1)+1 ≡ a mod pq

Trazimoe i d tako da:(ae)d ≡ aed ≡ ax(p−1)(q−1)+1 mod pqOdnosno: ed ≡ 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 ϕ(n) = (p − 1)(q − 1)aϕ(n) ≡ 1 mod naed ≡ axϕ(n)+1≡ a mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 45: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Problem faktorisanja n = pq

ϕ(n) = (p − 1)(q − 1) nije poznato bez p i qd kao modularni inverz od e nije poznat bez ϕ(n)d mozemo da cuvamo tajnim cak i ako objavimo e i n javno

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 46: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Problem faktorisanja n = pqϕ(n) = (p − 1)(q − 1) nije poznato bez p i q

d kao modularni inverz od e nije poznat bez ϕ(n)d mozemo da cuvamo tajnim cak i ako objavimo e i n javno

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 47: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Problem faktorisanja n = pqϕ(n) = (p − 1)(q − 1) nije poznato bez p i qd kao modularni inverz od e nije poznat bez ϕ(n)

d mozemo da cuvamo tajnim cak i ako objavimo e i n javno

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 48: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Problem faktorisanja n = pqϕ(n) = (p − 1)(q − 1) nije poznato bez p i qd kao modularni inverz od e nije poznat bez ϕ(n)d mozemo da cuvamo tajnim cak i ako objavimo e i n javno

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 49: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Problem faktorisanja n = pqϕ(n) = (p − 1)(q − 1) nije poznato bez p i qd kao modularni inverz od e nije poznat bez ϕ(n)d mozemo da cuvamo tajnim cak i ako objavimo e i n javno

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 50: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i q

Testovi prostosti brojeva (Fermaov test)Generisemo n = pqNadjimo e koji je uzajamno prost sa (p − 1)(q − 1)Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 51: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)

Generisemo n = pqNadjimo e koji je uzajamno prost sa (p − 1)(q − 1)Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 52: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)Generisemo n = pq

Nadjimo e koji je uzajamno prost sa (p − 1)(q − 1)Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 53: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)Generisemo n = pqNadjimo e koji je uzajamno prost sa (p − 1)(q − 1)

Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 54: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)Generisemo n = pqNadjimo 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 nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 55: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)Generisemo n = pqNadjimo e koji je uzajamno prost sa (p − 1)(q − 1)Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 56: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)Generisemo n = pqNadjimo e koji je uzajamno prost sa (p − 1)(q − 1)Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 57: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)Generisemo n = pqNadjimo e koji je uzajamno prost sa (p − 1)(q − 1)Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 58: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)Generisemo n = pqNadjimo e koji je uzajamno prost sa (p − 1)(q − 1)Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod n

Provera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 59: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

RSA

Generisanje kljucevaNadjimo velike proste brojeve p i qTestovi prostosti brojeva (Fermaov test)Generisemo n = pqNadjimo e koji je uzajamno prost sa (p − 1)(q − 1)Nadjimo d koriscenjem Produzenog Euklidovog algoritmaZaboravimo p i q, jer nam vise ne trebaju

Javni kljuc se sastoji od brojeva e i nme ≡ C mod n

Privatni kljuc se sastoji od brojeva d i nCd ≡ m mod n

Digitalni potpis se postize sifrovanjem sa privatim kljucemmd ≡ S mod nProvera digitalnog potpisa: Se ≡ m mod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 60: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

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

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 61: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Napadi na RSA

Napadi na RSAPogadjanje poruke, potrebno dopunjavanje poruke randompodacima (padding)

Premali eksponent e, korenovanje sifrovanog teksta za maleporuke (veliko e)Koriscenje istog eksponenta za vise kljuceva, napad koriscenjemKineske teoreme o ostatku (random izabrano e)Desifrovanje sumnjivog teksta, (x e · C)d ≡ (x e)d · Cd ≡ x · mmod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 62: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Napadi na RSA

Napadi na RSAPogadjanje poruke, potrebno dopunjavanje poruke randompodacima (padding)Premali eksponent e, korenovanje sifrovanog teksta za maleporuke (veliko e)

Koriscenje istog eksponenta za vise kljuceva, napad koriscenjemKineske teoreme o ostatku (random izabrano e)Desifrovanje sumnjivog teksta, (x e · C)d ≡ (x e)d · Cd ≡ x · mmod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 63: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Napadi na RSA

Napadi na RSAPogadjanje poruke, potrebno dopunjavanje poruke randompodacima (padding)Premali eksponent e, korenovanje sifrovanog teksta za maleporuke (veliko e)Koriscenje istog eksponenta za vise kljuceva, napad koriscenjemKineske teoreme o ostatku (random izabrano e)

Desifrovanje sumnjivog teksta, (x e · C)d ≡ (x e)d · Cd ≡ x · mmod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 64: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Napadi na RSA

Napadi na RSAPogadjanje poruke, potrebno dopunjavanje poruke randompodacima (padding)Premali eksponent e, korenovanje sifrovanog teksta za maleporuke (veliko e)Koriscenje istog eksponenta za vise kljuceva, napad koriscenjemKineske teoreme o ostatku (random izabrano e)Desifrovanje sumnjivog teksta, (x e · C)d ≡ (x e)d · Cd ≡ x · mmod n

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 65: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner Koch

Generisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 66: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-key

Lista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 67: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keys

Export privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 68: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpg

Upload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 69: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]

Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 70: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txt

Desifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 71: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txt

Potpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 72: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exe

Potpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 73: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]

ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 74: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txt

GPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 75: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GNU Privacy Guard1999. Werner KochGenerisanje kljuca: gpg --gen-keyLista javnih kljuceva: gpg --list-keysExport privatnih kljuceva: gpg --export-secret-keys--output backup.gpgUpload kljuceva: gpg --send-key [KEYID]Sifrovanje poruke: gpg -e file.txtDesifrovanje: gpg -d file.txtPotpisivanje poruke ili fajla: gpg -s file.exePotpisivanje kljuca: gpg --sign-key [KEYID]ASCII output: gpg --armor -se file.txtGPG password manager: gpg --armor -c passwords.txt

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 76: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GitPodesavanje kljuca: git config --globaluser.signingkey [KEYID]

Potpisivanje komita: git commit -S

Figure 2: Github signed commits

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 77: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GitPodesavanje kljuca: git config --globaluser.signingkey [KEYID]Potpisivanje komita: git commit -S

Figure 2: Github signed commits

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 78: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

GitPodesavanje kljuca: git config --globaluser.signingkey [KEYID]Potpisivanje komita: git commit -S

Figure 2: Github signed commits

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 79: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

SSHGenerisanje kljuca: ssh-keygen [-f filename]

Dodavanje kljuca na remote masinu: ssh-copy-id [-ifilename] user@hostname~/.ssh/authorized_keys

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 80: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

SSHGenerisanje kljuca: ssh-keygen [-f filename]Dodavanje kljuca na remote masinu: ssh-copy-id [-ifilename] user@hostname

~/.ssh/authorized_keys

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 81: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Primena

SSHGenerisanje kljuca: ssh-keygen [-f filename]Dodavanje kljuca na remote masinu: ssh-copy-id [-ifilename] user@hostname~/.ssh/authorized_keys

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 82: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

The Onion Router

Tor1990.-te United States Naval Research Laboratory (PaulSyverson,Michael G. Reed,David Goldschlag)

20.9.2002. prva verzija Tor-a (javni projekat, anonimnosti umasi)

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 83: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

The Onion Router

Tor1990.-te United States Naval Research Laboratory (PaulSyverson,Michael G. Reed,David Goldschlag)20.9.2002. prva verzija Tor-a (javni projekat, anonimnosti umasi)

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 84: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

The Onion Router

Figure 3: How Tor worksAleksej Jocic RSA - Asimetricna kriptografija i primena

Page 85: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Onion hidden services

Figure 4: How hidden services worksAleksej Jocic RSA - Asimetricna kriptografija i primena

Page 86: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

The Onion Router

Napadi na TorTor ne stiti od vremenske korelacije (pristup sa obe strane veze)

Slabosti u aplikacijama koje koriste TorPogresno konfigurisane aplikacijeDNS Leak

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 87: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

The Onion Router

Napadi na TorTor ne stiti od vremenske korelacije (pristup sa obe strane veze)Slabosti u aplikacijama koje koriste Tor

Pogresno konfigurisane aplikacijeDNS Leak

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 88: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

The Onion Router

Napadi na TorTor ne stiti od vremenske korelacije (pristup sa obe strane veze)Slabosti u aplikacijama koje koriste TorPogresno konfigurisane aplikacije

DNS Leak

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 89: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

The Onion Router

Napadi na TorTor ne stiti od vremenske korelacije (pristup sa obe strane veze)Slabosti u aplikacijama koje koriste TorPogresno konfigurisane aplikacijeDNS Leak

Aleksej Jocic RSA - Asimetricna kriptografija i primena

Page 90: RSA - Asimetricna kriptografija i primenarisk.matf.bg.ac.rs/assets/data/meetup15-aleksej-kripto.pdfUvod Simetricnakriptografija Istikljuczasifrovanjeidesifrovanje 10101⊕11001= 01100

Hvala

Hvala na paznji!

Aleksej Jocic RSA - Asimetricna kriptografija i primena