Cover
Aloita nyt ilmaiseksi Symmetric_3_meet_in_the_middle.pdf
Summary
# Dubbele DES-encryptie en de 'meet in the middle'-aanval
Dit onderwerp behandelt de basisprincipes van dubbele DES-encryptie, waarbij twee sleutels worden gebruikt om de cryptografische sterkte te vergroten, en introduceert de 'meet in the middle'-aanval als een methode om deze beveiliging te omzeilen [2](#page=2).
### 1.1 Dubbele DES-encryptie
Dubbele DES-encryptie is een methode om de beveiliging van het Data Encryption Standard (DES)-algoritme te verhogen door het tweemaal toe te passen met twee verschillende sleutels [2](#page=2).
#### 1.1.1 Het encryptie- en decryptieproces
Bij dubbele DES-encryptie, gegeven een platte tekst $P$ en twee encryptiesleutels $K1$ en $K2$, wordt de cijfertekst $C$ als volgt gegenereerd:
$C = E(K2, E(K1, P))$ [2](#page=2).
De bijbehorende decryptie vereist dat de sleutels in omgekeerde volgorde worden toegepast:
$P = D(K1, D(K2, C))$ [2](#page=2).
#### 1.1.2 Schijnbare sleutellengte en beveiligingsniveau
In theorie lijkt dubbele DES te resulteren in een sleutellengte van $56 \times 2 = 112$ bits. Dit zou, op het eerste gezicht, een aanzienlijke toename in cryptografische sterkte suggereren, mogelijk vergelijkbaar met de beveiligingsniveaus van hedendaagse standaarden zoals AES. Echter, een nadere analyse van het algoritme is noodzakelijk om de ware beveiligingsniveaus te bepalen. Het gebruik van dubbele DES met twee sleutels resulteert in een encryptie die niet equivalent is aan een enkele DES-encryptie [2](#page=2).
> **Tip:** Hoewel de sleutellengte verdubbelt, garandeert dit niet automatisch een verdubbeling van de beveiligingssterkte vanwege potentiële kwetsbaarheden in de constructie.
### 1.2 De 'meet in the middle'-aanval
De 'meet in the middle'-aanval is een algemene methode om bepaalde vormen van meervoudige encryptie te omzeilen, ongeacht de specifieke eigenschappen van het gebruikte blokcijfer [2](#page=2).
#### 1.2.1 Kernobservatie van de aanval
De aanval is gebaseerd op de observatie dat, in het geval van $C = E(K2, E(K1, P))$, er een tussenliggende waarde $X$ bestaat die voldoet aan de volgende gelijkheid:
$X = E(K1, P) = D(K2, C)$ [3](#page=3).
#### 1.2.2 Het aanvalsverloop
Gegeven een bekend platte tekst-cijfertekst paar $(P, C)$, verloopt de aanval als volgt [3](#page=3):
1. **Voorbereiding met $K1$**: Versleutel de bekende platte tekst $P$ met alle $2^{56}$ mogelijke waarden van sleutel $K1$. Sla de resulterende tussenliggende waarden $X = E(K1, P)$ op in een tabel. Sorteer deze tabel vervolgens op de waarden van $X$ [3](#page=3).
2. **Voorbereiding met $K2$**: Ontsleutel de bekende cijfertekst $C$ met alle $2^{56}$ mogelijke waarden van sleutel $K2$. Sla de resulterende tussenliggende waarden $X = D(K2, C)$ op [3](#page=3).
3. **Vergelijking**: Tijdens de ontsleutelingsstap (stap 2), controleer telkens of de verkregen tussenliggende waarde $X$ overeenkomt met een waarde in de opgeslagen tabel uit stap 1 [3](#page=3).
4. **Sleutelvalidatie**: Indien een match wordt gevonden, betekent dit dat een kandidaat-sleutelpaar $(K1, K2)$ is geïdentificeerd. Test dit paar vervolgens met een nieuw, bekend platte tekst-cijfertekst paar. Als dit paar de correcte cijfertekst produceert, worden de sleutels $(K1, K2)$ als correct geaccepteerd [3](#page=3).
#### 1.2.3 Kans op valse alarmen en effectiviteit
Voor een gegeven platte tekst $P$ zijn er $2^{64}$ mogelijke cijferteksten die door dubbele DES geproduceerd kunnen worden. Omdat dubbele DES effectief een 112-bit sleutel gebruikt, met $2^{112}$ mogelijke sleutels, is de verwachte kans dat een willekeurig 112-bit sleutelpaar een specifieke cijfertekst $C$ voor een gegeven platte tekst $P$ produceert, $2^{112} / 2^{64} = 2^{48}$. Dit betekent dat de aanval op het eerste $(P, C)$-paar ongeveer $2^{48}$ valse alarmen zal produceren [3](#page=3).
Met gebruik van een extra $64$ bits aan bekende platte tekst en cijfertekst, wordt de kans op valse alarmen gereduceerd tot $2^{48-64} = 2^{-16}$. Dit impliceert dat, bij het uitvoeren van de 'meet in the middle'-aanval op twee blokken bekende platte tekst en cijfertekst, de kans dat de correcte sleutels worden bepaald $1 - 2^{-16}$ is [3](#page=3).
De 'meet in the middle'-aanval maakt het daardoor mogelijk om dubbele DES met een sleutelgrootte van 112 bits aan te vallen met een inspanning van de orde van $2 \times 2^{56} - 2^{57}$, wat niet significant meer is dan de $2^{55}$ die nodig is voor enkele DES [3](#page=3).
> **Voorbeeld:** Stel dat we een platte tekst $P$ hebben en daarvan een cijfertekst $C$ na dubbele DES-encryptie met sleutels $K1$ en $K2$. De 'meet in the middle'-aanval berekent alle mogelijke $E(K1, P)$ en $D(K2, C)$ en zoekt naar een gemeenschappelijke tussenwaarde $X$. Als zo'n $X$ gevonden wordt, suggereert dit dat het corresponderende paar $(K1, K2)$ mogelijk de juiste sleutels zijn.
> **Tip:** De efficiëntie van de 'meet in the middle'-aanval ligt in het feit dat het de complexiteit van een brute-force aanval op $2^{112}$ sleutels reduceert tot twee aparte aanvallen van $2^{56}$ sleutels, plus de overhead van het opslaan en doorzoeken van een tabel.
---
# Triple DES-encryptie en alternatieven
Dit onderwerp verkent triple DES (3DES) als een oplossing voor de kwetsbaarheden van dubbele DES, met nadruk op varianten met twee en drie sleutels en de evolutie van de aanbevelingen voor het gebruik ervan.
### 1.1 Introductie tot triple DES
Triple DES (3DES), ook wel bekend als TDEA (Triple Data Encryption Algorithm), is een encryptiemethode die is ontwikkeld als reactie op de kwetsbaarheden van dubbele DES. Het belangrijkste doel was het verhogen van de sleutellengte en daarmee de weerstand tegen aanvallen, met name de 'meet-in-the-middle'-aanval.
### 1.2 Triple DES met drie sleutels
Een directe manier om de 'meet-in-the-middle'-aanval te counteren is door drie opeenvolgende encryptiestappen te gebruiken met drie verschillende sleutels ($K_1, K_2, K_3$). Dit verhoogt de complexiteit van de 'meet-in-the-middle'-aanval tot $2^{112}$, wat momenteel en in de nabije toekomst als onpraktisch wordt beschouwd. Het nadeel hiervan is echter dat het een sleutellengte van $56 \times 3 = 168$ bits vereist, wat als wat onhandig kan worden ervaren [4](#page=4).
> **Tip:** Hoewel triple DES met drie sleutels een aanzienlijk hogere beveiliging biedt dan dubbele DES, is het inmiddels verouderd en wordt het gebruik ervan afgeraden en zelfs verboden voor moderne toepassingen.
### 1.3 Triple DES met twee sleutels
Als alternatief stelde Tuchman een drievoudige encryptiemethode voor die slechts twee sleutels gebruikt. Triple DES met twee sleutels is een relatief populaire keuze geweest als alternatief voor DES en werd opgenomen in de sleutelbeheerstandaarden ANSI X9.17 en ISO 8732 [4](#page=4).
#### 1.3.1 Aanvallen op 2-sleutel triple DES
De beveiliging van 2-sleutel triple DES is echter niet onomstreden gebleken. Vooral de Van Oorschot-Wiener-aanval toont aan dat het beveiligingsniveau niet voldoet aan de huidige standaarden. Deze aanvallen vereisen doorgaans veel bekende plaintext-ciphertext-paren. De belangrijke aanvalsvoorstellen kwamen van Merkle en Hellman, en later van Van Oorschot-Wiener. Deze methoden verbeteren de gekozen-plaintext-aanpak, maar vereisen meer inspanning. De aanval is gebaseerd op de observatie dat als $A$ en $C$ bekend zijn, het probleem gereduceerd kan worden tot een aanval op dubbele DES. De aanvaller kent $A$ echter niet, zelfs niet als $P$ en $C$ bekend zijn, zolang de twee sleutels onbekend zijn. De aanvaller kan echter een mogelijke waarde voor $A$ kiezen en vervolgens proberen een bekend $(P, C)$-paar te vinden dat $A$ produceert [4](#page=4) [5](#page=5).
#### 1.3.2 Waarom EDE en niet EEE?
De keuze voor Encrypt-Decrypt-Encrypt (EDE) in plaats van Encrypt-Encrypt-Encrypt (EEE) is strategisch. De rekenkracht van DES-encryptie en DES-decryptie is vergelijkbaar, waardoor een 'decryptie'-stap in triple DES net zo effectief is als een 'encryptie'-stap. Het voordeel van EDE is dat, als de twee sleutels gelijk worden genomen ($K_1 = K_2$), EDE($K_1, K_1$) overeenkomt met E($K_1$). Hierdoor kan een EDE-module nog steeds enkele DES uitvoeren, wat nodig kan zijn voor compatibiliteitsredenen [5](#page=5).
#### 1.3.3 Conclusie over 2-sleutel triple DES
Hoewel de bovengenoemde aanvallen op 2-sleutel triple DES onpraktisch lijken, voelen gebruikers van deze methode mogelijk enige terughoudendheid. Hierdoor beschouwen veel onderzoekers 3-sleutel triple DES als de geprefereerde optie [5](#page=5).
### 1.4 Evolutie van aanbevelingen en gebruik
In 2015 trok NIST uiteindelijk de ondersteuning voor 2-sleutel triple DES in. Een aantal op internet gebaseerde applicaties, waaronder PGP en S/MIME, adopteerden 3-sleutel 3DES (TDEA). Hetzelfde gold en geldt voor HSM's (Hardware Security Modules). Desondanks is het gebruik van triple DES sinds 2019 gedeprecieerd en sinds eind 2023 niet meer toegestaan. Vanwege de 'meet-in-the-middle'-aanval wordt 3DES beschouwd als "gebroken" omdat de effectieve sterkte, met een aanval die significant onder de $3 \times 56$ bits sleutellengte ligt, feitelijk $2^{112}$ is in plaats van de theoretische $2^{168}$ [4](#page=4) [5](#page=5).
> **Voorbeeld:** Als $K_1$ en $K_2$ twee sleutels zijn voor dubbele DES, en een aanvaller wil een bericht $M$ kraken dat is versleuteld naar $C = E_{K_2}(E_{K_1}(M))$, kan een 'meet-in-the-middle'-aanval efficiënter zijn. Door alle mogelijke encrypties met $K_1$ te berekenen en te vergelijken met alle mogelijke decrypties van $C$ met $K_2$, kan een match worden gevonden die de sleutels onthult zonder alle $2^{112}$ combinaties te hoeven proberen. Triple DES, met name met drie sleutels, voegt extra stappen toe om dit risico aanzienlijk te verminderen.
---
# Cryptografische concepten en sleutelbeheer
Dit onderwerp verkent de principes van symmetrische encryptie, de uitdagingen bij het schalen van sleutellengtes en de praktische implicaties van verschillende encryptieschema's.
### 3.1 Symmetrische encryptie en schaalbaarheid van sleutellengtes
Symmetrische encryptie gebruikt dezelfde sleutel voor zowel encryptie als decryptie. Een fundamentele uitdaging binnen symmetrische encryptie is het effectief opschalen van de sleutellengte om de cryptografische sterkte te verhogen en de veiligheid tegen aanvallen te waarborgen [1](#page=1).
#### 3.1.1 Meervoudige encryptie en de meet-in-the-middle aanval
Een eenvoudige methode om de veiligheid te vergroten is het toepassen van meervoudige encryptie, waarbij dezelfde plaintext met verschillende sleutels meermaals wordt versleuteld.
* **Dubbele encryptie:** Dit schema maakt gebruik van twee encryptiestadia met twee sleutels ($K_1$ en $K_2$). De ciphertext $C$ wordt gegenereerd als $C = E(K_2, E(K_1, P))$, en de decryptie als $P = D(K_1, D(K_2, C))$. Theoretisch lijkt dit een sleutellengte van $56 \times 2 = 112$ bits te bieden, wat de cryptografische sterkte dramatisch zou verhogen [2](#page=2).
> **Tip:** Hoewel de combinatie van twee DES-encrypties met verschillende sleutels een mapping oplevert die niet equivalent is aan een enkele DES-encryptie, is dit schema kwetsbaar voor de "meet-in-the-middle" aanval [2](#page=2).
* **De meet-in-the-middle aanval:** Deze aanval is niet afhankelijk van specifieke eigenschappen van DES, maar werkt tegen elke blokcijfer. De aanval maakt gebruik van het feit dat als een aanvaller een plaintext $P$ en een ciphertext $C$ kent, en een potentiële waarde voor de eerste versleuteling $A$ kan raden, het probleem reduceert tot het vinden van een sleutel die $A$ produceert. De aanvaller kan $E(K_1, P)$ voor verschillende $K_1$ berekenen en opslaan, en $D(K_2, C)$ voor verschillende $K_2$ berekenen, en dan zoeken naar een match tussen de twee reeksen. Dit halveert effectief de effectieve sleutellengte, waardoor de complexiteit van de aanval daalt van $2^{112}$ naar $2^{56}$ [2](#page=2) [5](#page=5).
#### 3.1.2 Triple DES (3DES)
Om de kwetsbaarheid van dubbele encryptie te ondervangen, werden verbeterde schema's met drie encryptiestadia ontwikkeld.
* **Triple DES met drie sleutels:** Het gebruik van drie encryptiestadia met drie verschillende sleutels ($K_1, K_2, K_3$) verhoogt de complexiteit van de meet-in-the-middle aanval tot $2^{112}$. Dit schema vereist echter een sleutellengte van $56 \times 3 = 168$ bits, wat als onhandelbaar kan worden beschouwd [4](#page=4).
* **Triple DES met twee sleutels (EDE-schema):** Een alternatief, voorgesteld door Tuchman, maakt gebruik van slechts twee sleutels ($K_1, K_2$) en een Encrypt-Decrypt-Encrypt (EDE) structuur: $C = E(K_1, D(K_2, E(K_1, P)))$. Dit schema is populair geworden en is aangenomen in sleutelbeheerstandaarden zoals ANSI X9.17 en ISO 8732 [4](#page=4) [5](#page=5).
> **Waarom EDE en niet EEE?** De "dekryptie" stap in 3DES met twee sleutels is net zo krachtig als een "encryptie" stap. Het EDE-schema biedt achterwaartse compatibiliteit: als beide sleutels gelijk zijn ($K_1 = K_2$), dan is EDE($K_1, K_1$) equivalent aan $E(K_1)$, wat enkelvoudige DES-operaties mogelijk maakt [5](#page=5).
Hoewel aanvallen op 3DES met twee sleutels als onpraktisch werden beschouwd, is er altijd enige zorg geweest over de veiligheid ervan. De Van Oorschot-Wiener aanval is een voorbeeld dat aantoont dat de veiligheidsniveau niet meer voldoet aan de huidige standaarden, hoewel deze aanval veel bekende plaintext-ciphertext paren vereist. De effectieve sterkte van twee-sleutel 3DES wordt door de meet-in-the-middle aanval ingeschat op $2^{112}$ in plaats van de theoretische $2^{168}$ [4](#page=4) [5](#page=5).
* **Adoptie en status van 3DES:** Drie-sleutel 3DES (ook bekend als TDEA - Triple Data Encryption Algorithm) is door diverse internettoepassingen, zoals PGP en S/MIME, en Hardware Security Modules (HSM's) gebruikt. Echter, het gebruik ervan is sinds 2019 in de ban gedaan en sinds eind 2023 niet meer toegestaan. De belangrijkste aanvalsproblemen kwamen van Merkle en Hellman, en later van Van Oorschot-Wiener, wat de beperkingen van deze schema's aantoont [4](#page=4) [5](#page=5).
---
## 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 |
|------|------------|
| Symmetrische encryptie | Een cryptografisch systeem waarbij dezelfde sleutel wordt gebruikt voor zowel versleuteling als ontsleuteling van gegevens. Dit staat in contrast met asymmetrische encryptie, die een paar van publieke en private sleutels gebruikt. |
| Dubbele DES | Een methode om de beveiliging van DES te verhogen door de encryptie tweemaal toe te passen met twee verschillende sleutels. Dit zou theoretisch een sleutellengte van 112 bits moeten opleveren. |
| Meet in the middle-aanval | Een cryptanalytische aanvalstechniek die wordt gebruikt om symmetrische versleuteling met meerdere rondes, zoals dubbele DES, te breken. De aanval zoekt naar een gemeenschappelijk tussenresultaat door zowel vanaf de plaintext te versleutelen als vanaf de ciphertext te ontsleutelen. |
| Plaintext | De oorspronkelijke, niet-versleutelde gegevens die worden ingevoerd in een encryptiealgoritme. |
| Ciphertext | De gegevens die zijn versleuteld en niet leesbaar zijn zonder de juiste ontsleutelingssleutel. |
| Triple DES (3DES) | Een verbeterde versie van DES die de encryptie driemaal toepast, wat de beveiliging aanzienlijk verhoogt ten opzichte van dubbele DES. Het kan worden geïmplementeerd met twee of drie sleutels. |
| EDE | Staat voor Encryption-Decryption-Encryption, een veelvoorkomende implementatie van triple DES. Dit patroon biedt compatibiliteit met single DES wanneer de twee sleutels gelijk zijn. |
| Van Oorschot - Wiener-aanval | Een bekende aanvalsmethode die specifiek is gericht op de beveiliging van twee-sleutel triple DES, en aantoont dat de beveiligingsniveau niet voldoet aan de moderne standaarden. |
| Sleutelbeheer | Het proces van het genereren, distribueren, opslaan, gebruiken en vernietigen van cryptografische sleutels op een veilige en efficiënte manier. |
| AES (Advanced Encryption Standard) | Een wereldwijd erkende standaard voor symmetrische encryptie die gebruikmaakt van blokken van 128 bits en sleutellengtes van 128, 192 of 256 bits. Het wordt algemeen beschouwd als zeer veilig. |
| TDEA (Triple Data Encryption Algorithm) | Een andere naam voor Triple DES, die de drievoudige toepassing van DES-encryptie met één of meerdere sleutels beschrijft. |