Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:seminari:kriptografija_javnog_kljuca [2023/01/06 00:49] km51437 [6.Primjeri kriptosustava koji koriste javni ključ] |
racfor_wiki:seminari:kriptografija_javnog_kljuca [2023/06/19 18:17] (trenutno) |
||
---|---|---|---|
Redak 3: | Redak 3: | ||
===== 1. Sažetak ===== | ===== 1. Sažetak ===== | ||
+ | Kriptografija znanost koja proučava metode koje se koriste za slanje poruka u obliku koji je razumljiv samo onima kojima su te poruke namijenjene. Kriptosustavi se po kriteriju tajnosti ključeva dijele na kriptosustave s javnim ključem i kriptosustave s tajnim ključem. Kriptosustavi s javnim ključem koriste parove ključeva koji se sastoje od javnog i privatnog ključa. Otvoreni tekst se šifrira s javnim ključem, a šifrat se dešifrira s privatnim ključem. RSA i Rabinov kriptosustav među najpoznatijim su kriptosustavima koji koriste javne ključeve. U praksi se uobičajeno kriptosustavi s javnim ključem koriste za šifriranje ključeva. | ||
=====2. Uvod – što je to kriptografija? | =====2. Uvod – što je to kriptografija? | ||
- | Kriptografija je znanstvena disciplina | + | Kriptografija je znanost |
{{ : | {{ : | ||
Redak 17: | Redak 17: | ||
Kriptografija kao i svaka znanstvena disciplina radi jednostavnosti komunikacije koristi stručne pojmove. Definirajmo osnovne pojmove u kriptografiji koji će se koristiti u sljedećim poglavljima. | Kriptografija kao i svaka znanstvena disciplina radi jednostavnosti komunikacije koristi stručne pojmove. Definirajmo osnovne pojmove u kriptografiji koji će se koristiti u sljedećim poglavljima. | ||
- | Pošiljatelj je osoba koja šalje poruku, a primatelj je osoba koja tu poruku prima. Cilj kriptografije je omogućiti izmjenu poruka između pošiljatelja i primatelja koja se odvija na način da neka treća osoba, koju nazivamo protivnik, ne može pročitati njihove poruke. | + | Pošiljatelj je osoba koja šalje poruku, a primatelj je osoba koja tu poruku prima. Cilj kriptografije je omogućiti izmjenu poruka između pošiljatelja i primatelja koja se odvija na način da neka treća osoba, koju nazivamo protivnik, ne može pročitati njihove poruke. |
- | Otvoreni tekst naziv je koji se odnosi | + | Otvoreni tekst naziv je koji se koristi kada se referira |
- | Izmjena informacija između pošiljatelja i primatelja (slika 2) odvija se komunikacijskim kanalom. Protivnik može doći do šifrata, ali ne može ga dešifrirati i doći do otvorenog teksta zato što nema ključ kojim je otvoreni tekst šifriran. | + | Izmjena informacija između pošiljatelja i primatelja (slika 2) odvija se komunikacijskim kanalom. Protivnik može doći do šifrata, ali ne može ga dešifrirati i doći do otvorenog teksta zato što nema ključ kojim je otvoreni tekst šifriran. |
{{ : | {{ : | ||
Slika 2: Izmjena poruka između pošiljatelja i primatelja | Slika 2: Izmjena poruka između pošiljatelja i primatelja | ||
- | Kriptografski algoritam | + | Kriptografski algoritam matematička |
- | Kriptosustav je uređena petorka (P, C, K, E, D) za koju vrijedi: | + | Kriptosustav je uređena petorka (P, C, K, E, D) za koju vrijedi |
- P predstavlja konačan skup svih mogućih osnovnih elemenata otvorenog teksta. | - P predstavlja konačan skup svih mogućih osnovnih elemenata otvorenog teksta. | ||
- C predstavlja konačan skup svih mogućih osnovnih elemenata šifrata. | - C predstavlja konačan skup svih mogućih osnovnih elemenata šifrata. | ||
Redak 39: | Redak 39: | ||
===== 4. Podjela kriptosustava ===== | ===== 4. Podjela kriptosustava ===== | ||
- | Kriptosustavi su uobičajeno klasificirani s obzirom na tri kriterija: | + | Kriptosustavi su uobičajeno klasificirani s obzirom na tri kriterija |
- | - **Tip operacije koja se koristi pri šifriranju**: | + | - **Vrsta operacije koja se koristi pri šifriranju**: |
- | - **Način | + | - **Način |
- | - **Tajnost ključeva**: | + | - **Tajnost ključeva**: |
Redak 51: | Redak 51: | ||
===== 5. Kriptografija javnog ključa ===== | ===== 5. Kriptografija javnog ključa ===== | ||
- | Kriptografija javnog ključa naziva se i asimetrična kriptografija, | + | Kriptografija javnog ključa naziva se i asimetrična kriptografija, |
{{ : | {{ : | ||
Slika 3: Jednostavni kriptosustav s javnim ključem | Slika 3: Jednostavni kriptosustav s javnim ključem | ||
- | Koristeći javni ključ bilo tko može šifrirati otvoreni tekst, ali šifrat može dešifrirati samo osoba kojoj je dostupan privatni ključ. Privatni ključ za dešifriranje mora biti takav da ga protivnik ne može izračunati u razumnom vremenu ako mu je dostupan javni ključ za šifriranje. Ako bilo tko može doći do javnog ključa i predstaviti se kao pošiljatelj, | + | Koristeći javni ključ bilo tko može šifrirati otvoreni tekst, ali šifrat može dešifrirati samo osoba kojoj je dostupan privatni ključ. Privatni ključ za dešifriranje mora biti takav da ga protivnik ne može izračunati u razumnom vremenu ako mu je dostupan javni ključ za šifriranje. Ako bilo tko može doći do javnog ključa i predstaviti se kao pošiljatelj, |
- | Glavne prednosti kriptosustava | + | Glavne prednosti kriptosustava |
Redak 67: | Redak 67: | ||
=== 6.1 RSA kriptosustav === | === 6.1 RSA kriptosustav === | ||
- | RSA kriptosustav funkcionira na temelju generiranja velikih prostih brojeva. Algoritam za generiranje javnog i privatnog ključa za RSA kriptosustav glasi: | + | RSA kriptosustav funkcionira na temelju generiranja velikih prostih brojeva. Algoritam za generiranje javnog i privatnog ključa za RSA kriptosustav glasi [4]: |
- Potrebno je generirati dva velika prosta broja //p// i //q//. | - Potrebno je generirati dva velika prosta broja //p// i //q//. | ||
Redak 75: | Redak 75: | ||
- Javni ključ je (//n, e//), a privatni ključ je //d//. | - Javni ključ je (//n, e//), a privatni ključ je //d//. | ||
- | Algoritam za RSA šifriranje otvorenog teksta javnim ključem glasi: | + | Algoritam za RSA šifriranje otvorenog teksta javnim ključem glasi [4]: |
- Potrebno je dohvatiti javni ključ (n, e). | - Potrebno je dohvatiti javni ključ (n, e). | ||
- Poruka se prikaže kao cijeli broj x. | - Poruka se prikaže kao cijeli broj x. | ||
Redak 81: | Redak 81: | ||
- Šifrat se pošalje primatelju. | - Šifrat se pošalje primatelju. | ||
- | Algoritam za RSA dešifriranje šifrata privatnim ključem glasi: | + | Algoritam za RSA dešifriranje šifrata privatnim ključem glasi [4]: |
- Element brojane listePotreban je privatni ključ d. | - Element brojane listePotreban je privatni ključ d. | ||
- Otvoreni tekst se izračuna pomoću formule dK(y) ≡ y^d (mod n). | - Otvoreni tekst se izračuna pomoću formule dK(y) ≡ y^d (mod n). | ||
Redak 98: | Redak 98: | ||
=== 6.2 Rabinov kriptosustav === | === 6.2 Rabinov kriptosustav === | ||
- | Rabinov kriptosustav također koristi generiranje velikih prostih brojeva. Algoritam za generiranje javnog i privatnog ključa za Rabinov kriptosustav glasi: | + | Rabinov kriptosustav također koristi generiranje velikih prostih brojeva. Algoritam za generiranje javnog i privatnog ključa za Rabinov kriptosustav glasi [4]: |
- Potrebno je generirati dva velika prosta broja //p// i //q//. | - Potrebno je generirati dva velika prosta broja //p// i //q//. | ||
Redak 104: | Redak 104: | ||
- Privatni ključ je (//p, q//), a javni ključ je //n//. | - Privatni ključ je (//p, q//), a javni ključ je //n//. | ||
- | Algoritam za Rabinovo šifriranje otvorenog teksta javnim ključem glasi: | + | Algoritam za Rabinovo šifriranje otvorenog teksta javnim ključem glasi [4]: |
- Potrebno je dohvatiti javni ključ //n//. | - Potrebno je dohvatiti javni ključ //n//. | ||
Redak 111: | Redak 111: | ||
- Šifrat se pošalje primatelju. | - Šifrat se pošalje primatelju. | ||
- | Algoritam za Rabinovo dešifriranje šifrata privatnim ključem glasi: | + | Algoritam za Rabinovo dešifriranje šifrata privatnim ključem glasi [4]: |
- Potreban je privatni ključ (p, q). | - Potreban je privatni ključ (p, q). | ||
Redak 123: | Redak 123: | ||
- | === 6.3 ElGamalov kriptosustav | + | =====7. Napadi na kriptosustave s javnim ključem===== |
+ | Cilj protivnika u napadu na kriptosustave s javnim ključem je dešifriranje šifrata i dolazak do otvorenog teksta. Još jedan cilj koji je teško ostvariti je saznati privatni ključ. Ako protivnik dođe do privatnog ključa, on tada može dešifrirati sve poruke koje pošiljatelj šalje primatelju. [10] | ||
- | =====7. Napadi | + | Iako je RSA sustav siguran, postoje potencijalni napadi na njega. Sigurnost RSA sustava temelji se na činjenici da je teško faktorizirati velike brojeve, stoga će napadi biti fokusirani na faktorizaciju broja //n//. Uobičajene metode faktorizacije ne bi se mogle izvršiti u razumnom vremenu za dobar odabir dovoljno velikih //p// i //q//. Ipak postoje neki odabiri brojeva //p// i //q// koji olakšavaju faktorizaciju od //n// te zbog toga treba biti oprezan pri odabiru brojeva //p// i //q//. [10] |
+ | Jednostavan napad na RSA kriptosustav u kojem je svim korisnicima dodijeljen isti broj //n// objašnjava zašto to nije dobra praksa. Ako jedan korisnik uspije faktorizirati //n// i odrediti //p// i //q//, on zbog dostupnosti broja e može lako doći do broja //d// od svakog drugog korisnika i tako dešifrirati sve šifrate i doći do svih otvorenih tekstova. Isto tako neki protivnik koji nije korisnik sustava može doći do tajnog ključa jednog korisnika i pomoću njega doći do svih tajnih ključeva i tako dešifrirati sve šifrate i doći do svih otvorenih tekstova. [10] | ||
- | =====8. Demonstracija kriptosustava s javnim ključem===== | + | Forward napadi događaju se kada je prostor znakova za kreiranje poruke jako mali. Protivnik u tom slučaju može kreirati sve moguće poruke, šifrirati ih i onda na temelju toga može dešifrirati svaku poslanu poruku. [4] |
+ | Poznati napad na RSA kriptosustav naziva se Wienerov napad, a o njemu se može više pročitati u poglavlju 4.1 na poveznici [[http:// | ||
- | ===== 9. Zaključak ===== | + | Rabinov kriptosustav može biti napadnut sličnim napadima kao i RSA kriptosustav (npr. forward napadi). Više o napadima na Rabinov kriptosustav može se pročitati u poglavlju 6.2.1 na poveznici [[http:// |
+ | ===== 8. Zaključak ===== | ||
- | ===== 10. Literatura ===== | + | Potaknuta činjenicom |
+ | ===== 9. Literatura ===== | ||
[1] [[https:// | [1] [[https:// | ||
Redak 152: | Redak 157: | ||
[8] [[https:// | [8] [[https:// | ||
+ | |||
+ | [9] [[https:// | ||
+ | |||
+ | [10] [[http:// | ||
+ | |||