[an error occurred while processing this directive]

StreamCipher - Using keys

LFSRs work very well to produce a pseudorandom sequence of bits. However, this sequence will repeat at the end of the period. Instead of letting the keystream generator spit out the same sequence of bits, keys can be integrated into the generator, and changed when the end of the period is near.

There is one major rule about integrating keys into keystream generators: Every unique key should cause the keystream generator to output an entirely different sequence of bits.

There are many, many different ways to use keys to alter the output stream of a keystream generator. We will cover one fairly simple method below.

This stream cipher uses two LFSRs running independently of each other. The first LFSR is a maximum length LFSR (2^175 - 1 bits)with a 175-bit shift register. The initial sequence of bits in the shift register are {1,0,1,0,...,1}. The second LFSR has a much smaller shift register, only 30 bits. This LFSR is also maximum length (2^30 - 1 bits). The initial sequence of bits in this shift register is equal to every other bit of a 64-bit key. If this sequence contains only zeros, then a one is placed in the right-most position. The tap sequence of the first LFSR is {175,18}. The tap sequence of the second LFSR is {30, 6, 4, 1}.

Once this cipher begins, it starts both LFSRs simultaneousy. Once both LFSRs spit out values, the two values are XORed together to get a bit of the keystream generator. Like virtually all stream ciphers, this bit is XORed with the plaintext to get the ciphertext.

This stream cipher will produce an entirely different stream of ciphertext with each key. It is very difficult to crack, since the smallest possible keystream period that could be produced is approximately 4.789*10^52.

Although stream ciphers are rarely used on fixed-length data (they are normally used to encrypt ongoing streams of data, such as a cable line), we have developed a fixed-length cryptagent challenge for you to try and crack. This challenge is worth 10 points.
 

crypt agent challenge
Although stream ciphers are rarely used on fixed-length data (they are normally used to encrypt ongoing streams of data, such as a cable line), we have developed a fixed-length cryptagent challenge for you to try and crack. This challenge is worth 10 points. Let's go!

If you're not a CryptAgent, you can find out more and register if you like. It's free, and it's fun!

[an error occurred while processing this directive]