As an extension to this quesiton, or this one how would you go about attacking a re used pad if the plaintext was randomized before being encrypted?

  0 0 0 1...         Plaintext

  0 1 1 1            seed(truly random number)
  0 1 0 1            Key1
  0 0 1 0            seed + Key1 mod 2 (=Cipher1)

  0 1 1 0...         Plaintext + PRNG(seed) mod 2 (=CipherR)
  1 0 1 0...         Key2(repeating 2 bit key "1 0") 
  1 1 0 0...         CipherR + Key2 mod 2 (=Cipher2) 

  0 0 1 0 1 1 0 0... Cipher1 & Cipher2 → ciphertext

This is using a OTP cipher to transmit the seed of a PRNG, then using a Vernam cipher with a repeating key to transmit the plaintext XORed with the PRN. Increasing the message length a little, hopefully to avoid cribbing.

How do you decode the Vernam cipher after the plain text has been randomized?


1 Answer 1


If your PRNG is good and your seed unknown $C_R = pt \oplus PRNG(seed)$ is essentially already an encryption of the plaintext using a stream cipher constructed from a PRNG.

Specifically it is indistinguishable from random.

Therefore $K_2 \oplus C_R$ can be viewed as an encryption of $K_2$. This is not useful but it also doesn't help an attacker.

I would conclude that this scheme is just as secure as constructing a stream cipher from a PRNG.


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.