Author

Topic: Wie funktioniert ECDSA bei der Bitcoin Adresserstellung (Read 922 times)

sr. member
Activity: 298
Merit: 275
Bitcoin Association Switzerland
Schau dir den Source von Vanitigen, Bitcoin-Qt, libbitcoin etc an.

Tut mir leid, dir das so sagen zu müssen, aber da mir der Wikipedia Artikel zur Beschreibung des ECDSA Algorithmus schon eine Hürde ist und ich kein C++ kann, war mir das Nachsehen in den oben genannten Programmen eine noch größere Hürde und ich kann mit deinem Post somit leider nichts anfangen.

Source Code lesen ist ja normalerweise kein Problem, egal in was für einer Sprache. Da kannst du einfach das ganze 1-1 nach PHP portieren.

Ich glaub nicht dass das jemand besser Erklären kann als bei Wikipedia oder was man halt sonst noch so im Internet findet, wenns dir zu schwer ist verwende eine Library. Da die auch von vielen Leuten verwendet, getestet und geprüft sind sind sie einer Eigenimplementierung meistens sowieso überlegen.


Vertrauen in Bitcoin kannst du wohl am besten mit der Erkenntnis aufbauen das, obwohl es 6 Milliarden wert hat, noch keiner das ganze geknackt hat.
legendary
Activity: 2912
Merit: 1309
Das wird ohne Hochschulmathematik aber leider nur schwer funktionieren... Du kannst ja z.B. OpenSSL vertrauen, dass die wissen was sie tun und das von derem Programm/Library erledigen lassen.

Addressengenerierung in Javascript gibt's auch schon, allerdings wohl auch über eine Library - die aber auch ziemlich sicher Open Source ist. Schau dir z.B. diverse online Paperwallet-Generatoren an

so schwer ist das auch nicht... Klar, die Kurve dahinter sollt eman mit Mathe erschlagen, aber eine Key generierung sollte doch auch so gehen:

den secret key kannste einfach erstellen, nimm eine Zufallszahl, string, whatever und jag den durch sha256:
echo hallo | sha256sum
622cb3371c1a08096eaac564fb59acccda1fcdbe13a9dd10b486e6463c8c2525 

das ist dein secret key, bzw einer und sicherlich nicht sehr sicher..




Hierher schöner Python code der dann daraus den Pubkey erzeugt, ohne ssl libs und co:

https://bitcointalk.org/index.php?PHPSESSID=bctq6u0g4uffus7jijcukdv275&topic=23241.0


(nachdem ich diese Punkte gelesen habe:
# secp256k1
_p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2FL
_r = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141L
_b = 0x0000000000000000000000000000000000000000000000000000000000000007L
_a = 0x0000000000000000000000000000000000000000000000000000000000000000L
_Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798L
_Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L


war mir da einiges Klarer..



legendary
Activity: 2618
Merit: 1007
Das wird ohne Hochschulmathematik aber leider nur schwer funktionieren... Du kannst ja z.B. OpenSSL vertrauen, dass die wissen was sie tun und das von derem Programm/Library erledigen lassen.

Addressengenerierung in Javascript gibt's auch schon, allerdings wohl auch über eine Library - die aber auch ziemlich sicher Open Source ist. Schau dir z.B. diverse online Paperwallet-Generatoren an
sr. member
Activity: 298
Merit: 275
Bitcoin Association Switzerland
Schau dir den Source von Vanitigen, Bitcoin-Qt, libbitcoin etc an.
newbie
Activity: 2
Merit: 0
Jump to: