Esiste un PRNG in Java con un periodo di almeno 256 bit?

4

Da quello che posso dire, Sun JRE / JDK sono limitati a fornire solo crittografia strong a 128 bit senza scaricare un file di criteri di giurisdizione di forza illimitata. La mia domanda è, se installo questi file, c'è un PRNG con sufficienti gradi di libertà per generare numeri a 256 bit integrati nel JRE / JDK?

    
posta Trevor Bernard 10.03.2016 - 16:14
fonte

1 risposta

2

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.

    
risposta data 10.03.2016 - 17:08
fonte

Leggi altre domande sui tag