After reading the Specification of the 3GPP Confidentiality and Integrity Algorithms 128-EEA3 & 128-EIA3. Document 2: ZUC Specification, I just cannot figure out why does zuc need an initial vector, my current understanding is that the initial key and the initial vector are playing the same role in ZUC, is there anything that I miss?

  • $\begingroup$ It sounds like a normal IV; see this Q/A. $\endgroup$ – Ruben De Smet Jun 29 '17 at 9:30

The initial vector is also known as an initialisation vector (IV). As mentioned by Mr Smet in the comments, it allows a user key to remain constant, yet the cipher text to be unique for every transmission even if the plain text is also constant. So simply put, sending "Hello Mr. Feng" with the same key over and over will result in unique cipher texts. This feature disguises that you're sending the same message and helps resists crypt-analysis.

Strictly put, the cipher text will still be generated correctly if you didn't use an IV, it's just more secure to do so. Your ZUC document just assumes that implementors know what an IV is. There's more detail at the Wiki entry and at What is the main difference between a key, an IV and a nonce?

There are strict rules for generating the IV that you can easily look up, such as uniqueness and randomness.


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.