Bitcoin Forum
May 08, 2024, 07:14:23 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Echte zufaellige Bitcoinschluesselpaare erzeugen  (Read 907 times)
curiosity81 (OP)
Legendary
*
Offline Offline

Activity: 1778
Merit: 1070



View Profile
January 21, 2015, 06:51:42 AM
 #1

Hallo,

ich habe mich gefragt ob es mit dem Bitcoin-Originalclienten moeglich ist echte zufaellige Bitcoinschluesselpaare zu erzeugen.

Als Linux-Nutzer weiss ich, dass /dev/random im Gegensatz zu /dev/urandom echte Zufallszahlen erzeugt (im Sinne vom Einbeziehen der physischen Welt auf die moegliche Hacker keinen Zugriff haben). Jedoch ist die Erzeugung dieser Zahlen ohne Tricks anzuwenden recht langsam. Bitcoin-qt erzeugt so schnell eine neue Wallet, dass ich davon ausgehen muss, dass, wenn ueberhaupt /dev/(u)random benutzt wird, dann auf /dev/urandom zurueckgegriffen wird, es sich also um Pseudozufallszahlen handelt.

Gibt es einen Paramter o.ae. bei bitcoin-qt/bitcoind, welcher explizit die Nutzung von /dev/random anweisst?

Ich weiss, dass man per Kommandozeile entsprechende Schluesselpaare generieren lassen kann:

https://bitcointalk.org/index.php?topic=133350.0

Im oberen Thread bei den Beispielen einfach /dev/urandom durch /dev/random austauschen.

Mir waere aber eine bequemere Loesung in Form vom Originalclienten lieber.

Gruss,
cu

          ▄▄██▄▄
      ▄▄██████████▄▄
  ▄▄██████▀▀  ▀▀██████▄▄

███████▀          ▀███████
████       ▄▄▄▄     ▄█████
████     ███████▄▄██████▀
████     ██████████████
████     ████████▀██████▄
████       ▀▀▀▀     ▀█████
███████▄          ▄███████
  ▀▀██████▄▄  ▄▄██████▀▀
      ▀▀██████████▀▀
          ▀▀██▀▀
COINVEST
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
WEBSITE  ●  WHITEPAPER  ●  DEMO
ANN  ●  TELEGRAM  ●  BLOG

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
       ▄▄█████████▄▄
    ▄██████▀▀▀▀▀██████▄
  ▄████▀▀         ▀▀████▄
 ▄████    ▄▄███▄▄    ████▄
▄████  ▄███▀▀ ▀▀███▄  ████▄
████   ██▌  ▄▄▄  ███   ████
████   ██▌ ▐███████    ████
████   ██▌  ▀▀▀  ███   ████
▀████  ▀███▄▄ ▄▄███▀  ████▀

 ▀████    ▀▀███▀▀    ████▀
  ▀████▄▄         ▄▄████▀

    ▀██████▄▄▄▄▄██████▀
       ▀▀█████████▀▀
COINTOKEN
1715152463
Hero Member
*
Offline Offline

Posts: 1715152463

View Profile Personal Message (Offline)

Ignore
1715152463
Reply with quote  #2

1715152463
Report to moderator
"You Asked For Change, We Gave You Coins" -- casascius
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715152463
Hero Member
*
Offline Offline

Posts: 1715152463

View Profile Personal Message (Offline)

Ignore
1715152463
Reply with quote  #2

1715152463
Report to moderator
mezzomix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1253


View Profile
January 21, 2015, 07:14:35 AM
 #2

/dev/urandom gibt ebenfalls "echte" Zufallszahlen zurück, solange der Entropiepool nicht erschöpft ist. Selbst danach ist die Rückgabe schwer zu berechnen, da der Seed sozusagen auf dem Entropiepool basiert.

Insgesammt ist es aber von Vorteil, darauf zu achten, dass man keine Schadsoftware oder schlecht programmierte Software am laufen hat, die den Entropiepool leersaugt.
fronti
Legendary
*
Offline Offline

Activity: 2909
Merit: 1307



View Profile
January 21, 2015, 08:40:36 AM
 #3

/dev/urandom gibt ebenfalls "echte" Zufallszahlen zurück, solange der Entropiepool nicht erschöpft ist. Selbst danach ist die Rückgabe schwer zu berechnen, da der Seed sozusagen auf dem Entropiepool basiert.

<aluhut>
ich würde lieber "/dev/urandom sollte \"echte\" Zufallszahlen zurückgeben" schreiben
es gab auch hier schon schlechte Implementierungen...
</aluhut>

Insgesamt gesehen ist das aber schon recht sicher. Und ich vertraue auch auf der Implementierung von urandom.
aber man weiss ja nie.
Zufall ist eben fast nie wirklich Zufall.

 

If you like to give me a tip:  bc1q8ht32j5hj42us5qfptvu08ug9zeqgvxuhwznzk

"Bankraub ist eine Unternehmung von Dilettanten. Wahre Profis gründen eine Bank." Bertolt Brecht
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
January 21, 2015, 08:46:54 AM
 #4

/dev/urandom und /dev/random benutzen den selben Zufallszahlengenerator. Dieser Mythos hällt sich wegen der manpage so hartnäckig, ist aber unfug. Keiner von beiden erzeugt "echten" Zufall[1], beide benutzen einen PSEUDO random number generator.

Wer mehr dazu lesen will und englisch kann, hier[2] hat das mal jemand zusammengefasst der irgendwann keine Lust mehr hatte den selben Kram immer und immer wieder zu wiederlegen


[1] es ist mathematisch eindeutig nicht mal geklärt was das überhaupt sein soll
[2] http://www.2uo.de/myths-about-urandom/

Im not really here, its just your imagination.
mezzomix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1253


View Profile
January 21, 2015, 08:53:49 AM
 #5

Deshalb sollte man das ganze auswürfeln.


Übrigens bietet https://bitaddress.org/ dafür seit einiger Zeit eine Unterstützung an. Einfach 99 mal würfeln und schon hat man ein Key-Paar (B6 Key) aus echten Zufallszahlen.  Wink
curiosity81 (OP)
Legendary
*
Offline Offline

Activity: 1778
Merit: 1070



View Profile
January 21, 2015, 09:41:32 AM
 #6

/dev/urandom und /dev/random benutzen den selben Zufallszahlengenerator. Dieser Mythos hällt sich wegen der manpage so hartnäckig, ist aber unfug. Keiner von beiden erzeugt "echten" Zufall[1], beide benutzen einen PSEUDO random number generator.

Wer mehr dazu lesen will und englisch kann, hier[2] hat das mal jemand zusammengefasst der irgendwann keine Lust mehr hatte den selben Kram immer und immer wieder zu wiederlegen


[1] es ist mathematisch eindeutig nicht mal geklärt was das überhaupt sein soll
[2] http://www.2uo.de/myths-about-urandom/

Zu [2]: Unter der Annahme, dass der Entropiepool immer voll ist, dann wuerde doch gelten:

/dev/random = /dev/urandom

Richtig?

D.h., wenn man paranoid ist, so sollte das Ziel sein den Entropiepool immer moeglichst voll zu halten?

          ▄▄██▄▄
      ▄▄██████████▄▄
  ▄▄██████▀▀  ▀▀██████▄▄

███████▀          ▀███████
████       ▄▄▄▄     ▄█████
████     ███████▄▄██████▀
████     ██████████████
████     ████████▀██████▄
████       ▀▀▀▀     ▀█████
███████▄          ▄███████
  ▀▀██████▄▄  ▄▄██████▀▀
      ▀▀██████████▀▀
          ▀▀██▀▀
COINVEST
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
WEBSITE  ●  WHITEPAPER  ●  DEMO
ANN  ●  TELEGRAM  ●  BLOG

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
       ▄▄█████████▄▄
    ▄██████▀▀▀▀▀██████▄
  ▄████▀▀         ▀▀████▄
 ▄████    ▄▄███▄▄    ████▄
▄████  ▄███▀▀ ▀▀███▄  ████▄
████   ██▌  ▄▄▄  ███   ████
████   ██▌ ▐███████    ████
████   ██▌  ▀▀▀  ███   ████
▀████  ▀███▄▄ ▄▄███▀  ████▀

 ▀████    ▀▀███▀▀    ████▀
  ▀████▄▄         ▄▄████▀

    ▀██████▄▄▄▄▄██████▀
       ▀▀█████████▀▀
COINTOKEN
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
January 21, 2015, 10:29:59 AM
 #7

-snip-
Zu [2]: Unter der Annahme, dass der Entropiepool immer voll ist, dann wuerde doch gelten:

/dev/random = /dev/urandom

Richtig?

Das ist richtig. Also, die Werte werden nicht identisch sein, aber ich interpretier das "=" mal als "gleichwertig" und nicht als "identisch".

D.h., wenn man paranoid ist, so sollte das Ziel sein den Entropiepool immer moeglichst voll zu halten?

Naja, das ist ja genau die Krux. Entropie zu messen ist ein bisschen Hexenwerk. Das wird geschätzt, weil man Entropie nicht einfach zählen oder messen kann. Wenn sich der Algorithmus dafür also verschätzt hast Du effektiv sowieso /dev/urandom. Es gibt dafür Modelle die das einschätzen und die sind wohl auch relativ gut, aber die Zufallszahlen die aus dev/urandom rausfallen wenn wenig Entropie übrig ist sind deswegen nicht auf einmal schlecht. Wichtig ist lediglich das anfänglich ausreichend Entropie verhanden war um den CPRNG zu initialisieren.

Wenn Du was für den eigenen Bedarf schreibst und zur Paranoiafraktion gehörst, dann nimm /dev/random und warte ggf. ein bisschen. Es schadet nicht. Das größte Problem beim benutzen von /dev/urandom ist wenn Du für jemand anderen schreibst.
Ich war mal auf ner Cryptoparty mit jemandem der sich ein frisches Ubuntu auf nen Laptop mit SSD gezogen hat. Der musste 15 Minuten auf dem touchpad schrubbeln, wild tippen und im Hintergrund Videos laden um seinen 4096 bit key zu bekommen. Das hällt im schlimmsten Fall Menschen davon ab überhaupt zu verschlüsseln oder sie generieren sich einen 1024 bit key (geht ja schneller). Der Sicherheitsgewinn dabei ist minimal, wenn überhaupt vorhanden.

Im Endeffekt ist mein Wissen zu dem Thema auch ziemlich beschränkt, aber was ich so von Menschen wie djb[1] (ist glaub ich im Artikel auch zitiert) lese reicht mir um immer /dev/urandom zu benutzen und weniger Zeit mit warten zu verbringen Wink


[1] http://cr.yp.to/

Im not really here, its just your imagination.
mezzomix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1253


View Profile
January 21, 2015, 10:50:12 AM
 #8

Wichtig ist, möglichst viel komplexen (nicht vorhersagbaren und unabhängigen) Input aus unterschiedlichen Quellen für den Entropiepool zu bekommen. Selbst der Intel (P)RNG ist als Futter für den Pool zu gebrauchen, auch wenn er verdächtigt wird, vorhersagbar zu sein und daher nicht alleine genutzt werden sollte.
curiosity81 (OP)
Legendary
*
Offline Offline

Activity: 1778
Merit: 1070



View Profile
January 21, 2015, 01:00:22 PM
 #9

Wichtig ist, möglichst viel komplexen (nicht vorhersagbaren und unabhängigen) Input aus unterschiedlichen Quellen für den Entropiepool zu bekommen. Selbst der Intel (P)RNG ist als Futter für den Pool zu gebrauchen, auch wenn er verdächtigt wird, vorhersagbar zu sein und daher nicht alleine genutzt werden sollte.

Es scheint ja einige kleine Tools zu geben welche auf die Hardware aufsetzen und den Entropiepool fuellen.

D.h. also, dass man mehrere von den Dingern laufen lassen muesste und man waere auf der noch sichereren Seite.

          ▄▄██▄▄
      ▄▄██████████▄▄
  ▄▄██████▀▀  ▀▀██████▄▄

███████▀          ▀███████
████       ▄▄▄▄     ▄█████
████     ███████▄▄██████▀
████     ██████████████
████     ████████▀██████▄
████       ▀▀▀▀     ▀█████
███████▄          ▄███████
  ▀▀██████▄▄  ▄▄██████▀▀
      ▀▀██████████▀▀
          ▀▀██▀▀
COINVEST
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
WEBSITE  ●  WHITEPAPER  ●  DEMO
ANN  ●  TELEGRAM  ●  BLOG

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
       ▄▄█████████▄▄
    ▄██████▀▀▀▀▀██████▄
  ▄████▀▀         ▀▀████▄
 ▄████    ▄▄███▄▄    ████▄
▄████  ▄███▀▀ ▀▀███▄  ████▄
████   ██▌  ▄▄▄  ███   ████
████   ██▌ ▐███████    ████
████   ██▌  ▀▀▀  ███   ████
▀████  ▀███▄▄ ▄▄███▀  ████▀

 ▀████    ▀▀███▀▀    ████▀
  ▀████▄▄         ▄▄████▀

    ▀██████▄▄▄▄▄██████▀
       ▀▀█████████▀▀
COINTOKEN
mezzomix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1253


View Profile
January 21, 2015, 01:41:21 PM
 #10

Wenn nicht ein Fehler im Algorithmus zur eigentlichen Berechnung am Ende wieder alles zunichte macht, ja. Falls der Algorithmus ordentlich arbeitet, ist der Aufwand wiederum nicht notwendig.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!