Why are random numbers not really random?


Generazione di numeri casuali e pseudocasuali

In genere, questo indica che inizia con un numero comune "seed" e segua un pattern. Anche se i risultati sono così complessi che rendono difficile identificare il pattern, i numeri che vengono generati non sono veramente casuali a causa del fatto che sono gestiti da un algoritmo che è stato ben definito e ripetuto in modo costante.

Random() è basato su java.util. Random, che a sua volta è basato su un generatore congruenziale lineare. La casualità non è perfetta, ma è sufficiente per la maggior parte dei compiti. Quindi, in che modo i computer generano numeri pseudocasuali?

Utilizzando dati provenienti da fonti esterne, come movimenti della mouse o rumore delle ventole, i computer possono generare cifre assolutamente casuali. La loro casualità è indicata dal termine "entropy". Altre volte, i computer utilizzano algoritmi per generare numeri "pseudocasuali", il che fa sembrare che i risultati siano randomici, anche se non lo sono.

Caratteristiche dei numeri pseudocasuali

Una pseudorandom sequence generator dovrebbe avere le seguenti caratteristiche:

  • ottime caratteristiche di randomizzazione delle sequenze di output
  • velocità e efficienza
  • la capacità di replicare
  • un lungo periodo

Funzione pseudocasuale e cifratura

Un modello per i block ciphers è una vera permutazione casuale sulle corrispondenze tra testo cifrato e testo in chiaro. Questa è l’astrazione idealizzata di un cifrario a blocchi (con chiave). Il super pseudorandomismo è previsto per i cifratori contemporanei.

Pseudo Random Function (PRF)

In IKEv2, l’algoritmo specifico pseudo-random function (PRF) viene utilizzato per ottenere il materiale di chiusura e le operazioni di hashing necessarie per l’encryption del tunnel IKEv2. Le opzioni per l’algoritmo di hash sono le stesse.

Grazie.

Lascia un commento