Rueppel's example of self-clocking LFSR Consider the following excerpt from Rueppels paper, titled When Shift Registers Clock Themselves:


  


His example includes $C(D) = 1 + D + D^2 + D^3 + D^4 + D^5$ as a primitive connection polynomial. However, this polynomial is not irreducible, let alone primitive, since it can be factored as $(1+D)(1+D+D^2)^2$ over $\text{GF}(2)$.

What am I missing?
There is a typo in the article. The primitive polynomial must be $$x^5 + x^4 + x^3 + x^2 + 1$$

The easiest way to see that there is a mistake or not is coding!
There is an almost good pylfsr library. This library also lists primitive polynomials in their format.
L.get_fpolyList(m=5)

[5, 2]
[5, 4, 2, 1]
[5, 4, 3, 2]

The list verified, too.

$x^5 + x^2 + 1$
$x^5 + x^4 + x^2 + x^1 + 1$
$x^5 + x^4 + x^3 + x^2 + 1$

I've created a python program to test these. Luckily I've found it on the first try!
import numpy as np
from pylfsr import LFSR

state = [1,1,1,1,1]
fpoly = [5, 4, 3, 2]
L = LFSR(fpoly=fpoly,initstate =state, verbose=False)
L.info()

for i in range(1,21):
    print(L.state[-1], end=&quot;,&quot;)
    if L.outbit == 0:
        L.next()
    else :
        L.next()
        L.next()
print(&quot;\n&quot;)
print(&quot;1,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,1,1&quot;)  

It produces the output
5 bit LFSR with feedback polynomial  x^5 + x^4 + x^3 + x^2 + 1
Expected Period (if polynomial is primitive) =  31
Current :
 State        :  [1 1 1 1 1]
 Count        :  0
 Output bit   :  -1
 feedback bit :  -1
 1,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,1,1,

 1,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,1,1

Thanks to Nikesh Bajaj to indicate better usage of the library ( See in the other library).
Therefore there is a typo in the article. The primitive polynomial must be $$x^5 + x^4 + x^3 + x^2 + 1$$