vrijdag 4 mei 2012

Hashing 2; Performance

Zoals ik in het vorige bericht al meldde wil ik een verschil aantonen tussen de verschillende hash algoritmes. Ik heb hiervoor een kleine applicatie beschikbaar waarmee ik deze kan timen.






Met behulp van deze performance counter kunnen we het verschil in snelheid zien. Ik heb een tekst gegenereerd van 3684 bytes en ik laat deze 10.000 en 100.000 keer hashen. De totale tijd die ik daarvoor nodig heb heb ik gemeten.

De volgende tabel komt daar uit.


Wat opvalt is dat SHA256 - het hashing algoritmes wat gebruikt wordt in alle nieuwe 2e generatie certificaten circa 3x trager is dan het eerder gebruikte SHA1 en MD5.

Verder  valt op dat SHA384 en SHA512 circa 6x trager zijn dan SHA1 en MD5, maar dat het verschil tussen 384bits en 512 bits erg klein is. Dat heeft te maken met het feit dat SHA384 & SHA512 beide intern gebruik maken van 512bits 'Internal State Size' en een 1024bits 'block size' ten opzichte van 256bits en 512bits bij SHA256. Alleen de output van SHA384 en SAH512 is anders (384bits bij SHA384 en 512bits bij SHA512)
bron: http://en.wikipedia.org/wiki/SHA-2

Er zijn vast en zeker nog wat verbeteringen in de code door te voeren om het geheel wat consistenter en sneller te maken, maar het gaat om het verschil.

Wil je het zelf testen: Download de applicatie op http://dl.dropbox.com/u/16978891/Hash%20performance%20Calculator.zip

Ook deze file is vrij van virussen en ander spy- dan wel malware. test hem gerust op http://virusscan.jotti.org of een andere online scanner.
Wil je de broncode: Neem even contact op.




Geen opmerkingen:

Een reactie posten