¿Hay un PRNG en Java con un período de al menos 256 bits?

4

Por lo que puedo decir, los Sun JRE / JDK se limitan a proporcionar solo criptografía de 128 bits sin descargar archivos de política de jurisdicción de fuerza ilimitada. Mi pregunta es, si instalo estos archivos, ¿hay un PRNG con suficientes grados de libertad para generar números de 256 bits integrados en el JRE / JDK?

    
pregunta Trevor Bernard 10.03.2016 - 16:14
fuente

1 respuesta

2

La capa criptográfica de Java es conectable: puede configurar proveedores adicionales e incluso establecerlos como "predeterminados".

Para java.util.SecureRandom , la implementación predeterminada (llamada "SHA1PRNG") que se incluye con Sun / Oracle JVM usa SHA-1 y una semilla interna de 160 bits obtenida del sistema operativo (consulte este análisis ). A todos los efectos, su nivel de seguridad es de "unos 160 bits", que es más que suficiente .

Si realmente hiciste enemigos entre algunas deidades principales que tienen acceso a suficiente poder de cómputo divino para romper claves de 128 bits (y que, por alguna razón, prefieren no golpearte con un rayo, como es costumbre), entonces Necesitará otro proveedor de PRNG. No conozco ningún proveedor de JCE listo para usar que incluya un algoritmo PRNG que se ajuste a su criterio de 256 bits, pero tales cosas pueden existir, o podrían implementarse con relativamente poco esfuerzo.

    
respondido por el Tom Leek 10.03.2016 - 17:08
fuente

Lea otras preguntas en las etiquetas