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.