Jump to content

Programm zur Generierung eines Priv. Key´s mit Bitcoinadresse


MixMax
 Share

Recommended Posts

Besteht denn hier Interesse an einem Programm zur Generierung eines Priv.Keys mit zugehöriger Bitcoinadresse?

Das ganze stell ich mir so vor:

- Es wird in Java sein
- Kein Zufallsgenerator, es muss gewürfelt werden, die Würfelzeichen werden dann eingegeben
- Der Privat-key, Public-key und die Bitcoinadresse wird dann ausgegeben, mehr nicht!
- Quelloffen
- Einsehbarer, erläuterter trivialer Code aus dem Lehrerbuch in unter 1000 Zeilen
- ohne Abhängigkeiten oder speziellen Bibliotheken (Soweit das möglich ist)
- Schwerpunkt liegt hier ganz klar bei "leicht prüfen können", also ohne zusätzlichen Schnickschnack, so simple es nur geht.
- Nicht effizient aber extrem leicht zu prüfen und zu verstehen.
- kein QR-Code (dazu müsste man eine GUI bauen usw. das würde den Code ziemlich aufblähen)

Der Sinn dahinter, soll sein, dass jeder die Möglichkeit einer sicheren Erstellung eines Priv.Keys mit zugehöriger Adresse auf seinem PC bekommt.

Java Quellcode ist auch ziemlich einfach zu kompilieren und zu verstehen. Z.B. gibt es da nen simplen Java-Editor, da kann der Quellode einfach reinkopiert werden, Start drücken fertig!
Das werde ich dann aber ggf. auch noch zeigen.

Wer möchte, kann natürlich auch die ausführbare .jar Datei bekommen. Das ist dann aber nicht der eigentliche Sinn dahinter.

Bitte schreibt mir hier ob Ihr Interesse habt und Eure Vorschläge dazu, oder ob es so was schon gibt.

Edited by MixMax
  • Like 2
Link to comment
Share on other sites

Danke fjvbit, ist mal was zum Testen. Echte Private Key´s würde ich damit aber auch nicht Erzeugen/Eingeben.
Geht halt irgendwie nix über ein kleines selbst geschriebenes Programm, um einfach keinem zweiten vertrauen zu müssen.

Link to comment
Share on other sites

Da hast Du natürlich recht - das mit dem Vertrauen gilt für Dich selber, aber wie sieht es mit den anderen aus?

Warum soll jemand Dir mehr vertrauen als Open-Source-Dateien, die schon lange im Internet stehen und von vielen Programmierern geprüft wurden?

(ich hab das BIP39-Ding auch mal kurz geprüft .. ebenfalls sauber, läuft offline, funktioniert prima .. analog bitaddress.org gegen das Du Dich ja sehr sträubst)

Die Frage, die ich mir stelle, wieso braucht es ein eigenes selbst geschriebenes Programm zur Erzeugung von PrivateKeys? Ich kann doch genauso gut einfach Electrum eine neue Wallet anlegen lassen und hab auch alles, was ich brauche - selbst die QR-Codes kommen da fix raus.

Link to comment
Share on other sites

vor 32 Minuten schrieb Jokin:

Die Frage, die ich mir stelle, wieso braucht es ein eigenes selbst geschriebenes Programm zur Erzeugung von PrivateKeys? Ich kann doch genauso gut einfach Electrum eine neue Wallet anlegen lassen und hab auch alles, was ich brauche - selbst die QR-Codes kommen da fix raus.

Weil du auch da irgendwie Deine private Keys, Generieren/Eingeben musst. Und genau an dem Punkt vertraust du immer einer Fremdsoftware.
Ob das Electrum BitcoinCore oder Bitadress.org ist. Nimmt sich im Endeffekt alles nichts. Die Private Keys kommen einfach nicht von dir selbst und könnte daher z.B. aus einem Pool kommen, oder speziell berechnet werden. Wenn du Software für dich selbst prüfen kannst und für Sicher einstufst ist das ja für dich in Ordnung. Aber halt nur für dich.

Das Gleiche würde für mein Programm gelten. Wer es nutzt muss mir vertrauen. Daher kann nur derjenige 100% sicher sein, der den Quellode selbst prüfen und auch selbst compilieren kann. Was du in deinem Fall wahrscheinlich nicht gemacht hast. Daher bringt das alleinige Prüfen auch nur ein sicheres Gefühl.

Und mal eben den Quellcode von ner Webseite überfliegen,... also ganz ehrlich, bringt Null!
Selbst erfahrene Experten, würden komplexen Quellcode niemals in so kurzer Zeit seriös prüfen können.

 

Edited by MixMax
Link to comment
Share on other sites

vor einer Stunde schrieb MixMax:

Danke fjvbit, ist mal was zum Testen. Echte Private Key´s würde ich damit aber auch nicht Erzeugen/Eingeben.
Geht halt irgendwie nix über ein kleines selbst geschriebenes Programm, um einfach keinem zweiten vertrauen zu müssen.

Hallo MixMax,

ich kann nicht einschätzen, in wieweit Du bei der Erzeugung privater Keys Erfahrung hast.
In der Kryptografie hat sich gezeigt, dass man Sicherheit erst durch mehrere und entsprechender Prüfung/Diskussion geschafft hat.

Sag mal Deiner Meinung zu nicht-deterministischen und deterministischen Zufallszahlen, wie du die Entropie bemisst und welche kryptographische Eckpunkte Du dabei siehst, beachtest.

  • Welche Stärke erreichst Du in der Entropie?
  • Welches 0/1-Verhältnis und
  • welche Entropie nach Shannon strebst du an/erreichst Du/kannst Du mathematisch beweisen?

Einen privaten Schlüssel zu erzeugen, sollte sich ja nicht nur im schreiben ein paar Zeilen Code erschöpfen.
 

Bin schon sehr gespannt und freue mich auf Deine Ausführungen.
Vielen Dank.

Axiom

 

PS: Und das es locker bleibt, hier noch ein Witz:

Drei Ballonfahrer haben sich verirrt und wissen nicht mehr wo sie sind. Doch Gott sei dank sehen sie ein Mann unten auf der Wiese. 
Schnell sacken sie etwas ab und rufen den Mann zu: 

"Wo sind wir den hier?"

Der Mann schaut lange die Ballonfahrer an und überlegt. Dann, schon fast nicht mehr zu hören ruft er ihnen nach: 

"In einem Ballon."

Die Männer schauen sich gegenseitig fragend an. Dann sagt einer:

"Das muss ein Mathematiker gewesen sein. Die Antwort hat lange gedauert, ist 100% richtig und nicht zu gebrauchen." ;)

 

  • Haha 1
Link to comment
Share on other sites

vor 22 Minuten schrieb Axiom0815:
  • Welche Stärke erreichst Du in der Entropie?
  • Welches 0/1-Verhältnis und
  • welche Entropie nach Shannon strebst du an/erreichst Du/kannst Du mathematisch beweisen?

Mein Programm erzeugt selbst keine Entropie.
"Deterministische Zufallszahlen"??? Entweder Determinismus oder Zufall, dass eine schließt das andere aus!
Eingegeben werden selbst gewürfelte Zahlen. Die Entropie hängt also von den Würfeln ab.
Es ist kein Zufallsgenerator im Programm der Private Key´s erzeugt!

Was meinst du mit 0/1 Verhältnis?

vor 22 Minuten schrieb Axiom0815:

welche kryptographische Eckpunkte Du dabei siehst, beachtest.

Alle die dafür nötig sind:

So ganz grob:

  • Die eingegebenen Würfelzahlen werden von Base6 in Base10 und in Hexa konvertiert
  • Daraus der Private Key ausgegeben
  • Dann mit dem Generator auf der Elliptischen kurve Multipliziert
  • Daraus der Public Key ausgegeben
  • nach dem Hash SHA256 und 160 wird in Base58 konvertiert und die Bitcoinadresse ausgegeben

 

Edited by MixMax
Link to comment
Share on other sites

vor 14 Minuten schrieb MixMax:

Mein Programm erzeugt selbst keine Entropie.
"Deterministische Zufallszahlen"??? Entweder Determinismus oder Zufall, dass eine schließt das andere aus!
Eingegeben werden selbst gewürfelte Zahlen. Die Entropie hängt also von den Würfeln ab.
Es ist kein Zufallsgenerator im Programm der Private Key´s erzeugt!

Was meinst du mit 0/1 Verhältnis?

Das 0/1 Verhältnis in Datenstrom, ist das Verhältnis, von Bits mit 0 und Bits mit 1 auf einer beliebigen Zeiteinheit gemessen.

Was, Dein Programm wandelt nur die Hexa-Zahlen in Base58- oder komprimierten Schlüssel um?

Sag mal ein bisschen mehr. Was bietet Dein Programm alles?

Axiom

 

Nachtrag: Bitte mach sichtbar, wenn du was im vorhergehenden Post änderst, wenn ich schon darauf geantwortet habe. 
Sonst ist dass hier sinnlos. :angry:

Ich bin dann mal raus.

Edited by Axiom0815
Link to comment
Share on other sites

Ich verstehe immer noch nicht was du mit dem Verhältnis meinst.
Der Zahlenraum wird gleichmäßig und komplett genutzt. Wenn du das meinst.

Was das Programm machen soll:

  1. Eingabe von 100 Würfelzeichen in Base6
  2. Ausgabe des Privat. Key in Hex, Base58, Base58 compressed, Base64
  3. Ausgabe des Public Key (X,Y) In Hex, mit der 04 am Anfang
  4. Ausgabe der Bitcoin Adresse in Hex, Base58, Base58 compressed, Base64


Mehr absichtlich nicht!
Es soll so wenig wie möglich Code enthalten, der so leicht wie möglich selbst zu prüfen ist.

Edited by MixMax
Link to comment
Share on other sites

  • 3 years later...
Am 12.12.2017 um 04:29 schrieb MixMax:

Ich verstehe immer noch nicht was du mit dem Verhältnis meinst.
Der Zahlenraum wird gleichmäßig und komplett genutzt. Wenn du das meinst.

Was das Programm machen soll:

  1. Eingabe von 100 Würfelzeichen in Base6
  2. Ausgabe des Privat. Key in Hex, Base58, Base58 compressed, Base64
  3. Ausgabe des Public Key (X,Y) In Hex, mit der 04 am Anfang
  4. Ausgabe der Bitcoin Adresse in Hex, Base58, Base58 compressed, Base64


Mehr absichtlich nicht!
Es soll so wenig wie möglich Code enthalten, der so leicht wie möglich selbst zu prüfen ist.

Grüße,

gibt es schon eine genaue Einleitung wie man ein wallet erstellt?

Danke euch.

 

BG

HODLMODL

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.