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.