U kunt uzelf beschermen tegen identiteitsdiefstal door uw burgerservicenummer en andere gevoelige documenten te beschermen, regelmatig uw kredietrapporten te controleren, een tool voor dark web-monitoring te
Elliptische curve-cryptografie (ECC) is een vorm van openbare sleutelcryptografie die is gebaseerd op de wiskunde van elliptische curven. Het biedt een veilige manier om cryptografische bewerkingen uit te voeren, zoals sleuteluitwisseling, digitale handtekeningen en versleuteling. ECC is een alternatief voor Rivest-Shamir-Adleman- of RSA-versleuteling, die voor het eerst werd uitgebracht in 1977.
Lees verder voor meer informatie over cryptografie met elliptische curves en waarom het wordt beschouwd als de veiligste vorm van versleuteling.
Wat is het verschil tussen ECC en RSA?
Voordat we de verschillen tussen ECC en RSA bespreken, is het belangrijk om te begrijpen hoe cryptografische algoritmen met openbare sleutel werken. In hun meest basale vorm zijn robuuste cryptografische algoritmen ‘valluikfuncties’. Het is heel gemakkelijk om in een valluik terecht te komen, maar er weer uitkomen is heel moeilijk omdat een valluiken maar in één richting opengaan. Een cryptografisch algoritme moet dus effectief en veilig zijn. Het moet eenvoudig zijn om een bericht te versleutelen, maar bijna onmogelijk om te ontcijferen zonder de ontcijfersleutel.
Zowel ECC als RSA zijn versleutelingsalgoritmen met openbare sleutel die zeer geavanceerde wiskundige functies gebruiken. Versleuteling met openbare sleutel heeft twee componenten, een openbare sleutel en een privésleutel. De openbare sleutel versleutelt een bericht door een wiskundig algoritme toe te passen om het te transformeren in een zeer groot, willekeurig lijkend nummer. Het bericht kan alleen worden ontcijferd met de privésleutel, die het willekeurig lijkend nummer neemt en een ander algoritme toepast dat in wezen het origineel ‘ongedaan maakt’.
De wiskunde achter ECC en RSA is zo complex dat ze alleen met computers kunnen worden opgelost. De wiskunde achter het RSA-algoritme valt buiten het bestek van deze blog, maar de essentie is dat de veiligheid van RSA afhangt van de immense moeilijkheid om zeer grote getallen te ontbinden in hun samengestelde priemgetallen.
Voor degenen die een opfrisser nodig hebben, het ontbinden in factoren van een getal als 20 ziet er als volgt uit:
20 = 4 * 5 = 2 * 2 * 5 = 22 * 5
Ziet er eenvoudig uit, toch? Stel u nu voor dat u dat doet met een getal van meer dan 100 cijfers. Daarom is het, zelfs met een openbare sleutel, extreem rekenintensief om de privésleutel te berekenen zonder de priemfactoren te kennen.
Problemen met RSA-cryptografie
Hoewel het RSA-algoritme vrij robuust is, is het niet vrij van problemen.
Het ontbinden in factoren van zeer grote getallen is extreem moeilijk, maar minder moeilijk dan vroeger. Ontbinden in factoren is een kerncomponent van calculus en andere geavanceerde wiskunde, dus zijn wiskundigen al eeuwenlang bezig om een manier te vinden om dit eenvoudiger te maken. Er bestaan efficiënte algoritmen om grote getallen te ontbinden in factoren, zoals de algemene getallenlichamenzeef, die momenteel de bekendste methode is voor het ontbinden in factoren van grote getallen van meer dan 110 cijfers.
Ondertussen breidt de rekenkracht zich in een verbazingwekkend tempo uit. In 1965 voorspelde medeoprichter van Intel, Gordon Moore, dat het aantal transistoren op een microchip elk jaar of twee zou verdubbelen. Deze veronderstelling staat bekend als de wet van Moore en is sinds de jaren 1970 voldaan of overschreden. De rekenkracht verdubbelt ongeveer elke twee jaar en de prijs van het rekenvermogen gaat omlaag.
Aangezien de computermiddelen die nodig zijn om extreem grote getallen te factoriseren, gemakkelijker beschikbaar en betaalbaar worden voor een groot deel van het publiek (inclusief cybercriminelen), moet de grootte van RSA-sleutels toenemen om bij te blijven. Hierdoor heeft RSA vrij trage versleutelings- en ontsleutelingssnelheden, wat het ongeschikt maakt voor het versleutelen van grote berichten, vooral op mobiele apparaten. In plaats daarvan wordt RSA vaak gebruikt voor sleuteluitwisseling en digitale handtekeningen, waarbij de werkelijke gegevens worden versleuteld met symmetrische encryptiealgoritmen met kortere sessiesleutels.
Omgekeerd biedt elliptische curve-cryptografie aantoonbaar betere beveiliging met kortere sleutellengten, waardoor het efficiënter is wat betreft berekenings- en bandbreedtevereisten. We zullen in de volgende sectie onderzoeken hoe ECC werkt.
Hoe werkt elliptische curve-cryptografie?
ECC is gebaseerd op een ander gebied van geavanceerde wiskunde, genaamd elliptische curven. Een elliptische curve wordt gedefinieerd door een vergelijking in de vorm van y2 = x3 + ax + b, waarbij a en b constanten zijn en de curve over een eindig veld wordt gedefinieerd. Wanneer een grafiek wordt gemaakt, ziet het er als volgt uit:
Elliptische curven hebben enkele speciale eigenschappen die ze interessant en nuttig maken voor zowel wiskundigen als cryptografen. Ten eerste zijn elliptische curven horizontaal symmetrisch. Wanneer deze over de x-as (de horizontale lijn) worden gereflecteerd, zijn beide zijden hetzelfde, zoals een spiegelbeeld.
Bovendien snijdt elke niet-verticale rechte lijn die door een elliptische curve wordt getrokken, de curve altijd op hoogstens drie plaatsen. In het onderstaande voorbeeld worden die punten aangeduid als P, Q en R.
De beveiliging van elliptische curve-cryptografie is gebaseerd op de moeilijkheid om het discrete logaritmeprobleem van de elliptische curve op te lossen. Gegeven een punt P op de curve en een scalair k, is het buitengewoon moeilijk om het punt Q te definiëren, zodat Q = k*P – veel moeilijker dan het is om zelfs een zeer groot getal te factoriseren.
Deze eigenschap betekent dat ECC vergelijkbare of zelfs betere beveiliging kan bieden dan RSA met veel kleinere sleutelgrootten.
Voordelen van elliptische curve-cryptografie
Het feit dat ECC een zeer hoog beveiligingsniveau biedt met korte sleutellengten, geeft het voordelen ten opzichte van RSA en andere cryptografiealgoritmen met openbare sleutel.
Hier zijn twee voordelen van het gebruik van elliptische curve-cryptografie.
- ECC vereist minder computermiddelen en minder bandbreedte voor het genereren, versleutelen en ontcijferen van sleutels.
- Vanwege de kleinere sleutelgrootte van ECC kunnen ECC-bewerkingen, zoals het genereren, versleutelen en ontcijferen van sleutels, sneller worden uitgevoerd in vergelijking met RSA, wat minder latentie voor de eindgebruiker betekent.
Deze voordelen maken ECC bijzonder nuttig in omgevingen met beperkte middelen, zoals mobiele apparaten en apparaten voor het Internet of Things (IoT).
Hoe veilig is elliptische curve-cryptografie?
Hoewel het RSA-versleutelingsalgoritme extreem veilig is, is ECC misschien wel nog beter.
Quantumcomputers kunnen theoretisch de RSA breken door het factoreringsprobleem waarop RSA gebaseerd is, efficiënt op te lossen. Of dit op korte termijn zal gebeuren, is een groot punt van discussie. Het is echter veilig om te zeggen dat ECC door zijn complexiteit beter bestand is tegen aanvallen van kwantumcomputers dan RSA.
In hoeverre is het resistent? De Nederlandse wiskundige Arjen Lenstra schreef mee aan een onderzoeksartikel waarin het kraken van cryptografische algoritmen werd vergeleken met het koken van water. Het idee is om te berekenen hoeveel energie het vereist om een specifiek cryptografisch algoritme te kraken en vervolgens te berekenen hoeveel water die energie kan koken. Met deze metafoor kost het minder energie om een 228-bits RSA-sleutel te kraken dan om een theelepel water te koken, maar de energie die wordt gebruikt om een 228-bits ECC-sleutel te kraken, kan al het water op aarde koken. Hetzelfde beveiligingsniveau met RSA vereist een sleutelgrootte van 2380 bits.
Waarvoor elliptische curve-cryptografie wordt gebruikt
Zoals eerder vermeld, maakt de kleinere sleutelgrootte van ECC het perfect geschikt voor apparaten met lage CPU- en geheugenmiddelen, zoals mobiele en IoT-apparaten. Hierdoor kunnen ontwikkelaars van web- en mobiele apps websites en applicaties bouwen met hoge prestaties en lage latentie, terwijl ze hun gebruikers nog steeds robuuste gegevensbeveiliging bieden. ECC wordt vaak gebruikt om draadloze mobiele communicatieprotocollen zoals Bluetooth, wifi en Near Field Communication (NFC) te beveiligen.
Hier zijn enkele veelvoorkomende use cases voor ECC:
- Veilige communicatieprotocollen: ECC wordt gebruikt in verschillende veilige communicatieprotocollen om versleuteling, digitale handtekeningen en sleuteluitwisseling te bieden. Voorbeelden zijn Transport Layer Security (TLS) voor veilig surfen op het net, Secure Shell (SSH) voor veilig inloggen op afstand en Virtual Private Networks (VPN’s) voor veilige netwerkcommunicatie.
- Cryptovaluta en blockchaintechnologie: de meeste cryptovaluta, waaronder Bitcoin, Ethereum en Litecoin, gebruiken elliptische curve-cryptografie voor het genereren van openbare en privésleutelparen en voor het ondertekenen van transacties. ECC biedt de cryptografische beveiliging die nodig is voor het beveiligen van digitale activa en het waarborgen van de integriteit van blockchainnetwerken.
- Smartcards en ingebedde systemen: ECC wordt vaak gebruikt voor het beveiligen van betalingssystemen, toegangscontrolesystemen, elektronische paspoorten en andere applicaties die veilige en compacte cryptografische oplossingen vereisen.
- Digitale handtekeningen en certificaten: ECC kan worden gebruikt voor het genereren van digitale handtekeningen, die worden gebruikt voor het verifiëren van de authenticiteit en integriteit van digitale documenten en berichten. ECC-gebaseerde digitale handtekeningen worden ook gebruikt in openbare sleutelinfrastructuur (PKI) systemen om digitale certificaten uit te geven en te valideren.
Hoewel ECC vrij nieuw is in vergelijking met RSA, geniet het een brede standaardisatie en ondersteuning van particuliere organisaties en brancheorganisaties. Het Amerikaanse National Institute of Standards and Technology (NIST) heeft bijvoorbeeld de ECC in zijn reeks cryptografische algoritmen gestandaardiseerd. Bovendien wordt ECC ondersteund door populaire cryptografische bibliotheken, programmeertalen en besturingssystemen. Deze acceptatie bevordert de implementatie hiervan in verschillende sectoren, zoals financiën, gezondheidszorg en overheidsdiensten.
Gezien deze factoren is het veilig om te zeggen dat elliptische curve-cryptografie populair is en op grote schaal wordt gebruikt in verschillende applicaties en industrieën. De efficiëntie, beveiliging en brede ondersteuning hebben het een vertrouwde keuze voor veilige communicatie en cryptografische bewerkingen gemaakt.