La potencia masiva que ofrecen las tarjetas gráficas fue redescubierta hace algún tiempo y las alternativas GPGPU para realizar cómputo general con los procesadores gráficos comenzaron a surgir. Algunas de esas alternativas estaban destinadas a un propósito concreto: acelerar el descubrimiento de contraseñas por técnicas de fuerza bruta.
En Linux Journal han publicado un artículo absolutamente fantástico sobre el tema -en inglés, eso sí- en el que el autor explica en dos partes cómo funciona en general el cracking de contraseñas, para después poner esas teorías en práctica aprovechando la potencia de nuestra GPU.
En esa segunda parte, que probablemente sea la más interesante por su contenido práctico, se demuestra que efectivamente las GPUs pueden ser valiosas herramientas para este propósito, aunque desde luego no es oro todo lo que reluce.
De hecho, el autor consiguió crackear rápidamente y con éxito una serie de contraseñas en sus pruebas por un motivo bastante claro: hizo uso de contraseñas con tan solo 6 caracteres. Como él mismo explica, el uso de contraseñas con un mayor número de caracteres y sobre todo de contraseñas que hacen uso de un juego de caracteres más amplio (no solo letras, sino letras, números, y caracteres especiales) hace que el descubrimiento de contraseñas mediante técnicas de fuerza bruta sea prácticamente inabarcable.
Por ejemplo, si se usa un juego de caracteres con minúsculas, mayúsculas y números tenemos 62 caracteres, y las combinaciones para una contraseña de tan solo 6 caracteres son de 62^6, o sea, 57.000 millones. Con su tarjeta gráfica de AMD -no especifica el modelo- lograba comprobar 350.000 combinaciones por segundo, lo que hace que en el peor de los casos tardaría 45 horas en completar la tarea con éxito.
No parece mucho tiempo, pero si nos vamos a contraseñas de 8 caracteres tendríamos 62^8, o lo que es lo mismo, 218 billones de combinaciones. Con su gráfica actual tardaría 19 años en descubrir la contraseña buscada, un tiempo inaceptable que se hace aún mayor si añadimos caracteres especiales, lo que elevaría el tiempo necesario a 652 años de computación constante.
Aún así, «juguetear» con estas posibilidades siempre es interesante, y en el citado artículo explican cómo hacerlo. Desde luego, una forma muy instructiva de darnos cuenta de lo importante que es una buena contraseña.