Hallo DPler!
Mittels der Blockdatei
/dev/random auf einem Unix-System kann man byteweise kryptografisch sichere Zufallszahlen auslesen. Diese reichen also jeweils von 0 bis 2^(8n)-1, wobei n die Anzahl an gelesenen Bytes und damit beliebig ist. Gegeben sei jetzt eine Liste mit k Elementen. Wie kann ich eine ausgelesene Zufallszahl kryptografisch korrekt dazu verwenden, ein zufälliges Element aus der Liste auszuwählen?
Folgender Pseudocode sollte tun was er soll; ich weiß aber nicht ob das theoretisch so gemacht werden darf. Es geht um sicherheitstechnisch "heikle" Sachen.
Code:
zufall = -1
solange zufall < 0 oder zufall > k-1:
zufall = lese_zufalls_bytes(1) // falls k <= 255
ergebnis = liste[zufall]
(es geht nicht um Delphi!)
Liebe Grüße,
Valentin