Imagine Alice wants to sell a file with important information to Bob for money. The file must be encrypted, so nobody can eavesdrop. It must also be signed upfront, so Bob knows it has not been fiddled around with. Trust is not established between them. Hence, a trusted third-party mediator is required. Ideally, the third-party mediator receives as little info/money as possible, but just enough so that neither Alice nor Bob can trick each other.
In other words: I am looking for an understandable description of a multi-party fair exchange protocol with a trusted third party. (For simplicity, let's assume the third-party is guaranteed to be reliable and available all time.) This question has a really nice, easy-to-understand description of such a protocol - except that it is not fully reliable because:
- If Alice uses Bob's public key to encrypt the file, then upon receipt and decryption he might simply not send her the money.
- Bob needs a way to verify the file's integrity, i.e. the file must be signed by Alice somehow.
One thing I was also wondering is to what degree non interactive zero knowledge proof protocols could be useful in this situation.