suponiendo que programaste algo hiper eficiente en c++ que pruebe 100.000 combinaciones por segundo, son 2.088.270 de segundos de calculo hasta el ultimo valor... es decir... unos 24 dias... pero como sabemos que c++ no es tan eficiente y que posiblemente no puedas usar un cpu super potente para el calculo, bajamos esto a solo 1.000 combinaciones por segundo... puedes sacar tus cuentas...
En un test que hice con un código cutre que encontré por ahí calculaba 75333076 combinaciones cada 1,070 segundos aprox.
El code en cuestión es de este hilo
http://www.cplusplus.com/forum/beginner/14264/ que es simple pero solo quería probar a cuanta velocidad llegaba (solo con 4 letras, lo que sería como un PIN) , si se hace un buen code y se intenta optimizar posiblemente sea mucho más veloz.
El problema de la velocidad es que varia dependiendo del algoritmo de cifrado que se deba crackear, pero si es en plano en un PC normalito como el mio pues llega a eso. Sobre eso aquí hay datos con john the ripper
http://openwall.info/wiki/john/benchmarks con diferentes CPUs y algoritmos
Saludos