Forum: HF, Funk und Felder FSK Chip als TRNG für X25519?


von Mike E. (Gast)


Lesenswert?

Hi,
eignet sich ein FSK Chip wie z.B. der nRF24L01 als guter 
Zufallsgenerator für ein 32 Byte Geheimnis (shared secret für X25519)?

Mein µC hat leider keinen TRNG an Board.

Oder sollte ich lieber das LSB des 12Bit ADC vom µC als Zufallsgenerator 
verwenden?

von Dr. Sommer (Gast)


Lesenswert?

Du möchtest das Rauschen empfangen und auswerten? Lädt das nicht 
geradezu dazu ein, über das Aussenden präparierter Daten den RNG zu 
beeinflussen und den Schlüssel praktisch vorher zu bestimmen?

von Gerd E. (robberknight)


Lesenswert?

Mike E. schrieb:
> Hi,
> eignet sich ein FSK Chip wie z.B. der nRF24L01 als guter
> Zufallsgenerator für ein 32 Byte Geheimnis (shared secret für X25519)?

Einige TRNG nehmen das LSB von Funkchips, z.B. OneRNG. Der verwendet 
allerdings nicht den nRF24L01, sondern CC2531. Ich weiß nicht wie gut 
der nRF24L01 ist was den Empfang von Rauschen angeht.

> Oder sollte ich lieber das LSB des 12Bit ADC vom µC als Zufallsgenerator
> verwenden?

Das ist zu leicht beeinflussbar.

Die einfachste und billigste Variante die ich kenne um guten Zufall zu 
bekommen, ist die Schaltgeschwindigkeit eines LM393-Komparator zu 
nehmen, bei dem beide Eingänge auf dem gleichen Spannungsniveau liegen. 
Der Mechanismus wird hier gezeigt und erklärt:

http://www.jtxp.org/tech/xr232usb.htm#hardware

von Pandur S. (jetztnicht)


Lesenswert?

Vielleicht ist der Unterschied zwischen Pseudozufall und Zufall auch 
klein genug...

von Heinz Elmann (Gast)


Lesenswert?

Ich habe mal in einer Anwendung mit ATmega644 einen CSPRNG gebaut, der 
kontinuierlich den Vorgängerwert durch AES oder Keccak laufen gelassen 
hat. Dieser Wert selbst wurde gelegentlich (d.h. mit viel langsamerer 
Rate) mit den Werten eines TRNG gexort. Der TRNG hatte mehrere Quellen:

  * Rauschen der ADC gain stage: ADC pos. und neg. Kanal auf den selben 
Eingang (-> Ein Angreifer kann den Pegel von außen nicht kontrollieren, 
Differenz ist ja immer 0), max gain einstellen, max. sampling rate. Man 
erhält also den temperatur- und fertigungsabhängigen internen 
Offsetfehler der Gain Stage. Davon das unterste Bit verwendet.

  * Jitter des Watchdog timers: WdT einschalten und zusätzlich normalen 
Timer laufen lassen. Wenn WDT fertig, dann den Timerwert auslesen und 
verwenden. Der WDT läuft aber sehr langsam und Temperaturänderungen sind 
ebenfalls langsam, bringt also nur sehr begrenzt Entropie ein.

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.