Let's say we have Bob, Alice and third party.

Bob make message signature hash and upload to third party, then encrypt message with Alice pub key and send it to Alice

Alice receive message and decrypt it. She also ask third party for message hash and verify message.

However. What if Bob upload random signature hash to third party. And when Alice try to verify message, she will not be able to verify it.

Question is: How Alice can verifiable prove, that message not corresponding to signature hash, without revealing message?

  • Also third party shouldn't know original message content from Bob. Third party only storing signature hashes.
  • $\begingroup$ Err, the hashing before the signature is defacto since the first true signature scheme, Rabin Signature. $\endgroup$
    – kelalaka
    Dec 4, 2023 at 21:13
  • $\begingroup$ Yes, sorry, hashing signature definitely with original message, not after encryption. $\endgroup$
    – byXrom
    Dec 4, 2023 at 21:20
  • 1
    $\begingroup$ In protocols, you must always define the capabilities of the roles, honest, semi-honest, malicious, covert. See Alice and Bob and Secure multi-party computation $\endgroup$
    – kelalaka
    Dec 4, 2023 at 21:31
  • $\begingroup$ I'm not sure what part is confusing, but: everything will work if initially, 3rd party will know original message, so he can verify hash = message. But in my case I shouldn't be able to give message to 3rd party. So I'm asking possible solution to prove if Alice received message that ≠ hash, without revealing original message $\endgroup$
    – byXrom
    Dec 4, 2023 at 21:33
  • 3
    $\begingroup$ "message signature hash" is unclear: is it a signature or/and a hash? A hash is a piece of data obtained from a message by following a procedure. A signature is a piece of data obtained from a message and a secret "private key" (here that would be Bob's private key) by following a procedure; and then verified against message and matching public key by following another procedure. Often, one of the first steps of producing or verifying a signature is to produce a hash of the message, used in next steps instead of the message. Procedures themselves are public. $\endgroup$
    – fgrieu
    Dec 5, 2023 at 15:29


Your Answer

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