Basic Security
cryptografie
CERTIFICATEN

SHA-familie

De SHA-familie, wat staat voor Secure Hash Algorithm, bestaat uit een reeks verwante cryptografische hashfuncties die zijn ontworpen door de Amerikaanse National Security Agency en gepubliceerd zijn door het Amerikaanse National Institute of Standards and Technology.

Het hoofddoel van deze algoritmen is om een verkorte representatie, ook wel een “samenvatting” of “digest” genoemd, te berekenen voor een gegeven reeks tekens, bekend als de “boodschap” of “message”. Deze algoritmen worden als “veilig” beschouwd omdat, volgens de standaard, het computationeel onpraktisch is om voor een gegeven algoritme:

  • Een andere boodschap te vinden die dezelfde samenvatting oplevert (dit staat bekend als een “botsing”).
  • De oorspronkelijke boodschap te reconstrueren op basis van de samenvatting (pre-image resistant).

Met andere woorden, deze algoritmen streven ernaar om unieke, verkorte representaties te genereren die de oorspronkelijke boodschap niet eenvoudig kunnen worden achterhaald, zelfs niet door krachtige berekeningen.

Het is zeer waarschijnlijk dat elke willekeurige wijziging in de boodschap zal resulteren in een verschillende samenvatting.

Vanaf 2020 wordt SHA-1 als onveilig beschouwd, vergelijkbaar met MD5. Met de introductie van de Shambles-aanval is er nu een praktische en volledige aanvalsmogelijkheid op de SHA-1-hashfunctie beschikbaar. Met andere woorden, alle aanvallen die sinds 2007 op MD5 kunnen worden toegepast, zijn nu ook van toepassing op SHA-1

SHA-256

SHA-256 komt uit de SHA-familie waar SHA voor Secure Hash Algorithm staat. Naast SHA-256 bestaat de SHA-familie onder andere uit SHA-i en SHA-512. Het SHA-256 algoritme genereert een 256 bits hashwaarde. Het is nog niet gelukt om twee dezelfde hashwaarden te genereren.

Om een SHA-algoritme op een computersysteem te gebruiken, is het nodig om de softwaretools sha1sum of CertUtil te gebruiken. Wanneer we de hashwaarde van een tekstbestand met de inhoud ‘Security’ berekenen, zal de resulterende hashwaarde voor SHA-1 altijd f25ce1b8a399bd8621a57427a20039b4b13935db en voor SHA-256 altijd 8f6fb4eb7f42c0e245e29e63f5b82cc3ba19852681d1ed9aed291f59cf75ec0e.