¿Qué tan importante es el nuevo generador de números aleatorios PCG?

Supongo que el mayor beneficio reclamado es la calidad estadística. Esto realmente no tiene muchas probabilidades si solo quieres dibujar algún objeto aleatorio en la pantalla o necesitas los números aleatorios para un juego. Sin embargo, si está utilizando un generador de números aleatorios en un entorno de alta seguridad, entonces se vuelve muy importante. Supongamos que tiene un sistema de seguridad criptográfico basado en su generador de números psudoaleatorios, por ejemplo. RSA y alguien intentan un ataque de fuerza bruta, si se encuentra un defecto en el PRNG, podría reducir significativamente la cantidad de veces que necesita romper el cifrado.

No sé si PCG estará a la altura de su reclamo. La primera prueba será si el documento es aceptado y luego cuántas personas citan ese documento.

Mirando el código se ve muy similar al generador congruencial lineal de la vieja escuela [matemática] X_n = a X_ {n-1} + b \ mod m [/ matemática]. Solo con unos pocos ajustes usando varias operaciones bit a bit. Si bien es posible que las pruebas sean rápidas y simples, no es particularmente elegante. Algo así como el Dual_EC_DRBG basado en curvas elípticas tiene raíces matemáticas mucho más profundas. Es una implementación agradable pero no revolucionaria como lo eran las curvas elípticas.

Ah, y mirando la tabla de comparación, su dificultad de predicción solo es desafiante y no segura . Por lo tanto, no se utilizará para operaciones bancarias / militares.

¡Qué hermoso papel! Creo que el documento en sí hace un muy buen trabajo al ubicarse en un contexto histórico. Parece estar sentado al lado del trabajo como el generador Tyche (que O’Neill cita en el periódico). Definitivamente vale la pena leerlo todo, y el generador en sí parece eminentemente útil.

Realmente es así de simple, en realidad solo unas tres líneas en cualquier idioma una vez que te quitas la pelusa. Aquí está mi versión de Java: qu1j0t3 / pcg-java (repositorio de nivel superior: qu1j0t3 / pcg-java).

More Interesting

¿Cuáles son las diferencias en las consecuencias entre el principio tautológico de elección demostrable en la teoría de tipos y el axioma completo de elección?

Las matemáticas se han desarrollado mucho en los primeros períodos, pero el desarrollo de la ciencia se retrasa. ¿Por qué?

¿Qué pasa si el problema (P vs NP) es en sí mismo un problema NP-Hard?

¿Quién comenzó la informática?

¿Qué es la justicia fuerte y la justicia débil en los métodos formales?

¿Las instancias SAT generadas por la reducción de un problema más fácil (por ejemplo, factorización de enteros) serán más fáciles en promedio que las instancias SAT aleatorias?

¿Por qué el Complemento 2 se llama Complemento 2 '?

En 'Figuras ocultas', ¿qué tipo de matemáticas usa Katherine Gobles?

X resuelve el problema de la Torre de Hanoi, primero con n discos en el tiempo t1 y luego con n + 2 discos en el tiempo t2. Suponiendo que él toma la misma cantidad de tiempo para cada movimiento de disco y resuelve el problema en los menores pasos posibles, ¿cuál será la relación entre t1 y t2?

¿Cuál es el espacio nulo de un operador?

Cómo resolver la Competencia de Computación Canadiense de 1996, Etapa 1, Problema C (vea el enlace del problema a continuación)

Cómo mejorar las matemáticas básicas para programar

¿A las personas apasionadas por las matemáticas también les encanta la codificación?

¿Cuál es la diferencia entre funciones y acciones en QTP?

¿Puede C (lenguaje de programación) tratar con grandes números?