Ideja kodiranja javnog ključa prvi put je uvedena na Sveučilištu Stanford 1976. godine od strane M. Hellmana, R. Mercklea i W. Diffieja.
Dvije vrste PKC algoritama su: RSA je kratica nazvana prema izumiteljima: Rivest, Shamir i Adelman i DSA (algoritam digitalnog potpisa). PKC enkripcija evoluirala je kako bi zadovoljila rastuće, sigurne komunikacijske potrebe mnogih sektora i industrija, posebno vojnih. Za razliku od kriptografije sa simetričnim ključem, šifriranje javnog ključa relativno je novi koncept.
Faze formiranja kriptosustava
Simetrična kriptografija jednako je prikladna za velike financijske korporacije koje koriste tajni prijenos informacija. Uz širenje nezaštićenih računalnih mreža u posljednjih nekoliko desetljeća, postojala je hitna potreba za korištenjem kriptografije u širem opsegu. Simetrični ključ bio je nepraktičan zbog problema s kojima se suočavao prilikom upravljanja sustavom. To je dovelo do šifriranja javnog ključa.
Faze procesa stvaranja:
1977. Izradio ju je RSA skupina programera R. Rivest, A. Shamir i L. Klyuchi. 1978. Macelis je nastao zbog problema s dekodiranjem Goppa kodova. 1979. Rabin je, na temelju problema faktoringa i pitanja vezanih za RSA, izašao. 1984. Izdao Chor-Rivest. 1985. Elgamal je izašao na diskretan logaritam.Ostala asimetričnakriptosustavi:
Eliptička metoda temeljena na eliptičkim krivuljama sličnim Elgamalu. Merkle /Hellman - Na temelju zadatka LUC ruksaka, kao što je RSA, on formira Lucas sekvencu. MNLN je ista kao i RSA.
Načelo enkripcije, prednosti i nedostaci
Da bi se razumjelo načelo asimetričnog šifriranja, uvijek se morate sjetiti da se ne bavite samo s jednim ključem, nego s dva. Šifriranje javnog ključa počinje objavljivanjem javnog ključa. Post se može napraviti, na primjer, preko poslužitelja, kao i putem pošte. Korisniku nije potrebno proslijediti ga na sigurnom putu, svatko može uzeti javni ključ. Često je čak poželjno da se distribuira globalno kako bi se osiguralo da nijedan drugi javni ključ nije krivotvoren.
Uz pomoć sustava za šifriranje javnog ključa svi mogu šifrirati podatke za vlasnika javnog ključa. Stoga se poruka dešifrira pomoću tajni ključ primatelja. Zato je toliko važno da ključ ostane tajna. Njegov posjednik može dešifrirati sve poruke šifrirane od drugih, njihov vlastiti javni ključ. Takvi se kriptosustavi koriste za šifriranje podataka javnih ključeva, autentičnosti i integriteta. Poznati primjeri koji se temelje na asimetričnim metodama su OpenPGP ili S /MIME, kao i kriptografski protokoli kao što su SSH, SSL /TLS pa čak i https na temelju asimetričnih kriptosustava. Prednosti:Relativno visoka sigurnost. Ne trebate toliko ključeva kao u simetričnom načinu šifriranja, takonajmanje truda za stvaranje tajnosti. Nema problema s prijenosom ključa. Sposobnost provjere autentičnosti pomoću digitalnih potpisa. Nedostaci sustava šifriranja javnog ključa su:
Algoritmi rade vrlo sporo: otprilike 10.000 puta sporiji od simetričnih. Velika potrebna duljina ključa. Problemi s višestrukim korisnicima kada poruku treba dodatno šifrirati. Hibridni postupci. Sigurnosni rizik dostupan je za svaki javni ključ, što je također i nedostatak sustava za šifriranje javnog ključa. Asimetrična kriptografija
PKC je također poznat kao šifriranje javnog ključa, asimetrično šifriranje, asimetrična kriptografija, asimetrična šifra, asimetrično šifriranje Diffie-Hellmanovih ključeva za šifriranje. PKC je kriptografski algoritam i komponenta kripto sustava implementirana raznim internetskim standardima, uključujući TLS, Pretty Good Privacy (PGP), GNU Privacy Guard (GPG), Secure Socket Layer (SSL) i Hypertext Transfer Protocol (HTTP) , PKC osigurava sigurnu vezu putem opasnog kanala koji omogućuje čitanje poruka samo od strane primatelja. Na primjer, A koristi otvoreni ključ B za šifriranje poruke koja se može dešifrirati pomoću jedinstvenog privatnog ključa B. PKC održava privatnost e-pošte i osigurava sigurnu komunikaciju kada su poruke u pokretu ili pohranjene na poslužiteljima e-pošte. PKC je također DSA komponenta,koja se koristi za provjeru autentičnosti tajnog ključa koji može provjeriti svaka osoba s legitimnim pristupom javnim ključevima. Stoga PKC olakšava povjerljivost, integritet podataka i provjeru autentičnosti koji čine ključne parametre informacija (IA).
PKC je sporije od kriptografskih metoda tajnog ključa (ili simetrične kriptografije) zbog visokih računskih zahtjeva. To je jasan nedostatak sustava za šifriranje otvorenog koda. Za razliku od simetrične kriptografije, PKC koristi fiksnu veličinu međuspremnika, ovisno o specifičnim i malim volumenima podataka koji se mogu šifrirati i ne vezati u niti. Budući da se koristi širok raspon mogućih ključeva za šifriranje, PKC je pouzdaniji i manje osjetljiv na pokušaje provale sigurnosti.
Metoda javnog ključa
Za šifriranje i dešifriranje koriste se različiti ključevi. Ovo je svojstvo koje postavlja shemu koja nije simetrično šifriranje. Svaki prijemnik ima jedinstveni ključ za dešifriranje, koji se obično naziva zatvorenim. Primatelj mora objaviti onaj koji se zove javni ključ metode šifriranja. U ovom je planu potrebno izvjesno povjerenje u njegovu autentičnost kako bi se izbjeglo zamjenjivanje napadača kao primatelja. Tipično, ovaj tip kripto-sustava uključuje pouzdanu treću stranu, koja ukazuje da određeni javni ključ pripada samo određenoj osobi ili objektu. RSA algoritam šifriranja javnog ključa je prilično kompliciran da spriječi napadača da prikaže otvorenitekst šifriranog teksta i ključ za šifriranje javnog ključa.
Generacija RSA para
Svaka osoba ili stranka koja želi sudjelovati u komunikaciji s kriptografijom generira više opcija odjednom, odnosno otvoreni i šifrirani ključ za šifriranje. Postupak opisan u nastavku:
Generiraj RSA (n) modul. Odabrana su dva osnovna broja p i q. Pronaći broj izvedenica e. Broj e mora biti veći od 1 i manji (p - 1) (q - 1). Za e i (p - 1) (q - 1) ne smije biti općeg faktora osim 1. Izvršite šifriranje pomoću javnog ključa. Par brojeva (n, e) čini RSA javni ključ. Iako je n dio otvorenog ključa, poteškoća faktorizacije takvog broja osigurava da napadač ne može pronaći u konačnom vremenu dva premijera (p & q) koja se koriste za dobivanje n. To razumijevanje je temelj JAR.
Stvaranje tajnog ključa je kako slijedi. Privatni ključ d izračunava se iz p, q i e. Za dane n i e postoji jedinstveni broj d. Broj d je inverzija e modulo (p - 1) (q - 1). To znači da je d broj manji od (p - 1) (q - 1), ali takav da kada je pomnožen s e to je 1 modulo (p - 1) (q - 1). Taj se omjer piše matematički kako slijedi: ed = 1 mod (p - 1) (q - 1). Napredni euklidski algoritam prihvaća p, q i e kao ulaz i daje d kao zaključak. U nastavku je primjer para RSA ključa. Radi lakšeg razumijevanja, jednostavni brojevi p & amp; q, uzeti ovdje, su male vrijednosti. U praksi bi te vrijednosti trebale biti vrlo značajne.
Algoritam kalkulacije:
Neka su dva jednostavna broja jednaka p = 7 q = 13.Dakle, modul n = pq = 7 x 13 = 91. Za ispravan izbor odaberite e = 5, budući da nema broja koji je čest faktor 5 i (p - 1) (q - 1) = 6 x 12 = 72 s izuzetkom 1. Par brojeva (n, e) = (91 5) tvori otvoreni ključ i može biti dostupan svima koji trebaju slati šifrirane poruke. Ulaz p = 7 q = 13 i e = 5. Izlaz će biti jednak d = 29. Uvjeriti se da je izračunati d točan - de = 29 x 5 = 145 = 1 mod 72. Dakle, javni ključ je (91 5) i privatni ključ (9129).
Šifriranje i dešifriranje
Nadalje, postupak enkripcije i dešifriranja je relativno jednostavan i lako izračunat. Zanimljivo je da RSA ne radi izravno s bitnim linijama, kao u slučaju simetrične metode. Radi s modulima n. Zbog toga je potrebno prikazati otvoreni tekst, kao niz brojeva, manji n. RSA enkripcija:Pretpostavimo da pošiljatelj želi poslati nekome SMS poruku, otvoreni ključ (n, e). Tada pošiljatelj predstavlja otvoreni tekst kao niz brojeva manjih od n. Šifrirati prvi otvoreni tekst P, koji je broj po modulu n. Proces šifriranja je jednostavan matematički korak, C = Pe mod n. Drugim riječima, šifrirani tekst C jednak je otvorenom tekstu P pomnožen s e puta, a zatim reduciran na modulo n. To znači da je C također manji od n. Vraćajući se na primjer generiranja open-source tipki, P = 10, dobivamo šifrirani tekst: C = 105 mod 91. RSA dešifriranje:RSA proces dešifriranja je također vrlo jednostavan. Pretpostavimo da primatelj para ključeva (n, e) ima tekst C. Prijemnik podiže vrijednost C za ključ d. Rezultat modula n bit ćeotvoreni tekst P: Plaintext = Cd mod n. Vrativši se opet na numerički primjer, šifrirani tekst C = 82 je dešifriran na 10 pomoću privatnog ključa 29: Plaintext = 8229 mod 91 = 10.
Sigurnost JAR ovisi o snagama dvije odvojene funkcije. RSA kripto sustav je najpopularniji kriptosustav javnog ključa, koji se temelji na praktičnoj složenosti faktorizacije velikih brojeva. Funkcija enkripcije smatra se jednosmjernom funkcijom pretvaranja otvorenog teksta u šifrirani tekst i može se poništiti samo pomoću tajnog ključa d. Složenost određivanja otvorenog i zatvorenog RSA enkripcijskog ključa ekvivalentna je faktorizaciji modula n. Dakle, napadač ne može koristiti znanje RSA javnog ključa kako bi odredio tajni RSA ključ, osim ako može odrediti n. To je također i jednosmjerna funkcija, prijelaz iz vrijednosti p & amp; q do modula n je lako, ali obrnuto nije moguće. Ako bilo koja od ove dvije funkcije nije jednostrana, RSA se krši. Zapravo, ako se tehnologija faktoringa učinkovito razvije, RSA više neće biti sigurna. RSA enkripcijska sila oštro pada protiv napada ako brojevi p i q nisu prosti brojevi, ili je odabrani javni ključ e mali broj.