Cover
Comença ara de franc public key crypto.pdf
Summary
# Misvattingen over encryptie met publieke sleutels
Dit gedeelte ontkracht veelvoorkomende onjuiste aannames over de beveiliging, toepasbaarheid en sleuteldistributie van publieke sleutel encryptie [1](#page=1).
### 1.1 Veiligheid van publieke sleutel encryptie versus symmetrische encryptie
Een wijdverbreide misvatting is dat publieke sleutel encryptie inherent veiliger is tegen cryptanalyse dan symmetrische encryptie. De werkelijkheid is dat de veiligheid van elk encryptieschema hoofdzakelijk afhangt van twee factoren: de lengte van de sleutel en de rekenkundige inspanning die nodig is om de cipher te breken. Er is fundamenteel geen principe dat één type encryptie (symmetrisch of publieke sleutel) superieur maakt aan het ander wat betreft weerstand tegen cryptanalyse [1](#page=1).
> **Tip:** De effectiviteit van encryptie is direct gerelateerd aan sleutellengte en rekenkracht, niet aan het type sleutel (symmetrisch of asymmetrisch).
### 1.2 Publieke sleutel encryptie als vervanging voor symmetrische encryptie
Een tweede misvatting is dat publieke sleutel encryptie een universeel toepasbare technologie is die symmetrische encryptie overbodig heeft gemaakt. In tegendeel, de huidige publieke sleutel encryptieschema's brengen aanzienlijke rekenkundige overhead met zich mee. Hierdoor is er geen vooruitzicht dat symmetrische encryptie op korte termijn zal verdwijnen. Een van de grondleggers van publieke sleutel encryptie heeft aangegeven dat het gebruik van publieke sleutel cryptografie beperkt blijft tot sleutelbeheer en digitale handtekeningen, wat breed geaccepteerd is [1](#page=1).
> **Voorbeeld:** Symmetrische encryptie wordt nog steeds veelvuldig gebruikt voor het versleutelen van grote hoeveelheden data (bv. bestanden, databases) vanwege de snelheid, terwijl publieke sleutel encryptie efficiënter is voor het veilig uitwisselen van de symmetrische sleutel die hiervoor nodig is.
### 1.3 Eenvoud van sleuteldistributie bij publieke sleutel encryptie
Een derde misvatting betreft de vermeende eenvoud van sleuteldistributie bij het gebruik van publieke sleutel encryptie, in vergelijking met de omslachtige procedures van sleuteluitwisselingscentra (Key Distribution Centers - KDC) die nodig zijn voor symmetrische encryptie. De realiteit is dat ook bij publieke sleutel encryptie een vorm van protocol nodig is, vaak met de betrokkenheid van een centrale agent. De procedures die hierbij komen kijken, zijn niet eenvoudiger of efficiënter dan de methoden voor symmetrische encryptie [1](#page=1).
> **Tip:** Zowel symmetrische als publieke sleutel cryptografie vereisen zorgvuldige protocollen voor sleutelbeheer en -distributie om effectief te zijn.
---
# Ontwikkeling en kernconcepten van publieke sleutel cryptografie
Publieke sleutel cryptografie is ontstaan uit de noodzaak om de fundamentele problemen van sleuteldistributie en digitale handtekeningen op te lossen binnen traditionele (symmetrische) encryptiesystemen [3](#page=3).
### 2.1 Problemen met symmetrische encryptie
Symmetrische encryptie, waarbij dezelfde sleutel wordt gebruikt voor zowel encryptie als decryptie, kampt met twee grote uitdagingen:
* **Sleuteldistributie:** Het veilig distribueren van de geheime sleutel tussen communicerende partijen is een significant probleem. Dit vereist ofwel dat partijen al een gedeelde sleutel hebben die op een veilige manier is overgedragen, ofwel het gebruik van een Key Distribution Center (KDC). Het laatste ondermijnt echter het principe van totale geheimhouding, omdat de KDC een potentieel zwakke schakel is die gecompromitteerd kan worden [3](#page=3).
* **Digitale handtekeningen:** De behoefte aan een methode om de authenticiteit en integriteit van digitale berichten te waarborgen, vergelijkbaar met handtekeningen op papieren documenten. Dit omvat het bewijzen dat een bericht afkomstig is van de geclaimde afzender en dat het niet tussentijds is gewijzigd [3](#page=3).
### 2.2 De doorbraak van publieke sleutel cryptografie
In 1976 ontwikkelden Whitfield Diffie en Martin Hellman een revolutionaire methode die zowel sleuteldistributie als digitale handtekeningen adresseerde, en radicaal verschilde van eerdere cryptografische benaderingen [4](#page=4).
#### 2.2.1 Kenmerken van asymmetrische algoritmen
Asymmetrische algoritmen, ook wel publieke sleutel cryptografie genoemd, maken gebruik van twee gerelateerde sleutels: een publieke sleutel voor encryptie en een private sleutel voor decryptie (of andersom). De belangrijkste kenmerken zijn [4](#page=4):
* **Computationele onhaalbaarheid voor de aanvaller:**
* Het is computationeel zeer moeilijk om de private sleutel te achterhalen wanneer men de publieke sleutel kent [4](#page=4).
* Het is computationeel zeer moeilijk om het originele bericht te reconstrueren uit de cijfertekst, zelfs met kennis van de publieke sleutel [4](#page=4).
* **Eenvoudige sleutelgeneratie:** Het is computationeel eenvoudig voor een partij om een paar van publieke en private sleutels te genereren [4](#page=4).
* **Wisselwerking tussen sleutels (sommige algoritmen):** Bij bepaalde algoritmen, zoals RSA, kan een van de sleutels worden gebruikt voor encryptie en de andere voor decryptie [4](#page=4).
#### 2.2.2 Ingrediënten van een publieke sleutel encryptiesysteem
Een publieke sleutel encryptiesysteem bestaat uit de volgende zes elementen [4](#page=4):
1. **Plaintext:** De leesbare oorspronkelijke boodschap of data.
2. **Encryptiealgoritme:** Het algoritme dat transformaties toepast op de plaintext.
3. **Publieke en private sleutels:** Een paar sleutels dat zodanig is geselecteerd dat de ene voor encryptie en de andere voor decryptie wordt gebruikt. De precieze transformaties zijn afhankelijk van welke sleutel als input wordt gebruikt [4](#page=4).
4. **Ciphertext:** De versleutelde, onleesbare output die afhankelijk is van de plaintext en de gebruikte sleutel. Verschillende sleutels produceren verschillende ciphertexts voor dezelfde plaintext [4](#page=4).
5. **Decryptiealgoritme:** Het algoritme dat de ciphertext en de bijpassende sleutel accepteert om de oorspronkelijke plaintext te reconstrueren [4](#page=4).
### 2.3 De werking van publieke sleutel cryptografie
De fundamentele stappen in een publieke sleutel cryptosysteem zijn [5](#page=5):
1. **Sleutelgeneratie:** Elke gebruiker genereert een paar van sleutels (publiek en privé).
2. **Sleutelpublicatie:** Elke gebruiker plaatst zijn publieke sleutel in een publiek register of toegankelijk bestand. De bijbehorende private sleutel wordt geheim gehouden. Gebruikers verzamelen de publieke sleutels van anderen [5](#page=5).
3. **Vertrouwelijke communicatie (geheimhouding):**
* Om een vertrouwelijke boodschap naar Alice te sturen, versleutelt Bob de boodschap met Alice's publieke sleutel [5](#page=5).
* Alice decrypt de boodschap met haar eigen private sleutel. Alleen Alice kan de boodschap ontcijferen, aangezien zij de enige is die haar private sleutel bezit [5](#page=5).
4. **Authenticatie (digitale handtekening):**
* Om te bewijzen dat hij de afzender is, versleutelt Bob de boodschap met zijn *eigen* private sleutel [5](#page=5).
* Iedereen, inclusief Alice, kan vervolgens de boodschap ontsleutelen met Bob's publieke sleutel. Als de ontsleuteling slaagt, is bewezen dat Bob de afzender is [5](#page=5).
Met deze methode zijn private sleutels nooit nodig om te distribueren, wat de veiligheid vergroot, zolang de private sleutel geheim blijft [5](#page=5).
> **Tip:** Publieke sleutel cryptografie dient twee hoofddoelen: geheimhouding (confidentialiteit) en authenticatie [5](#page=5).
#### 2.3.1 Geheimhouding (confidentialiteit)
Wanneer bron A een bericht X naar bestemming B wil sturen en geheimhouding wenst, genereert B een sleutelpaar (PUb, PRb), waarbij PRb geheim is en PUb publiek. A versleutelt het bericht X met Alice's publieke sleutel PUb, resulterend in ciphertext Y: $Y = E(PU_b, X)$. Alleen B kan Y ontcijferen met zijn private sleutel PRb, omdat hij de enige is die deze bezit: $X = D(PR_b, Y)$ [5](#page=5).
#### 2.3.2 Authenticatie (digitale handtekening)
Voor authenticatie bereidt A een bericht X voor en versleutelt dit met zijn *eigen* private sleutel PRa, wat resulteert in ciphertext Y: $Y = E(PR_a, X)$. B kan deze ciphertext vervolgens ontsleutelen met A's publieke sleutel PUa: $X = D(PU_a, Y)$. Omdat alleen A zijn private sleutel bezit, garandeert deze bewerking dat het bericht van A afkomstig is. Bovendien is het onmogelijk om het bericht te wijzigen zonder toegang tot A's private sleutel, wat zorgt voor data-integriteit [6](#page=6).
> **Belangrijk:** De authenticatiemethode via versleuteling met de private sleutel biedt *geen* geheimhouding. Het bericht is weliswaar authentiek, maar kan door iedereen met de publieke sleutel van de afzender worden gelezen [6](#page=6).
#### 2.3.3 Combinatie van geheimhouding en authenticatie
Beide functies (geheimhouding en authenticatie) kunnen gecombineerd worden door een dubbele encryptie [6](#page=6):
1. Versleutel het bericht eerst met de private sleutel van de afzender (voor authenticatie) [6](#page=6).
2. Versleutel het resultaat vervolgens met de publieke sleutel van de ontvanger (voor geheimhouding) [6](#page=6).
Alleen de beoogde ontvanger, die beschikt over de bijbehorende private sleutel, kan het uiteindelijke ciphertext ontcijferen. Het nadeel is dat het publieke sleutelalgoritme hierdoor vier keer moet worden uitgevoerd in plaats van twee [6](#page=6).
> **Tip:** De ontwikkeling van praktische publieke sleutel cryptosystemen is gebaseerd op de ontdekking van geschikte "trap-door one-way functions" – functies die gemakkelijk in één richting te berekenen zijn, maar computationeel onhaalbaar om om te keren zonder aanvullende geheime informatie [6](#page=6).
---
# Toepassingen en algoritmen van publieke sleutel cryptografie
Publieke sleutel cryptosystemen maken gebruik van twee sleutels (een publieke en een private) en kunnen worden ingedeeld in drie hoofdcategorieën: encryptie/decryptie, digitale handtekeningen en sleuteluitwisseling [7](#page=7).
### 3.1 Hoofdcategorieën van publieke sleutel cryptosystemen
#### 3.1.1 Encryptie/decryptie
Bij deze toepassing versleutelt de zender een bericht met de publieke sleutel van de ontvanger [7](#page=7).
#### 3.1.2 Digitale handtekeningen
De zender "ondertekent" een bericht door een cryptografisch algoritme toe te passen op het bericht of een functie daarvan, met behulp van zijn eigen private sleutel [7](#page=7).
#### 3.1.3 Sleuteluitwisseling
Twee partijen werken samen om een sessiesleutel uit te wisselen, waarbij de private sleutel(s) van een of beide partijen betrokken kunnen zijn [7](#page=7).
### 3.2 Algoritmen en hun toepassingen
Verschillende algoritmen zijn geschikt voor één, twee of alle drie de bovengenoemde toepassingen. De volgende tabel geeft een overzicht (status per oktober 2025) [7](#page=7) [8](#page=8):
| Categorie | Algoritme (Klassiek) | Algoritme (Post-kwantum) |
|---|---|---|
| **Encryptie/decryptie** | RSA-OAEP, Elgamal, ECIES, (Elliptische) Elgamal | CrystalS-Kyber (ML-KEM) | [8](#page=8).
| **Digitale handtekening** | RSA-PSS, RSA, Elgamal, DSA | CrystalS-Dilithium (ML-DSA), Falcon (FN-DSA), Sphincs+ (SLH-DSA) | [8](#page=8).
| **Sleuteluitwisseling** | Diffie-Hellman, Elliptische Diffie-Hellman, DLIES | CrystalS-Kyber (ML-KEM), HQC | [8](#page=8).
> **Tip:** Hoewel pure asymmetrische encryptie van standaardberichten zelden wordt gebruikt, is het asymmetrisch versleutelen van een kort bericht of sleutel als onderdeel van een protocol een veelvoorkomende praktijk [8](#page=8).
#### 3.2.1 Algoritmen gebaseerd op factorisatie en discrete logaritmen
* **RSA:** Geschikt voor encryptie/decryptie en digitale handtekeningen [7](#page=7).
* **Elgamal:** Kan worden gebruikt voor encryptie/decryptie, digitale handtekeningen en sleuteluitwisseling [7](#page=7).
* **Diffie-Hellman:** Specifiek ontworpen voor sleuteluitwisseling [7](#page=7).
#### 3.2.2 Algoritmen gebaseerd op elliptische krommen
* **Elliptische curve cryptografie (ECC):**
* **ECIES** (Elliptic Curve Integrated Encryption Scheme): Voor encryptie/decryptie [7](#page=7).
* **ECDSA** (Elliptic Curve Digital Signature Algorithm) en **EdDSA** (Edwards-curve Digital Signature Algorithm): Voor digitale handtekeningen [7](#page=7).
* **Elliptische Diffie-Hellman:** Voor sleuteluitwisseling [7](#page=7).
#### 3.2.3 Post-kwantum cryptografie (PQC)
De standaardisatie van PQC-algoritmen is nog gaande, waarbij de volgende zijn geselecteerd voor standaardisatie [8](#page=8):
* **Sleuteluitwisseling:**
* CrystalS-Kyber (ML-KEM) is een sleuteluitwisseling algoritme dat ook gebruikt kan worden om encryptie/decryptie te realiseren [8](#page=8).
* HQC (met verwachte standaardisatie in 2027) [8](#page=8).
* **Digitale handtekening:**
* CrystalS-Dilithium (ML-DSA) [8](#page=8).
* Sphincs+ (SLH-DSA) [7](#page=7).
* Falcon (FN-DSA) (verwachte standaardisatie laat 2026) [8](#page=8).
> **Opmerking:** Post-kwantum cryptografie-competities hebben er doorgaans voor gekozen om encryptie/decryptie niet expliciet op te nemen als een aparte categorie voor PQC, omdat de geselecteerde sleuteluitwisselingsalgoritmen dit effect kunnen bereiken [8](#page=8).
> **Tip:** Algoritmen die op het moment van de opname van de cursus (oktober 2025) nog in de race waren maar niet geselecteerd zijn, zijn onder andere BIKE en Classic McEliece. HQC is uiteindelijk wel geselecteerd [8](#page=8).
---
## Veelgemaakte fouten om te vermijden
- Bestudeer alle onderwerpen grondig voor examens
- Let op formules en belangrijke definities
- Oefen met de voorbeelden in elke sectie
- Memoriseer niet zonder de onderliggende concepten te begrijpen
Glossary
| Term | Definition |
|------|------------|
| Publieke sleutel encryptie | Een cryptografisch systeem waarbij twee verschillende, maar wiskundig gerelateerde sleutels worden gebruikt: een publieke sleutel voor encryptie en een private sleutel voor decryptie. Dit maakt veilige communicatie mogelijk zonder vooraf gedeelde geheimen. |
| Symmetrische encryptie | Een cryptografisch systeem dat dezelfde geheime sleutel gebruikt voor zowel encryptie als decryptie. Dit vereist een veilige methode om de sleutel vooraf te distribueren tussen communicerende partijen. |
| Cryptanalyse | Het proces van het analyseren van een cryptografisch systeem met als doel het kraken van de encryptie zonder kennis van de geheime sleutel. De veiligheid van een encryptieschema hangt af van de sleutellengte en de rekenkracht die nodig is om de cipher te breken. |
| Sleuteldistributie | Het proces waarbij cryptografische sleutels veilig worden uitgewisseld tussen partijen die willen communiceren. Bij symmetrische encryptie is dit vaak een complex proces, terwijl publieke sleutel encryptie hier oplossingen voor biedt. |
| KDC (Key Distribution Center) | Een sleuteldistributiecentrum is een beveiligde server die wordt gebruikt om cryptografische sleutels te genereren en te distribueren naar gebruikers binnen een netwerk, met name voor symmetrische encryptie. |
| Digitale handtekening | Een cryptografische methode om de authenticiteit en integriteit van een digitale boodschap te waarborgen. De zender versleutelt een deel of de gehele boodschap met zijn private sleutel, wat door anderen geverifieerd kan worden met de publieke sleutel van de zender. |
| Asymmetrische algoritmen | Algoritmen die gebaseerd zijn op het gebruik van een paar van wiskundig gerelateerde sleutels: een publieke sleutel voor encryptie en een private sleutel voor decryptie. De veiligheid berust op de computationele onhaalbaarheid om de private sleutel af te leiden uit de publieke sleutel. |
| Plaintext | De oorspronkelijke, leesbare boodschap of data die wordt ingevoerd in een encryptiealgoritme. Dit is de informatie die beveiligd moet worden. |
| Ciphertext | De versleutelde, onleesbare output van een encryptiealgoritme. Deze data kan alleen weer worden omgezet naar plaintext met de juiste decryptiesleutel. |
| Trap-door one-way function | Een wiskundige functie die gemakkelijk in één richting te berekenen is, maar computationeel zeer moeilijk omkeerbaar is, tenzij bepaalde extra informatie (de "trap-door") bekend is. Dit concept is essentieel voor het creëren van publieke sleutel cryptosystemen. |
| Post-kwantum cryptografie | Een verzameling cryptografische algoritmen die ontworpen zijn om bestand te zijn tegen aanvallen van zowel klassieke als kwantumcomputers. Dit is een actief onderzoeksgebied vanwege de potentiële dreiging van kwantumcomputers voor bestaande cryptografische systemen. |