Wat is Werkingsmodus van een blokcijfer?

De manier waarop de blokomzettingen van een blokcijfer worden gecombineerd om gegevens te versleutelen die langer zijn dan één blok. Voorbeelden zijn ECB, dat elk blok onafhankelijk versleutelt; CBC, dat elk blok vóór het versleutelen via XOR combineert met het vorige blok cijfertekst; CTR, dat de gegevens via XOR combineert met een sleutelstroom die ontstaat door een teller te versleutelen; en GCM, dat aan CTR authenticatie toevoegt. ECB wordt niet voor gewone gegevens gebruikt, omdat identieke blokken platte tekst identieke blokken cijfertekst worden. Bij CBC en CTR moeten initialisatievectoren en nonces correct worden behandeld.

Japanse benaming: 暗号利用モード

“Werkingsmodus van een blokcijfer” komt voor in 11 oefenvragen uit 1 onderwerpen, bijv. Basis en toepassingen van cryptografie.

Vakgebied: Basis en toepassingen van cryptografie

De belangrijkste modi vergeleken

ECB kan parallel worden verwerkt, maar laat de patronen van de platte tekst zichtbaar. CBC heeft padding nodig, en het versleutelen kan niet worden geparallelliseerd omdat elk blok op het resultaat van het vorige wacht; het ontsleutelen wel. CTR heeft geen padding nodig, zowel versleutelen als ontsleutelen kan worden geparallelliseerd, en het ontsleutelen kan op elke positie beginnen. CBC en CTR versleutelen echter alleen en kunnen geen manipulatie detecteren.

Modi voor geauthenticeerde versleuteling

GCM en CCM berekenen tijdens het versleutelen een authenticatietag en kunnen zo manipulatie detecteren. De belangrijkste protocollen van nu, zoals TLS 1.3, IPsec en de beveiliging van draadloze netwerken met WPA2 en WPA3, gebruiken zulke modi. CBC combineren met een MAC wordt in nieuwe ontwerpen weinig gedaan, omdat een verkeerde combinatie leidt tot aanvallen zoals padding-oracle-aanvallen.

Schijfversleuteling

Bij de versleuteling van schijven en SSD's wordt vaak de XTS-modus gebruikt, die voor elke sectorpositie een andere waarde gebruikt en een cijfertekst van dezelfde lengte als de platte tekst oplevert. Omdat de grootte van de opslaglocatie niet kan veranderen, kan er geen authenticatietag worden toegevoegd, dus manipulatie kan niet worden gedetecteerd.

Nu oefenen: vragen over Werkingsmodus van een blokcijfer

Beeldgegevens werden met AES in ECB-modus versleuteld, en in het versleutelde beeld waren de contouren van de oorspronkelijke afbeelding nog te herkennen. Wat is hiervan de oorzaak?

  1. ADe AES-sleutel was te kort, waardoor sommige blokken onversleuteld bleven
  2. BDe ECB-modus maakt voor elk blok automatisch een andere sleutel, en het patroon van die sleutels verschijnt in het versleutelde beeld
  3. CIn ECB-modus worden identieke blokken platte tekst altijd identieke blokken cijfertekst, zodat de patronen van vlakken met dezelfde kleur zichtbaar blijven
Antwoord en toelichting tonen

Antwoord: C. In ECB-modus worden identieke blokken platte tekst altijd identieke blokken cijfertekst, zodat de patronen van vlakken met dezelfde kleur zichtbaar blijven

De ECB-modus (electronic codebook) versleutelt eenvoudigweg elk blok onafhankelijk met dezelfde sleutel. Bevat de platte tekst blokken met dezelfde inhoud, dan verschijnen in de cijfertekst dus identieke blokken op dezelfde plaatsen. In een beeld met grote vlakken van dezelfde kleur, zoals een achtergrond, blijft de informatie over waar dezelfde kleur staat bewaard; het voorbeeld van een versleutelde afbeelding van een pinguïn is bekend. Daarom wordt de ECB-modus niet gebruikt om gewone gegevens te versleutelen, maar modi die ook uit dezelfde platte tekst elke keer een andere cijfertekst maken, zoals CBC-modus, CTR-modus en GCM.

Wat is een passende manier om met de initialisatievector (IV) om te gaan bij gebruik van AES in CBC-modus?

  1. ADe IV net als de sleutel geheimhouden en voor elk bericht dezelfde waarde blijven gebruiken
  2. BDe IV hoeft niet geheim te zijn, maar voor elk bericht wordt een nieuwe willekeurige waarde gekozen die een aanvaller niet kan voorspellen
  3. CDe IV hoeft niet geheim te zijn en mag elke keer vastliggen op een met de andere partij afgesproken waarde (bijvoorbeeld allemaal nullen)
Antwoord en toelichting tonen

Antwoord: B. De IV hoeft niet geheim te zijn, maar voor elk bericht wordt een nieuwe willekeurige waarde gekozen die een aanvaller niet kan voorspellen

In CBC-modus wordt elk blok platte tekst vóór het versleutelen via XOR gecombineerd met het vorige blok cijfertekst, en het eerste blok met de IV. De IV wordt meestal aan het begin van de cijfertekst meegestuurd en hoeft dus niet geheim te zijn. Wordt echter elke keer dezelfde IV gebruikt, dan beginnen de cijferteksten van berichten met hetzelfde begin ook gelijk, en lekt uit dat delen van de inhoud gelijk zijn. Bovendien zijn er aanvallen bekend die de inhoud raden door zelfgekozen platte tekst te laten versleutelen als een aanvaller de volgende IV kan voorspellen (zoals de BEAST-aanval op TLS 1.0).

Veelgestelde vragen

Welke modus kan ik het beste kiezen?

Gebruik zonder bijzondere reden geauthenticeerde versleuteling zoals AES-GCM of ChaCha20-Poly1305, en zorg dat nonces onder dezelfde sleutel nooit samenvallen. Gebruik geen ECB. De geauthenticeerde versleuteling die een bibliotheek aanbiedt, is minder foutgevoelig dan zelf CBC of CTR met een MAC combineren.

Waarom heeft de CTR-modus geen padding nodig?

De CTR-modus combineert de platte tekst alleen via XOR met een sleutelstroom die het blokcijfer maakt, dus de sleutelstroom van het laatste blok kan eenvoudig op de lengte van de platte tekst worden afgekapt. Wat door het blokcijfer gaat, is de tellerwaarde, niet de platte tekst zelf.

“Werkingsmodus van een blokcijfer” in de toelichting

Vragen met “Werkingsmodus van een blokcijfer” (11)

  1. Beeldgegevens werden met AES in ECB-modus versleuteld, en in het versleutelde beeld waren de contouren van de oorspronkelijke afbeelding nog te herkennen. Wat is hiervan de oorzaak?
  2. Wat is een passende manier om met de initialisatievector (IV) om te gaan bij gebruik van AES in CBC-modus?
  3. AES (bloklengte 16 bytes) wordt in CBC-modus gebruikt met PKCS#7-padding. Bij PKCS#7 worden, als er n bytes ontbreken, n bytes met de waarde n toegevoegd, en ook als de lengte van de platte tekst precies een veelvoud van 16 is, worden 16 bytes met de waarde 16 toegevoegd. Hoe lang is de cijfertekst (zonder de IV) als een platte tekst van 96 bytes wordt versleuteld?
  4. Een server die in CBC-modus versleutelde gegevens ontvangt, gaf verschillende foutmeldingen wanneer de padding na het ontsleutelen onjuist was en wanneer de padding juist was maar de controle van de inhoud mislukte. Welke uitspraak over deze situatie is juist?
  5. Welke uitspraak beschrijft een kenmerk van de CTR-modus (tellermodus) van een blokcijfer juist?
  6. In CTR-modus werden per vergissing twee berichten met dezelfde sleutel en dezelfde nonce versleuteld. Voor de byte op een bepaalde positie is de eerste platte tekst P₁ gelijk aan 01001000 (ASCII „H”), de bijbehorende cijfertekst C₁ is 01110100 en de tweede cijfertekst C₂ is 01010101. Wat is de tweede platte tekst P₂ op dezelfde positie als de aanvaller P₁ kent?
  7. Stel 1 GiB = 2³⁰ bytes en 1 EiB = 2⁶⁰ bytes. Een blokcijfer met een blok van 64 bits (zoals 3DES) wordt in CBC-modus gebruikt om een grote hoeveelheid gegevens onder één sleutel te versleutelen. Als de blokken cijfertekst als willekeurige waarden van 64 bits worden beschouwd, bij welke hoeveelheid gegevens is de kans dat er door de verjaardagsparadox een paar identieke blokken cijfertekst verschijnt volgens de vuistregel niet meer te verwaarlozen?
  8. Welke uitspraak beschrijft het verschil tussen blokcijfers en stroomcijfers binnen de symmetrische cryptografie juist?
  9. Wat biedt geauthenticeerde versleuteling (AEAD) zoals AES-GCM in één bewerking?
  10. Welke uitspraak over de nonce (IV) van 96 bits die in AES-GCM wordt gebruikt, is juist?
  11. Welke uitspraak beschrijft juist een verandering in TLS 1.3 (RFC 8446) ten opzichte van TLS 1.2?

Verwante termen

Geauthenticeerde versleuteling (AEAD) AES (Advanced Encryption Standard) Nonce TLS (Transport Layer Security) Verjaardagsaanval Cookie (HTTP-cookie) Symmetrische cryptografie (secret-key-cryptografie) Berichtauthenticatiecode (message authentication code) RSA-cryptosysteem Forward secrecy

Naar de woordenlijst