Hallo,
Du hast ja schon sehr gute Antworten hier erhalten. Lass mich auch noch ein paar Zeilen dazu schreiben…
Das entscheidende Geheimnis bei Bitcoin ist der Private Key.
Dieser sollte immer nur Dir allein bekannt sein, bei Dir lokal lagern und auf sicherem Wege erzeugt werden!
Nimm eine Münze, werfe sie hoch und schau nach den Runterfallen, was oben liegt. Bei einer Zahl schreibe Dir eine 1, bei Kopf eine 0 auf einen Zettel.
Dies tue 8-mal. Die Zahlen schreibst Du hintereinander auf. Jetzt hast Du ein Byte (8Bit) in binärer Schreibweise zufällig erzeugt. Schreibe dies jetzt in Hexadezimal (00-FF) auf einen anderen Zettel.
Den Vorgang oben (Münzwurf) machst Du 32-mal, wobei Du die Hexa-Zahlen direkt hintereinander schreibst.
Es kommt dann zu Beispiel so etwas raus: 269229F12724D373925983E7281E6232EB0077D20870100C231BDF6593927C5B
Das ist Dein neuer, echt zufällig erzeugter, Private Key! (Hexadezimal) Diesen kann man auch in anderen Formaten schreiben, z.B. Base(64) oder Base(58) (Ist das gleiche wie Base(64), nur ohne verwechselbare Zeichen.)
Auf bitaddress.org z.B. kannst Du Dir die verschieden Formate ansehen und umwandeln.
Dein Public Key (öffentliche Schlüssel) wird durch mehrfaches hashen Deines Privaten Keys erzeugt.
Dein Public Key Adresse (öffentliche Schlüssel) wird durch mehrfaches hashen Deines ECDSA Public Keys erzeugt.
Genutzt wird dazu SHA(256) und RIMEND(160), zwei als sicher angesehenen Hash Algorithmen. Der Grund des mehrmaligen Hash und das man noch RIMEND160 mit rein genommen hat, ist die Sicherheit. Sollte irgendwann SHA(256) als nicht mehr sicher gelten, ist RIMEND(160) zusätzlich noch dabei.
Als Ergebnis erhältst Du eine Art „Fingerabdruck“ (fingerprint) der genau Deinen Privaten Key identifiziert, ohne dass man daraus Dein Privaten Key wieder zurück rechnen kann. So läuft es in übrigen auch bei digitalen Signaturen.
Aus den „Fingerabdruck“ wird noch durch zweimaliges hashen eine Checksumme ermittelt und gekürzt hinten dran gehängt. Durch diese Checksumme werden Tippfehler etc. vermieden. Umgewandelt in Base(58), Kennnummer davor, fertig.
Mit Würfeln geht es natürlich schneller als per Münzwurf.
Die Erzeugung des Public Key kannst Du übrigens getrost einem Programm überlassen. Unter Hash SHA(256) und RIMEND(160) findest Du im Internet weiterführende Details zu den Algorithmen.
Axiom
Änderung: ECDSA Public Keys hinzu gefügt.