I'm trying to solve this question related to one-time pads and perfect secrecy:


My solution is: I assumed that the current message space is $M = \left\{ 0,1 \right\}^l$ and the new keyspace after removing $0^l$ from the set is $K = \left\{ 0,1 \right\}^l - 0^l$. Since clearly $|K| < |M|$, the new scheme is not perfectly secret.

Is my solution correct?

  • $\begingroup$ Do you expect anything but a simple "yes" as the answer? $\endgroup$
    – SEJPM
    Mar 31, 2018 at 9:12
  • $\begingroup$ Hi Mitch and welcome. Just a small remark: try to make your titles as precise as possible; there are many ways in which the OTP's perfect secrecy can be broken: the title should clearly indicate what is asked. $\endgroup$
    – Maarten Bodewes
    Mar 31, 2018 at 13:46
  • $\begingroup$ Similar question: crypto.stackexchange.com/q/3992/18700 $\endgroup$
    – Andrew T.
    Jun 14, 2021 at 13:15

1 Answer 1


Yes your solution is correct; the flawed OTP scheme is no longer perfectly secret if there are fewer keys than messages.

Once you remove the all zero key the property $$ \mathbb{P}[M=m|C=c]=\mathbb{P}[M=m],\qquad \forall m,\forall c,\quad(1) $$ required for perfect secrecy will no longer necessarily

  • $\begingroup$ I've removed the word "also" from the second part of your answer, could you check if this still good for your answer? $\endgroup$
    – Maarten Bodewes
    Mar 31, 2018 at 13:44

Your Answer

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

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