Forum: Mikrocontroller und Digitale Elektronik RNG Funktion bei AT90SC


von Thomas G. (tomatos666)


Lesenswert?

Hallo,

Ich brauche für mein Projekt das ich im Moment am "Entwickeln" bin eine 
Random Zahl.

Ich würde gerne eine einfachen Atmega8 benutzen.

Habe auch schon im Forum hier gesucht und bin zum schluss gekommen das 
eine Random Zahl zu generien doch ein ziemlich grosser Aufwand ist.
Habe aber noch einige AT90SC Zuhause rumliegen.
Laut Datenblatt von ATMEL verfügen diese über einen RNG.
Leider findet man im Internet kein Datenblatt über diese Controller.
Weis jemand von euch wie man den RNG Anspricht bzw. kann mir jemand 
genauere Auskunft über diese funktion bei den AT90SC geben.

von Ralf (Gast)


Lesenswert?

Wie 'zufällig' soll die Zahl denn sein?

von tom (Gast)


Lesenswert?

mach aus rosa rauschen was übern adc einlesbares - je nachdem wieviele 
bits du brauchst entsprechend viele kanäle benutzen. damit kriegst du 
wirkliche zufallszahlen

oder eine sw-implementierung - gurgeln. das gibt dir schön mathematisch 
zufällig verteilte zahlen aber immer die gleiche abfolge, wenn du den 
seed nicht veränderst.

gruss, tom.

von Thomas G. (tomatos666)


Lesenswert?

Danke für die Antworten.

Ich würde eben gerne mehr über den RNG von dem AT90SC erfahren bzw. 
diesen die Randomzahlen generieren lassen.
Bei den AT90SC handelt es sich ja um sercuity Controller von ATMEL.
Ich gehe mal davon aus das der dort Intergrierte RNG ziemlich "Zufällig" 
sein müsste.
Ausserdem glaube ich auch das man eine ständige "Zufallige" Zahl bekommt 
und sich die Reihenfolge nicht wiederhollen wird.
Aber wie oben erwähnt findet man keider nicht genaueres über solche 
Controller bzw. Ansteuerung über Assemlber für den RNG.

von Alexander V. (avogra)


Lesenswert?

Wenn die Anforderungen an die Zufallszahlen nicht allzu hoch sind (also 
z.B. keine Kryptographie, Montecarlo-Simulationen,...), wäre mir der 
Aufwand mit extra IC zu groß.

Mit Pseudozufallszahlen-Generatoren kann man schon beachtliche Perioden 
bekommen, bis sich die Zahlen wiederholen. Ein richtig parametriertes 
n-bit LFSR kommt z.B. auf 2^n-1 Bit, bevors von vorne losgeht. Schon bei 
z.B. 64bit bekommste knapp 2^56 8bit-Zahlen. Die musst du erstmal alle 
durch bekommen. Die einfachen Eigenschaften wie Gleichverteilung, 
Frequenzanteile etc. sind da von höherwertigen RNGs quasi nicht 
unterscheidbar. Erst bei anspruchsvollen Tests zeigen sich Schwächen. In 
der Kryptographie darf es z.B. nicht möglich sein, aus einer handvoll 
erzeugter Werte zukünftige Werte zu berechnen. Allzu kompliziert ist die 
Implementierung eigentlich nicht. Hagen Re hat z.B. in seinem Projekt 
Firefly ein 32bit LFSR implementiert. Evtl. kannst/darfst du das ja 
direkt übernehmen. Meine RNG-Implementierung ist dir vermutlich zu 
schwergewichtig und hat auch keine besonders hohe Periode.

Zum AT90SC kann ich dir leider auch nichts sagen. Ich könnte mir aber 
gut vorstellen, dass da auch nur ein Pseudo-RNG drin steckt. Im 
zugänglichen Datenblatt steht ja schon drinnen, dass das vollständige 
Datenblatt nur bei Unterzeichnung einer Geheimhaltungserklärung 
rausgegeben wird. Unter Sicherheitsexperten wahrscheinlich gleich ein 
Grund, das Ding nicht einzusetzen, weil ja anscheinend die Gefahr 
besteht, dass der zu leicht zu knacken wäre, wenns öffentlich gemacht 
wird :)

Gruß, Alex

von Thomas G. (tomatos666)


Lesenswert?

Alexander v. Grafenstein schrieb:
> Unter Sicherheitsexperten wahrscheinlich gleich ein
> Grund, das Ding nicht einzusetzen, weil ja anscheinend die Gefahr
> besteht, dass der zu leicht zu knacken wäre, wenns öffentlich gemacht
> wird :)

Aus diesem Blinkwickel habe ich die Sache so noch nicht betrachtet.
Wahrscheinlich wirst du auch nicht unrecht haben!
Danke für deine Antwort!
Werde nun wahrscheinlich einen aus Software bestehenden RNG nehmen.
DANKE!!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.