I am confused about stream ciphers a little so I just wanted to clarify. We have a key that's lets say 2 bits. I have a message that's 8 bits. I used a pseudorandom generator that would add 6 bits to my key. Those 6 bits are deterministic and public. Hence why it's called pseudorandom, it looks random but because the 6 bits are deterministic, it's not. So that makes my keystream, regardless of the key, those 6 bits will be added. Now I simply XOR with my original message?


1 Answer 1


That is one instantiation of an additive stream cipher over the binary alphabet under the assumptions:

  • The $k$ bit key is random and uniformly distributed
  • The pseudorandom generator takes the key as input and generates $n$ keystream bits. Sometimes it is iterated not $n-k$ times but more to remove the initial condition (i.e., the key) from the pseudorandom generator's state and to obtain enough mixing of the entropy from the key
  • the keystream bits are added modulo 2 to the original message stream and the resulting encrypted stream is transmitted.

Of course keylengths of $80-128$ bits (at least) are needed for security.

Nowadays, IV's and nonces are used in more complex ways for more security in modern stream ciphers.

See the following questions for more details on stream ciphers and their links to other primitives:

difference between stream cipher and block cipher

what is the difference between a stream cipher and a one time pad

what is the significance of iv in stream ciphers like trivium

  • $\begingroup$ Thank you very much. $\endgroup$ Nov 3, 2022 at 13:36
  • $\begingroup$ if your question was satisfactorily answered you can accept the answer $\endgroup$
    – kodlu
    Nov 3, 2022 at 13:57

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.