Šifriranje javnim ključem: Definicije, značajke i vrste algoritama

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.

    Kriptosustav ElGamal

    Uz RSA postoje i drugi kriptosustavi javnih ključeva. Mnogi od njih temelje se na različitim verzijama problema diskretnih logaritama. ElGamal kripto sustav, nazvan varijanta eliptičke krivulje, također se temelji na problemu diskretnog logaritma. Dobiva moć zaštitepretpostavka da se diskretni logaritmi ne mogu naći u praktičnom vremenskom intervalu za dani broj, dok se operacija obrnute snage može učinkovito izračunati. Na primjer, jednostavna verzija ElGamala koja radi s brojevima modulo p. U slučaju varijanti eliptičke krivulje, metoda se temelji na potpuno različitim sustavima izračuna. Svaki korisnik kripto sustava ElGamal generira par ključeva na sljedeći način:
  • Odabir velikog broja p. Obično se odabire jednostavan broj od 1024 do 2048 bita.
  • Izbor elementa generatora g. Taj broj bi trebao biti od 1 do p-1.
  • To je generator multiplikativne skupine cjelina po modulu p. To znači da za svaki cijeli broj m ko-premijera s p postoji cijeli broj k, gk = mod. Na primjer, 3 je generator grupe 5 (Z 5 = {123 4}).


  • N



    3 n



    3 n mod 5


    82) 1



    3



    3



    2

    )
    9



    4



    3



    27



    2







    81



    1
    128) Odabir tajnog ključa. Privatni ključ x je bilo koji broj veći od 1 i manji od (p-1). Izračunavanje dijela javnog ključa. Vrijednost y izračunava se pomoću parametara p, g i privatnog ključa x na sljedeći način: y = gx mod p. Dobivanje javnog ključa. Otvoreni ključ ElGamal sastoji se od tri parametra (p, g, y) Pretpostavimo, primjerice, da je p = 17 i g = 6. Možete tvrditi da je 6 generator grupe Z 17. Privatni ključ x može biti bilo koji broj veći od 1. i manje od 71 stoga odaberite x = 5. Tada se vrijednost y izračunava na sljedeći načinnačin: y = 65 mod 17 = 7. Dakle, privatni ključ je jednak 62, a javni ključ je (1767).

    ECC s eliptičkom krivuljom

    Eliptička krivulja kriptografije (ECC) je izraz koji se koristi za opis skupa kriptografskih alata i protokola čija se sigurnost temelji na posebnim verzijama problema diskretnih logaritama. Ne koristi brojeve po modulu p. ECC se temelji na skupovima brojeva koji se odnose na matematičke objekte koji se nazivaju eliptičke krivulje. Postoje pravila za dodavanje i izračunavanje višestrukih brojeva, kao i za brojeve po modulu p. ECC uključuje inačice mnogih kriptografskih shema koje su izvorno razvijene za modularne brojeve, kao što su ElGamal enkripcija, algoritmi šifriranja s javnim ključem i digitalni potpisi. Smatra se da je problem diskretnog logaritma mnogo složeniji u odnosu na točke eliptičke krivulje. To uzrokuje prijelaz iz brojeva po modulu "p" u točke eliptičke krivulje. Jednako tako, ekvivalentna razina sigurnosti može se dobiti s kraćim ključevima kada se koriste opcije eliptičnih krivulja. Kraći ključevi dovode do dvije prednosti šifriranja informacija javnog ključa:
  • Jednostavno upravljanje ključevima.
  • Učinkoviti izračun. Ove prednosti čine empirijske sheme enkripcije vrlo privlačnim za aplikacije s ograničenim računalnim resursima. Možete brzo usporediti RSA i ElGamal sklopove iz različitih aspekata.

    RSA



    ElGamal



    Učinkovitije za kodiranje.



    Učinkovitije zadešifriranje.



    Manje učinkovit za dekodiranje.



    Učinkovitije za dešifriranje.



    Za određenu razinu sigurnosti RSA zahtijeva dugačke ključeve.



    Za istu razinu sigurnosti potrebne su vrlo kratke tipke.



    Metoda je široko korištena.



    Nova metoda još uvijek nije vrlo popularna na tržištu.

    Secure Sockets Layer Protocol (SSL)

    Internetski promet koji prenosi informacije putem intermedijarnih računala može biti zaustavljen od treće strane:
  • Prisluškivanje. Informacije ostaju netaknute, ali povjerljivost je ugrožena. Na primjer, netko može prikupljati brojeve kreditnih kartica, snimati povjerljivi razgovor ili presresti osjetljive podatke.
  • Krivotvorenje. Informacije na cesti se mijenjaju ili zamjenjuju, a zatim šalju primatelju. Na primjer, netko može promijeniti redoslijed robe ili promijeniti životopis osobe.
  • Lažno predstavljanje. Informacije se šalju osobi koja zastupa primatelja.
  • Lažno predstavljanje može imati dva oblika:
  • Zamjena. Osoba se može pretvarati da je netko drugi.
  • Iskrivljenje. Osoba ili organizacija mogu se iskriviti. Na primjer, web-lokacija koju ste imenovali može se kvalificirati za online trgovinu namještajem kada primi plaćanja kreditnom karticom, ali nikad ne šalje nikakve stavke. Kriptografija javnog ključa pruža zaštitu od internetskih napada.

    Algoritam šifriranja i njegove sigurnosne prednosti

    Nije prikladno računati na privatni ključna temelju javnog ključa. Zbog toga se javni ključevi mogu slobodno koristiti, omogućujući jednostavno i praktično korištenje enkripcije sadržaja i provjere digitalnog potpisa, a tajni ključevi mogu se čuvati u tajnosti, osiguravajući da samo vlasnici privatnih ključeva mogu dešifrirati sadržaj i stvoriti digitalne potpise. Budući da javni ključevi trebaju biti odvojeni, ali preveliki da bi ih bilo lako zapamtiti, pohranjuju se u digitalne potvrde za siguran prijevoz i dijeljenje. Privatni ključevi se ne koriste zajedno, oni se jednostavno spremaju u softver ili operativni sustav koji se koristi, ili na hardver, na primjer, USB tokeni, hardver koji sadrži upravljačke programe koji dopuštaju da se koristi sa softverom ili operativnim sustavom. Digitalne potvrde izdaju organizacije poznate kao Certifikacijski centri (CA). Glavne poslovne aplikacije za kriptografiju s javnim ključem su:
  • Digitalni potpisi - sadržaj digitalnog potpisa s privatnim ključem provjerava javni ključ korisnika.
  • Šifriranje - sadržaj se šifrira pomoću javnog ključa i može se dešifrirati samo privatnim ključem korisnika. Pod pretpostavkom da privatni ključ nije ugrožen, enkripcija podataka i poruka pruža sljedeće prednosti sigurnosti:
  • Privatnost - budući da je sadržaj šifriran javnim ključem korisnika, može se dešifriratisamo uz pomoć privatnog ključa, osiguravajući da samo primatelj može dešifrirati i pregledati sadržaj.
  • Integritet - dio procesa dešifriranja uključuje provjeru da se sadržaj izvorne šifrirane poruke i nove dešifrirane podudarnosti, pa čak i najmanja promjena u izlazu dovodi do kvara procesa.
  • Infrastruktura otvorenog instrumenta

    ​​
    Infrastruktura javnih ključeva (PKI) je pozadinska kibernetička sigurnost i događaj koji se opisuje kao skup pravila, politika i postupaka potrebnih za stvaranje, upravljanje, distribuciju, korištenje, pohranu i opoziv digitalnih certifikata. PKI koji se temelji na asimetričnoj kriptografiji danas se široko koristi za pružanje elektroničkih komunikacija za online kupnju, internetsko bankarstvo i e-poštu, kao i za zaštitu komunikacija između milijuna korisnika i web-mjesta s kojima se povezuju prije korištenja HTTPS-a. Iako je lako šifrirati poruke bez PKI-a, korisnik ne može lako provjeriti s kim komunicira. Drugim riječima, PKI infrastruktura mu pomaže identificirati ili potvrditi osobu s kojom komunicira. Tipični PKI ekosustav uključuje sljedeće ključne komponente:
  • Politika certificiranja je sigurnosna specifikacija koja definira strukturu i hijerarhiju PKI ekosustava, kao i politike vezane uz upravljanje ključevima, sigurno pohranjivanje, obradu i otkazivanje.
  • Tijelo za izdavanje certifikata (CA) odgovorno je za provjeru autentičnosti identiteta usustava.
  • Središnji CA certifikat je ovjeren od strane korporativnog CA-a za specifične svrhe definirane politikom certifikata.
  • Digitalne potvrde obično izdaju i potpisuju centri za certificiranje.
  • Baza podataka certifikata pohranjuje njihove zapise.
  • Usluga otkazivanja je poslužitelj koji objavljuje revidirane CRL-ove ili OCSP (Online Certificate Status Protocol) koji koriste CRL i reagiraju na provjere opoziva za uređaje koji ne mogu sami obrađivati ​​CRL. Tako se asimetrični kriptosustavi koriste za enkripciju, autentifikaciju i integritet. Ako napadač nema ključ ključa za javni ključ, on nikada neće moći koristiti tajne podatke. Dobro poznati primjeri koji se temelje na asimetričnim metodama su OpenPGP ili S /MIME. No kriptografski protokoli kao što su SSH, SSL /TLS ili čak https temeljeni su na asimetričnim kriptosustavima.
  • Povezane publikacije