1

In this demo Alice is using Bob's public key to sign a message that only the Bob can decrypt. Is it safe for Bob to reveal this decrypted message, or would that allow an attacker to determine his private key?

2
  • 1
    The question is out of the scope, probably you'll get a more authoritative answer at crypto.stackexchange.com is more suitable. AFAICT if an attacker has access to both encrypted and decrypted message at most he will recover Bob's public key.
    – Ismael
    Mar 17 at 3:06
  • Thanks. The reason I put it here instead of at crypto is I thought the encryption schemes for ethereum might have some important nuances that would not be considered if the question was posed as a general cryptography question.
    – Origin
    Mar 20 at 16:27

1 Answer 1

1

After remembering the key phrase "known-plaintext" the answer became obvious. The question should be: Is Public Key Encryption vulnerable to known-plaintext attacks. To which the answer is: no, not for modern algorithms.

The specific example I posted is using ECIES (AES-256-CBC), which is resistant to known-plaintext attacks.

Thinking about it another way - the whole purpose of Public Key Encryption is that anyone can encrypt a message that only someone else can read (the holder of the private key). If it were possible for someone to make messages with the public key and derive the private key then the algorithm would be useless.

The main "risk" is that there is no forward secrecy, which means all past messages could be decrypted if the key were compromised. However, in blockchain there are much bigger issues than revealing past messages if the private keys are compromised.

The scenario I had in mind is waiting to reveal the message in a commit-reveal scheme, which makes this risk this is a non-issue.

Your Answer

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

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