If I had two ciphertexts

$$c_1 = m_1 \oplus y_1 \text{ and } c_2 = m_2 \oplus y_2$$

will it be possible to obtain

$$z_1= (m_1 \lor m_2) \oplus y_1 \oplus y_2 \text{ and } z_2= (m_1 \land m_2) \oplus y_1 \oplus y_2$$

from $c_1$ and $c_2$ without revealing $m_1$, $m_2$, $y_1$ and $y_3$?


1 Answer 1


No, because then you could calculate $z_1 \oplus z_2 = (m_1 \land m_2) \oplus (m_1 \lor m_2) = m_1 \oplus m_2$.

In practice, you can only find $m_1 \oplus m_2$ if both $m_1$ and $m_2$ are encrypted with the same OTP (i.e., $(m_1 \oplus y_1) \oplus (m_2 \oplus y_1) = m_1 \oplus m_2$).

So without any knowledge of $m_1$, $m_2$, $y_1$ or $y_2$, there is no way of magically eliminating both of the OTP key streams $y_1$ and $y_2$.


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.