Hardware-Zufallsgenerator gesucht

S

Sebastian Suchanek

Guest
Hallo NG!

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. :)

--
http://www.baumaschinen-modelle.net
http://www.schwerlast-rhein-main.de
 
On Fri, 17 Feb 2006, Sebastian Suchanek wrote:
Bauteils (Widerstand, Diode...) oder einer Art Radioempfänger[1]
auszuwerten.
Sonstige Vorschläge?
Meine Idee ist
Geiger-Müller, addiert (gexort) mit Rauschen

Das Lit.-Verzeichnis von "Angewandte Kryptographie"
(W. Ertel, Fachbuchverlag Leipzig) ist hier einsehbar:
http://erde.fbe.fh-weingarten.de/ertel/kryptobuch/refswww.html

Besonders interessant für Dich sind wahrscheinlich
ES00: Maxtor-RRNG (sollte eigentlich PRNG heißen :) )
Int99/JK99: Widerstandsrauschen im Pentium-Proz.
vN63: von Neumann

Auch wenn diese Lektüre unendlich alt ist (älter als fünf Jahre),
so gibt sie vielleicht doch ein paar Ideen her.

Gruß,
Mario
 
Hallo Sebastian,


Sonstige Vorschläge?
The Western Method: Alle Anschluesse an Digitast Schalter mit Pull-up,
Schrotflinte laden und abdruecken.

SCNR, Joerg

http://www.analogconsultants.com
 
On Fri, 17 Feb 2006, Joerg wrote:
The Western Method: Alle Anschluesse an Digitast Schalter mit Pull-up,
Schrotflinte laden und abdruecken.
Dabei biste doch in CA und nicht TX ;)

> SCNR, Joerg
 
Sebastian Suchanek wrote:

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.
Z-Diodenrauschen-Verstärker-Bandpaß-Triggerlogik->PC ist machbar.

Sonstige Vorschläge?
Vielleicht sind ja auch die Tabellen bei
http://www.random.org/
schon ausreichend lang..

Gruß
Ulrich
 
Howdy Mario,

Dabei biste doch in CA und nicht TX ;)
Aber nicht weit weg von der Ponderosa Ranch, wo die Leute Trucks fahren,
Country Music hoeren und selber Holz hacken. Da faellt mir ein, der
Holzofen braucht jetzt wieder Futter.

So long, Joerg

http://www.analogconsultants.com
 
In der Einführung sind die üblicheren Schaltungen beschrieben:
http://www.embeddedFORTH.de/noisegen.pdf

Anschluß an den PC
Alle digitalen Verfahren sind nominell in Software auf dem PC
simulierbar. Wobei sich dann LCGs als Verfahren besser als LFSRs
eignen.

Ich dachte daran, irgendwie das Rauschen eines diskreten
Bauteils (Widerstand, Diode...)
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.

MfG JRD
 
Hi,
Anschluß an den PC
Alle digitalen Verfahren sind nominell in Software auf dem PC
simulierbar. Wobei sich dann LCGs als Verfahren besser als LFSRs
eignen.

Ich dachte daran, irgendwie das Rauschen eines diskreten
Bauteils (Widerstand, Diode...)
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?

Ok, der Netzbrumm bleibt wohl ein Problem. Hmm.

Michael
 
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.

Ok, der Netzbrumm bleibt wohl ein Problem. Hmm.
Dagegen sollte Sieben, Stabilisieren und Abschirmen aber helfen.
 
Michael Rübig wrote:
Hi,
Anschluß an den PC
Alle digitalen Verfahren sind nominell in Software auf dem PC
simulierbar. Wobei sich dann LCGs als Verfahren besser als LFSRs eignen.

Ich dachte daran, irgendwie das Rauschen eines diskreten
Bauteils (Widerstand, Diode...)
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 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.

Ok, der Netzbrumm bleibt wohl ein Problem. Hmm.
Lösbar.

Einiges zum Thema findet sich hier:
http://ciphersbyritter.com/#TechnicalArticles

Gruß
Ulrich
 
Wenn man so ne Zenerdiode nimmt
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.

dürfte man doch ne relativ gute Verteilung hinbekommen, oder?
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.

MfG JRD
 
Hallo Sebastian Suchanek,


Sonstige Vorschläge?
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.


Grüße
Erik
 
Sebastian Suchanek wrote:
Hallo NG!

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.
Für Krypto-Schlüsselerzeugung natürlich Müll.
Ich dachte daran, irgendwie das Rauschen eines diskreten
Bauteils (Widerstand, Diode...) oder einer Art Rad
Stichwort Hardware-Zufallsgenerator.
Vielleicht so:
http://www.angelfire.com/theforce/jte/rand/rand.html


Gruß,

Julien
 
Sebastian Suchanek wrote:

Ich überlege gerade, einen Hardware-Zufallsgenerator zum
Anschluß an den PC zu basteln.
[...]

Ich dachte daran, irgendwie das Rauschen eines diskreten
Bauteils (Widerstand, Diode...)
Wie "gut" soll der Rauschgenerator denn werden? Nur zum spielen oder für
eine ernsthafte Anwendung? Letzteres ist nicht ganz trivial...

Auf jeden Fall würde ich die Bits des Rauschgenerators nicht direkt
verwenden, sondern erst nochmals durch einen entsprechend sinnvollen
Algorithmus schicken um kräftig zu komprimieren. Dann bleibt wenigsten
die Chance dass Du auch wirklich genügend Entropie herausbekommst damit
der Zufallsgenerator sich auch "Zufalls"generator nennen darf.

Dann hast Du natürlich wieder das Problem, dass die Bits/s-Leistung
entsprechend schwach ist. Das ist ein echtes Problem, wenn Du regelmäßig
viele Zufallszahlen brauchst. Wenn Du nur ab und zu eine Menge
Zufallszahlen brauchst, kannst Du die auch über einen längeren Zeitraum
sammeln.
 
Sebastian Suchanek <sebastian.suchanek@gmx.de> schrieb:

Ich überlege gerade, einen Hardware-Zufallsgenerator zum
Anschluß an den PC zu basteln. Das berühmt-berüchtigte
Für welche Anwendung brauchst Du die Zufallszahlen?

Es ist wohl nicht einfach, einen Hardware-Zufallsgenerator zu bauen,
der besser als eine gute (!) Softwarelösung ist. Zu viele Fallstricke.

Mit anderen Worten: für die meisten Anwendungen lohnt es sich _nicht_!

Falls Du unbedingt doch Hardware bauen willst, schau bei David Wagners
Linkliste nach: http://www.cs.berkeley.edu/~daw/rnd/

Und dann frag nochmal in sci.crypt, bevor Du den Generator benutzt.

Servus

Oliver
--
Oliver Betz, Muenchen (oliverbetz.de)
 
sondern erst nochmals durch einen entsprechend sinnvollen
Algorithmus schicken um kräftig zu komprimieren.
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.

MfG JRD
 
Joerg schrieb:
Hallo Sebastian,
Sonstige Vorschläge?

The Western Method: Alle Anschluesse an Digitast Schalter mit Pull-up,
Schrotflinte laden und abdruecken.
Sebastian heißt doch nicht Dick und ist Vizepräsident ;-)

--
Matthias Weißer
matthias@matwei.de
http://www.matwei.de
 
Oliver Betz <OBetz@despammed.com> wrote:
Sebastian Suchanek <sebastian.suchanek@gmx.de> schrieb:

Ich überlege gerade, einen Hardware-Zufallsgenerator zum
Anschluß an den PC zu basteln. Das berühmt-berüchtigte

Für welche Anwendung brauchst Du die Zufallszahlen?
Das ist tatsächlich die wichtigste Frage.

Es ist wohl nicht einfach, einen Hardware-Zufallsgenerator zu bauen,
der besser als eine gute (!) Softwarelösung ist. Zu viele Fallstricke.
Ä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.


XL
 
Axel Schwenke <axel.schwenke@gmx.de> schrieb:

[...]

Es ist wohl nicht einfach, einen Hardware-Zufallsgenerator zu bauen,
der besser als eine gute (!) Softwarelösung ist. Zu viele Fallstricke.

Ä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-
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.

Servus

Oliver
--
Oliver Betz, Muenchen (oliverbetz.de)
 

Welcome to EDABoard.com

Sponsor

Back
Top