Why a stream cipher have to be deterministic

 

 

Why does a stream cipher have to be deterministic?
Question 2 [9 pts]
What is potential problem with using the same Key and Nonce (IV) values in two different encryption operations of a stream cipher?
Question 3 [9 pts]
What are the types of stream ciphers in terms of target platform? What are the advantages of each? Provide the example implementation names for each type.
Question 4 [9 pts]
What does a Feedback Shift Register (FSR) do? What are the differences between Linear FSR and Filtered FSR?

 

Sample Solution

A stream cipher is a type of encryption algorithm that encrypts plaintext by generating a pseudorandom stream of bits, which is then XORed with the plaintext. The pseudorandom stream is generated using a key and a nonce (IV). The key is a secret value that is shared between the sender and receiver, and the nonce is a random value that is used to ensure that the encryption is unique.

The deterministic nature of a stream cipher is important because it ensures that the same plaintext will always be encrypted to the same ciphertext, regardless of the time or the order in which it is encrypted. This is essential for applications that require reliable encryption, such as secure communication and data storage.

What is potential problem with using the same Key and Nonce (IV) values in two different encryption operations of a stream cipher?

If the same key and nonce values are used in two different encryption operations, then the ciphertexts will be the same. This could allow an attacker to decrypt the ciphertexts by simply XORing them with the known plaintext.

To avoid this problem, it is important to use a different key and nonce value for each encryption operation. This can be done by generating a new nonce value for each operation, or by using a counter to generate a sequence of nonce values.

What are the types of stream ciphers in terms of target platform? What are the advantages of each? Provide the example implementation names for each type.

There are two main types of stream ciphers in terms of target platform: hardware stream ciphers and software stream ciphers.

  • Hardware stream ciphers are designed to be implemented in hardware, such as a dedicated chip or a field-programmable gate array (FPGA). Hardware stream ciphers are typically faster than software stream ciphers, but they are also more expensive.

  • Software stream ciphers are designed to be implemented in software, such as a computer program. Software stream ciphers are typically slower than hardware stream ciphers, but they are also less expensive.

The advantages of hardware stream ciphers include:

  • They are typically faster than software stream ciphers.
  • They can be more secure, as they are less susceptible to side-channel attacks.

The advantages of software stream ciphers include:

  • They are typically less expensive than hardware stream ciphers.
  • They are more flexible, as they can be implemented on a variety of platforms.

Some examples of hardware stream ciphers include:

  • PRESENT
  • Grain
  • Trivium

Some examples of software stream ciphers include:

  • RC4
  • Salsa20
  • ChaCha20

What does a Feedback Shift Register (FSR) do? What are the differences between Linear FSR and Filtered FSR?

A feedback shift register (FSR) is a type of finite state machine that is used to generate pseudorandom numbers. An FSR is typically composed of a number of bits, called registers, that are connected in a loop. The registers are initialized with a value, called the seed, and then the bits are shifted one position at a time. The output of the FSR is the value of the last register.

A linear FSR is an FSR in which the next state of the registers is determined by a linear function of the current state. A filtered FSR is an FSR in which the output of the FSR is passed through a filter before it is used.

The main difference between linear FSRs and filtered FSRs is that linear FSRs are easier to analyze and cryptanalyze, while filtered FSRs are more secure.

Here are some examples of FSRs:

  • Linear feedback shift register (LFSR)
  • Nonlinear feedback shift register (NLFSR)
  • Filtered feedback shift register (FFSR)

This question has been answered.

Get Answer