Both bitcoin and encrypted emailing are based on public key cryptography. However, they use different implementations, so I assume that a public PGP key cannot be used as a bitcoin address directly.

But would it be possible to convert a public PGP key to a bitcoin address in such a way that it can be accessed only with the corresponding private PGP key (or something derived from it)?

If such an algorithm existed it would allow for sending coins to people without them knowing anything about Bitcoin, as long as they have a PGP key (e.g. for giving someone a little incentive to learn something about Bitcoin).

  • Here is one attempt to use a secp256k1 GPG key as a Bitcoin address, however it is not exactly what you are asking for as it is all based on creating a bitcoin address from the private key. In the end, it didn't really work out as the author needed to export the private key from gpg to sign the Bitcoin tx. Aug 28, 2019 at 20:24

2 Answers 2


No, this is not possible.

Recent GPG versions do have support for Elliptic Curve crypto, with associated EC keys. The EC curves supported there are different from the one used in Bitcoin, though (they don't have the same size, so they certainly can't be isomorphic).

  • I don't know much about ECC, but wouldn't monomorphism be sufficient? You don't need to be able to rederive GPG keys, one direction should be enough.
    – jnnk
    Dec 7, 2013 at 11:00
  • 3
    I'm not sure when it got added, but GPG 2.1.15 has support for secp256k1 keys. To use it type gpg --expert --full-gen-key and selection options 9 and then 9. Jan 20, 2017 at 20:01
  • Currently you can use the same keys. Check this: github.com/openpgpjs/openpgpjs/pull/628
    – sw.
    Jan 31, 2018 at 3:58

Yes, technically you could.

Any 256 bit number can be used as a bit coin private key. If you hashed the PGP key with SHA256 you would have a private key that could be used for bitcoin. Really you'd be using your private PGP key as a brain wallet seed with very high entropy.

Edit: With all that being said I still wouldn't do it.

  • 1
    True, but that's not my point: You are saying "private PGP -> private bitcoin -> public bitcoin" is possible, but I want to go "public PGP -> public bitcoin" without knowing "private PGP" and "private PGP -> private bitcoin" (resulting of course in a matching bitcoin key pair).
    – jnnk
    Dec 7, 2013 at 11:05
  • Yep, you're right I missed the public key stipulation in the question. -1 for my reading comprehension today.
    – jwsample
    Dec 7, 2013 at 15:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.