Perché i generatori di numeri casuali basati su hardware sono considerati migliori dei generatori basati su software?

1

I generatori di numeri casuali basati su hardware (RNG) traggono la loro casualità dal rumore circostante. Generatori basati su software ottengono questo di solito dall'input dell'utente, come spostare il mouse su uno schermo (come fa TrueCrypt).

Che cosa rende gli RNG hardware più sicuri (più casuali) rispetto ai generatori basati su software?

    
posta Eelke 22.05.2017 - 17:47
fonte

2 risposte

4

Per rispondere direttamente: gli SW sono basati su algoritmi informatici che possono essere prevedibili o limitati.

Leggi questo confronto qui con vantaggi e svantaggi. Generalmente, il RNG HW medio è migliore rispetto al RNG SW medio.

Anche se HW RNG è chiamato 'true' e SW RNG (essendo basato su un algoritmo) è chiamato 'pseudo', non ritengo che un RNG hardware sia sempre migliore.

Nel caso dell'hardware, tutto dipende da quanto bene è il progetto, quanto è lontano con l'implementazione e che altro può influenzare il risultato.

Nel caso di input dell'utente, diventa una questione di come un utente può randomizzare. Un RNG basato sul mouse può essere migliore o peggiore rispetto a un hardware medio a seconda delle abilità dell'utente. Allo stesso modo, un RNG hardware può essere migliore o peggiore rispetto al RNG medio basato sul movimento del mouse, in base all'abilità del progettista HW.

    
risposta data 23.05.2017 - 13:53
fonte
3

Il software RNG ha uno stato interno che viene aggiornato dal rumore in ingresso. Anche questo stato viene mischiato recuperando i valori dal generatore.

L'hardware di base RNG non ha uno stato interno. Un buon generatore di hardware seminerà continuamente un RNG software per evitare problemi di distribuzione e per evitare interferenze (il rumore in ingresso non potrebbe essere così casuale sotto un attacco).

Se lo stato di un software RNG perde o è reso pubblico, non fornirà alcuna casualità, poiché un utente malintenzionato sarà in grado di generare gli stessi output. In questo modo, un RNG hardware è migliore perché non ha uno stato che può perdere. Ad esempio, alcuni RNG software hanno uno stato inizializzato con dati pubblici o di scarsa qualità prima che possano raccogliere abbastanza rumore. Questo è un problema con VM che condividono lo stesso stato iniziale (evitare di generare chiavi SSH o PGP su una VM). D'altra parte, un generatore hardware di base può, in teoria, essere influenzato dal suo input.

    
risposta data 23.05.2017 - 14:16
fonte

Leggi altre domande sui tag