Autor |
Eine Zufallszahl mit Hardware generieren |
|
|
|
|
BID = 575903
Micropower Gelegenheitsposter
Beiträge: 50 Wohnort: Marburg
|
|
Ich habe nur sofort bemerkt, dass jede Zahl mindestens 100 von der Nachbarzahlen abweicht und das haben die Kollegen auch sofort bemerkt. Die Kollegen waren besser und haben einen Unterschied von 111 und 145 bemerkt. Ein Zufallsgenerator liefert auch manchmal die gleiche Zahl zweimal. Rechnerisch ist das aber wohl nicht realisierbar. Rechnerisch wird nach X immer die Y kommen. |
|
BID = 575913
Micropower Gelegenheitsposter
Beiträge: 50 Wohnort: Marburg
|
|
Demnächst (dieses Jahr nicht mehr) werde ich die Kongruenzmethode mit einem DSPIC in 16 Bit ausprobieren und nur 8 Bit ablesen. Dann kommt nach X nicht immer die Y, sondern auch Z und vielleicht auch mal die X wieder. |
|
BID = 575914
ffeichtinger Schreibmaschine
Beiträge: 1050 Wohnort: Traunkirchen im Salzkammergut
|
Danke, Morgoth!
Ich glaube, das könnte sogar ich notfalls in Assembler programmieren.
@bastler16: die Zahl ist 8 Bit!
Die Frage ist: Ist das gut genug?
mfg Fritz
_________________
|
BID = 575917
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
...
[ Diese Nachricht wurde geändert von: bastler16 am 30 Dez 2008 19:46 ]
|
BID = 575919
Morgoth Schreibmaschine
Beiträge: 2930 Wohnort: Rockenhausen (Pfalz)
|
@bastler16
er addiert immer 111, macht nie was anderes. Gerechnet wird in N\256 (8bit eben)
_________________
Es irrt der Mensch solang er strebt
|
BID = 575923
bastler16 Schreibmaschine
Beiträge: 2140 Wohnort: Frankreich
|
Offtopic :
|
und ich trottel bastel da 1 stunde rum und vergess den kontext
überlauf!!!!!!!!!!!!!
sry, kann gern gelöscht werden |
|
BID = 575927
ffeichtinger Schreibmaschine
Beiträge: 1050 Wohnort: Traunkirchen im Salzkammergut
|
Wofür brauchst du die Zufallszahl denn überhaupt? Für kryptographische Anwendungen ist lineare Kongruenz und der Blödsinn, den ich vorhin gepostet habe nähmlich nicht geeignet.
mfg Fritz
_________________
|
BID = 575945
Micropower Gelegenheitsposter
Beiträge: 50 Wohnort: Marburg
|
Die Zufallszahl bestimmt die Ein und Ausschaltzeiten (Rot, Grün, Rot, Grün usw.) 256 entsprechen ca. 15 Minuten. Die 1 oder 2 nur einige Sekunden. Die Ein/Ausschaltzeiten sollen unabsehbar sein. Eine Zahl, die wie eine Welle groß und klein wird ist unbrauchbar.
Es kommt nicht auf eine Sekunde drauf an, 8 Bit sind völlig ausreichend, die Verteilung muss aber zufällig sein.
|
BID = 575960
Micropower Gelegenheitsposter
Beiträge: 50 Wohnort: Marburg
|
Die Bezeichnung Minutenabstand habe ich nur zur Vereinfachung benutzt. Die Zeit ist also zwischen einige Sekunden und einige Minuten. Deshalb glaubte ich, dass mit einem Hardwaresignal an einem Zählereingang, den ich bei bedarf abfrage, ein gutes Ergebnis erzielt werden kann.
Eine Software Lösung ist aber praktischer und zuverlässiger.
|
BID = 576298
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| die Verteilung muss aber zufällig sein. |
Zufällig bedeutet, dass man kein System in der Verteilung erkennen kann.
Damit ist die Qualität eines Pseudozufalls abhängig von dem Aufwand, den man zur Entschlüsselung treiben kann oder will.
Um weisses Rauschen, z.B. für Lautsprechertests, zu erzeugen, reichen Sequenzen maximaler Länge, wie man sie mit einem Schieberegister und einem oder mehrereren XOR erzeugen kann.
Solche Sequenzen eines N-stufigen Schieberegisters haben, wenn man es richtig macht, eine Periode von 2 N-1 Takten, was bei 32 oder mehr Stufen schon recht lang dauern kann.
Zu krypographischen Zwecken sind sie dennoch völlig unbrauchbar, denn man braucht eine solche Sequenz nur 2N Takte zu beobachten, um hinter das Bildungsgesetz zu kommen.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 576340
Micropower Gelegenheitsposter
Beiträge: 50 Wohnort: Marburg
|
Alles Gute im neuen Jahr wünsche ich Euch!
Genau: Zufällig bedeutet, dass man kein System in der Verteilung erkennen kann.
Ein Beobachter, der nichts von Bits, Bytes und Schieberegister versteht wird schnell erkennen, dass z.B. nach eine sehr-sehr kleine Periodendauer immer eine mittel-große Periodendauer folgt. Und er hat Recht.
Eine mögliche Lösung, die ich ausprobieren werde, wäre mehrere Zufallszahlen zu generieren und anschließend nur ein Teil aus jeder Zahl zu verwenden. Die Zufallszahlen sollen Sinnvollerweise nicht alle eine maximale Periode von 2^N-1 haben.
|
BID = 576351
Ltof Inventar
Beiträge: 9333 Wohnort: Hommingberg
|
Zitat :
perl hat am 31 Dez 2008 22:51 geschrieben :
|
Zu krypographischen Zwecken sind sie dennoch völlig unbrauchbar, denn man braucht eine solche Sequenz nur 2N Takte zu beobachten, um hinter das Bildungsgesetz zu kommen.
|
Gilt das immer?
Ich hatte mir, durch https://forum.electronicwerkstatt.d.....24754 angeregt, das 23-bit-Schieberegister programmiert. Eine Aufeinanderfolge bestimmter Muster war deutlich. Das war sofort weg, als die 8 bit für das Byte wahllos von den 23 bit des Schieberegisters abgegriffen wurden.
Für meine Zwecke reichte das aus. Mich interessiert aber schon, ob das auch so leicht zu entschlüsseln wäre.
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 576469
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Ja, falls es sich nur um ein einzelnes Schieberegister handelt.
Nicht umsonst spricht man in diesem Zusammenhang von zyklischen Codes.
Auch die zur Fehlererkennung und -korrektur verwendeten CRCs gehören dazu.
Stell dir die gut 8 Millionen Einsen und Nullen, die dein 23-Bit Register erzeugt, ringförmig hingeschrieben vor.
An genau einer Stelle dieses Rings wirst du dann 23 aufeinanderfolgende Einsen finden, weil das Schieberegister vollständig mit "1" geladen war.
Die Nullen der nächsten 23 Stellen müssen dann durch die XORs enstanden sein und verraten dir deren Position.
Da beim XOR, anders als bei AND oder OR, keine Information verloren geht, gelingt das auch an jeder anderen Stelle, an der du 46 aufeinanderfolgende Bits untersuchst.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 576932
Lupin III. Schriftsteller
Beiträge: 616 Wohnort: Salzburg
|
Ich denke, Pseudo-Zufallszahlen-Generatoren in Assembler sollte es genug zu finden geben. Das Problem ist ja nicht neu. Ich habe nur noch eine Möglichkeit, falls die Schaltung sowieso Benutzerinteraktion erfordert: anstatt etwas ins EEPROM zu schreiben (was ja nicht immer verfügbar ist), lass ich einfach beim Einschalten einen Timer mit vollem Takt mitlaufen. Sobald der Benutzer eine Eingabe macht, wird der Timerwert zur Initialisierung des Zufallszahlen-Generators verwendet. Die Wahrscheinlichkeit, dass sich so die selbe Folge wiederholt, ist verschwindend klein, auch wenn man sich nicht den letzten Wert gemerkt hat.
|