Thema: Delphi Zufallszahlengenerator?

Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#14

Re: Zufallszahlengenerator?

  Alt 12. Sep 2003, 18:26
Es gibt Hardware basierte Zufallsgeneratoren die physikalisch echten Zufall erzeugen. Ich selber habe zwei Wege schon programmiert
1.) echter Zufall aus dem Indernett, ja das gibt es. Diese Server stellen per HTML die Möglichkeit zur Verfügung Zufall zu downloaden der durch Radioaktiven Zerfall erzeugt wurde.
2.) auf jeder neueren Geldkarte, also die Bankkarten mit Chip, ist ein Hardwarezufallsgenerator integriert. Diesen kann man relativ einfach per PC/SC Schnittstelle ansprechen

Für Softwarebasierte Pseudo-Zufallsgenratoren gibt es sehr viele Algorithmen. Je nach Anwendungszweck besitzen diese entweder sehr gute Statistische Eigenschaften oder sind besonders kryptographisch sicher. Es hängt nun davon ab für was du diesen Generator einsetzen möchtest. Z.b. im DEC = Delphi Encryption Compendium findest du eine LFSR = Linear Feedback Shift Register. Dieser ist wesentlich besser als Borland Random, ein LCG. Die LFSR's im DEC haben eine maximale Periode von 2^2038-1 Bits. Random() demgegenüber nur 2^32-1 Bits abhängig vom Seed.

Für kryptographische Anwendungen sind die meisten Generatoren ungeiegnet, da mathematisch berechenbar. In diesem Falle benötigt man keinen zufälligen Output sondern nur einen Output der nicht reproduzierbar ist. Ein gutes Beispiel wäre dafür der Generator YARROW von Bruce Schneier. Als Input bzw. Startwert dienen die Mausbewegungen und Tastenanschläge des Menschens. Dies ist nicht zufällig aber so individuell wie der Mensch selber. D.h. eben nicht reproduzierbar.

Stromverschlüsselungen als solches sind kurz nach dem 2.WK durch die differntielle Kryptoanalyse genackt wurden. Besonders diejenigen Verschlüsselungen die auf Pseudo-Zufallsgeneratoren aufbauten. Aus diesem Wissen heraus wurden die Blockverschlüselungen entwickelt, wie Blowfish, IDEA, Rijndael.

Ich rate dir solche Standardverfahren zu benutzen. Im Delphi Encryption Compendium findest du über 40 der annerkanntesten Verfahren.
Das Wissen was nötig ist einen Verschl. Algo. zu entwickeln ist enorm, sehr trocken, viel Mathematik, Boolsche Algebra, Logische Analyse, Wahrscheinlichkeitsrechnungen und Statistik. In fact die Kryptographie ist die einzigste Disziplin in der Mathematik die direkte praktische Nutzen erzielt.


Gruß hagen
  Mit Zitat antworten Zitat