Jämför ECDSA vs RSA

Beskrivning

På senare tid har det varit många diskussioner om för- och nackdelar med RSA[01]
och ECDSA[02], i kryptogemenskapen. För de oinvigde är de två av
de mest använda algoritmerna för digital signatur, men även för de mer tekniska
kunniga, det kan vara ganska svårt att hålla jämna steg med fakta. Den här artikeln är en
försöka en förenklad jämförelse av de två algoritmerna. Även om detta inte är det
en djupt teknisk uppsats, den mer otåliga läsaren kan kontrollera slutet på
artikel för en snabb TL; DR-tabell med sammanfattningen av diskussionen.

Behöver du ett certifikat? SSL.com har du täckt. Jämför alternativ här att hitta rätt val för dig, från S/MIME och kodsigneringscertifikat och mer.

BESTÄLL NU

ECDSA mot RSA

ECDSA och RSA är algoritmer som används av public key kryptografi[03] system,
att tillhandahålla en mekanism för autentisering. Offentlig nyckelkryptografi är
vetenskap för att designa kryptografiska system som använder nyckelpar: a allmän
nyckel
(därav namnet) som kan distribueras fritt till vem som helst, tillsammans med en
motsvarande privat nyckel, som endast är känt för sin ägare. autentisering
hänvisar till processen att verifiera att ett meddelande, undertecknat med en privat nyckel, var
skapad av innehavaren av en specifik privat nyckel. Algoritmer som används för
autentisering kallas kollektivt digitala signaturalgoritmer [04].

Sådana algoritmer förlitar sig på komplexa matematiska problem som är relativt enkla
att beräkna ett sätt, även om det är ganska opraktiskt att vända. Detta betyder att för
en angripare för att förfalska en digital signatur, utan någon kunskap om privatpersonen
nyckel, måste de lösa ofördelbara matematiska problem, till exempel heltal
faktorisering, för vilka det inte finns några kända effektiva lösningar [05].

På det kontot eftersom det inte finns några effektiva lösningar tillgängliga för
underliggande matematiska problem, utvärdering av kryptografiska algoritmer kan
inträffar endast med avseende på deras implementeringsdetaljer i samband med
den säkerhetsnivå de ger. För detta ändamål presenterar detta avsnitt en
jämförelse av RSA och ECDSA med användning av fem (eller sex) kvantifierande mätvärden. Varje metrisk
introduceras i sitt eget avsnitt, tillsammans med dess betydelse för alla som är det
försöker bestämma mellan de två algoritmerna.

Antagande

RSA har varit branschstandarden för offentlig nyckelkryptografi i många år
nu. Mest SSL /TLS certifikat undertecknades (och är fortfarande) med RSA-nycklar.
Även om de flesta CA har hittills implementerat stöd för ECDSA-baserat
certifikat har denna långlivade adoption endast lett till många gamla system
stödja RSA. Därför, om en leverantör kräver bakåtkompatibilitet med gamla
klientprogramvara tvingas de använda certifikat signerade med RSA. Nu för tiden,
De flesta moderna kunder har dock implementerat stöd för ECDSA, vilket kommer att göra det
tar förmodligen bort denna kompatibilitetsbegränsning inom en snar framtid.

Standard löptid

RSA standardiserades först för SSL /TLS 1994 [06], medan ECDSA infördes
i specifikationen för TLS v1.2 2008 [07]. Denna åldersskillnad indikerar a
skillnad i löptiden för de standarder som beskriver bästa praxis för
varje algoritm. Även om RSA-standarder har varit omfattande undersökta och
granskad har ECDSA inte sett så mycket uppmärksamhet. Nyligen förespråkar detta
algoritm av stora behöriga myndigheter och dess antagande i de flesta moderna SSL /TLS kunder har
resulterade i att mer omfattande forskning publicerades, men den är fortfarande en
relativt nytt system. Detta ger utrymme för oupptäckta designfel eller
felaktiga implementeringar avslöjas i framtiden.

Nyckelstorlek till säkerhetsnivå

Säkerhetsnivå [08] är en metrisk i kryptografi, med hänvisning till styrkan
av en kryptografisk primitiv eller funktion. Det mäts ofta i "bitar" som
anger antalet operationer en angripare behöver utföra för att kompromissa med dess
säkerhet. Denna metrisk kan tillhandahålla en kvantifieringsmetod för att jämföra effektiviteten
av olika kryptosystem. Det bör betonas att storleken på den offentliga nyckeln också är
uppmätt i bitar, men det är ett helt annat koncept, med hänvisning till
nyckelns fysiska storlek.

I detta avseende ger en gemensam RSA 2048-bitars offentlig nyckel en säkerhetsnivå på
112 bitar. ECDSA kräver emellertid endast offentliga nycklar med 224 bitar för att tillhandahålla
samma 112-bitars säkerhetsnivå. Denna slående skillnad i nyckelstorlek har två
betydande konsekvenser. Mindre tangentstorlekar kräver mindre bandbredd för att ställa in en
SSL /TLS ström, vilket innebär att ECDSA-certifikat är perfekta för mobila enheter
tillämpningar. Dessutom kan sådana certifikat lagras i enheter med mycket
mer begränsande minnesbegränsningar, ett faktum som tillåter m /TLS stackar att vara
implementeras i IoT-enheter utan att tilldela många resurser. Publicerad
forskning visar till och med att ECDSA är mer effektiv [09] att implementera i inbäddade
enheter.

Prestanda och tidskomplexitet

Algoritmer är abstrakta recept som beskriver en metod för att uppnå ett visst mål.
Inom datavetenskap mäts deras prestanda genom att räkna antalet
elementära operationer som är nödvändiga för att nå detta förutbestämda slut
tillstånd. En sådan metrisk kallas tidskomplexitet. Eftersom olika input
storlekar kräver olika antal operationer, tidskomplexitet är vanligtvis
uttryckt som en funktion av ingångsstorlek.

Båda algoritmerna i fråga utför ungefär samma tidskrävande
matematiska operationer, såsom uppdelningar och multiplikationer. Således ingångsstorlek
(som i detta fall är storleken på deras nycklar) förblir den viktigaste
faktor som påverkar deras prestanda. Jämförelse av de två algoritmerna måste vara
skiljde mellan att underteckna ett meddelande och verifiera en signatur. I de flesta
praktiska implementationer verkar RSA vara betydligt snabbare än ECDSA i
verifiera signaturer, även om det går långsammare under signeringen.

Saker blir komplicerade för högre säkerhetsnivåer. Till exempel i det mesta
gemensam konfiguration av en säkerhetsnivå på 112 bitar, RSA kräver 2048-bitars
kontra ECDSA som behöver 224-bitars nycklar. I nästa gemensamma nivå på 128 bitar, RSA
kräver en 3072-bitars nyckel, medan ECDSA bara 256 bitar. Detta resulterar i RSA
Prestandan minskar dramatiskt medan ECDSA bara påverkas något. Som
en följd av denna skalningsfråga, även om RSA verkar vara mer framträdande på
i det ögonblicket kan den ständiga ökningen av säkerhetskraven mycket väl göra
ECDSA är de facto-lösningen i framtiden.

Post-kvantmotstånd

Shors algoritm [10] är en välkänd algoritm för att bryta RSA-nycklar med
kvantdatorer. Eftersom det inte finns några (offentliga) praktiska implementeringar av a
en sådan maskin är följande ett antagande om framtiden för offentlig nyckel
kryptografi. För tillfället för detta skrivande, den bästa implementeringen av Shor's
algoritm kan besegra en 15-bitars nyckel RSA-kryptering. Även om detta inte låter
när allt mer forskning riktar sig till kvantberäkning, RSA
kan komma i allvarliga problem när som helst.

Förespråkare för ECDSA bör dock inte vara snabba att fira, eftersom elliptiska
kurva kryptografi är också sårbar [11] till en modifierad version av Shor's
algoritm. Följaktligen, om båda cheferna kan brytas av en kvantdator,
det enda måttvärde är komplexiteten som krävs för att genomföra en sådan
ge sig på. Enligt offentlig forskning kräver RSA 2048-bitars nycklar 4098 qubits
(och 5.2 biljoner Tofolli-grindar) som ska besegras, medan ECDSA 256-bitars nycklar
kräver endast 2330 qubits (och 126 miljarder Tofolli-grindar). Därför är RSA mer
dyrt att bryta med en teoretisk kvantmaskin.

Slutsats

Även om denna jämförelse inte alls är omfattande, är det uppenbart att
RSA har med rätta fått sin position som den ledande digitala signaturen
algoritm för de flesta certifikatapplikationer. Men eftersom tekniken alltid är det
framsteg på mer oförutsägbara sätt, säkerhetsmedvetenhet och behov är också
ökande. För lite mer än tio år sedan var inbäddad enhetssäkerhet
fiktion och numera är säker kommunikation ett måste för alla verkligheter
Ansökan. Som ett resultat, även om ECDSA är relativt ung, är det vem som helst
gissa om det kommer att ersätta RSA som standard för autentisering i SSL /TLS
implementeringar.

Om du, läsaren, fortfarande inte kan bestämma vilken algoritm du vill välja finns det
lösningar för att stödja både ECDSA och RSA (som en fallbackmekanism), fram till
kryptomiljö avgör en vinnare. Kontrollera detta artikelavsnitt för en framtid
hur man ska vägleda.

TL; DR-bord

metriska RSA ECDSA
Antagande ?  
Mognad ?  
Nyckelstorlek   ?
prestanda ?  
Förkalkning   ?
P / Q-motstånd ?  

Referensprojekt

Prenumerera på SSL.coms nyhetsbrev

Missa inte nya artiklar och uppdateringar från SSL.com

Håll dig informerad och säker

SSL.com är en global ledare inom cybersäkerhet, PKI och digitala certifikat. Registrera dig för att få de senaste branschnyheterna, tipsen och produktmeddelanden från SSL.com.

Vi vill gärna ha din feedback

Följ vår undersökning och låt oss veta vad du tycker om ditt senaste köp.