Mersenne Twister es un RNG no criptográfico que se usa comúnmente en muchas aplicaciones. Según Wikipedia:
Mersenne Twister es el PRNG predeterminado para los siguientes sistemas de software:
Microsoft Visual C ++, [3] Microsoft Excel, [4] GAUSS, [5] GLib, [6] Biblioteca de aritmética de precisión múltiple de GNU, [7] Octava de GNU, [8] Biblioteca científica de GNU, [9] gretl, [10] IDL, [11] Julia, [12] CMU Common Lisp, [13] Incrustable Common Lisp, [14] Steel Bank Common Lisp, [15] Maple, [16] MATLAB, [17] Free Pascal, [18] ] PHP, [19] Python, [20] [21] R, [22] Ruby, [23] SageMath, [24] Scilab, [25] Stata. [26] También está disponible en Apache Commons, [27] en C ++ estándar (desde C ++ 11), [28] [29] y en Mathematica. [30] Las implementaciones adicionales se proporcionan en muchas bibliotecas de programas, incluidas las bibliotecas Boost C ++, [31] la biblioteca CUDA, [32] y la biblioteca numérica NAG. [33]
Mersenne Twister es un PRNG muy bueno, con buenas propiedades estadísticas, un período muy largo y es rápido. A pesar de ser un PRNG muy bueno, y se usa ampliamente para muchos juegos, simulaciones estadísticas y otros propósitos, no es adecuado para la criptografía.
Otro RNG común es generador lineal congruente (LCG) , que durante mucho tiempo es el RNG predeterminado en bibliotecas de C populares (y muchos otros idiomas que utilizan la biblioteca de C, como PHP). LCG es un RNG simple pero muy pobre, incluso para estándares RNG no criptográficos. El tamaño de su período es vergonzosamente pequeño, los números ya producidos no pueden repetirse durante todo el período, y tiene propiedades estadísticas que lo hacen inadecuado para muchos propósitos.