Я нашел этот питон код из pybitcoin инструментов. В основном:
Защиту base10_multiply (а, п):
  если isinf (а) или п == 0: возврат (0,0)
  если п == 1: возвращать
  если п < 0 или п >= N: возвращение base10_multiply (а, п% N),
  если (п% 2) == 0: возвращение base10_double (base10_multiply (а, п / 2))
  если (п% 2) == 1: вернуть base10_add (base10_double (base10_multiply (а, п / 2)), а)
Защиту privkey_to_pubkey (privkey):
  если isinstance (privkey, (интермедиат, длинные)):
      вернуться base10_multiply (G, privkey)
  если Len (privkey) == 64: 
      Возвращение point_to_hex (base10_multiply (G, расшифровывает (privkey, 16)))
  Элиф Len (privkey) == 66:
      Возвращение компресс (base10_multiply (G, расшифровывает (privkey [: - 2], 16)), 'шестигранной')
  Элиф Len (privkey) == 32:
      Возвращение point_to_hex (base10_multiply (G, расшифровывает (privkey, 16)))
  Элиф Len (privkey) == 33:
      Возвращение компресс (base10_multiply (G, расшифровывает (privkey [: - 1], 16)), 'бин')
  еще:
      вернуться privkey_to_pubkey (b58check_to_hex (privkey))
  Если использовать базу десять, как числа, используемых в верхней части главной области. У меня возникли вопросы, проверяя это о том, как она работает. Похоже, что это простой раз GX закрытый ключ Mod P, чтобы получить й часть общественности. Тогда сделайте это для Y. Это не работает в программе, как Mathematica для проверки. 
  Кто-нибудь знает регулярную математику, участвующую в принятии закрытого ключа в базе десяти и использовать параметры из основной исходной области для создания общественных х, у? Также ФИПС большой обратный порядок байт, что это реальная боль. Благодарю.



 Re: частный общественный вопрос.
Re: частный общественный вопрос.
