Wat is een veilig hash-algoritme?
Een veilig hash-algoritme, ook bekend onder de naam SHA, is een hashing-algoritme dat als cryptografisch veilig wordt beschouwd. De oorspronkelijke gegevens, eenmaal gehasht door een veilig hash-algoritme, kunnen meestal niet worden gereconstrueerd met een haalbare hoeveelheid rekenkracht. Veilige hash-algoritmen worden vaak gebruikt in combinatie met andere algoritmen om berichten te authenticeren, inclusief digitale handtekeningen.
Sommige netwerkrouters en firewalls implementeren veilige hash-algoritmen rechtstreeks in hun hardware. Hierdoor kunnen datapakketten worden geverifieerd met een beperkte impact op de doorvoer. Er bestaat ook veilige hash-algoritme-software, waaronder veel open source-implementaties. Het Amerikaanse National Institute of Standards and Technology (NIST) en het Canadian Communications Security Establishment (CSE) voeren gezamenlijk het Cryptographic Module Verification Program (CMVP) uit. Dit officiële programma certificeert de correcte werking van veilige hash-algoritme-implementaties voor gevoelige toepassingen.
De Amerikaanse overheid heeft ten minste zes veilige hash-algoritmen gestandaardiseerd. SHA-0 en SHA-1 waren de vroegste incarnaties die in de jaren negentig werden ontwikkeld. De SHA-2-serie ontwikkeld in de jaren 2000 omvatte SHA-224, -256, -384 en -512. Deze zijn zodanig ontworpen dat twee documenten met verschillende inhoud over het algemeen twee unieke sets hash-waarden produceren, waardoor hash-botsingen worden voorkomen.
Het SHA-0-algoritme, voor het eerst gepubliceerd in 1993 door de NIST, werd snel stopgezet nadat een significante zwakte werd gevonden. Het werd vervangen door SHA-1 in 1995, dat een extra rekenstap bevat die de niet-bekendgemaakte problemen van SHA-0 aanpakt. Beide algoritmen hash een bericht van maximaal 2 64 -1 bits in een 160-bits "digest". Beide maken gebruik van een blokgrootte van 512 bits en een woordgrootte van 32 bits.
SHA-1 wordt gebruikt in enkele veelgebruikte internetprotocollen en beveiligingshulpmiddelen. Deze omvatten IPsec, PGP, SSL, S / MIME, SSH en TLS. SHA-1 wordt meestal ook gebruikt als onderdeel van het beveiligingssysteem voor niet-geclassificeerde overheidsdocumenten. De particuliere sector gebruikt dit veilige hash-algoritme ook voor gevoelige informatie. Het is gepland om in 2010 niet meer te worden gebruikt door de overheid.
SHA-224, -256, -384 en -512 werden gepubliceerd door de NIST tussen 2001 en 2004. Deze vier algoritmen, ook bekend als de SHA-2-familie, zijn over het algemeen robuuster dan SHA-1. SHA-224 en SHA-256 gebruiken dezelfde blok-, woord- en maximale invoerberichtgroottes als SHA-1. SHA-224 produceert daarentegen een 224-bits samenvatting, terwijl SHA-256 een 256-bits samenvatting genereert. SHA-384 en SHA-512 vergroten de blokgrootte tot 1024 bits, de woordgrootte tot 64 bits en de maximale lengte van het invoerbericht tot 2 128 -1 bits. De samenvatting geproduceerd door SHA-384 is 384 bits lang, terwijl de SHA-512 samenvatting 512 bits bevat.
Net als SHA-0 en SHA-1 is de SHA-2-familie ontworpen door het Amerikaanse National Security Agency (NSA). Hoewel ernstige tekortkomingen niet openbaar zijn gemaakt in SHA-2, heeft NIST een wedstrijd geopend om het volgende veilige hash-algoritme te ontwikkelen. Dit nieuwe algoritme, genaamd SHA-3, zal waarschijnlijk in 2012 worden gekozen uit een verzameling openbare inzendingen. Er wordt verwacht dat het een nieuw ontwerp is, niet gebaseerd op de bestaande algoritmen.