Hoe je SHA1, SHA256 en SHA512 Hashes controleert op Linux
Hoe weet u zeker dat het 4 GB-bestand dat u zojuist hebt gedownload, zonder fouten is overgedragen? Eén manier is om een hash-algoritme te gebruiken dat een "vingerafdruk" of een "bericht-samenvatting" van het gedownloade bestand produceert. Net als menselijke vingerafdrukken is de resulterende tekenreeks uniek en alleen dat bestand kan die vingerafdruk produceren. Sites die grote downloads aanbieden, bijvoorbeeld een Linux-distributie zoals Fedora, zullen ook een lijst met hashes voor de bestanden publiceren. Het enige dat u hoeft te doen, is de hash van het bestand dat u hebt tegen de gepubliceerde hash controleren en als ze hetzelfde zijn, is het bestand correct gedownload.
In het verleden was het favoriete hash-algoritme MD5 en hoewel het nog steeds algemeen wordt gebruikt (bijvoorbeeld het Ubuntu-project biedt nog steeds MD5 hashes), wordt het langzaam vervangen door de SHA hashes-familie. Het probleem met MD5 is dat het mogelijk is om meerdere bestanden met dezelfde vingerafdruk te maken. In een beroemd geval onder cryptografen zeiden beveiligingsonderzoekers dat hij wist wie de presidentsverkiezingen zou winnen en dat hij een bestand met het resultaat erin had gemaakt en de MD5-hash had uitgegeven. Hij zou zijn dossier na de verkiezingen vrijgeven en bewijzen dat zijn voorspelling juist was. Wat hij in feite had gedaan, was verschillende bestanden maken met alle mogelijke winnaars en de bestanden zo bewerken dat ze allemaal dezelfde MD5-vingerafdruk hadden!
Er zijn verschillende Secure Hash Algorithms (SHA) waaronder SHA1, SHA256 en SHA512. Technisch gezien gebruiken SHA256 en SHA512 beide hetzelfde algoritme, maar verwerken ze de gegevens in chunks van verschillende grootte - SHA256 gebruikt 32-bits blokken en SHA512 64-bits blokken.
SHA1 lijkt op MD5 en net als MD5 zijn er wat zorgen over de uniekheid van de resulterende hashes en het is niet langer goedgekeurd voor vele cryptografische toepassingen sinds 2010. Als u echter een site vindt die SHA1-hashes publiceert, kunt u deze als volgt controleren :
sha1sum Fedora-19-i386-netinst.iso
De uitvoer ziet er als volgt uit:
b24e9b7bd49168839fd056bbd0ac8f2aec6b68b9 Fedora-19-i386-netinst.iso
SHA256-hashes worden op dezelfde manier gegenereerd:
sha256 Fedora-19-i386-netinst.iso
En de uitvoer is vergelijkbaar, behalve dat de vingerafdrukstring veel langer is:
2b16f5826a810bb8c17aa2c2e0f70c4895ee4b89f7d59bb8bf39b07600d6357c Fedora-19-i386-netinst.iso
En ook voor SHA512:
sha512sum Fedora-19-i386-netinst.iso
De resulterende vingerafdruk is nog langer:
9eb35d03cc289aa5d5a29cfc9080c3152a3da1b91a2b12d352b16a3d817a7479b9d1be3c7ecf011abf6a01f3122c66892f96a2c213756df786117412d8df99b3 Fedora-19-i386-netinst.iso
In plaats van alleen de vingerafdrukstring afzonderlijk te publiceren, bieden sommige sites een checksum-bestand dat alle hash-informatie bevat in een machinaal leesbare vorm die de verschillende sha
commando's kunnen gebruiken om bestanden automatisch te verifiëren. Een checksum-bestand voor de netinstallatie 32-bits Intel-versie van Fedora 19 ziet er als volgt uit:
2b16f5826a810bb8c17aa2c2e0f70c4895ee4b89f7d59bb8bf39b07600d6357c * Fedora-19-i386-netinst.iso
Gebruik de parameter " -c
" als volgt om dit te controleren:
sha256sum -c Fedora-19-i386-CHECKSUM
Waar Fedora-19-i386-CHECKSUM
de naam is van het bestand met de vingerafdrukinformatie zoals hierboven getoond.
Als de vingerafdrukken overeenkomen, ziet de uitvoer er als volgt uit:
Fedora-19-i386-netinst.iso: OK
Als het gedownloade bestand een fout bevat, is de uitvoer:
Fedora-19-i386-netinst.iso: FAILED sha256sum: WAARSCHUWING: 1 berekende controlesom kwam NIET overeen
Probeer dit
Uw Linux-distributie bevat waarschijnlijk ook de sha224
en sha384
opdrachten. Deze twee hash-algoritmen zijn afgekapte versies van SHA256 en SHA512. Ze kunnen op precies dezelfde manier worden gebruikt als de sha512
en sha512
commando's. Probeer hashes te produceren en gebruik de verschillen in de uitvoer.