# Is it possible to prove that I have half a key to decrypt file, to someone who has other half, without disclosing my part?

Is it possible to prove that I have half a key to decrypt file, to someone who has other half, without disclosing my part? Or better yet, could you suggest a place where I can read about solved and unsolvable practical cryptographic problems like this one?

## 2 Answers

This is similar to problems in Multi-Party Computation, but in this case I don't know how its possible if there is no trusted third party, and no corollary data accompanying the secret keys.

However if you relax the scenario, and allow the distributor to convey an extra piece of information to both parties, then this can be achieved. Have the distributor distribute a second piece of information to both parties, for this example let it be Hash(First Half) XOR Hash(Second Half)

So both parties know the hash of their half, and the XOR of the hashes of both halves. They can easily figure out the hash of the other parties data. So effectively, they both have a password which they can authenticate each other with. So then use a secure verification protocol that isn't subject to replay attacks (perhaps Password-authenticated key agreement algorithms such as SPEKE) Then they can both verify each other, and that they knew the Hash of their block of half of the key, which we now assume means that they knew that data.

Sign a challenge nonce with an HMAC using your half. The entity that created the full key to begin with would act as a trusted third party, and could issue the challenge and verify your possession of the key to the other party and vice versa.