Parallel generation of pseudo-random sequences Who? - - PowerPoint PPT Presentation

parallel generation of pseudo random sequences
SMART_READER_LITE
LIVE PREVIEW

Parallel generation of pseudo-random sequences Who? - - PowerPoint PPT Presentation

Parallel generation of pseudo-random sequences Who? 1100001010100110001001100100111010010110110001100000 0100001100101000011010101110010011101000011000100110 111101101010111000011110 = ( Cedric Lauradoux ) 10


slide-1
SLIDE 1

Parallel generation of pseudo-random sequences

Who?

1100001010100110001001100100111010010110110001100000 0100001100101000011010101110010011101000011000100110 111101101010111000011110· · · = − (Cedric Lauradoux)10 1993524591318275015328041611344215036460140087963

When?

14/10/2008 (simply today)

slide-2
SLIDE 2

Applications of sequences

sn Φ Φ sn s1 Path n − 1 Path 1 Path n CUT PRNG Build In Self Test sn f s1 Init K IV PRNG Boolean functions kt Stream ciphers mt ct Carrier Data Spread spectrum BPSK sn s1 Φ PRNG Data scrambler ct s1 Φ mt PRNG

slide-3
SLIDE 3

Outline

Is it interesting to study shift register theory ? History of the parallel generation of m-sequences

  • m-sequences
  • Decimation
  • Shift register transformations
  • The windmill generator

The extended windmill generator

  • PFB transformation and windmill generator
  • NLFSRs

Wind to water: the case of ℓ-sequences

  • ℓ-sequences
  • the watermill

Conclusions

slide-4
SLIDE 4

Introduction

Is it interesting to study shift register theory ?

Sequences the backbone of symmetric cryptography: more precisely Non-Linear Feedback Shift Registers.

NLFSRs

g

Qi Qi−1 Qi−2 Qi−3 wσ(i) Li Ri Ki

DES

f

f

MD4

32 bits 32 bits

Problems:

  • Period
  • alphabet
  • speed
slide-5
SLIDE 5

Introduction

Is it interesting to study shift register theory ?

Remenbering some discussion: [Student] How to choose the parameters for a PRNG ? [Advisor] Well, there exist security parameters like a proven period, the size or the number of taps in the feedback. . . [Student] Okay, but there is still many candidates that meet the

  • criteria. So what is the next step ?

[Advisor] Do you know how to roll a dice ?

slide-6
SLIDE 6

History of the parallel generation of m-sequences

m-sequences ?

Example

1+x 1+x+x2 = 11011011011 · · · 1+x+x2 1+x+x4 = 01111010110 · · · 1+x+x2+x3+x4+x5+x6+x7+x8 1+x6+x8

= 11111111000000110000 · · · If we have a(x) = ∞

i=0 aiX i = p(x) q⋆(x):

ai = Tr(p(x)αi).

slide-7
SLIDE 7

History of the parallel generation of m-sequences

Definitions

Theorem

Let S = (si) an infinite sequence. S is periodic iff ∃ p and q, q⋆(0) = 0, deg(p) ≤ deg(q⋆) such that s(x) = p(x)/q⋆(x).

Theorem

If p and q⋆ are relatively prime, the period T of s(X) = p(x)/q⋆(x) is the order of q(x).

Result

If q⋆(x) is primitive, i.e. irreductible and ord(q(x)) = 2m − 1, then T = 2m − 1 with m = deg(q⋆(x)).

Comment

q⋆(x) is the characteristic polynomial of S defined as the reciprocical of the connection/feedback polynomial q(x): q⋆(x) = xnq(1 x ).

slide-8
SLIDE 8

History of the parallel generation of m-sequences

Linear Feedback Shift Registers (LFSRs)

Fibonacci setup

  • Galois setup
slide-9
SLIDE 9

History of the parallel generation of m-sequences

The stream ciphers of our grandfathers

kt t1 t2 tn sm sm−1 s1 s2 sm sm−1 s1 s2 t1 t2 tn sm sm−1 s1 s2 t1 t2 tn s1 t1 t2 tn s2 sm−1 sm f

The filter generator

sn s2 s1

The shrinking generator The self shrinking generator

kt kt

The combiner generator The summation generator

c kt sm sm−1 s1 s2 FSM kt

The Multispeed inner product generator

Clock d times Clock l times

f kt 3-state buffer 3-state buffer

Full

adder

slide-10
SLIDE 10

History of the parallel generation of m-sequences

Decimation

Let S be an infinite sequence over an alphabet A: S = s0, s1, s2 · · · For an integer v, a v–decimation of S is the set of sub-sequences defined by: S0

v

= (s0, sv, · · · ) S1

v

= (s1, s1+v, · · · ) . . . . . . . . . Sv−2

v

= (sv−2, s2v−2, · · · ) Sv−1

v

= (sv−1, s2v−1, · · · ) .

slide-11
SLIDE 11

History of the parallel generation of m-sequences

4 solutions

Strict decimation Parallel feedforward transformation (PFF) Parallel feedback transformation (PFB) Windmill generator

slide-12
SLIDE 12

History of the parallel generation of m-sequences

Strict decimation

Theorem

[Zierler1959,Rueppel1986]. Let S be a sequence produced by an LFSR whose feedback polynomial q(x) is irreducible in F2 of degree n. Let α be a root of q(x) and let T be the period of q(x). Let Si

v be a sub-sequence resulting from the v-decimation

  • f S. Then, Si

v can be generated by an LFSR with the following

properties: The minimum polynomial of αv in F2m is the connection polynomial q′(x) of the resulting LFSR. The period T ′ of q′(x) is equal to

T gcd(v,T) .

The degree n′ of q′(x) is equal to the multiplicative order of q(x) in ZT ′ .

slide-13
SLIDE 13

History of the parallel generation of m-sequences

PFB transformation

Notation

Memory cell Content One register mi (mi)t Many registers mk

i of Rk

(mk

i )t

Example

Let consider the LFSR defined by the following relations: (m7)t+1 = (m3)t ⊕ (m4)t ⊕ (m5)t ⊕ (m0)t (mi)t+1 = (mi+1) if i = 7.

S m0 m1 m2 m3 m4 m5 m6 m7

slide-14
SLIDE 14

History of the parallel generation of m-sequences

PFB transformation

The PFB transformation virtually clocks an LFSR v-times. Thus, we need to implements the previous equations for the successive states (m7)t+j for 1 ≤ j ≤ v (v = 3): (m7)t+1 = (m3)t ⊕ (m4)t ⊕ (m5)t ⊕ (m0)t (m7)t+2 = (m4)t ⊕ (m5)t ⊕ (m6)t ⊕ (m1)t (m7)t+3 = (m5)t ⊕ (m6)t ⊕ (m7)t ⊕ (m2)t (mi)t+3 = (mi+3)t if i < 5.

slide-15
SLIDE 15

History of the parallel generation of m-sequences

PFB transformation

S0

3

S1

3

m1

2

m0

1 m0

m0

2

m1 m1

1

m2

1 m2

S2

3

t + 1 (b) t + 2 t + 3

Well, it is a bloody mess !

slide-16
SLIDE 16

History of the parallel generation of m-sequences

The windmill generator

Theorem

[Smeets1988] Let n and v be integers such that 1 ≤ v < n. Let α(x) = αixi and β(x−1) = βix−i be two polynomials

  • ver Fk such that α(0) = 1 and β(0) = 1. There exist a

permutation σ of 1, 2 · · · v − 1 and a length parameters ℓ(i) such that the polynomial defined by: q(x) = α(xv) − β(x−vxn) is the primitive feedback polynomial of the sequence S associated to the generator shown on the next slide!

slide-17
SLIDE 17

History of the parallel generation of m-sequences

The windmill generator

β0 βn−1 α0 αl−1 α0 αl−1 β0 βn−1 α0 αl−1 β0 βn−1

σ(i) S0

v

S1

v

Sv−1

v

slide-18
SLIDE 18

History of the parallel generation of m-sequences

The windmill generator

The windmill generator has been used in the E0 stream cipher (Bluetooth): Four LFSRs ⇒ Four 4-vane windmills

m0

1

s0

4

R0 R1 R2 s1

4

R3 m0 m0

2

m0

3

m0

6

m0

4

m0

5

m1 m1

1

m1

2

s2

4

s3

4

m3

1

m1

5

m1

3

m1

4

m3 m3

2

m3

4

m2

1 m2

m2

3

m2

5

m2

2

m3

3

m3

5

m2

4

q(x) = x25 + x20 + x12 + x8 + 1

slide-19
SLIDE 19

History of the parallel generation of m-sequences

The windmill generator

v 4 8 16 n #pri #irr #pri #irr #pri #irr 9 1 1 15 2 4 17 28 28 23 82 86 1 1 25 314 318 6 6 31 1063 1063 3 3 33 3285 4092 15 18 39 11482 13566 10 12 41 51144 51148 54 54 47 178253 178368 40 40 1 1 49 678916 684122 170 172 55 2229834 2439982 137 161 1 3

slide-20
SLIDE 20

How to compute this table ?

Irreducibility test

Definition

A polynomial q ∈ Fk[X] is irreducible, if deg(q) > 0 and if all the divisor of q is a constant or a multiple of q by a constant. Algorithm Worst case Ben-Or nM(n) log kn Rabin nM(n) log k log n

  • M(n) = n log n log log n

(assuming FFT-based multiplication)

Comment

However, in practice we can expect to have log n M(n) log kn with Ben-Or because a random polynomial is expected to have a factor of small degree.

slide-21
SLIDE 21

The extended windmill generator

PFB transformation and windmill generator

The feedback function Fi in the PFB transformation can be decomposed as the sum modulo two of v sub-functions fi,j which depends only of a given register Rj: Fi =

v−1

  • j=0

fi,j.

R0 R1 s1

v

s0

v

Rv−1 sn−1

v

slide-22
SLIDE 22

The extended windmill generator

PFB transformation and windmill generator

Prop.

A v-vane windmill polynomial of degree n corresponds to a shift-registers network issue from a PFB transformation with at most 2 functions fi,j associated to the feedback function Fi, 0 ≤ i < v.

Proof

The feedback function can be written: (mk

n−1)t+1 = ⌊n/v⌋

  • i=0

αvi+j−1(mσ1(k)

vi+j−1)t⊕ ⌊n/v⌋

  • j=0

βm−iv+j−1(mσ2(k)

m−vi+j−1)t

with k > n − v and σ1 and σ2 are two permutation of 1, 2 · · · v − 1 defined by: σ1(k) = ⌊ n

v ⌋ + k − 1 mod v

σ2(k) = n + k mod v.

slide-23
SLIDE 23

The extended windmill generator

PFB transformation and windmill generator

Result

The windmill generator is only a subset of the PFB transformation with only 2 fi,j per Fi. How to find the others ? modify σ1 ? not possible because α(0) = 0. so modify σ2: σ′

2(k) = n + k − φ mod v.

if φ = 0 ← the orginal windmill setup if n + k − φ = 0 mod v ← the original setup with β(x) = 1

  • therwise new setup !
slide-24
SLIDE 24

The extended windmill generator

New definition

Definition

The primitive polynomial q(x) = α(xv) − xn−φβ(x−v) − xn with α(0) = 0, β(x) = 0 if φ = 0 and β(0) = 0 otherwise and 0 ≤ φ < v defines the set of all PFB transformation with at most 2 functions fi,j associated to Fi, 0 ≤ i < v and generating m-sequences. Is it a good news ? Yes, we can find good polynomials of degree d = 3 mod 8.

slide-25
SLIDE 25

The extended windmill generator

New result

v 4 8 16 n #pri #irr #pri #irr #pri #irr 9 1 1 11 1 1 13 6 6 15 9 12 17 38 38 2 2 19 31 31 3 3 21 39 41 2 2 23 172 179 4 4 25 479 491 19 19 27 238 281 4 5 29 571 573 2 2 31 2133 2133 16 16 33 4901 6100 34 46 3 3 35 3473 3702 18 18 4 4

slide-26
SLIDE 26

The extended windmill generator

New result

s0

4

m0

3

m0

4

s1

4

s3

4

s2

4

R1 R0 R3 R2 m0 m0

2

m1 m0

1

m1

1

m1

2

m1

3

m2

1

m2

2

m2

4

m2 m1

4

m2

3

m3

1

m3

2

m3 m3

3

q(x) = x19 + x13 + x9 + x4 + 1

slide-27
SLIDE 27

The extended windmill generator

Non Linear Feedback Shift registers

Definition

The feedback functions of a non-linear non-singular extended windmill generator are defined by: Fk = mσ1(k) ⊕ g(mσ1(k)

αi1

, mσ1(k)

αi2

, · · · , mσ2(k)

βj1

, mσ2(k)

βj2

, · · · ) with g a Boolean function and: σ1(k) = ⌊ n

v ⌋ + k − 1 mod v

σ2(k) = n + k − φ mod v. Is it a good news ? Tt is an empty definition (choice for g: 22m) but at least it is a research direction. . .

slide-28
SLIDE 28

Wind to water: the case of ℓ-sequences

ℓ-sequences ?

Example

1 5 = · · · 110011001101 1 7 = · · · 010101010111

−1

7 = · · · 1001001001001

Definition

The canonical Hensel form of a 2-adic integer a is defined by: a =

  • i=0

ai2i. If we have ∞

i=0 ai2i = A q :

ai = 2−iA mod q mod 2.

slide-29
SLIDE 29

Wind to water: the case of ℓ-sequences

Definitions

Theorem

S = (si) an infinite sequence. S is periodic iff ∃ p and q, relatively prime, q odd such that p/q = ∞

i=0 si2i with

q < 0 ≤ p, p ≤ −q.

Theorem

If p and q are relatively prime, q odd, the period T of p/q is the order of 2 modulo q.

Result

If q is well chosen, then T = q − 1.

slide-30
SLIDE 30

Wind to water: the case of ℓ-sequences

Feedback with Carry Shift Registers (FCSRs)

div2

  • +

m Fibonacci setup Galois setup

mod 2

slide-31
SLIDE 31

Wind to water: the case of ℓ-sequences

What about the 4 solutions ?

Strict decimation: very bad [Lauradoux2008] Parallel feedforward transformation (PFF): not known. . . Parallel feedback transformation (PFB) [Lauradoux2008] Watermill generator [Lauradoux2009 ?]

slide-32
SLIDE 32

Wind to water: the case of ℓ-sequences

The watermill generator

Let q be a prime number of maximal order such that: q = α + 2n−φβ + 2n with α = αi2iv, α0 = 1 and β = βi2−iv · · ·

slide-33
SLIDE 33

Conclusion

Why is it called the windmill generator ?

slide-34
SLIDE 34

Conclusion

x23 x3 x7 x11 x15 x19 x1 x5 x9 x13 x17 x21 x22 x6 x2 x18 x14 x10 x0 x4 x8 x12 x16 x24 x20 s0

4

s2

4

s3

4

s3

4

  • A. f (x) = x25 + x20 + x12 + x8 + 1
slide-35
SLIDE 35

Conclusion

x0 x4 x8 x12 x16 x24 x20 x22 x6 x2 x18 x14 x10 x1 x5 x9 x13 x17 x21 x23 x3 x7 x11 x15 x19 s3

4

s2

4

s3

4

s0

4

  • B. f (x) = x25 + x17 + x13 + x5 + 1