
php_mt_seed es un cracker de semillas mt_rand() de PHP
php_mt_seed es un cracker de semillas para mt_rand() de PHP. En el modo de invocación más trivial, encuentra posibles semillas dado el primer resultado de mt_rand() después de un posible sembrado con mt_srand(). Con modos de invocación avanzados, tambien es capaz de relacionar múltiples, no primeros y/o inexactos resultados de mt_rand() con posibles valores de semilla.
El algoritmo de mt_rand() de PHP ha cambiado a lo largo de los años desde su introducción en PHP 3.0.6. php_mt_seed 4.0 soporta 3 revisiones principales del algoritmo: PHP 3.0.7 a 5.2.0, PHP 5.2.1 a 7.0.x, y PHP 7.1.0+ (al menos hasta la última en el momento de escribir esto, que es PHP 7.2.0beta3).
php_mt_seed utiliza reimplementaciones optimizadas para ataque de los algoritmos de mt_rand() de PHP. Está escrito en C con intrínsecos SIMD opcionales (SSE2, SSE4.1/AVX, XOP, AVX2, AVX-512, además de MIC) y OpenMP. En una CPU moderna de cuatro núcleos, es capaz de buscar en el espacio completo de semillas de 32 bits en menos de un minuto. En un Xeon Phi de segunda generación, hace lo mismo en 3 segundos.