Understanding Cryptography by Christof Paar and Jan Pelzl - Chapter 2 Solutions - Ex2.8

- 6 mins

Exercise 2.8

In this problem we will study LFSRs in somewhat more detail. LFSRs come in three flavors:

We will study examples in the following. Determine all sequences generated by

  1.   \(x^4 + x + 1\)
  2.   \(x^4 + x^2 + 1\)
  3.   \(x^4 + x^3 + x^2 + x + 1\)

Draw the corresponding LFSR for each of the three polynomials. Which of the polynomials is primitive, which is only irreducible, and which one is reducible? Note that the lengths of all sequences generated by each of the LFSRs should add up to \(2^m − 1\).

Solution

I haven’t yet verified this solution independently. If you spot any mistakes, please leave a comment in the Disqus box at the bottom of the page.

1. This LFSR derived from \(x^4 + x + 1\) can be represented as follows:

LFSR 1

Starting from \(0001_2\), the LFSR will iterate through the following states:

The polynomial produces a single \(2^4 - 1\) length sequence of internal states (containing all non-zero 4-bit binary numbers) before repeating and is therefore a primitive polynomial.

2. This LFSR derived from \(x^4 + x^2 + 1\) can be represented as follows:

LFSR 2

Starting from \(0001_2\), \(1001_2\) and \(0110_2\), the LFSR will iterate through the following states:

The polynomial produces three distinct sequences of internal states (together containing all non-zero 4-bit binary numbers) of varying lengths. It is therefore a reducible polynomial.

2. This LFSR derived from \(x^4 + x^3 + x^2 + x + 1\) can be represented as follows:

LFSR 3

Starting from \(0001_2\), \(1111_2\) and \(1001_2\), the LFSR will iterate through the following states:

The polynomial produces three distinct sequences of internal states (together containing all non-zero 4-bit binary numbers) of the same length. It is therefore an ireducible (but not primitive) polynomial.


Thomas Busby

Thomas Busby

I write about computing stuff

comments powered by Disqus
rss facebook twitter github youtube mail spotify instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora