Quando guardo la maggior parte degli RNG (generatori di numeri casuali), vedo un disclaimer che sembra simile a questo:
Caution: Mersenne Twister is basically for Monte-Carlo simulations - it is not cryptographically secure "as is".
-
Quali sono i requisiti per un (pseudo-) RNG essere 'crittograficamente sicuro'? Quale test / logica viene utilizzata per decidere che un RNG è sicuro per questo scopo o no?
-
Quali sono le differenze generali tra gli RNG sicuri e non protetti? Gli RNG sicuri di solito sono molto più complessi / includono semi più grandi e una maggiore manipolazione dei dati? È mai possibile rendere sicuro un RNG non sicuro aggiungendo i risultati di una serie ottenuta o utilizzando un risultato come seme per produrre nuovi risultati "più casuali"?
-
Qual è il problema con l'utilizzo di RNG non sicuri per la crittografia? Non ho alcun dubbio che la crittografia sarebbe molto più facile da rompere, ma come si fa effettivamente? Il cracker in qualche modo riconosce un pattern nei dati che sono caratteri di un certo RNG e lo usa per aiutare a "rimuovere" la casualità dal testo in chiaro?
NOTA : lascia un commento se ritieni che questa domanda debba essere suddivisa; So che le diverse parti sono correlate, ma se sono abbastanza complesse da meritare un trattamento più specifico, le dividerò volentieri su più post. : D