RSA šifravimas

RSA šifravimas , pilnai „Rivest-Shamir-Adleman“ šifravimas , tipas viešojo rakto kriptografija plačiai naudojamas duomenų šifravimui el ir kitos skaitmeninės operacijos internetu. RSA yra pavadinta dėl savo išradėjų Ronaldo L. Rivesto, Adi Shamiro ir Leonardo M. Adlemano, kurie jį sukūrė būdami Masačusetso technologijos instituto fakultete.

kiek taškų ant Davido žvaigždės

RSA sistemoje vartotojas slapta pasirenka pirminių skaičių porą p ir toks didelis, kad faktoringas produktas n = p žymiai viršija numatytas skaičiavimo galimybes per šifrų gyvavimo laiką. Nuo 2000 m. JAV vyriausybės saugumo standartai reikalauja, kad modulis būtų 1024 bitų dydžio, t. Y. p ir kiekvienas jų turi būti apie 155 skaitmenų po kablelio, taigi n yra maždaug 310 skaitmenų skaičius. Kadangi didžiausi kietieji skaičiai, kuriuos šiuo metu galima apskaičiuoti, yra tik pusė šio dydžio, o kadangi faktoringo sunkumai apytikriai padvigubėja kiekvienam papildomam moduliui pridedamam 3 skaitmeniui, manoma, kad 310 skaitmenų moduliai kelis dešimtmečius nėra saugūs.



Pasirinkęs p ir , vartotojas pasirenka savavališką sveikąjį skaičių yra mažiau nei n ir santykinai pagrindinis iki p - 1 ir - 1, tai yra, kad 1 yra vienintelis bendras veiksnys yra ir produktas ( p - 1) ( - 1). Tai užtikrina, kad yra ir kitas skaičius d kuriam produktas yra d paliks 1 likutį, padalijus iš mažiausiai bendro daugiklio p - 1 ir - 1. Turėdamas žinių p ir , skaičius d galima lengvai apskaičiuoti naudojant Euklido algoritmą. Jei kas nežino p ir , tiek pat sunku rasti yra arba d atsižvelgiant į faktorių n , kuris yra RSA kriptosaugos pagrindas algoritmas .



Etiketės d ir yra bus naudojamas funkcijai, į kurią įdėtas raktas, žymėti, tačiau kadangi raktai yra visiškai keičiami, tai yra tik patogumas ekspozicijai. Į įgyvendinti slaptumo kanalas, naudojant standartinę dviejų raktų RSA kriptosistemos versiją, vartotojas Į išleistų yra ir n autentiškame viešajame kataloge, bet saugokite d paslaptis. Kiekvienas, norintis išsiųsti asmeninę žinutę Į koduotų jį į mažesnius nei n ir tada užšifruokite jį naudodami specialią formulę, pagrįstą yra ir n . Į gali iššifruoti tokią žinutę remdamasis žinojimu d , tačiau prielaida ir įrodymai iki šiol yra tai, kad beveik visi šifrai niekas negali iššifruoti pranešimo, nebent jis taip pat gali n .

Panašiai, norint įdiegti autentifikavimo kanalą, Į išleistų d ir n ir laikyk yra paslaptis. Paprasčiausiai naudojant šį kanalą tapatybei tikrinti, B gali patikrinti, ar jis yra bendravimas su Į ieškodami kataloge, kad rastumėte Į Iššifravimo raktą d ir siunčiant jam pranešimą užšifruoti. Jei jis sugrįš šifrą, kuris iššifruoja jo iššūkio pranešimą naudodamas d norėdamas jį iššifruoti, jis žinos, kad jį greičiausiai sukūrė kažkas žinantis yra taigi ir kitas bendrininkas tikriausiai yra Į . Skaitmeninis pranešimo pasirašymas yra sudėtingesnė operacija, kuriai reikalinga kriptosaugos maišos funkcija. Tai yra viešai žinoma funkcija, susiejanti bet kurį pranešimą į mažesnį pranešimą, vadinamą santrauka, kuriame kiekvienas santraukos bitas priklauso nuo kiekvieno pranešimo bitų taip, kad pakeitus nors vieną pranešimo bitą, galima pakeisti , pusė kriptosaugos būdu suskaidytų bitų. Iki kriptosauga reiškia, kad niekam neįmanoma apskaičiuoti pranešimo, kuris sukurs iš anksto numatytą santrauką, ir lygiai taip pat sunku rasti kitą pranešimą su tokiu pačiu santrauka kaip ir žinomą. Norėdami pasirašyti pranešimą - kurio net nereikia laikyti paslaptyje - Į šifruoja santrauką su paslaptimi yra , kurį jis prideda prie pranešimo. Tada kiekvienas gali iššifruoti pranešimą naudodamas viešąjį raktą d susigrąžinti santrauką, kurią jis taip pat gali apskaičiuoti nepriklausomai nuo pranešimo. Jei abu sutinka, jis turi tai padaryti Į sukūrė šifrą, nes tik Į žinojau yra ir todėl galėjo šifruoti pranešimą.



Iki šiol visos siūlomos dviejų raktų kriptosistemos reikalauja labai didelės privatumo ar slaptumo kanalo atskyrimo nuo autentifikavimo ar parašo kanalo kainos. Labai padidėjęs skaičiavimo kiekis, susijęs su asimetriniu šifravimo / iššifravimo procesu, žymiai sumažina kanalo pajėgumą (bitai per sekundę perduodamos pranešimo informacijos). Maždaug 20 metų, norint palyginti saugių sistemų, vieno klavišo apkrova buvo įmanoma nuo 1 000 iki 10 000 kartų, palyginti su dviem klavišais. algoritmai . Todėl pagrindinis dviejų raktų kriptografijos pritaikymas yra hibridinėse sistemose. Tokioje sistemoje autentifikavimui ir skaitmeniniams parašams arba dviejų atsitiktinai sugeneruoto seanso rakto, naudojamo su vieno rakto algoritmu dideliu greičiu, pagrindiniam ryšiui pakeisti naudojamas dviejų klavišų algoritmas. Seanso pabaigoje šis raktas atmetamas.