Cover
Börja nu gratis Authenticated encryption.pdf
Summary
# Geauthenticeerde encryptie en de noodzaak ervan
Geauthenticeerde encryptie combineert gelijktijdig vertrouwelijkheid en authenticiteit van communicatie om de integriteit en oorsprong van gegevens te waarborgen.
### 1.1 De noodzaak van geauthenticeerde encryptie
Standaard encryptiemethoden, zoals die welke alleen vertrouwelijkheid bieden, volstaan niet in veel praktische toepassingen. Moderne cryptografie vereist vaak dat gegevens niet alleen geheim blijven, maar ook dat de integriteit ervan gewaarborgd is en dat de oorsprong van de gegevens geverifieerd kan worden. Zonder deze mechanismen kunnen gegevens gemanipuleerd worden door aanvallers, zelfs als ze versleuteld zijn [1](#page=1) [2](#page=2).
#### 1.1.1 Beperkingen van standaard encryptie
Standaard encryptie beschermt uitsluitend tegen het inzien van de inhoud van versleutelde berichten. Het garandeert echter niet dat de gegevens niet ongemerkt zijn gewijzigd of nagemaakt. Dit fenomeen staat bekend als malleabiliteit. Stream cipher-gebaseerde encryptiemethoden, of blokcijfers in stream-modi zoals CTR, zijn bijzonder gevoelig voor deze malleabiliteit. Een aanvaller kan bijvoorbeeld een versleuteld bericht aanpassen op een manier die, na ontsleuteling, resulteert in een ander, potentieel schadelijk, bericht, zonder dat dit gedetecteerd wordt door de encryptie zelf [2](#page=2).
#### 1.1.2 Integriteit en authenticiteit
* **Integriteit:** Dit is de garantie dat gegevens niet zijn beschadigd of gewijzigd [2](#page=2).
* **Authenticiteit:** Dit is een sterkere vorm van integriteit en verzekert dat een gegeven ciphertext alleen is geproduceerd met kennis van de geheime sleutel [2](#page=2).
Wanneer een geauthenticeerde encryptiemethode wordt gebruikt, kan een aanvaller nog steeds proberen een ciphertext te manipuleren. Echter, elke dergelijke wijziging zal gedetecteerd worden door het authenticatie-algoritme, wat resulteert in een decryptiefout. Het ontsleutelde bericht moet dan worden weggegooid om het gebruik van gemanipuleerde gegevens te voorkomen [3](#page=3).
### 1.2 Geauthenticeerde encryptie met geassocieerde gegevens (AEAD)
Geauthenticeerde encryptie met geassocieerde gegevens (AEAD) is een cryptografische constructie die zowel de vertrouwelijkheid als de authenticiteit van gegevens beschermt, inclusief optionele "geassocieerde gegevens" die wel geauthenticeerd maar niet versleuteld worden [3](#page=3).
#### 1.2.1 Concept van AEAD
Bij AEAD zijn er twee typen gegevens betrokken:
1. **Gegevens die versleuteld en geauthenticeerd worden:** Dit is het daadwerkelijke bericht (plaintext `P`) dat geheim moet blijven [3](#page=3).
2. **Geassocieerde gegevens (AD of AAD):** Deze gegevens worden alleen geauthenticeerd, niet versleuteld. Dit is nuttig voor informatie die in klare tekst moet blijven voor operationele doeleinden, maar waarvan de integriteit en oorsprong wel geverifieerd moet worden, zoals protocolheaders [10](#page=10) [3](#page=3) [4](#page=4).
#### 1.2.2 Componenten van AEAD
Een typische AEAD-constructie combineert een encryptie-algoritme, een modus van operatie en een Message Authentication Code (MAC)-algoritme. Vaak wordt hierbij een IV of nonce gebruikt die gedeeld wordt tussen de modus van operatie en de MAC-berekening. AEAD-algoritmen gebruiken doorgaans aparte sleutels voor encryptie en authenticatie, hoewel geïntegreerde algoritmen met één sleutel ook bestaan [3](#page=3).
De input voor het AEAD-proces bestaat uit:
* De plaintext `P` die geauthenticeerd en versleuteld moet worden [3](#page=3).
* De geassocieerde gegevens (AD) die alleen geauthenticeerd worden [3](#page=3).
* Een nonce: een unieke waarde die voor elke encryptie-instantie opnieuw wordt gegenereerd om replay-aanvallen en andere aanvallen te voorkomen [3](#page=3).
* Een gedeelde geheime sleutel voor authenticatie [3](#page=3).
#### 1.2.3 Gangbare AEAD-algoritmen
Er zijn diverse AEAD-algoritmen die gebruik maken van verschillende combinaties van blokcijfers, streamcijfers en MAC-algoritmen:
* **AES-CCM:** Gebruikt AES-CTR voor encryptie en CMAC voor authenticatie [10](#page=10) [4](#page=4).
* **AES-GCM:** Gebruikt AES-CTR voor encryptie en GHASH voor authenticatie [10](#page=10) [4](#page=4).
* **ChaCha20-Poly1305:** Een combinatie van het ChaCha20 streamcijfer met de Poly1305 MAC [10](#page=10) [4](#page=4).
* **XChaCha20-Poly1305:** Een extensie van ChaCha20-Poly1305 met een bredere security marge en een grotere nonce [10](#page=10).
* **AES-GCM-SIV:** Een variant van AES-GCM die een Synthetic Initialisation Vector (SIV) toevoegt om de robuustheid bij hergebruik van de nonce te verbeteren [10](#page=10) [4](#page=4).
* **AES-OCB3:** Een modus die encryptie en authenticatie in één stap uitvoert. De adoptie was beperkt vanwege patenten [10](#page=10) [4](#page=4).
Het is belangrijk te noteren dat ChaCha20, net als AES-CTR, in essentie een streamcijfer is [10](#page=10) [4](#page=4).
> **Tip:** Veel praktische toepassingen vereisen geauthenticeerde encryptie, vaak met geassocieerde gegevens. Pure encryptie is zelden voldoende voor veilige communicatie [3](#page=3).
### 1.3 Sleutelbinding (Key Commitment)
Sleutelbinding, ook wel bekend als "robustness", is een eigenschap van AE-schema's die garandeert dat een ciphertext slechts onder de correcte sleutel correct kan worden ontsleuteld. Dit betekent dat een aanvaller geen ciphertext kan construeren dat onder meerdere verschillende sleutels foutloos kan worden ontsleuteld [12](#page=12).
#### 1.3.1 Waarom sleutelbinding belangrijk is
Hoewel sleutelbinding niet altijd expliciet is opgenomen in de ontwerpcriteria van veel AE-schema's (zoals AES-GCM en ChaCha20+Poly1305), is het een cruciale eigenschap voor veel reële producten en toepassingen. Zonder sleutelbinding kunnen er kwetsbaarheden ontstaan, met name in scenario's met [12](#page=12):
* **Hybride encryptie:** Waarin een ciphertext meerdere keren versleuteld wordt met verschillende publieke sleutels voor verschillende ontvangers. Zonder sleutelbinding kunnen ontvangers die dezelfde ciphertext ontvangen, ten onrechte geloven dat ze dezelfde plaintext ontvangen, wat tot problemen kan leiden [13](#page=13).
* **Sleutelrotatie:** Wanneer er een nieuwe sleutel wordt geïntroduceerd, maar de oude sleutel nog steeds geldig moet zijn voor oudere gegevens. Een aanvaller kan een situatie creëren waarin dezelfde ciphertext ontsleuteld kan worden naar twee verschillende plaintexts met twee verschillende sleutels [13](#page=13).
#### 1.3.2 Toepassingen van sleutelbinding
Naast communicatieprotocollen kan sleutelbinding ook relevant zijn voor:
* Veilingprotocollen met bieden in de privésfeer.
* Doorzoekbare encryptie.
* Anonieme broadcast-encryptie [13](#page=13).
> **Tip:** De afwezigheid van sleutelbinding in een AE-schema kan leiden tot onverwachte kwetsbaarheden in specifieke toepassingsscenario's, zelfs als het schema op zichzelf cryptografisch sterk is [12](#page=12).
---
# Geauthenticeerde encryptie met geassocieerde data (AEAD) algoritmes
Hieronder volgt een gedetailleerde samenvatting van Geauthenticeerde encryptie met geassocieerde data (AEAD) algoritmes, bedoeld als een examengericht studieboek.
## 2. Geauthenticeerde encryptie met geassocieerde data (AEAD) algoritmes
AEAD-algoritmes combineren encryptie en data-authenticatie in één enkele stap, wat zorgt voor zowel vertrouwelijkheid als integriteit van de data, inclusief optionele geassocieerde data [10](#page=10) [4](#page=4).
### 2.1 Overzicht van AEAD-algoritmes
Verschillende AEAD-algoritmes zijn wijdverspreid, elk met specifieke eigenschappen wat betreft structuur en prestaties [10](#page=10) [4](#page=4):
* **AES-CCM**: Gebruikt AES in CTR-modus voor encryptie en CMAC voor authenticatie [10](#page=10) [4](#page=4).
* **AES-GCM**: Gebruikt AES in CTR-modus voor encryptie en GHASH voor authenticatie [10](#page=10) [4](#page=4).
* **ChaCha20-Poly1305**: Combineert ChaCha20 voor encryptie met Poly1305 voor authenticatie [10](#page=10) [4](#page=4).
* **AES-GCM-SIV**: Een variant van AES-GCM die een SIV (Synthetic Initialisation Vector) toevoegt om de beveiliging te verbeteren bij hergebruik van de nonce [10](#page=10) [4](#page=4).
* **AES-OCB3**: Biedt zowel authenticatie als encryptie in één enkele stap, maar was lange tijd minder geadopteerd vanwege patenten in de VS [10](#page=10) [4](#page=4).
* **XChaCha20-Poly1305**: Een uitbreiding van ChaCha20-Poly1305 met een bredere beveiligingsmarge, met een 256-bit sleutel en een 192-bit nonce [10](#page=10).
Andere genoemde algoritmes zoals AES-EAX, AES-CWC, AES-IAPM, AES-XCBC, AES-PCFB en AES-CS worden voor volledigheid genoemd, maar worden vaak afgeraden vanwege prestatie- of beveiligingsredenen [11](#page=11).
#### 2.1.1 Geassocieerde Data (AD)
Geassocieerde data (AD) is data die wel geauthenticeerd, maar niet versleuteld wordt. Dit is nuttig voor metadata zoals adressen, poortnummers en protocolversienummers [10](#page=10) [4](#page=4).
### 2.2 AES-CCM
CCM staat voor "Counter with Cipher Block Chaining Message Authentication Code" of "Counter with CBC-Mac" [5](#page=5).
#### 2.2.1 Werking van AES-CCM
* **Authenticatie**: De input voor de authenticatie omvat de nonce, de geassocieerde data en de platte tekst. Deze data wordt geformatteerd in een reeks blokken ($B_0$ tot $B_r$). Het eerste blok ($B_0$) bevat de nonce en formatteringsbits die de lengtes van de nonce, geassocieerde data en platte tekst aangeven. Hierna volgen blokken met de geassocieerde data en de platte tekst. Deze blokken vormen de input voor het CMAC-algoritme, wat resulteert in een MAC-waarde met een lengte $T_{len}$ [5](#page=5).
* **Encryptie**: Een reeks tellers wordt gegenereerd, onafhankelijk van de nonce. De authenticatietag (MAC-waarde) wordt versleuteld in CTR-modus met de teller $Ctr_0$. De meest significante bits ($T_{len}$) van de output worden XORed met de tag om een versleutelde tag te vormen. De overige tellers worden gebruikt voor de CTR-modus encryptie van de platte tekst. De versleutelde platte tekst wordt samengevoegd met de versleutelde tag om de uiteindelijke ciphertext te vormen [5](#page=5).
#### 2.2.2 Kenmerken en beperkingen van AES-CCM
AES-CCM is relatief complex. Het vereist twee volledige doorlopen van de platte tekst: één voor het genereren van de MAC en één voor de encryptie. De specificatie vereist een compromis tussen de lengte van de nonce en de lengte van de tag, wat een onnodige beperking is. De encryptiesleutel wordt tweemaal gebruikt met de CTR-encryptiemodus: één keer voor de tag en één keer voor de platte tekst plus tag. Ondanks deze complexiteit biedt CCM een hoog beveiligingsniveau [5](#page=5).
### 2.3 AES-GCM
GCM (Galois Counter Mode) is ontworpen voor parallelisatie, wat zorgt voor hoge doorvoer met lage kosten en latentie. De boodschap wordt versleuteld in een variant van CTR-modus, en de resulterende ciphertext wordt vermenigvuldigd met sleutelmateriaal en berichtlengte-informatie over $GF(2^{128})$ om de authenticator tag te genereren [7](#page=7).
#### 2.3.1 Functies van AES-GCM
AES-GCM maakt gebruik van twee kernfuncties [7](#page=7):
* **GHASH**: Een geauthenticeerde hash-functie die een hash sleutel $H$ en een bitstring $X$ als input neemt. Het maakt gebruik van Galois-vermenigvuldiging in $GF(2^{128})$ en produceert een 128-bit MAC-waarde [7](#page=7).
De functie kan als volgt worden voorgesteld:
$$ GHASH_H(X_1 || X_2 || \dots || X_m) = Y_m $$ ] [7](#page=7).
* **GCTR**: In essentie de CTR-modus met tellers die opeenvolgend worden geïncrementeerd. Deze functie neemt een geheime sleutel $K$ en een bitstring $X$ van willekeurige lengte en retourneert een ciphertext $Y$ van gelijke lengte [7](#page=7).
De functie kan als volgt worden voorgesteld:
$$ GCTR_K(ICB, X_1 || X_2 || \dots || X_n) = Y_1 || Y_2 || \dots || Y_n $$ ] [7](#page=7).
#### 2.3.2 Werking van AES-GCM
Het algehele GCM-proces omvat de volgende stappen [8](#page=8):
1. **Hash Sleutel Generatie**: De hash sleutel $H$ wordt gegenereerd door een blok van nullen te versleutelen met de geheime sleutel $K$ ] [8](#page=8).
2. **Pre-counter blok Generatie**: Het pre-counter blok $J_0$ wordt afgeleid van de IV (Initialization Vector) ] [8](#page=8).
3. **Ciphertext Generatie**: De GCTR-functie wordt toegepast op de platte tekst ($P$) om de ciphertext ($C$) te verkrijgen [8](#page=8).
4. **Authenticatie Tag Generatie**: De GHASH-functie wordt toegepast op de geassocieerde data ($A$) en de ciphertext ($C$) om de authenticator tag te vormen. De GHASH functie neemt de geassocieerde data en de ciphertext, samen met hun lengtes, als input. De eerste teller wordt gebruikt om de authenticatie tag te versleutelen [7](#page=7) [8](#page=8).
> **Tip**: GCM is gebaseerd op CTR-modus en voegt een MAC toe die zowel de boodschap als aanvullende data authentificeert. De Galois-veld vermenigvuldiging maakt de implementatie efficiënt, vooral in hardware. CTR-gebaseerde AEAD is een van de meest efficiënte modi voor snelle pakketnetwerken [8](#page=8).
### 2.4 ChaCha20-Poly1305
ChaCha20-Poly1305 combineert de ChaCha20 stream cipher met de Poly1305 message authentication code [9](#page=9).
#### 2.4.1 Kenmerken van ChaCha20-Poly1305
* Het algoritme neemt een 256-bit sleutel en een 96-bit nonce als input [9](#page=9).
* Het resulteert in een ciphertext expansie van 128 bits (de tag-grootte) ] [9](#page=9).
* ChaCha20 wordt gebruikt in counter modus om een keystream te genereren die met de platte tekst wordt ge-XORd [9](#page=9).
* De ciphertext en geassocieerde data worden geauthenticeerd met een variant van Poly1305, die eerst de twee strings encodeert [9](#page=9).
* De combinatie van cipher en eenmalige authenticator is vergelijkbaar met AES-GCM, waarbij het eerste blok de authenticator zaait en de ciphertext vervolgens wordt geauthenticeerd met een 16-byte tag [9](#page=9).
* Een belangrijk verschil met AES is de grotere blockgrootte van 64 bytes (512 bits) in vergelijking met AES's 16 bytes (128 bits) . Dit maakt hogere prestaties mogelijk op moderne CPU's en laat grotere streams toe voordat de 32-bit teller overloopt [9](#page=9).
### 2.5 Vergelijking van AEAD-algoritmes
Wanneer er getwijfeld wordt tussen AES-CCM en AES-GCM, wordt **AES-GCM** als beter beschouwd qua beveiliging en prestaties [11](#page=11).
**ChaCha20-Poly1305** presteert beter dan AES-GCM (met vergelijkbare beveiliging) en is vooral geschikt voor omgevingen met beperkte resources of zonder hardware-ondersteuning voor AES en Galois-vermenigvuldiging [11](#page=11).
**AES-GCM-SIV** biedt een marginale beveiligingsverbetering ten opzichte van AES-GCM, maar met een prestatievermindering van ongeveer 30% . Het is een variant die ontworpen is om beter om te gaan met nonce-misbruik. AES-SIV is een vergelijkbare variant voor AES-CCM [11](#page=11).
Andere algoritmes zoals OCB3, EAX, CWC, IAPM, XCBC, PCFB en CS worden vaak afgeraden om redenen variërend van patenten, prestaties, of gebrek aan diepgaande analyse. OCB3 was tot 2021 niet patentvrij. AES-EAX is langzamer dan AES-GCM omdat het, net als CCM, een twee-passen schema is. CWC is een veel langzamere versie van AES-GCM. PCFB en CS zijn niet goed geanalyseerd en worden daarom niet aanbevolen [11](#page=11).
---
# Sleutelomwikkelingsmodus (Key Wrap Mode)
De sleutel omwikkelingsmodus (Key Wrap, KW) is een NIST-gedefinieerde modus van operatie die gebruikt wordt voor het veilig uitwisselen van symmetrische sleutels door gebruik te maken van een reeds gedeelde sleutel. Deze modus is met name bedoeld voor kritiek sleutelmateriaal en biedt een robuuste versleuteling waarbij elk uitvoerbit van de versleuteling op een niet-triviale manier afhangt van elk invoerbit [14](#page=14).
### 3.1 Doel van sleutel omwikkeling
Het primaire doel van sleutel omwikkeling is om een symmetrische sleutel veilig uit te wisselen tussen twee partijen die al een symmetrische sleutel met elkaar delen. Deze reeds gedeelde sleutel wordt een "key encryption key" (KEK) genoemd. Dit is nuttig in protocollen die een hiërarchie van sleutels vereisen, waarbij hogere-niveau sleutels, die minder frequent worden gebruikt en daardoor resistenter zijn tegen cryptanalyse, worden ingezet om nieuwe, lager-niveau sleutels te versleutelen voor uitwisseling [14](#page=14).
### 3.2 Noodzaak voor een nieuwe modus
De KW-modus is ontwikkeld omdat de lengte van de sleutel die moet worden omwikkeld groter kan zijn dan de blokgrootte van het onderliggende encryptie-algoritme, zoals AES. AES heeft bijvoorbeeld een blokgrootte van 128 bits, maar kan sleutels van 128, 192 of 256 bits gebruiken. In gevallen van sleutels die langer zijn dan de blokgrootte, vereist de encryptie van de sleutel meerdere blokken. Omdat de waarde van sleutelgegevens als groter wordt beschouwd dan andere gegevens (aangezien een gecompromitteerde sleutel alle met die sleutel versleutelde gegevens compromitteert), wenste NIST een robuuste encryptiemodus [14](#page=14).
> **Tip:** De robuustheid van KW betekent dat het uitvoercijfertekst een hogere mate van menging vertoont vergeleken met andere modi, wat essentieel is voor de beveiliging van sleutelmateriaal.
### 3.3 Kenmerken van de Key Wrap modus
In tegenstelling tot andere modi van operatie, waarbij het laatste blok platte tekst alleen het laatste blok cijfertekst beïnvloedt en het eerste blok cijfertekst uitsluitend voortkomt uit het eerste blok platte tekst, zorgt KW voor een aanzienlijk hogere mate van menging van verschillende delen. Dit wordt bereikt door de verwerking van de invoergegevens, waardoor er geen zichtbare patronen ontstaan [15](#page=15).
* **Onderliggend algoritme:** KW gebruikt typisch AES, voorheen ook Triple DEA. De AES-implementatie is gedocumenteerd in RFC 3394 [14](#page=14).
* **Resultaat:** Een hoge mate van menging en verspreiding van invoerbits over de uitvoercijfertekst [15](#page=15).
* **Throughput:** KW bereikt een aanzienlijk lagere throughput in vergelijking met andere modi. Dit wordt echter als een acceptabele afweging beschouwd voor toepassingen in sleutelbeheer [15](#page=15).
* **Toepassingsgebied:** KW wordt gebruikt voor het omwikkelen van kleine hoeveelheden platte tekst, zoals sleutels, in tegenstelling tot de encryptie van volledige berichten of bestanden [15](#page=15).
> **Voorbeeld:** De afbeelding 12.12 in het document illustreert de KW-operatie voor het omwikkelen van een 256-bits sleutel, waarbij de verschillende stappen van het proces worden getoond. Dit visuele voorbeeld benadrukt de complexe interactie en menging van de invoergegevens [14](#page=14).
---
## 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 |
|------|------------|
| Geauthenticeerde encryptie (Authenticated Encryption - AE) | Een encryptiesysteem dat tegelijkertijd de vertrouwelijkheid en de authenticiteit van communicatie beschermt. Het garandeert dat gegevens niet alleen geheim blijven, maar ook niet onopgemerkt zijn gewijzigd. |
| Authenticiteit (Authenticity) | De garantie dat de gegevens afkomstig zijn van de verwachte bron en niet zijn gemanipuleerd, wat een sterkere vorm is van integriteit. |
| Integriteit (Integrity) | De verzekering dat gegevens niet zijn beschadigd of gewijzigd tijdens verzending of opslag. |
| Geassocieerde data (Associated Data - AD) / Aanvullende geauthenticeerde data (Additional Authenticated Data - AAD) | Gegevens die worden geauthenticeerd maar niet worden versleuteld. Dit wordt vaak gebruikt voor protocolheaders of andere metadata die in platte tekst moeten blijven, maar wel beschermd moeten worden tegen wijzigingen. |
| Nonce | Een "number used once"; een unieke waarde die slechts één keer wordt gebruikt tijdens de levensduur van een protocolassociatie. Het is bedoeld om replay-aanvallen en bepaalde andere aanvalstypen te voorkomen. |
| MAC (Message Authentication Code) | Een klein stukje informatie dat wordt gegenereerd op basis van een bericht en een geheime sleutel. Het wordt gebruikt om de authenticiteit en integriteit van het bericht te verifiëren. |
| Encrypt-then-MAC | Een methode voor geauthenticeerde encryptie waarbij eerst het bericht wordt versleuteld en vervolgens een MAC wordt gegenereerd over de resulterende cijfertekst. Dit wordt vaak beschouwd als de veiligste aanpak. |
| Stream cipher | Een type symmetrisch cijfer dat continu een sleutelstroom genereert die bit voor bit of byte voor byte wordt gecombineerd met de platte tekst. Hoewel efficiënt, kunnen ze gevoelig zijn voor malleability als ze niet correct worden geauthenticeerd. |
| Malleability (van cijfers) | De eigenschap van een cryptografisch algoritme waardoor een aanvaller de cijfertekst kan aanpassen zonder de sleutel te kennen, wat resulteert in een voorspelbare wijziging in de gedecodeerde platte tekst. |
| AEAD (Authenticated Encryption with Associated Data) | Een cryptografische constructie die zowel versleuteling (vertrouwelijkheid) als authenticatie (integriteit en oorsprong) biedt, inclusief de mogelijkheid om aanvullende gegevens te authenticeren die niet worden versleuteld. |
| AES-CCM | Een AEAD-modus die de AES-CTR-modus voor encryptie combineert met de CMAC-modus voor authenticatie. Het vereist twee volledige passages door de gegevens. |
| AES-GCM | Een AEAD-modus die AES-CTR voor encryptie combineert met GHASH voor authenticatie. Het is ontworpen voor parallelisatie en biedt hoge doorvoer en lage latentie. |
| ChaCha20-Poly1305 | Een AEAD-algoritme dat ChaCha20 gebruikt voor encryptie en Poly1305 voor authenticatie. Het is efficiënt en geschikt voor omgevingen met beperkte middelen of zonder hardwarematige AES-ondersteuning. |
| Galois field GF(2^128) | Een eindig veld met $2^{128}$ elementen, gebruikt in de GCM-modus voor snelle en efficiënte authentificatieberekeningen met behulp van Galois-vermenigvuldiging. |
| Sleutelomwikkeling (Key Wrapping - KW) | Een modus van operatie, gespecificeerd door NIST, die wordt gebruikt om symmetrische sleutels veilig uit te wisselen met behulp van een reeds gedeelde symmetrische sleutel, ook wel een Key Encryption Key (KEK) genoemd. |
| Key Encryption Key (KEK) | Een symmetrische sleutel die wordt gebruikt om een andere symmetrische sleutel (de te omwikkelen sleutel) te versleutelen voor veilige uitwisseling. |
| Sleutelbeheer (Key Management) | Het proces van het genereren, uitwisselen, opslaan, gebruiken en vernietigen van cryptografische sleutels. KW-modus is een belangrijk onderdeel van veilig sleutelbeheer. |