Inhoudsopgave
les 7
Wat zijn de public en private keys?
Wat zijn public and private keys?

7 min leestijd

Bijgewerkt

Wat zijn de public en private keys?

Public en private keys worden gebruikt voor het versleutelen van data, ook wel cryptografie genoemd. Op deze manier wordt data beschermd tegen spelers die hier geen toegang tot mogen hebben. Het is alleen te lezen voor de personen met de juiste sleutels.

De eerste vorm van cryptografie werd 1900 v.Chr. al gebruikt door de Egyptenaren. In de jaren hierna werd cryptografie steeds vaker gebruikt en het was IBM die begin jaren ‘70 als eerste cryptografie voor computersystemen ging gebruiken. Dit was ook de geboorte van de public en private keys, die onder andere in de blockchain-technologie worden gebruikt.

Wat is cryptografie?

Cryptografie is het versleutelen van data waardoor het beveiligd is tegen invloeden van buitenaf. De uitkomst van cryptografische versleuteling heet de cijfertekst. Wanneer iemand een cijfertekst ziet, zijn er alleen cijfers en letters zichtbaar. 

Het versleutelen gebeurt met een zogeheten versleutelingsmechanisme. Dit mechanisme bepaalt de manier waarop data wordt omgezet naar een cijfertekst. Niemand weet hoe dit mechanisme werkt, waardoor het niet mogelijk is om cijfertekst terug te rekenen naar de originele inhoud.

Bij het versleutelen wordt er gebruikgemaakt van de public en private key. Dit zijn de sleutels waarmee data versleuteld kan worden, wat in vaktaal encrypten wordt genoemd. Deze sleutels worden ook gebruikt om data te decrypten. Dit betekent het zichtbaar maken van de data door gebruik van de juiste sleutels.

Verschillende algoritmes

Er zijn verschillende cryptografische algoritmes. Het ene algoritme is sterker dan het andere.Een systeem wordt veiliger wanneer het een sterk cryptografisch algoritme gebruikt.

In het verleden zijn er enkele algoritmes geweest die zijn gekraakt. Vanaf dat moment is het niet meer mogelijk om het betreffende algoritme op een veilige manier te gebruiken. Iedereen heeft immers de mogelijkheid om de cijfertekst terug te rekenen, waardoor de inhoud niet meer beschermd is.

Voorbeelden van het gebruik van public en private keys

Public en private keys worden als digitale handtekening gebruikt. In de meeste gevallen wordt gesproken over een digital signature. Deze handtekening zorgt ervoor dat alleen apparaten die hiertoe bevoegd zijn, toegang krijgen tot de data.

Voor een digital signature is er een public en private key nodig. Deze twee sleutels kunnen niet zonder elkaar werken.

Versleutelen van e-mails

Het is mogelijk om allerlei data met de public en private key te versleutelen. Eerst wordt er een sleutelpaar aangemaakt, dit kun je  met verschillende applicaties doen.

Stel dat Jarmo een e-mail opstelt en deze mail versleutelt met zijn eigen private key. Hij is de enige die dit kan doen, omdat de private key alleen bekend is bij Jarmo. Vervolgens stuurt Jarmo de e-mail naar Karin. Jarmo heeft ook de public key van Karin toegevoegd aan het bericht. Dit is mogelijk omdat de public key openbaar is.

Karin ontvangt de e-mail en kan verifiëren dat de e-mail Jarmo afkomt, omdat de public key van Jarmo is meegestuurd. Niemand anders kan de e-mail versleutelen met de public key van Jarmo, omdat er een private key nodig is om de versleuteling tot stand te brengen. Karin kan de e-mail lezen aangezien zij in bezit is van de juiste public en private keys.

WhatsApp-berichten

Zonder dat veel mensen het weten, zijn ze in het bezit van public en private keys. Dit gebeurt automatisch, waardoor het vaak niet eens wordt opgemerkt. Een bekend voorbeeld hiervan is WhatsApp, dat gebruikmaakt van end-to-end encryptie.

Wanneer een gebruiker zichzelf registreert bij WhatsApp, maakt de applicatie automatisch een public en private key aan. Hier hoeven gebruikers zelf niets voor te doen.

Ieder bericht dat via WhatsApp wordt verzonden, is ondertekend met een digitale handtekening. Dit zorgt ervoor dat anderen de berichten niet kunnen lezen. Denk bijvoorbeeld aan iemand die al het verkeer over een WiFi-netwerk in de gaten houdt. Hij zal dan wel zien dat er berichten vanuit WhatsApp worden verzonden, maar ziet niet de inhoud. Deze persoon is namelijk niet in het bezit van de juiste sleutelcombinatie. 

Alleen de ontvanger kan de berichten ontsleutelen. Op deze manier zijn de berichten die worden verzonden beschermd tegen invloeden van buitenaf.

Verzenden van een blockchain-transactie

Op dezelfde manier worden transacties over de blockchain verzonden. Door middel van de public en private key kunnen gebruikers verifiëren dat zij de eigenaar zijn van een bepaalde hoeveelheid cryptocurrency. Dit stelt ze in staat om cryptocurrency te kunnen verzenden.

Een gebruiker ondertekend zijn transactie met de public en private key, waarna de transactie over het blockchain-netwerk wordt verzonden. De nodes in het netwerk controleren vervolgens of de sleutels kloppen.

Het is niet mogelijk om de public key van iemand anders te kopiëren en zo de identiteit van iemand anders over te nemen. 

Private keys

Een private key is nodig om data te versleutelen en ontcijferen en bestaat uit een reeks van willekeurige cijfers en letters. Een private key is ook versleuteld, waardoor de code die zichtbaar is voor anderen in werkelijkheid niet de échte private key is. Die zit verstopt achter de versleuteling. Doordat er gebruik wordt gemaakt van een sterk algoritme, is het onmogelijk de private key te decrypten.

Met de private key kan data versleuteld worden. Omdat de private key is gekoppeld aan de public key, weet iedereen door wie de data is versleuteld. Daarom mag de private key niet gedeeld worden met anderen. Alleen de rechtmatige eigenaar zou in het bezit van de private key moeten zijn.

Wat als iemand mijn private key weet?

Het is belangrijk dat de private key alleen in bezit is van de eigenaar en dat verder niemand weet hoe deze key eruit ziet. Wanneer dat wel zol is, kan degene diede private key bezit, zich voordoen als iemand anders.

Het eigenaarschap van de cryptocurrency kan dan overgezet worden naar de persoon die onrechtmatig in bezit is van de private key. De rechtmatige eigenaar is dan zijn cryptocurrency’s kwijt.

Hoe ziet een private key eruit?

Iedere private key ziet er anders uit, afhankelijk van de cryptocurrency. Traditioneel gezien bestaat de private key uit 256 bits en 64 karakters. Een private key op de blockchain van Bitcoin zou er zo uit kunnen zien:

326f74d43327901eade7b3a74a6a90ed494937a04e07dc802cc8ee72e61d119c

Public keys

Een public key is bedoeld om uit te wisselen met anderen, zodat transacties kunnen worden verzonden en ontvangen.

De public key is afgeleid van de private key. Dit betekent dat de waarde van de private key bepaalt hoe de public key eruit ziet. Het is belangrijk om dit niet door elkaar te halen. Wanneer de private key afgeleid werd van de public key, zou iedereen de private key kunnen kraken.

Cryptocurrency’s maken gebruikt van een sterk algoritme dat de sleutels creëert. Het is hierdoor mogelijk om een public key af te leiden van een private key, maar niet andersom. Dit zorgt ervoor dat het sleutelpaar erg sterk is.

Wat is het verschil tussen een public key en wallet adres?

Een public key wordt vaak door elkaar gehaald met een wallet adres. Dit is dus niet hetzelfde. Het wallet adres is de verkorte versie van de public key. Met encryptie wordt de public key omgezet naar een wallet adres. Bij een transactie wordt het wallet adres gedeeld om hier cryptocurrency’s naartoe te versturen.

Op het moment dat de public key wordt ingevoerd als ontvangstadres, zullen de cryptocurrency’s niet aankomen bij de gewenste gebruiker. In plaats daarvan zullen ze voorgoed verloren gaan, omdat het eigenaarschap van de cryptocurrency’s in dat geval wordt gekoppeld aan een wallet adres dat niet bestaat. 

Het is niet mogelijk om via een omweg alsnog bij deze cryptocurrency’s te komen. Dit zorgt ervoor dat de blockchain een veilige technologie is, omdat het voor anderen onmogelijk is om bij jouw cryptocurrency’s te komen.

Cryptografie en de transparantie van blockchains

De blockchain is een transparante technologie waar iedereen kan zien welke transacties uitgevoerd worden. Tegelijkertijd worden alle transacties beveiligd met cryptografie. Zo kun je wel zien welke transacties zijn uitgevoerd, maar niet  de inhoud. Denk bijvoorbeeld aan extra gegevens van de verzender, zoals het IP-adres.

Het is wel mogelijk om de wallet adressen te zien waartussen de transactie is uitgevoerd, net zoals de waarde van de transactie. Zo kun je zien hoeveel cryptocurrency’s er tussen twee verschillende wallets zijn verzonden.

Het wallet adres is niet direct gekoppeld aan de persoonsgegevens van de gebruiker. De blockchain garandeert dus  de anonimiteit van de gebruiker.

Conclusie

Bij computersystemen is er een public en private key nodig om cryptografie toe te passen. De public key is de sleutel die publiekelijk bekend is, terwijl de private key alleen bekend is bij de rechtmatige eigenaar.

Een transactie op de blockchain wordt ondertekend met de private en public keys. Het is alleen mogelijk om een transactie van de public key te voorzien wanneer deze is versleuteld met de private key. Hierdoor kan een gebruiker zich niet zomaar voordoen als iemand anders. Dit zorgt ervoor dat cryptocurrency’s alleen uitgegeven worden door de rechtmatige eigenaar.

Om een transactie te versturen, is het wallet adres van de ontvanger nodig. Dat is niet hetzelfde als de public key van de ontvanger. Het wallet adres is met cryptografie gebaseerd op de public key. Cryptocurrency’s kunnen dus niet direct naar de public key verzonden worden. Ze zullen dan niet aankomen, maar gaan voorgoed verloren.