Ich überlege gerade, einen Hardware-Zufallsgenerator zum Anschluß an den PC zu basteln. Das berühmt-berüchtigte rückgekoppelte Schieberegister kenne ich, aber das erzeugt ja nur eine sich wiederholende Sequenz von Zahlen. Ich dachte daran, irgendwie das Rauschen eines diskreten Bauteils (Widerstand, Diode...) oder einer Art Radioempfänger[1] auszuwerten. Sonstige Vorschläge?
Tschüs,
Sebastian
_____ Anmerkungen: [1] Natürlich nicht auf einen Sender abgestimmt. :-)
In der Einführung sind die üblicheren Schaltungen beschrieben:
formatting link
Alle digitalen Verfahren sind nominell in Software auf dem PC simulierbar. Wobei sich dann LCGs als Verfahren besser als LFSRs eignen.
Bei allem was schwaches Signal liefert kämpft man mit Netzbrumm u.ä., das stärkste Signal ergeben Z-Dioden. Aber Verteilung usw. sind immer noch recht undefiniert.
Wenn man so ne Zenerdiode nimmt und, deren Signal auf einen Komparator, dessen Referenzpegel auf dem Mittelwert des Zenerrauschen liegt, legt (Tiefpass) und daraus dann zufällige Bits bildet, wobei man jedes 2. Bit negiert, dürfte man doch ne relativ gute Verteilung hinbekommen, oder?
Das Negieren kannst Du Dir wohl sparen, unkorreliert bleibt unkorreliert, egal, wieviel Du da rumnegierst. Du muss das Signal nur abtasten, wenn Du es direkt auf einen Komparator gibst, wird die Bitfolge vermutlich a) zu schnell und b) eher eine Funktion der Schaltzeit des Komparators denn weisses Rauschen.
Dagegen sollte Sieben, Stabilisieren und Abschirmen aber helfen.
Das ließe sich zumindest sehr einfach überprüfen. Grundsätzlich ist es kein Problem, aus den (z. B. normalverteilten) Eingangsdaten per Software eine ausreichend genaue Gleichverteilung hinzubekommen.
Wenn man wirklich Z-Dioden nehmen wollte: die Amplituden sind nicht symmetrisch verteilt. Man nimmt typisch zwei (selektierte) Z-Dioden mit Vorwiderstand gegen positive und negative Versorgung und Differenzverstärker damit der Defekt nicht so völlig offensichtlich ist.
Es wird in der Literatur als microplasma-noise beeschrieben, d.h. wohl Oberflächeneffekt, vgl. popcornnoise. Verteilung also eher undefiniert. Hersteller a la Motorola oder Fairchild hatten auch Rauschangaben in Datenblättern mancher Z-Dioden, vermutlich wurde zeitweise das Rauschen für Qualitätsicherung gemessen.
In einschlägiger Literatur a la Gupta "Electrial Noise: Fundamentals & Sources" IEEE Press 1977 Das sind Reprints von IEEE-Artikeln ab 1955, bei Bedarf leihweise sind auch Gerätschaften, meist für höhere Frequenzen, meist historisch, beschrieben die thermisches Rauschen verwenden. Nominell denkbar z.B. zwei Glühbirnchen in Serie und am Mittelabgriff abzapfen. Kann man nachrechnen was für üppige Signalstärken da zu erwarten wären. Realere Anwendung: Rauschthermometer in Hochtemperaturanwendungen wegen nominell geringerer Ausfallwahrscheinlichkeit als Thermoelement. Scheint aber auch nicht industrieüblich geworden zu sein.
Letztlich typisches Thema für endlos-threads in newsgroups: wer "nichtdigital" will hat vermutlich gar nicht definiert welche Anforderungen er für seine Anwendung braucht. Sonst wäre nämlich aufgefallen, daß die meisten konkret realisierten Geräte ( Niederfrequenz ) nach 1965 digital gebaut wurden. Nur im untersten Aufwands/Qualitätsbereich sind Z-Dioden angemessen.
Keine Ahnung obs funktioniert: Z-Diode zwischen 2 gleichen Widerständen, die Z-Spannung AC-gekoppelt mit einem geeignetem OpAmp gut verstärken und in einen AD-Wandler, von diesem das LSB als digitalen Zufallsbitstrom.
Wie "gut" soll der Rauschgenerator denn werden? Nur zum spielen oder f=FC= r eine ernsthafte Anwendung? Letzteres ist nicht ganz trivial...
Auf jeden Fall w=FCrde ich die Bits des Rauschgenerators nicht direkt verwenden, sondern erst nochmals durch einen entsprechend sinnvollen Algorithmus schicken um kr=E4ftig zu komprimieren. Dann bleibt wenigsten die Chance dass Du auch wirklich gen=FCgend Entropie herausbekommst damit=
der Zufallsgenerator sich auch "Zufalls"generator nennen darf.
Dann hast Du nat=FCrlich wieder das Problem, dass die Bits/s-Leistung entsprechend schwach ist. Das ist ein echtes Problem, wenn Du regelm=E4=DF= ig viele Zufallszahlen brauchst. Wenn Du nur ab und zu eine Menge Zufallszahlen brauchst, kannst Du die auch =FCber einen l=E4ngeren Zeitra= um sammeln.
Die kostengünstige Verfügbarkeit von ICs für DES ist vermutlich immer noch schlecht, und in Software ist DES auch relativ aufwendig. Der Algorithmus hat aber glaube ich Zufallszahlenmodus und Qualität wäre sehr gut.
Ähem. In Software kann man *gar**keinen* Zufallszahlengenerator bauen. Das beste was man so bekommen kann, sind *Pseudo*zufallszahlen aus einem Generator mit maximaler Periode.
Alle irgendwie ernst gemeinten Versuche in dieser Richtung verwenden externe Entropiequellen wie z.B. den Zeitabstand zwischen zwei Tasten- anschlägen auf der Tastatur. Dummerweise liefern "gute" (= zufällige) Entropiequellen nur wenige Bits pro Zeiteinheit.
das meinte ich natürlich. Es ging um "Anschluß an den _PC_" (das verbinde ich u.A. mit "eines der üblichen aufgeblähten BS vorhanden"), und da gibt es schon _einige_ Entropiequellen. Und oft (meistens?) Internetzugang. Wie gesagt - auf die Anwendung kommt's an.
=2E..und m=F6glicherweise mit Hintert=FCrchen "on-chip"... auch wieder=20 inakzeptabel f=FCr ernsthafte Krypto-Anwendungen. Genau, wie der=20 Zufallsgenerator auf diversen neuzeitlichen CPUs. Alles in keiner Weise=20 transparent. Ich verstehe die Frage des OP so, dass er einen=20 Selbstbau-Ansatz f=FCr die Zufallsbit-Erzeugung haben wollte, der=20
*nachvollziehbar* ist. Und da kommt ihr mit Chips=E4tzen... tst-tst...
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.