Lets say there are 3 people.

  • 1st signs a message and sends it to 2nd using public key encryption
  • 1st deletes the message
  • 1st tells 2nd to forward his message
  • 2nd forwards the message to 3rd

How can 1st verify the message was forwarded untampered without trusting 2nd or 3rd and without finding out the message contents again?

A terrible idea is to have 3rd give his private key to a 4th who will confirm to 1st that his message was untampered.

I am new to this so if what I want to do is impossible a heads up would be deeply appreciated.

  • $\begingroup$ Would simply storing a - possibly salted - hash over the message at A work? Then to verify C can recalculate the hash over the message and return it to A - possibly including the salt send to him by A into the hash calculation, of course. This would work even without a private key, although C could also sign the hash or return the signature & hash after verification to make it more secure. $\endgroup$
    – Maarten Bodewes
    Nov 16, 2017 at 15:24

1 Answer 1


I see this as a mixture of easy and impossible. A standard digital signature will work to verify the contents, as long as the document+signature is sent to person 1 (or whoever wants to check the document)

The impossible part comes if you only want person 1 to only have the signature and not the document. Even if person 1 keeps a copy of every signature, Person 2 can send a tampered document with the original signature. Person 3 would know the document has been tampered, but if 3 wants to be part of the deception they can just send the original signature to person 1.


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.