Hashfuncties: SHA-256 en verder
Verdiep u in eigenschappen van cryptografische hashes: collision resistance, preimage resistance en toepassingen.
Hashfuncties: SHA-256 en verder is een gratis Cyber Security Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cyber Security Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cyber Security Academy bevat in totaal 4 lessen.
Wat is een cryptografische hashfunctie?
Een cryptografische hashfunctie neemt invoer van willekeurige lengte en produceert uitvoer met een vaste lengte (hashwaarde). De functie moet deterministisch en snel te berekenen zijn, bestand zijn tegen het terugvinden van de oorspronkelijke invoer, botsingsbestendig zijn (je kunt geen twee invoeren met dezelfde hash vinden) en gevoelig zijn voor het lawine-effect (een kleine wijziging leidt tot een volledig andere hash).
De SHA-2-familie
De familie SHA-2 (ontworpen door NSA en gestandaardiseerd door NIST) omvat:
- SHA-256 — uitvoer van 256 bits, veelgebruikt
- SHA-384 — uitvoer van 384 bits
- SHA-512 — uitvoer van 512 bits, sneller op 64-bits-CPU's
SHA-256 wordt gebruikt in Bitcoin, TLS-certificaten en Git-commit-ID's.
De SHA-3-familie
SHA-3 gebruikt een volledig ander ontwerp (de sponsconstructie van Keccak) dan SHA-2. Het werd gestandaardiseerd als reserve voor het geval er zwakke plekken in SHA-2 worden gevonden. SHA-3 wordt niet breed toegepast, maar wordt gebruikt in sommige cryptografische protocollen en hardware.
MD5 en SHA-1: gebroken
Gebruik MD5 of SHA-1 nooit voor beveiligingsdoeleinden:
- MD5: botsingen kunnen met gangbare hardware binnen enkele seconden worden gevonden
- SHA-1: de eerste praktische botsing werd in 2017 aangetoond (SHAttered)
Ze zijn nog wel bruikbaar voor checksums zonder beveiligingsdoel (deduplicatie van bestanden), maar niet voor integriteitsgaranties.
Hashgebruik: bestandsintegriteit
Downloads verifiëren:
sha256sum ubuntu-24.04.iso
# Compare with the hash published on the official site
# If hashes match, file is unmodifiedHashgebruik: digitale handtekeningen
Bij het ondertekenen van documenten versleutelen we niet het volledige document met de privésleutel (te traag). In plaats daarvan:
- Bereken de hash van het document (snel)
- Versleutel de hash met de privésleutel (klein, snel)
- De ontvanger ontsleutelt met de publieke sleutel en vergelijkt de hash met de hash die die zelf heeft berekend
HMAC: hash met sleutel voor integriteit
HMAC (op hash gebaseerde berichtauthenticatiecode) combineert een hashfunctie met een geheime sleutel om een authenticatietag te produceren. Het wordt gebruikt om zowel de gegevensintegriteit als de echtheid te verifiëren. HMAC wordt gebruikt in JWT's, API-authenticatie en TLS.
import hmac, hashlib
mac = hmac.new(key, message, hashlib.sha256).hexdigest()Aanvallen met hash-lengte-uitbreiding
SHA-2 (de constructie van Merkle-Damgård) is kwetsbaar voor aanvallen met lengte-uitbreiding: als je H(geheim+bericht) kent, kun je H(geheim+bericht+uitbreiding) berekenen zonder het geheim te kennen. HMAC voorkomt dit. SHA-3 is hier niet kwetsbaar voor.
Regenboogtabellen en salting
Een regenboogtabel berekent vooraf koppelingen tussen hashes en invoer om deze snel op te zoeken. Salting voorkomt dit: door per invoer een unieke willekeurige waarde toe te voegen, wordt elke hash uniek. Daardoor is per invoer een volledige uitputtende zoekactie nodig in plaats van een opzoeking.
Merkle-bomen
Een Merkle-boom is een boom van hashes waarin elk bovenliggend knooppunt de hash van zijn kinderen is. Merkle-bomen worden gebruikt in de Bitcoin-blockchain, Git en logboeken voor transparantie van certificaten om grote gegevensverzamelingen efficiënt te verifiëren zonder alles te downloaden.
De juiste hash kiezen
Keuzehulp:
- Algemene integriteit/checksums: SHA-256
- Wachtwoordopslag: Argon2id, bcrypt (NIET rechtstreeks SHA-256)
- Berichtauthenticatie: HMAC-SHA-256
- Digitale handtekeningen: SHA-256 of SHA-384 als onderliggende hash
- Vermijd: MD5 en SHA-1 voor beveiligingstoepassingen
Korte controle: hashfuncties
Welke constructie voorkomt aanvallen met lengte-uitbreiding en vereist tegelijkertijd een geheime sleutel?
Samenvatting van de les
Hashfuncties produceren hashwaarden met een vaste lengte uit invoer van willekeurige lengte. SHA-256 en SHA-512 zijn de huidige standaarden. MD5 en SHA-1 zijn gebroken voor beveiligingstoepassingen. HMAC voegt een geheime sleutel toe voor geauthenticeerde integriteit. Gebruik Argon2/bcrypt voor wachtwoorden. Merkle-bomen breiden hashing uit om grote gegevensverzamelingen efficiënt te verifiëren.
Leer Cyber Security Academy met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 76
- Lessen
- 303
Veelgestelde vragen
Is de les “Hashfuncties: SHA-256 en verder” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Cyber Security Academy, waaronder “Hashfuncties: SHA-256 en verder”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Cyber Security Academy bevat in totaal 4 lessen.
Wat leer ik in “Hashfuncties: SHA-256 en verder”?
Verdiep u in eigenschappen van cryptografische hashes: collision resistance, preimage resistance en toepassingen. Je oefent met Cyber Security Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Cyber Security Academy te beginnen?
Ervaring vooraf is niet nodig. Cyber Security Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Hashfuncties: SHA-256 en verder”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Cyber Security Academy?
Ja. Elke les over Cyber Security Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Symmetrische versleuteling: AES en streamciphers
- Asymmetrische versleuteling: RSA en elliptische krommen
- Hashfuncties: SHA-256 en verder
- Digitale handtekeningen en certificaten