Для сильных downvoters и / или докторов: Если вы считаете, что это оффтоп для SO, любезно укажите меня на другой сайт StackExchange, где этот вопрос будет более уместным.
Как реализовать кривую ECDSA secp256k1 в PHP?
Вернее: есть ли какие-либо решения – т.е. включая специализированные классы – уже сделано?
Я вижу, что существует множество библиотек, классов и материалов для открытых источников, доступных для других языков (JavaScript, Python, …), но я просто провел весь день по поисковому запросу для любого / любого PHP-решения и … ничего! ,
Это для моего проекта биткойнов, и мне нужен способ генерации открытого ключа из закрытого ключа … а затем я хочу создать окончательный биткойн-адрес .
Я знаю, как генерировать секретный ключ (не беспокойтесь о том, что он случайный или нет – не проблема здесь), и у меня есть 256-битные шестнадцатеричные и WIF-обозначения . Но следующий шаг: придумать открытый ключ, а затем окончательный биткойн адрес , для меня как бы проблема, поскольку у меня буквально нулевой криптографический фон, и я знаю, что решение заключается в том, чтобы каким-то образом использовать secp256k1.
Это то, что у меня есть до сих пор:
// Random bytes // $private_key = bin2hex(openssl_random_pseudo_bytes(32)); // But using brainwallet.org style to have easy comparison $passphrase = "correct horse battery staple"; $private_key = hash('sha256', $passphrase); var_dump ("PrivKey: $private_key"); // Bitcoin::privKeyToWIF from github.com/mikegogulski/bitcoin-php $wif = Bitcoin::privKeyToWIF($private_key); var_dump ("WIF PrivKey: $wif"); // And now I don't know where to even start ...
tl; dr Как реализовать это в PHP? (.. и privKey-> pubKey преобразование до этого)
Я знаю о …
Я ищу решение PURE PHP. Я не ищу использование оболочки, работающей на биткойне, а затем разбора JSON для пар ключей, а затем …
Почему нет кода, который мог бы полностью справиться с этим в PHP? ИЛИ ТАК ?! 🙂