Validación de aleatoriedad

Cómo interpretar pruebas estadísticas de un generador aleatorio

Las baterías estadísticas pueden revelar sesgo, correlación y defectos estructurales. Son evidencia necesaria, pero aprobar no certifica para siempre la imprevisibilidad ni la seguridad de implementación.

Actualizado

Puntos clave

  • Use varias suites independientes porque buscan debilidades diferentes.
  • Conserve versiones, parámetros, tamaño de muestra y logs para una revisión posterior.
  • Combine estadísticas con diseño, semilla segura, manejo de fallos y monitoreo.

Pruebas aplicadas al núcleo de Rantropy

Rantropy conserva resultados de varias familias. PractRand se ejecutó sobre una ventana continua de 256 GB. ENT mostró un perfil de 8.000000 bits de entropía por byte para la muestra. Dieharder conserva un extracto sin FAIL en la mayoría de evaluaciones y NIST STS se ejecutó en lotes de 2.000 secuencias.

También se ejecutó TestU01 BigCrush y se conservaron resultados de subpruebas. Describen builds y muestras concretos; no significan que toda salida futura esté certificada ni que una suite demuestre seguridad criptográfica.

Por qué una sola batería no basta

ENT es un perfil inicial, no una certificación. PractRand examina flujos crecientes. Dieharder y NIST STS agrupan pruebas con reglas propias. BigCrush es amplio y exigente y puede encontrar defectos que una prueba menor no ve.

Con muchas pruebas pueden aparecer p-valores extremos por azar. Revise documentación, repeticiones, agrupación y reproducibilidad antes de declarar un defecto.

Lo que las estadísticas no pueden probar

Una muestra puede aprobar aunque exista semilla predecible, exposición de claves, reutilización de estado, mal acceso o errores de código. A la vez, una secuencia determinista puede ser correcta para una simulación reproducible, pero no para secretos.

  • Revise construcción del generador y fuente de entropía.
  • Pruebe inicio, reinicio, fork, escalado y dependencias degradadas.
  • Proteja claves y estado y defina rotación e incidentes.
  • Fije artefactos y guarde logs con checksums.

Convertir el informe en evidencia mantenible

Registre commit, checksum del build, versión, comando, parámetros, plataforma, tiempos y checksum de salida. Repita al cambiar algoritmo, compilador, ruta de entropía o arquitectura para vincular el resultado con software concreto.

Revise la evidencia detrás del generador

Para due diligence, solicite alcance, build y controles de integración en lugar de depender solo de la palabra aprobado.

Solicitar revisión técnica