I want to have cipher which when people decrypt it with their own key, get different meaningful messages. Is this possible at all?

  • 2
    The search term you need is "deniable encryption" - see en.wikipedia.org/wiki/Deniable_encryption for some examples. – Matthew Apr 19 '16 at 7:53
  • 1
    Is the question in the title related in any way to the question in the body? – techraf Apr 19 '16 at 7:59
  • @techraf: Yes, see Matthew's link. – Yuriko Apr 19 '16 at 8:12
  • @Armita: It has been answered here by fgrieu. One simple example would be to use the XOR cipher, e.g. try do decipher random (ASCII) using the key 0x2140c08060e (hex), and the key 0x1040d160a19 (hex). You can use xor.pw to do it online. – Yuriko Apr 19 '16 at 8:15
  • @Yuriko The questions still seem different to me. Can you explain? – techraf Apr 19 '16 at 9:44

In theory yes. In practice no.

You could use one-time pad cipher like

a \xor k = b and c \xor k' = b

But this reverses the role of the key and message. b becomes the key and k/k' the cipher text. In fact you could change the XOR function to any other function, it would need the same properties and therefore have the same weaknesses.

  • The bits in the plaintext of a that are equal to c would result in identical bits in k and k'. So the holder of k would directly be able to see (part of) k' and vice versa. I would not even call that "broken". – Maarten Bodewes May 19 '16 at 11:13
  • My point is, technically, in a one time pad, if you get the cipher text, you can create a key that gives you a chosen message (of the same size). So yes you can have two plain texts, with different key, giving the same cipher text. – M'vy May 19 '16 at 13:59
  • I think we agree that although the scheme is possible that the resulting keys are related and therefore do not offer (sufficient) security? – Maarten Bodewes May 19 '16 at 14:16
  • I don't think it's a security problem per se. But rather that the information is carried by the key instead of the cipher in this case. It is like we chose b as the key and k or k' are the cipher texts of a and c. – M'vy May 19 '16 at 14:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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