I've been looking for a way to do encryption using Bitcoin private keys. I've looked at all implementations of ECIES encryption, and none of them seems to provide forward secrecy--basically there is only a single session key between two unique addresses, so if that gets leaked, all the past encrypted messages are automatically cracked, as well as there is no longer a safe way for the two keys to communicate (since there was only one deterministic session key).

When using something like RSA for encryption, I would encrypt a large file using an AES session key, and then encrypt the session key using a receiver's RSA public key, and then send the resulting AES-encrypted file + encrypted session key to the receiver, and the receiver can decrypt the session key with his private key, and then decrypt the file using the session key.

But is there any way to do something similar using ECC?

Your Answer

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

Browse other questions tagged or ask your own question.