Elliptische curve-cryptografie (ECC) gebruikt de wiskundige eigenschappen van elliptische krommen om cryptografische systemen met openbare sleutels te produceren. Zoals alle cryptografie met openbare sleutels is ECC gebaseerd op wiskundige functies die eenvoudig in één richting kunnen worden berekend, maar zeer moeilijk om te keren. In het geval van ECC ligt deze moeilijkheid in de onhaalbaarheid van het berekenen van de discrete logaritme van een willekeurig elliptisch kromme-element ten opzichte van een openbaar bekend basispunt, of het ‘elliptische kromme discrete logaritme probleem’ (ECDLP)1. De Elliptische kromme digitale handtekening algoritme (ECDSA) is een veelgebruikt ondertekeningsalgoritme voor cryptografie met openbare sleutels die ECC gebruikt.
Performance
Voor de meeste gebruikers is het belangrijke punt om te onthouden dat ECDSA, in vergelijking met het meer volwassen en algemeen gebruikte RSA-algoritme, een gelijkwaardige cryptografische sterkte biedt met veel kleinere sleutelgroottes. Hoewel symmetrische codering het meest performante schema is dat tegenwoordig wordt gebruikt, is een of andere vorm van asymmetrische codering nodig voor een veilige SSL /TLS handdruk. ECC-algoritmen bieden qua prestaties het meest asymmetrische equivalent van symmetrische codering. Zoals in de onderstaande tabel wordt weergegeven, nemen de ECDSA-sleutelgroottes lineair toe met symmetrische coderingssleutels van gelijke sterkte (als 2 × de symmetrische sleutelgrootte), terwijl RSA-sleutels snel veel groter worden:
Equivalente sleutelgrootte (bits) | ||
---|---|---|
Symmetrisch | ECDSA | RSA |
80 | 160 | 1024 |
112 | 224 | 2048 |
128 | 256 | 3072 |
192 | 384 | 7680 |
256 | 512 | 15360 |
Dankzij de kleinere sleutelgroottes van ECDSA kan een sterkere codering worden bereikt met minder rekenkracht en netwerkbandbreedte dan RSA; dit is vooral voordelig voor mobiele apparaten met een laag vermogen en IoT-apparaten (Internet of Things), die steeds alomtegenwoordiger worden.
ECDSA is goedgekeurd door het US National Institute of Standards and Technology (NIST) en is momenteel goedgekeurd door de US National Security Agency (NSA) voor de bescherming van uiterst geheime informatie met een sleutelgrootte van 384 bits (equivalent aan een 7680- bit RSA-sleutel).