Où en sont les GPU brute forcer ?

cudaAprès avoir essayé d’extrapoler le temps nécessaire pour casser un mot de passe avec des supercalculateurs dans ce billet, puis dans celui-ci avec PBKDF2, je vais à présent m’intéresser dans cet article à essayer de définir le temps réel qu’il faut aujourd’hui pour une machine du commerce de milieu-haut de gamme pour casser des mots de passe MD5 à l’aide de la puissance de la carte graphique et donc le GPGPU.

Voilà maintenant un peu plus d’un an (mai 2008) que le premier brute forcer se servant de la puissance des GPU et de l’API CUDA de NVIDIA est apparu. Ce brute forcer porte le doux nom de MD5-GPU et pour la petite histoire il a été écrit par un Français : Benjamin Vernoux (cocorico). Avec une 8800GT, la version 0.1 de MD5-GPU générait une puissance de 60Mhash/s, la version 0.2 qui suivit dans le même mois atteignait déjà 200MHash/s.

2 mois après, en juillet 2008, le Biélorusse Svarychevski Michail Aleksandrovich est propulsé sur le devant de la scène avec son BarsWF qui permet de cumuler la puissance de calcul du CPU avec celle du GPU. En octobre 2008, BarsWF devenait le bruteforcer MD5 le plus rapide du monde avec une puissance de 450MHash/sec toujours avec une 8800GT ce qui cumulé avec un processeur de type e6750 pouvait donner une puissance de 550Mhash/sec.

L’année 2008 se termine donc dans l’hégémonie de CUDA et des cartes NVIDIA pour les bruteforcer.

ati-streamMais c’était sans compter sur AMD, avec la déferlante de cartes HD4xx0 sorties à l’été 2008. Bien que CUDA soit plus stable et plus performant que brook+, le rapport puissance/coût des nvidia est très largement défavorable. Et c’est au tout début de l’année 2009 que Svarychevski Michail Aleksandrovich sort la première version de BarsWF pour carte ATI se basant sur Brook+. Brook+ maintenant appelé ATI Stream est une API GPGPU issue de BrookGPU de l’université de Stanford qui permet de tirer profit de la puissance des cartes ATI pour le calcul. Et dès la première bêta de BarsWF-Brook+ les résultats furent à la hauteur des espérances. Une HD4870 (coûtant dans les 130 euros pour 1200Gflops) atteint les 1100MHash MD5 /sec tandis qu’une GTX285 (coûtant dans les 330 euros pour 1063 Gflops) ne dépasse pas les 800 Mhash MD5 /sec. Pas besoin de plus d’explication pour comprendre pourquoi ATI a la faveur des bruteforcers depuis le début de l’année.

Et c’est en juillet 2009 que sort IGHASHGPU qui se veut plus rapide que BarsWF sur les cartes ATI et très proche pour les cartes Nvidia. Contrairement à BarsWF la dernière version de IGHASHGPU (sortie le 6 août) peut gérer la salt pour le MD5. Avec IGHASHGPU une 4870×2(2400Gflops) atteint 1960 Mhash/sec tandis qu’une 4850(1000Gflops) atteint 950Mhash/sec.

black_hat-fad62-3-fb5ee

Le clou est enfoncé dans le dos de Nvidia, lors de la black hat 2009 par Marc Bevand, encore un Français et ancien de l’Epita. Il fait la démonstration que ces performances peuvent être encore amélioré en se basant sur le paradoxe des anniversaires. En utilisant une 4850×2 (2000 Gflops), il annonce avoir obtenu des performances  de l’ordre de 1630 Mhash, et en implémentant les anniversaires il arrive à obtenir 2090 Mhash/sec. Toutefois après la black hat il a annoncé avoir fait quelques erreurs dans son benchmark et la publication de son code prévu initialement pour la première semaine d’août est repoussée.

La course continue, cela ne fait qu’un an que le GPGPU est utilisé pour les brute forcer. Et le chemin parcouru d’un Français à un autre Français est impressionnant. La fin de l’année 2009 devrait être riche en rebondissements avec l’arrivée simultanée de la nouvelle plateforme GT300 de nvidia et Rv8x0 de ATI. Mais surtout du tant attendu OPENCL qui devrait réunir ATI et NVIDIA pour le GPGPU. Dans un prochain billet je ferai un récapitulatif sous forme de tableau des capacités actuelles de brute force sur les différents algorithmes de hash.

4 réflexions sur “Où en sont les GPU brute forcer ?”

  1. Et sinon, tu me conseils quoi pour la sortie de StarCraft 2 ? Si possible j’aimerais ne pas à avoir à racheter de carte pour Diablo 3 après…

    Alors alors ? :p

    Très bon article, serais tu si il existe des applications de brute force réseau capable de partager le calcul entre plusieurs machines connectées en réseau ?

    Genre ta machine sert à casser des clés pendant que l’économiseur d’écran tourne, au lieu de déchiffrer des molécules et autres codes du génome humain :p

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *