Page 142 - Ellingham, Mark, Mariusz Meszka, Primož Moravec, Enes Pasalic, 2014. 2014 PhD Summer School in Discrete Mathematics. Koper: University of Primorska Press. Famnit Lectures, 3.
P. 142
4.2 LFSR based stream ciphers and basic definitions

LFSR11 x1 z1
x2 F zm
LFSR2 xn
.
.
.

LFSRn

Figure 4.6: Nonlinear combination generator

algebraic normal form (ANF):1

n

f (x1, . . . , xn ) = λu x u i , λu ∈ 2 , u = (u 1, . . . , u n ). (4.2)
i

u∈ n i =1
2

There are 2n different terms x u 1 x u 2 · · · x u n for different u ’s. As λu is binary it gives # n=
1 2 n

22n different functions in n variables x1, . . . , xn (denoting by n the set of all Boolean

functions in n variables), implying that a search for "good" functions becomes infeasible

already for n = 6 !

Example 4.2.4 For n = 3 there are 28 = 256 distinct functions specified by λu ,

3 = {λ01 ⊕ λ1x1 ⊕ λ2x2 ⊕ λ3x3 ⊕ λ4x1x2 ⊕ λ5x1x3 ⊕ λ6x2x3 ⊕ λ7x1x2x3}.

The algebraic degree of f , denoted by d e g (f ) or sometimes simply d , is the maximal
value of the Hamming weight of u such that λu = 0. There is a one-to-one correspon-
dence between the truth table and the ANF via so called inversion formulae.

x3 x2 x1 f (x )

000 0
001 0
010 0
011 1
100 1
101 1
110 0
111 1

The truth table of the Boolean function f (x1, x2, x3) = x1x2 + x2x3 + x3.

The easiest way to obtain the ANF from the truth table (without involving Möbius trans-
form) is to expand the ANF of f when f (x ) = 1 and add these together. For the above
example we have:

f (x ) = x1x2(1 + x3) + (1 + x1)(1 + x2)x3 + x1(1 + x2)x3 + x1x2x3 = x1x2 + x2x3 + x3,

1Addition operator over 2 denoted by “⊕” is often replaced with usual addition operator “+”.
   137   138   139   140   141   142   143   144   145   146   147