Wat is Public Key Cryptography?

11.02.2019

Wat is Public Key Cryptography?

Wat is Public Key Cryptography?

Public key cryptography (PKC), of ook bekend als asymmetrische cryptografie, is een raamwerk dat zowel een public- als een private-key gebruikt, in tegenstelling tot een single key dat wordt gebruikt bij symmetrische cryptografie. Het gebruik van deze dubbele keys geeft PKC een aantal unieke karakteristieke eigenschappen die de problemen die horen bij de gebruikelijk cryptografische technieken kan oplossen. Deze vorm van cryptografie is een essentieel onderdeel in de hedendaagse computerbeveiliging alsmede een kritisch onderdeel van de groeiende cryptocurrency ecosystemen.


Hoe werkt Public Key Cryptography?

Bij een PKC-schema wordt de public key gebruikt, door de verzender, om informatie te encrypten, terwijl de private key door de ontvanger wordt gebruikt om het te decrypten. Omdat deze twee keys sterk verschillen kan de public key veilig worden gedeelt zonder dat de veiligheid van de private key in het geding komt. Elke set asymmetrische keys is uniek waardoor het bericht dat is geëncrypt door een public key alleen kan worden gelezen door de persoon die de corresponderende private key heeft.

Omdat asymmetrisch geëncrypte algoritmes een set keys genereren die wiskundig gelinkt zijn, is de lengte van de keys veel langer dan de keys bij symmetrische cryptografie. Door deze grotere lengtes, normaal tussen 1.024 en 2.048 bits, is het extreem lastig om een private key te berekenen uit zijn tegenhanger (public key). Een van de meest voorkomende algoritmes voor asymmetrische encryptie die momenteel gebruikt wordt, is beter bekend als RSA. In het RSA-schema worden keys gegenereerd met behulp van een modulus die wordt bereikt door twee getallen te vermenigvuldigen (meestal twee grote priemgetallen). Simpel gezegd genereert de modulus twee keys (één public key openbaar dat kan worden en één private-key die in het geheim moet worden bewaard). Het RSA-algoritme werd voor het eerst beschreven in 1977 door Rivest, Shamir en Adleman (vandaar RSA) en blijft een belangrijk component bij cryptografiesystemen met public keys.    


PKC als Encryption Tool

Public key cryptografie tackelt een van de problemen van symmetrische algoritmen, namelijk het communiceren van de key die wordt gebruikt voor encryptie en decryptie. Het verzenden van de key over een onbeveiligde verbinding draagt het risico met zich mee dat derden alle berichten kunnen lezen die zijn versleuteld met de beschikbaar gestelde key. Hoewel er cryptografische technieken bestaan (zoals het Diffie-Hellman-Merkle key exchange protocol) die dit probleem kunnen ondervangen, blijven ze alsnog kwetsbaar voor aanvallen. Bij public-key-cryptografie kan de key die wordt gebruikt voor encryptie veilig worden meegezonden. Hierdoor bieden asymmetrische algoritmes een hogere mate van bescherming in vergelijking met symmetrische algoritmes. .


Gebruik bij digitale ondertekening

Een andere toepassing van asymmetrische cryptografische algoritmes is het authenticeren van data door het gebruiken van digitale handtekeningen. Simpel gezegd is een digitale handtekening een hash die wordt gevormd uit de data in een bericht. Als een bericht is verzonden, dan kan de handtekening worden gecontroleerd door de ontvanger aan de hand van de public key van de verzender, als een manier om de bron te verifiëren en om zeker te zijn dat er niet mee geknoeit is. In sommige gevallen worden digitale handtekeningen en encryptie samen toegepast, wanneer een hash zelf is geëncrypt als onderdeel van het bericht. Wel belangrijk is te vermelden dat niet alle digitale ondertekening gebruik maakt van encryptie technieken.


Beperkingen

Hoewel het gebruikt kan worden om de beveiliging van de computer en de integriteit van een bericht te verifiëren, heeft PKC wel enkele beperkingen. Dankzij de complexe wiskundige activiteiten die bij encryptie komt kijken bij encryptie en decryptie, zijn asymmetrische algoritmes vrij traag als er veel data te verwerken is. Dit type cryptografie is tevens afhankelijk van het feit dat de private key geheim moet blijven. Als een private key per ongeluk wordt gedeelt of openbaar wordt gemaakt, dan worden alle berichten die versleuteld zijn met de bijbehorende public key ook openbaar. In sommige gevallen kan het ook voorkomen dat een private key kwijt raakt en in dat geval wordt het onmogelijk om nog bij de versleutelde data te kunnen.


Toepassingen van Public Key Cryptography

Dit type cryptografie wordt gebruikt bij veel moderne computersystemen om beveiliging te bieden voor gevoelige informatie. Bijvoorbeeld kunnen emails worden versleuteld met een public key techniek om de inhoud geheim te houden. De ‘secure sockets layer-protocol’ (SSL) die zorgt voor een beveiligde verbinding naar websites kunnen ook gebruik maken van asymmetrische cryptografie. PKC systemen worden ook onderzocht of deze toepasbaar zijn bij het op een veilige en verantwoorde wijze uitbrengen van elektronische stemmen, wat stemgerechtigden in staat stelt om vanuit huis deel te nemen aan verkiezingen.

PKC wordt ook veel gebruikt in blockchain en cryptocurrency technologie. Wanneer een nieuwe cryptocurrency-wallet wordt aangemaakt, wordt er een set nieuwe keys gemaakt (public en private). Het public address wordt gegenereerd met behulp van de public key en kan veilig worden gedeelt met anderen. De private key wordt gebruikt voor ondertekening en verificatie van transacties en moet daarom ten alle tijden geheim blijven. Zodra er een transactie is geverifieerd door goedkeuring van de hash die in de digitale handtekening zit, kan de transactie worden toegevoegd aan de blockchain. Dit systeem van van digitale ondertekening zorgt ervoor dat alleen de persoon die de private key heeft, die bij de cryptocurrency wallet hoort, tegoeden kan vrijgeven. Het is echter wel zo dat de asymmetrische ciphers van cryptocurrency anders zijn dan die worden gebruikt bij computerbeveiliging. Bitcoin en Ethereum gebruiken bijvoorbeeld een speciaal cipher dat bekend staat als Elliptic Curve Digital Signature Algorithm (ECDSA).

Van computerbeveiliging tot aan cryptocurrencytransacties, cryptografie speelt een belangrijke rol in het beveiligen van moderne digitale systemen. Door het gebruik van public en private keys worden belangrijke en fundamentele veiligheidsproblemen opgelost door de introductie van symmetrische ciphers. Hoewel PKC al een aantal jaar wordt toegepast, komen er steeds meer gebruikstoepassingen bij en met name in de blockchain en cryptocurrency omgeving.

Loading