Hash Functies

Een cryptografische hash geeft een hashwaarde die na berekening met behulp van bv RSA een elektronische handtekening geeft van een tekst of data file. Het kan niet echt als een soort van encryptie beschouwd worden, omdat het in wezen een ‘one way ticket’ is. Een hash kan niet gedecrypt worden naar de originele file. Waarom en hoe zou men dit dan gebruiken?

Men zal vooral hashes gaan vergelijken, aangezien een SHA-1 hash functie een 160-bit (of 20-byte) digested message zal maken van een file.

Mogelijke scenario’s :

Wachtwoord validatie : Men zou bijvoorbeeld de hash-voorstelling van het wachtwoord kunnen opslaan in een database. Vervolgens gaat men van het ingevoerde wachtwoord op dezelfde werkwijze een hash-voorstelling maken en deze twee vergelijken.

Challenge hash authentication : Er bestaat een reeël gevaar dat een wachtwoord onderschept wordt bij communicatie tussen een cliënt en een server. Dus men zal dan eerder de hash van het wachtwoord doorsturen zodat de server op zijn beurt een validatie uitvoert.

Digitale handtekening van een file : Vaak wil men verifiëren of men een origineel bestand heeft. De programmeur zal dan bij zijn download link op de website de handtekening vermelden dat zijn programma zogezegd zou moeten hebben. Als je dan wilt verifiëren of er iets gewijzigd werd aan jouw kopie dan kan je met behulp van zijn public key, waarmee zijn handtekening vercijfert is mbv RSA, jouw hash van het programma vergelijken met de hash van de programmeur. (*)

(*)SHA-1 en MD5 zijn niet meer veilig genoeg. Vaak zal men gebruik maken van RIPEMD-320.

Enkele voorbeelden waar SHA-1 nog wordt gebruikt :

– SSL (Secure Sockets Level, denk aan e-mail beveiliging bijvoorbeeld)

– PGP (Pretty Good Privacy)

– XML signatures

– Microsoft Xbox games zijn SHA1 gehandtekend.

Verder is er ook nog SHA-0 ontwikkeld, maar er werd ondervonden dat er serieuze beveiligingsfouten waren in het algoritme en deze is dus nooit echt populair geweest. Naar aanleiding van deze beveiligingsfouten werd de SHA-1 hash functie ontwikkeld. Dit is dus met andere woorden een verbeterde SHA-0 hash functie.

Zie je een fout of heb je vragen ? Comment below.

*EDITED on 6/02/2011

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s