Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Hallo, eine Frage: In so fast jeder Programmiersprache gibt es Funktionen für Zufallszahlen. Aber wie genau funktioniert so ein Generator technisch? Denn ich denke, reine die logik eines Prozessors und eine Zufallszahl passen nicht zusammen?
Sind auch nicht wirklich Zufall, da hast du recht.
Ein Recht simpler ,,Zufallsgenerator'' ist einfach die letzte Zahl von der Uhrzeit zunehmen.
Anders tun die ,,Generatoren'' das auch nicht, wie nehmen sich irgendwo her Werte hier( wie die Uhrzeit) verrechnen die nach einen bestimmen Algo.(aller erste + letzte zahl z.b.) und dann kommt eine Zahl raus.
Ich habe mal irgendwo was von gelesen, dass da auch irgendwie mit einer Speicherstelle im RAM passieren soll, da ja jeder Kondensator was einzigartiges haben soll.
Eine weitere Möglichkeit ist das verwenden von Nachkommastellen von Pi. Um Auszuwählen welche, muss der Generator für gewöhnlich initialisiert werden. Das geschieht z. B., wie schon erwähnt, durch die aktuelle Zeit.
Die letzte Ziffer der Uhrzeit ist überhaupt kein Zufallsgenerator!
Solche Funktionen wie rand() bei C heißen Pseudozufallsgeneratoren. Die sind eigentlich keine richtigen Zufallsgeneratoren, weil sie deterministisch sind. Man initialisiert sie mit irgendeinem Wert (der möglichst unvorhersehbar ist.. Uhrzeit z.B. - wobei die nicht wirklich große Entropie hat) und dann wird ausgehend davon eine Reihe Zahlen generiert. Bei kryptographischen Anwendungen reicht so ein Generator nicht aus.
Wenn es wirklich um gute Zufallszahlen geht dann werden externe Quellen für Entropie verwendet, z.B. welche die das "Rauschen" auf Bussystemen als Datenquelle verwenden oder ähnliches. Je unvorhersagbarer eine Folge von Ereignissen ist, desto besser eignet sich das für Zufallszahlen.
Wir hatten in ner Übungsaufgabe mal einen Zufallsgenerator geschrieben (Programm hab ich glaub nicht mehr), der das über die Uhrzeit gemacht hat. Wenn man allerdings extrem schnell hintereinander sich Zufallszahlen ausgegeben lassen hat, waren es die Gleichen - bis sich die Uhrzeit halt geändert hatte.. also nachdem eine Sekunde vergangen war
wir hatten es halt nur mit der <ctime> bib gemacht und halt nur die Uhrzeit in Sekunden abgegriffen..
hab ja auch nur gesagt, wie wir es gemacht hatten (und so stands in der Aufgabe)
Die Uhrzeit lässt unter Kenntnis des Algorithmus allerdings erahnen, wo man zu suchen hat. Für sicherheitsrelevante Zufallszahlen ist das nur bedingt geeignet.
Außerdem muss man da höllisch aufpassen, dass man da kein Schema in seine Zahlen bekommt.
Es muss ja nichtmal Zufall sein, von dem man vor einigen Jahrzehnten ja sogar noch ausging, dass er garnicht existiere.
Es reicht ja, wenn das System ausreichend kompliziert ist, sodass eine Vorhersage oder ein Schema nicht erstellbar oder erkennbar ist.
Wie wärs mit dem einfangen des Universalen Rauschens und dem Nummern zuweißen?? Absolut gute Methode.
Und ums sicher zu machen... Einfach die Mausbewegungen der User in Zahlen umwandeln, das gibt ein zufälliges Schema, wird z.B von Pokerstars zum Shuffeln verwendet.
genau, das wird so auch im server-bereich gemacht. wo man "zuverlässigen zufall" braucht setzt man auf kleine module, die irgendwelche physikalische effekte auslesen.
einfache programme für den heimgebrauch setzen manchmal auch einfach nur auf einen pool von zahlen, also eine feste "zufällige" folge. deswegen gibts bei delphi zum beispiel den ausdruck "randomize" um nicht immer von der gleichen stelle ne folge aus dem pool abzugreifen...