php : Génération de clés publiques et privées Bitcoin


J’ai réussi à écrire le code ci-dessous qui créera des clés publiques et privées

Clé privée

$input = « satoshinakamoto » ;
$sha256 = hachage(« sha256 », ($entrée));
écho « Clé privée: « .$sha256. »

 » ;

php : Génération de clés publiques et privées Bitcoin

Clé publique

$step1 = hexStringToByteString(« 0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE182BA9C5 »);
écho « Étape 1: « .$étape1. »

 » ;
$étape2 = hachage(« sha256 », $étape1);
écho « Étape 2: « .$étape2. »

 » ;
$step3 = hash(‘ripemd160′, hexStringToByteString($step2));
écho « Étape 3: « .$étape3. »

 » ;
$étape4 = ’00’.$étape3;
écho « Étape 4: « .$étape4. »

 » ;
$step5 = hash(« sha256 », hexStringToByteString($step4));
écho « Étape 5 : « .$step5. »

 » ;
$step6 = hash(« sha256 »,hexStringToByteString($step5));
écho « Étape 6 : « .$step6. »

 » ;
$step7 = substr($step6,0,8);
écho « Étape 7 : « .$step7. »

 » ;
$étape8 = $étape4.$étape7 ;
écho « Étape 8 : « .$étape8. »

 » ;
$step9 = bc_hexdec($step8);
écho « Étape 9 : « .$step9. »

 » ;
$step10 = bc_base58_encode($step9);
écho « Étape 10 : 1″.$step10. »

 » ;
retourne $step10 ;

Pour générer la clé publique, j’ai pris la référence de https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses

Dans ce lien, ils ont fourni un processus étape par étape et j’ai suivi la même chose et si
Je saisis à partir de l’étape 1 dans le lien, puis je peux convertir le code en clé publique mais je ne sais pas comment convertir l’étape 0 en étape 1

c’est à dire.

À partir de:

18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

À

0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

Le document dit

Prenez la clé publique correspondante générée avec elle (65 octets, 1 octet 0x04, 32 octets correspondant à la coordonnée X, 32 octets correspondant à la coordonnée Y)

Qu’est-ce que ça veut dire? Comment puis-je générer cette valeur à partir de la clé privée.

Modifier 1

Cette question dit https://stackoverflow.com/questions/17672696/generating-bitcoin-address-from-ecdsa-public-key

Rejoindre la clé publique elliptique et je ne comprends toujours pas ce qu’ils sont.