Şifreleme Algoritmaları için Benchmark Testi

Merhaba,

Veritabanında plain-text olarak veri tutmak tehlikelidir, bu yüzden verilerimizi MD5-SHA gibi şifreleme yöntemleri ile şifrelememiz gerekebilir. Bu aşamada seçeceğimiz şifreleme metoduna karar vermek açısından bir performans testi yapmak gerektiğini düşündüm.

Öncelikle şu sayfayı güzelce bir inceleyin, elimizin altında bulunsun; http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html

Elinizde ki stringin, çeşitli kriptolama yöntemlerinde ortaya çıkarttığı hash hakkında bir ön görüşünüz olması için şu ufak uygulamayı inceleyebilirsiniz; http://www.serhatdundar.com/projeler/string-hash-generator.php

Uygulamayı incelemek ve indirmek için; https://gist.github.com/979613

Ufak bir kaç benchmark testi yapalım. Bunun için aşağıda ki uygulamayı kullanabilirsiniz;

Bu testten alacağımız sonuçlara göre en hızlı çalışan ve en yavaş çalışan metodları göreceğiz. Dolayısıyla hangi şifreleme algoritmasını kullanacağımıza karar vermemizde önemli bir rol oynayan performans etkenini kafamızda netleştireceğiz.

(Bu test 32 byte’lık veri için, 1000 kez tekrarlanmıştır…)

Sonuçlara göre md2-whirlpool-sha512 ve sha384 hala en yavaş çalışan kripto metodları olarak görünüyor. En popüler yöntemlere göz atacak olursak MD5 en hızlı olarak değerlendirebileceğimiz 2.sırada, SHA1 ise 5.sıradan yerini alıyor.

MD5 ve SHA1 algoritmaları uzun zaman önce çözüldü, 512bit’lik (64byte) ve 384bit’lik SHA algoritması ise hala çözülebilmiş değil.

Whirlpool algoritmasını da son zamanlarda oldukça duymaya başladık. AES tabanında geliştirilen bu algoritma tahtını kimseye bırakmıyor ancak kullanışlılık yönünden puanı oldukça düşük. Performans yönünden bu denli zayıf olması web uygulamaları altında kullanımı önünde büyük bir engel, bu durum ise popülerliğini düşürüyor.

1 thought on “Şifreleme Algoritmaları için Benchmark Testi”

  1. Merhaba,
    incelemis old. konu için öncelikle teşekkürler çok işime aradı lakin ben kodları çalıştıramadım. Linux mu olması gerek acaba?Windows kullanıyorum ben. php designer editöründe açtım kodları. ve localde çalıştım.

Leave a Reply