Sammenligning af ECDSA vs RSA

Introduktion

Den seneste tid har der været adskillige diskussioner om fordele og ulemper ved RSA[01]
og ECDSA[02], i kryptomiljøet. For de uindviede er de to af
de mest anvendte algoritmer til digital signatur, men endda for de mere tekniske
kyndige, det kan være ret vanskeligt at følge med på fakta. Denne artikel er en
forsøg på at forenkle sammenligningen af ​​de to algoritmer. Skønt det ikke er tilfældet
et dybt teknisk essay, den mere utålmodige læser kan kontrollere slutningen af
artikel til en hurtig TL; DR-tabel med resumé af diskussionen.

Brug for et certifikat? SSL.com har dig dækket. Sammenlign muligheder her at finde det rigtige valg til dig fra S/MIME og kodesigneringscertifikater og mere.

BESTIL NU

ECDSA vs RSA

ECDSA og RSA er algoritmer, der bruges af public key kryptografi[03] systemer,
at tilvejebringe en mekanisme for autentificering. Offentlig nøglekryptografi er
videnskab om at designe kryptografiske systemer, der anvender par nøgler: a offentlige
nøgle
(deraf navnet), der kan distribueres frit til enhver sammen med en
svarende privat nøgle, som kun er kendt af dens ejer. Godkendelse
henviser til processen med at bekræfte, at en besked, underskrevet med en privat nøgle, var
oprettet af indehaveren af ​​en bestemt privat nøgle. Algoritmer brugt til
godkendelse er samlet kendt som algoritmer til digital signatur [04].

Sådanne algoritmer er afhængige af komplekse matematiske problemer, der er relativt enkle
at beregne en måde, selvom det er ganske upraktisk at vende tilbage. Dette betyder, at for
en angriber til at forfalske en digital signatur uden nogen viden om den private
nøgle, skal de løse ufravigelige matematiske problemer, såsom heltal
faktorisering, hvor der ikke er kendte effektive løsninger [05].

På den konto, da der ikke er effektive løsninger til rådighed for
underliggende matematiske problemer, evaluering af kryptografiske algoritmer kan
forekommer kun med hensyn til deres implementeringsdetaljer i forbindelse med
det sikkerhedsniveau, de leverer. Til dette formål præsenterer dette afsnit en
sammenligning af RSA og ECDSA ved anvendelse af fem (eller seks) kvantificerende målinger. Hver beregning
introduceres i sin egen sektion sammen med dens betydning for enhver der er
forsøger at bestemme mellem de to algoritmer.

Vedtagelse

RSA har været branchestandarden for offentlig nøglekryptografi i mange år
nu. Mest SSL /TLS certifikater blev (og stadig er) underskrevet med RSA nøgler.
Selvom de fleste CA'er på nuværende tidspunkt har implementeret support til ECDSA-baseret
certifikater, denne langvarige vedtagelse har kun ført til mange arveanlæg
støtte RSA. Derfor, hvis en leverandør kræver bagudkompatibilitet med gamle
klient software, bliver de tvunget til at bruge certifikater underskrevet med RSA. I dag,
dog har de fleste moderne klienter implementeret support til ECDSA, som vil
fjerner sandsynligvis denne kompatibilitetsbegrænsning i den nærmeste fremtid.

Standard løbetid

RSA blev først standardiseret til SSL /TLS i 1994 [06], mens ECDSA blev indført
i specifikationen af TLS v1.2 i 2008 [07]. Denne aldersforskel indikerer a
forskel i modenheden af ​​standarderne, der beskriver den bedste praksis for
hver algoritme. Skønt RSA-standarder er blevet grundigt undersøgt og
revideret, har ECDSA ikke set så meget opmærksomhed. For nylig, talsmand for dette
algoritme af større CA'er og dens anvendelse i de fleste moderne SSL /TLS klienter har
resulterede i, at der blev offentliggjort mere omfattende forskning, men det er stadig et
relativt ny ordning. Dette giver plads til uopdagede designfejl eller
forkerte implementeringer afsløres i fremtiden.

Nøglestørrelse til sikkerhedsniveau-forhold

Sikkerhedsniveau [08] er en metrik i kryptografi, der henviser til styrken
af en kryptografisk primitiv eller funktion. Det måles ofte i "bits" det
angiver antallet af operationer, som en angriber skal udføre for at kompromittere dens
sikkerhed. Denne beregning kan tilvejebringe en kvantificeringsmetode til sammenligning af effektiviteten
af forskellige kryptosystemer. Det skal understreges, at offentlig nøglestørrelse også er
målt i bits, men det er et helt andet koncept, der henviser til
nøglens fysiske størrelse.

I denne forbindelse giver en fælles RSA 2048-bit offentlig nøgle et sikkerhedsniveau på
112 bit. ECDSA kræver dog kun offentlige nøgler i 224-bit for at give
samme 112-bit sikkerhedsniveau. Denne markante forskel i nøglestørrelse har to
betydelige konsekvenser. Mindre nøglestørrelser kræver mindre båndbredde for at konfigurere en
SSL /TLS stream, hvilket betyder, at ECDSA-certifikater er ideelle til mobil
applikationer. Desuden kan sådanne certifikater gemmes på enheder med meget
mere begrænsende hukommelsesbegrænsninger, et faktum, der tillader m /TLS stakke at være
implementeret i IoT-enheder uden at afsætte mange ressourcer. Udgivet
forskning, viser endda, at ECDSA er mere effektiv [09] til implementering i indlejret
enheder.

Ydeevne og tidskompleksitet

Algoritmer er abstrakte opskrifter, der beskriver en metode til at nå et bestemt mål.
I datalogi måles deres ydeevne ved at tælle antallet af
elementære operationer, der er nødvendige for at nå denne forudbestemte afslutning
tilstand. En sådan metrik kaldes tidskompleksitet. Da forskellige input
størrelser kræver forskellige antal operationer, tidskompleksitet er normalt
udtrykt som en funktion af inputstørrelsen.

Begge de pågældende algoritmer fungerer omtrent det samme tidskrævende
matematiske operationer, såsom opdelinger og multiplikationer. Således input størrelse
(som i dette tilfælde er størrelsen på deres nøgler) forbliver den mest markante
faktor, der påvirker deres præstationer. Sammenligning af de to algoritmer skal være
skelnes mellem at underskrive en meddelelse og verificere en signatur. I de fleste
praktiske implementeringer, RSA synes at være betydeligt hurtigere end ECDSA i
verificering af underskrifter, skønt det er langsommere, mens du underskriver.

Ting bliver kompliceret for højere sikkerhedsniveauer. For eksempel i det meste
fælles konfiguration af et sikkerhedsniveau på 112 bit, RSA kræver 2048-bit
versus ECDSA, der har brug for 224-bit nøgler. I det næste fælles niveau på 128 bit, RSA
kræver en 3072-bit nøgle, mens ECDSA kun 256 bit. Dette resulterer i RSA'er
ydeevnen falder dramatisk, hvorimod ECDSA kun er lidt påvirket. Som
en konsekvens af dette skaleringsspørgsmål, selvom RSA forekommer mere præstant ved
øjeblikket kunne den fortsatte stigning i sikkerhedskrav meget godt give
ECDSA de-facto-løsningen i fremtiden.

Post-kvantemodstand

Shor's algoritme [10] er en velkendt algoritme til brud på RSA-nøgler ved hjælp af
kvantecomputere. Da der ikke er nogen (offentlige) praktiske implementeringer af a
en sådan maskine er følgende en formodning om fremtiden for offentlig nøgle
kryptografi. I øjeblikket af denne skrivning, den bedste implementering af Shor's
algoritme kan besejre en 15-bit nøgle RSA-kryptering. Selvom dette ikke lyder
vedrørende mere og mere forskning er rettet mod kvanteberegning, RSA
kunne være i alvorlige problemer når som helst.

Advokater for ECDSA bør dog ikke være hurtige til at fejre, fordi elliptisk
kurve kryptografi er også sårbar [11] til en modificeret version af Shor's
algoritme. Hvis begge cifre derfor kan brydes af en kvantecomputer,
den eneste objektive metrik er kompleksiteten, der kræves for at implementere en sådan
angreb. I henhold til offentlig forskning kræver RSA 2048-bit nøgler 4098 qubits
(og 5.2 billioner Tofolli-porte), der skal besejres, hvorimod ECDSA 256-bit nøgler
kræver kun 2330 qubits (og 126 milliarder Tofolli-porte). Derfor er RSA mere
dyre at bryde ved hjælp af en teoretisk kvantemaskine.

Konklusion

Selvom denne sammenligning på ingen måde er omfattende, er det klart
RSA har med rette fået sin position som den førende digitale signatur
algoritme til de fleste certificeringsapplikationer. Men da teknologi altid er
fremme på mere uforudsigelige måder, sikkerhedsbevidsthed og behov er også
stigende. For lidt mere end ti år siden var det integreret enhedssikkerhed
fiktion og i dag er sikker kommunikation et must-have for enhver reel verden
Ansøgning. Som et resultat, selvom ECDSA er relativt ung, er det andres
gæt om det vil erstatte RSA som standard for godkendelse i SSL /TLS
implementeringer.

Hvis du, læseren, stadig ikke kan beslutte, hvilken algoritme du skal vælge, er der
løsninger til støtte af både ECDSA og RSA (som en tilbagefaldsmekanisme) indtil
kryptomiljøet vælger en vinder. Tjek dette artikelsektion for en fremtid
hvordan man guider.

TL; DR-bord

metrisk RSA ECDSA
Vedtagelse ?  
Modenhed ?  
Nøglestørrelse   ?
Performance (Præstation) ?  
Skalering   ?
P / Q-modstand ?  

Referencer

Abonner på SSL.coms nyhedsbrev

Gå ikke glip af nye artikler og opdateringer fra SSL.com

Hold dig informeret og sikker

SSL.com er en global leder inden for cybersikkerhed, PKI og digitale certifikater. Tilmeld dig for at modtage de seneste industrinyheder, tips og produktmeddelelser fra SSL.com.

Vi vil meget gerne have din feedback

Tag vores undersøgelse og fortæl os dine tanker om dit seneste køb.