Il livello crittografico di Java è collegabile: puoi configurare provider aggiuntivi e persino impostarli come "predefiniti".
Per java.util.SecureRandom
, l'implementazione predefinita (chiamata "SHA1PRNG") fornita con Sun / Oracle JVM utilizza SHA-1 e un seme interno a 160 bit ottenuto dal sistema operativo (vedere questa analisi ). A tutti gli effetti, il suo livello di sicurezza è "circa 160 bit", ovvero più che sufficiente .
Se hai davvero fatto diventare nemici tra alcune divinità principali che hanno accesso a una potenza di calcolo divina sufficiente a spezzare le chiavi a 128 bit (e che anche, per qualche ragione, preferisco non colpirti con un fulmine, come è consuetudine), allora tu avrà bisogno di un altro fornitore PRNG. Non conosco alcun fornitore JCE pronto per l'uso che includa un algoritmo PRNG adatto al criterio a 256 bit, ma tali elementi potrebbero comunque esistere o potrebbero essere implementati con uno sforzo relativamente ridotto.