Basis van informatiebeveiliging

Welke combinatie geeft voor een ideale hashfunctie met een uitvoer van 256 bits het geschatte aantal berekeningen voor een brute-force-aanval in twee gevallen: een invoer vinden die een gegeven hashwaarde oplevert (een preimage-aanval), en willekeurig welke twee verschillende invoeren vinden die dezelfde hashwaarde opleveren (een botsingsaanval)?

  1. APreimage-aanval ongeveer 2^256, botsingsaanval ongeveer 2^128
  2. BPreimage-aanval ongeveer 2^128, botsingsaanval ongeveer 2^256
  3. CZowel de preimage-aanval als de botsingsaanval ongeveer 2^256
Antwoord en toelichting tonen

Antwoord: A. Preimage-aanval ongeveer 2^256, botsingsaanval ongeveer 2^128

Een ideale hashfunctie met een uitvoer van n bits heeft 2^n mogelijke hashwaarden, en elke geprobeerde invoer komt met kans 1/2^n overeen met een gegeven hashwaarde. Een preimage-aanval vergt daarom ongeveer 2^n berekeningen, voor n = 256 dus ongeveer 2^256. Bij een botsingsaanval mogen echter willekeurig welke twee invoeren overeenkomen, dus k geprobeerde invoeren leveren ongeveer k^2/2 te vergelijken paren op. Zodra k^2/2 in de buurt van 2^n komt, dus als k rond 2^(n/2) ligt, wordt een botsing waarschijnlijk; voor n = 256 is dat ongeveer 2^128. Dit is hetzelfde idee als de verjaardagsparadox, waarbij in een groep van 23 personen de kans dat twee dezelfde verjaardag hebben groter is dan 50%, en daarom heet dit een verjaardagsaanval. De sterkte van een hashfunctie tegen botsingen wordt dus geschat op de helft van de uitvoerlengte, en voor een sterkte van 128 bits is een uitvoer van 256 bits nodig.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van informatiebeveiliging

  1. Wanneer een webdienst de wachtwoorden van gebruikers opslaat, voegt hij aan het wachtwoord een willekeurige waarde toe die per gebruiker verschilt (een salt) voordat hij de hashwaarde berekent en opslaat. Wat is het belangrijkste doel van de salt?
  2. Voor het opslaan van wachtwoorden wordt aanbevolen niet een snelle hashfunctie zoals SHA-256 rechtstreeks te gebruiken, maar een methode die bewust zo is ontworpen dat de berekening tijd kost, zoals bcrypt of Argon2. Waarom?
  3. Een wachtwoord van 8 tekens wordt met brute force gezocht door alle kandidaten te proberen. Als er per seconde 1×10^10 kandidaten kunnen worden getest, welke combinatie ligt het dichtst bij de tijd die nodig is om alle kandidaten te proberen voor een wachtwoord van alleen kleine letters (26 soorten) en voor een wachtwoord van hoofdletters, kleine letters en cijfers (62 soorten)?
  4. A zet een digitale handtekening onder een document dat naar B wordt gestuurd. Welke combinatie geeft juist aan met welke sleutels de handtekening wordt gemaakt en gecontroleerd, en wat de digitale handtekening kan bevestigen?
  5. Welke uitspraak vergelijkt een berichtauthenticatiecode (MAC) juist met een digitale handtekening?