/ / RSA šifravimas. RSA algoritmo aprašymas ir įgyvendinimas

RSA šifravimas. RSA algoritmo aprašymas ir įgyvendinimas

RSA šifravimas yra vienas iš pirmųjųpraktinės kriptografinės sistemos su viešuoju raktu, plačiai naudojamos saugiam duomenų perdavimui. Pagrindinis skirtumas nuo panašių paslaugų yra tas, kad šifravimo raktas yra atviras ir skiriasi nuo dekritavimo raktas, kuris yra slaptas. RSA technologijose ši asimetrija yra pagrįsta praktiniu sunkiu faktoringo dauginimo dviem dideliais paprastais skaičiais (faktoringo problema).

RSA šifravimas

Kūrimo istorija

Vardas RSA susideda iš pradinių pavardžių raidžiųRivest, Shamiras ir Adleman - mokslininkai, kurie pirmą kartą viešai aprašyti šiuos šifravimo algoritmai 1977. Clifford Cox anglų matematikas, kuris dirbo Britanijos žvalgybos tarnybų, pirmasis kurti lygiavertę sistemą, 1973 metais, tačiau jis nebuvo išslaptinti iki 1997

RSA naudotojas sukuria ir tada publikuojaviešasis raktas, pagrįstas dviem dideliais paprastais skaičiais ir papildoma verte. Paprasti numeriai turėtų būti laikomi slaptai. Kiekvienas gali naudoti viešąjį raktą užšifruoti pranešimą, bet jei jis yra pakankamai didelis, tik tada kažkas su žiniomis apie pirminių skaičių gali iššifruoti pranešimą. RSA šifravimo atskleidimas yra žinoma kaip pagrindinė problema šiandien yra atvira diskusija apie tai, kaip patikimą mechanizmą.

šifravimo algoritmai

RSA yra gana lėtas algoritmas,dėl šios priežasties ji nėra plačiai naudojama tiesiogiai užšifruoti vartotojo duomenis. Dažniausiai šis metodas naudojamas šifruotų bendrų raktų siuntimui simetriniam šifravimo raktui, kuris savo ruožtu gali atlikti masinio šifravimo ir iššifravimo operacijas daug didesniu greičiu.

Kada kripto sistema atsirado šiuolaikine forma?

Asimetriškos kripto-sistemos raktos idėjapriskirtas Diffie'ui ir Helmanui, kuris 1976 m. paskelbė koncepciją, pristatydamas skaitmeninius parašus ir bandydamas taikyti skaičių teoriją. Jų formuluotėje naudojamas bendras slaptasis raktas, sukurtas skaičiuojant skaičių moduliu pagrindiniu skaičiumi. Nepaisant to, jie paliko atvirą šios funkcijos įgyvendinimo problemą, nes faktoringo principai tuo metu nebuvo gerai suprasti.

Rivest, Adi Shamir ir Adleman MasačiusetsePer metus "Technologijos institutas" atliko kelis bandymus sukurti vienkryptę funkciją, kurią sunku iššifruoti. Rivestas ir Shamiras (kaip kompiuterių mokslininkai) pasiūlė daugybę galimų funkcijų, o Adlemanas (kaip matematikas) ieško algoritmo "silpnybių". Jie panaudojo daugybę požiūrių ir galiausiai 1977 m. Balandžio mėn. Sukūrė sistemą, kurią pagaliau žinoma kaip RSA.

informacijos šifravimas

EDS ir viešasis raktas

Elektroninis skaitmeninis parašas arba EDSyra neatskiriama elektroninio tipo dokumentų dalis. Jis susidaro su tam tikru kriptografiniu duomenų keitimu. Naudodami šį požymį galima patikrinti dokumento vientisumą, jo konfidencialumą, taip pat nustatyti, kam jis priklauso. Tiesą sakant, tai alternatyva įprastam standartiniam parašui.

Ši kripto sistema (RSA šifravimas) siūloviešasis raktas nei skiriasi nuo simetrinio. Jo veikimo principas yra tai, kad naudojami du skirtingi raktiniai žodžiai: uždaras (užšifruotas), taip pat atidarytas. Pirmasis naudojamas generuoti EDS, o vėliau - galimybė iššifruoti tekstą. Antrasis - už tinkamą EDS šifravimą ir patikrinimą.

Parašo naudojimas leidžia geriau suprasti RSA šifravimą, kurio pavyzdys gali būti paminėtas kaip įprastas slaptas dokumentas, uždarytas iš smalsių akių.

Kokia yra algoritmo esmė?

RSA algoritmas susideda iš keturių pakopų: raktų generavimas, jų platinimas, šifravimas ir iššifravimas. Kaip jau minėta, RSA šifravimas apima viešąjį raktą ir privatų raktą. Atidaryti gali būti žinoma visiems ir naudojama šifruojant pranešimus. Esmė yra tai, kad pranešimai, užšifruojami viešuoju raktu, gali būti iššifruoti tik tam tikru laikotarpiu naudojant asmeninį raktą.

rsa šifravimo pavyzdys

Saugumo sumetimais turi būti sveiki skaičiaiyra atsitiktinai parinkti ir yra vienodi vertės, tačiau jie skiriasi ilgiu keliais skaitmenimis, kad būtų sunkiau faktoringo. Tie patys numeriai gali būti efektyviai nustatyti naudojant jų paprastumo testą, todėl informacijos šifravimas būtinai turi tapti sudėtingesnis.

Viešąjį raktą sudaro modulis ir viešoji eksponentė. Uždarą sudaro modulis ir privatus rodiklis, kuris turi būti slaptas.

RSA failų šifravimas ir silpnosios vietos

Tačiau yra keletas įsilaužimo mechanizmųpaprastas RSA Kai šifruodami su mažais balais ir mažomis skaitinių verčių skaičiumi, šifrą galima lengvai atidaryti, jei pasirenkate šifro teksto šaknį per sveikus skaičius.

rsa šifravimas c

Kadangi RSA šifravimas yradeterministinis algoritmas (ty neturi atsitiktinis komponentas), užpuolikas gali sėkmingai pradėti pasirinktą teksto atvirosios kėsinantis kriptosistema šifravimo galimas plaintexts pagal viešojo rakto ir patikrinimus, ar jie yra lygūs ciphertext. Semantiškai saugus kriptosistema vadinama tuo atveju, jei užpuolikas negali atskirti dviejų šifravimo vienas nuo kito, netgi jei jis žino atitinkamus tekstus išplėstą forma. Kaip aprašyta pirmiau, RSA kitos paslaugos be kamšalu nėra semantiškai saugus.

Papildomi algoritmai šifravimo ir apsaugos

Siekiant išvengti pirmiau minėtų problemų, suPraktinis RSA įdiegimas paprastai įterpia tam tikrą struktūrizuotą atsitiktinių imčių formą prieš šifravimą. Tai užtikrina, kad turinys nepatenka į nesaugių paprastų tekstų asortimentą ir kad šis pranešimas negali būti atskleistas atsitiktine parinktimi.

rsa failo šifravimas

RSA kripto sistemos saugumas ir šifravimasinformacija remiasi dviem matematinių problemų: iš faktoringo daug ir faktinį RSA problemą problema. Visas atskleidimas ciphertext ir pasirašyti RSA laikomas nepriimtinu remiantis prielaida, kad tiek šių problemų negalima išspręsti kartu.

Tačiau dėl atstatymo galimybėspaprastas daugiklis, užpuolikas gali apskaičiuoti slaptą raktą iš viešojo rakto ir tada iššifruoti tekstą naudodamas standartinę procedūrą. Nepaisant to, kad šiandien nebuvo nustatyta daugelio klasikinio kompiuterio didelių skaičiavimo faktorių, nebuvo įrodyta, kad jo nėra.

Automatika

Tai gali būti įrankis, vadinamas Yafunaudojamas šio proceso optimizavimui. Automatika ir YAFU yra pažengęs funkcija, kuri sujungia Faktorizavimas algoritmus intelektinės ir adaptyviosios metodiką, kad kuo mažiau laiko rasti savavališkai įvesties skaičių veiksnius. Dauguma diegimas multiįvertas algoritmas leidžia YAFU visiškai išnaudoti multi-core procesorių ir daug (įskaitant SNFS, SIQS ir ECM). Visų pirma, tai yra komandinės eilutės įrankis. Laikas, kuriuo ieškoma šifravimo faktoriaus naudojant "Yafu" įprastu kompiuteriu, gali būti sumažintas iki 103,1746 sekundžių. Įrankis atlieka binarinių failų apdorojimą, kurio talpa yra 320 bitų ar daugiau. Tai labai sudėtinga programinė įranga, kuri reikalauja tam tikrų techninių įgūdžių įdiegti ir konfigūruoti. Taigi RSA šifravimas C gali būti pažeidžiamas.

rsa šifravimas ant pirštų

Mėginimai šluoti šiuolaikiniais laikais

2009 m., Benjamin Moody su bitų pagalbaPAR-512 raktų iššifravimo kriptoteksta dirbo 73 dienų, naudojant tik gerai žinomas programinės įrangos (GGNFS) ir vidutinį darbalaukį (dviejų Athlon64 1900 MHz). Kaip rodo patirtis, reikia šiek tiek mažiau nei 5 GB disko ir apie 2,5 GB atminties už procese "sijojimas."

Nuo 2010 m. Didžiausias factorizuotas RSA skaičius buvo 768 bitų ilgio (232 dešimtainiai skaitmenys arba RSA-768). Jo atskleidimas truko dvejus metus kelis šimtus kompiuterių vienu metu.

Tačiau praktikoje RSA raktų ilgis -paprastai nuo 1024 iki 4096 bitų. Kai kurie ekspertai mano, kad artimiausioje ateityje 1024 bitų raktų gali tapti nepatikimi arba netgi gali būti sugadintas gerai finansuojamas užpuolikas. Tačiau nedaugelis teigia, kad artimiausioje ateityje gali būti atskleisti ir 4096 bitų raktus.

Perspektyvos

Todėl, kaip taisyklė, daroma prielaida, kad RSAyra saugus, jei numeriai yra pakankamai dideli. Jei pagrindas skaičius 300 bitai arba trumpesni, o ciphertext skaitmeniniu parašu gali būti išskaidytas per kelias valandas nuo asmeninio kompiuterio naudojant programinę įrangą, turimą jau skelbiu viešo naudojimo. Raktai, kurių ilgis buvo 512 bitų, kaip buvo įrodyta, gali būti atidarytas 1999 m. Naudojant kelis šimtus kompiuterių. Šiandien tai įmanoma per kelias savaites naudojant viešąsias technines priemones. Taigi, tai yra įmanoma, kad buduschembudet lengvai atskleisti RSA užšifruoti ant pirštų, ir sistema taps beviltiškai pasenusi.

Oficialiai 2003 m. Buvo užginčytas 1024 bitų raktų saugumas. Šiuo metu rekomenduojama turėti mažiausiai 2048 bitų ilgį.

Skaityti daugiau: