Wat is Nonce?

In de cryptografie een waarde die onder dezelfde sleutel maar één keer wordt gebruikt; de naam betekent „number used once”. In CTR-modus en GCM levert twee keer dezelfde combinatie van sleutel en nonce dezelfde sleutelstroom op, waardoor de XOR van de platte teksten uitlekt; daarom wordt een teller of iets dergelijks gebruikt, zodat de waarden niet samenvallen. De initialisatievector (IV) die in CBC-modus wordt gebruikt, moet niet alleen uniek zijn, maar ook onvoorspelbaar voor een aanvaller. Geen van beide hoeft geheim te zijn; meestal worden ze samen met de cijfertekst verstuurd. Ook een nieuw toevalsgetal dat in een authenticatieprotocol wordt verstuurd om te voorkomen dat oude antwoorden opnieuw worden gebruikt (replay), heet een nonce.

Japanse benaming: ナンス

“Nonce” komt voor in 5 oefenvragen uit 1 onderwerpen, bijv. Basis en toepassingen van cryptografie.

Vakgebied: Basis en toepassingen van cryptografie

Nu oefenen: vragen over Nonce

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).

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?

  1. A00100001
  2. B00111100
  3. C01101001
Antwoord en toelichting tonen

Antwoord: C. 01101001

Met dezelfde sleutel en nonce is de sleutelstroom K gelijk, dus C₁ = P₁ ⊕ K en C₂ = P₂ ⊕ K. Eerst volgt K = P₁ ⊕ C₁ = 01001000 ⊕ 01110100 = 00111100, en dan P₂ = C₂ ⊕ K = 01010101 ⊕ 00111100 = 01101001 (ASCII „i”). Zonder de sleutel te kennen, levert de ene bekende platte tekst direct de andere op. Daarom is het in CTR-modus en GCM een onmisbare voorwaarde om onder dezelfde sleutel nooit twee keer dezelfde nonce te gebruiken.

“Nonce” in de toelichting

Vragen met “Nonce” (5)

  1. Wat is een passende manier om met de initialisatievector (IV) om te gaan bij gebruik van AES in CBC-modus?
  2. 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?
  3. Welke uitspraak over de nonce (IV) van 96 bits die in AES-GCM wordt gebruikt, is juist?
  4. Welke uitspraak beschrijft het verschil tussen blokcijfers en stroomcijfers binnen de symmetrische cryptografie juist?
  5. Welke uitspraak beschrijft een kenmerk van de CTR-modus (tellermodus) van een blokcijfer juist?

Verwante termen

Werkingsmodus van een blokcijfer AES (Advanced Encryption Standard) Geauthenticeerde versleuteling (AEAD) TLS (Transport Layer Security) Symmetrische cryptografie (secret-key-cryptografie) Certificaatautoriteit Crypto-agility Diffie-Hellman-sleuteluitwisseling Elliptische-krommecryptografie Envelopeversleuteling (envelope encryption)

Naar de woordenlijst