2

Suppose I have a public key for a particular user (perhaps extracted when using the new public key recovery format included in P2SH, and BIP32 transactions).

  • Is it OK the same key for both signing and encryption?

Since I'm obtaining the public key from a message, PS2H script, or BIP32 wallet I want to make sure that all secrets (Bitcoins, private keys, and privacy relating to BIP32) are maintained and no risk to privacy exists.

  • What are some known, safe, (or unsafe) scenarios to use the same key for signing and encryption?
1

Since I'm obtaining the public key from a message, PS2H script, or BIP32 wallet I want to make sure that all secrets (Bitcoins, private keys, and privacy relating to BIP32) are maintained and no risk to privacy exists.

Though it might have changed in the revisions of BIP0032, in some situations you can put the entire wallet at risk if you expose a single private key. You basically never want that happening, both for privacy and security purposes.

You'll need somebody more in tune with EC like Gregory Maxwell to answer the encryption specific questions, in Bitcoin we only sign and never encrypt so it's something I have never researched deeply. I believe in more recent SSL ciphersuites EC is only used for the key agreement and the rest is handed off to a symmetric cipher for speed purposes.

Remember that Bitcoin addresses are usually not designed to stick around, basing any form of encryption on something that is inherently disposable is probably not a particularly wise idea. The only real use we have for message signing functions is for systems like Eligius which do have a static address already due to their function, and we need to prove that the same user is authorizing a change.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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