Nonlinear ¡Shi, ¡Registers: ¡ ¡ A ¡Survey ¡and ¡Open ¡Problems ¡ Tor ¡Helleseth ¡ University ¡of ¡Bergen ¡ NORWAY ¡
Outline ¡ • Introduc9on ¡ • Nonlinear ¡Shi> ¡Registers ¡(NLFSRs) ¡ – Some ¡basic ¡theory ¡ • De ¡Bruijn ¡Graph ¡ – De ¡Bruijn ¡graph ¡ – Golomb’s ¡conjecture/Mykkeltveit’s ¡proof ¡ ¡ • Period ¡of ¡NLFRs ¡ • Connec9ons ¡to ¡Finite ¡Fields ¡ – Cross-‑join ¡pairs ¡ – Cycle-‑joining ¡and ¡cyclotomy ¡ ¡
¡ Linear ¡Recursion ¡ • Linear ¡recurrence ¡ ¡ ¡ ¡ ¡ ¡ ¡s t+n ¡ + ¡c n-‑1 ¡ s t+n-‑1 ¡ + ¡… ¡+ ¡c 0 s t ¡ = ¡0, ¡ ¡ ¡c i ¡, ¡s i ¡ ∈ ¡GF(p) ¡ • Characteris9c ¡polynomial ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ f(x) ¡ ¡= ¡x n ¡ ¡ + ¡c n-‑1 ¡ x n-‑1 ¡ ¡ + ¡… ¡+ ¡c 0 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Ω(f) ¡ ¡= ¡The ¡2 n ¡binary ¡sequences ¡generated ¡by ¡recursion ¡ • Proper9es ¡ – “Easy” ¡to ¡find ¡period ¡of ¡the ¡sequences ¡in ¡Ω(f) ¡from ¡f(x) ¡ • Period ¡determined ¡by ¡smallest ¡e ¡such ¡that ¡f(x) ¡| ¡x e ¡ ¡-‑ ¡ ¡1 ¡ • All ¡sequences ¡in ¡Ω(f) ¡have ¡period ¡e ¡ • Smallest ¡period ¡for ¡at ¡least ¡one ¡sequences ¡in ¡Ω(f) ¡ – Bounds ¡on ¡the ¡distribu9on ¡of ¡elements ¡in ¡(s t ) ¡are ¡ evaluated ¡using ¡methods ¡from ¡finite ¡fields ¡
m-‑sequences ¡ Linear ¡recurrence ¡ ¡ ¡ ¡ ¡ ¡s t+4 ¡ + ¡s t+1 ¡ + ¡s t ¡ = ¡0 ¡ Primi9ve ¡polynomial ¡ ¡ ¡ ¡ ¡f(x) ¡= ¡x 4 ¡ + ¡x ¡+ ¡1 ¡ (s t ¡ ) ¡: ¡ ¡000100110101111 ¡. ¡. ¡. ¡ ¡ ¡ ¡ General ¡proper9es ¡of ¡m-‑sequences ¡ • ¡Period ¡ ε ¡= ¡2 n ¡ -‑ ¡1 ¡ • ¡Balanced ¡(except ¡for ¡a ¡missing ¡0) ¡ • ¡Run ¡property ¡ • ¡s t ¡ -‑ ¡s t+ τ = ¡s t+ γ ¡ ¡ ¡, ¡ ¡s 2t ¡ = ¡s t+ δ ¡ • ¡During ¡a ¡period ¡all ¡nonzero ¡n-‑tuples ¡occur ¡
Nonlinear Shift Registers s 0 ¡ s 1 ¡ s n-‑1 ¡ ... ¡ f(s 0 ,s 1 , ¡…,s n-‑1 ) ¡ • The ¡feedback ¡polynomial ¡is ¡nonlinear ¡of ¡the ¡form ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡f(s 0 ,s 1 ,…s n-‑1 ) ¡= ¡Σ ¡ Iε{0,1}n ¡c I ¡ s 0 i0 ¡ s 1 i1 ¡ … ¡ s n-‑1 in-‑1 ¡ ¡ • Determined ¡by ¡truth ¡table ¡giving ¡f(s 0 ,s 1 ,…s n-‑1 ) ¡ ¡for ¡all ¡ possible ¡2 n ¡values ¡ • Number ¡of ¡nonlinear ¡polynomials ¡(Boolean ¡func9ons) ¡in ¡ n ¡variables ¡is ¡2 2n ¡
Nonlinear Shift Registers - Challenges Mo9va9on ¡ • NLSRs ¡are ¡used ¡as ¡building ¡blocks ¡in ¡many ¡modern ¡stream ¡ciphers ¡ (Grain, ¡Trivium, ¡Mickey, ¡Pomaranch, ¡…) ¡ • Increase ¡complexity ¡of ¡the ¡key ¡stream ¡in ¡stream ¡ciphers ¡ Challenges ¡for ¡NLFSRs ¡ • How ¡to ¡determine ¡the ¡period ¡of ¡sequences ¡from ¡NLFSRs ¡ • No ¡general ¡theory ¡exists ¡and ¡many ¡ad-‑hoc ¡techniques ¡have ¡to ¡be ¡ invented ¡for ¡these ¡problems ¡ • Construc9ng ¡efficiently ¡large ¡classes ¡long ¡sequences ¡of ¡period ¡2 n ¡ (de ¡Bruijn ¡sequences)/Classify ¡de ¡Bruijn ¡sequences ¡ • Find ¡algebraic ¡methods ¡to ¡analyze ¡NLFSRs ¡ • Find ¡the ¡distribu9on ¡of ¡the ¡elements ¡in ¡sequences ¡generated ¡by ¡ an ¡NLFSR ¡
Nonlinear Shift Register - Example • A nonlinear recursion in n-variables can be described using its truth table (Example n=3) s 0 s 1 s 2 f(s 0 s 1 s 2 ) S 1 ¡ ¡S 0 ¡ S 2 ¡ S 2 ¡ 0 0 0 0 0 0 1 0 • 0 1 0 0 . 0 1 1 1 1 0 0 1 f(s 0 ,s 1 ,s 2 ) = s 0 +s 1 s 2 1 0 1 1 1 1 0 1 ( s t+2 = s t + s t+1 s t+2 ) 1 1 1 0 • The number of Boolean functions in n-variables are 2 2n • The number of linear Boolean functions are 2 n
Example – de Bruijn Sequence • Let f(s 0 ,s 1 ,s 2 ) = 1+s 0 +s 1 +s 1 s 2 110 111 101 010 011 100 001 000 • This ¡gives ¡a ¡maximal ¡sequence ¡of ¡length ¡2 n ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡… ¡11010001 ¡… ¡ ¡ ¡ ¡ ¡ ¡and ¡is ¡called ¡a ¡de ¡Bruijn ¡sequence ¡ • Number ¡of ¡de ¡Bruijn ¡sequences ¡of ¡period ¡2 n ¡are ¡2 2n-‑1 ¡ ¡-‑n ¡
Example – Singular f ¡ ¡ • Let ¡f(s 0 ,s 1 ,s 2 ) ¡= ¡1+s 0 +s 1 +s 2 +s 0 s 1 +s 0 s 2 +s 1 s 2 ¡ ¡ 001 101 010 000 111 100 110 011 • Contains ¡ “ branch ¡point ” and ¡such ¡an ¡f ¡is ¡called ¡singular ¡ • f ¡is ¡nonsingular ¡if ¡and ¡only ¡if ¡f ¡= ¡s 0 ¡ + ¡g(s 1 ,…,s n-‑1 ) ¡ • Then ¡(s 0 , ¡s 1 , ¡…. ¡, ¡s n-‑1 ) → (s 1 , ¡s 2 , ¡…. ¡, ¡s n-‑1 , ¡f(s 1 ,s 2 ,….,s n-‑1 )) ¡is ¡a ¡ permuta9on ¡of ¡B n ¡
De ¡Bruijn ¡Graph ¡ • Directed ¡graph ¡ • 2 n ¡nodes ¡(states) ¡ ¡↔ ¡ ¡(s 0 ,s 1 ,...,s n-‑1 ) ¡ • Each ¡state ¡has ¡two ¡successors ¡ ¡ ( α 1 α 2 ··· α n-1 0) ( α 0 α 1 ··· α n-1 ) ( α 1 α 2 ··· α n-1 1) • Each ¡state ¡has ¡two ¡predecessors ¡ (0 α 1 α 2 ··· α n-1 ) ( α 1 α 2 ··· α n-1 0) ( α 1 α 2 ··· α n-1 1) (1 α 1 α 2 ··· α n-1 )
De ¡Bruijn ¡Graphs ¡(B 2 ¡and ¡B 3 ) ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡B 2 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡B 3 ¡ 000 0 0 001 100 0 1 1 0 010 101 1 1 011 110 111
De ¡Bruijn ¡graph ¡B 4 ¡ 0000 ¡ 0001 ¡ 1000 ¡ 0010 ¡ 0100 ¡ 1001 ¡ 0011 ¡ 0101 ¡ 1010 ¡ 1100 ¡ 0110 ¡ 1011 ¡ 1101 ¡ 1110 ¡ 0111 ¡ 1111 ¡
Pure ¡Cycling ¡Register ¡(PCR n ) ¡ • Let ¡f(s 0 ,s 1 ,...,s n-‑1 ) ¡= ¡s 0 ¡ ¡i.e., ¡g=0 ¡ (since ¡f=s 0 +g(s 1 ,...,s n )) ¡ – Weight ¡of ¡truth ¡table ¡of ¡g ¡is ¡0 ¡ – Cycle ¡structure ¡(PCR n ) ¡ ¡ ¡ ¡ ¡ ¡n=3 ¡ ¡ ¡ ¡(0), ¡(1), ¡(001), ¡ ¡(011) ¡ ¡ ¡ ¡ ¡n=4 ¡ ¡ ¡ ¡(0), ¡(1), ¡ ¡ ¡(01), ¡(0001), ¡(0011), ¡(0111) ¡ • Number ¡of ¡cycles ¡of ¡B n ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ 1 = ∑ ϕ n / d Z ( n ) ( d ) 2 ( even number ) = n d | n
Pure ¡Cycling ¡Register ¡(PCR 3 ) ¡: ¡(f ¡= ¡s 0 ) ¡ • Decomposi9on ¡of ¡B 3 ¡for ¡Boolean ¡func9on ¡f=s 0 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ (0) 000 (001) 001 100 010 f = s 0 101 (101) 011 110 (1) 111 Number ¡of ¡cycles ¡ ¡ ¡ ¡ ¡ ¡ ¡Z(3) ¡= ¡4 ¡
Pure ¡Cycling ¡Register ¡(PCR 4 ) ¡ (0) ¡ 0000 ¡ 0001 ¡ 1000 ¡ (0001) ¡ 0010 ¡ 0100 ¡ 1001 ¡ (1001) ¡ (01) ¡ 0011 ¡ 0101 ¡ 1010 ¡ 1100 ¡ 0110 ¡ 1011 ¡ 1101 ¡ (1011) ¡ 1110 ¡ 0111 ¡ 1111 ¡ ¡ ¡ ¡ ¡(1) ¡
Golomb’s ¡Conjecture ¡ Golomb’s ¡conjecture ¡(1967) ¡ The ¡maximum ¡number ¡of ¡cycles ¡obtained ¡in ¡any ¡decomposi9on ¡of ¡ the ¡de ¡Bruijn ¡graph ¡B n ¡(for ¡all ¡nonlinear ¡func9ons ¡f) ¡is ¡Z(n). ¡This ¡ occurs ¡for ¡the ¡PCR n ¡when ¡g=0 ¡(but ¡also ¡in ¡many ¡other ¡cases). ¡ ¡ History ¡(approx.) ¡ S. ¡Golomb ¡n=5 ¡/ ¡H. ¡Fredricksen ¡n=6, ¡7 ¡/ ¡A. ¡Lempel ¡ ¡n=8, ¡9, ¡10 ¡/ ¡J. ¡Mykkeltveit ¡ • and ¡Fredriksen ¡n=11,12 ¡.. ¡ Proved ¡by ¡J. ¡Mykkeltveit ¡(1972), ¡for ¡all ¡n ¡(one ¡year ¡of ¡work ¡to ¡color ¡B n ) ¡ ¡ • ¡ Main ¡idea ¡ ¡ Select ¡one ¡node ¡from ¡each ¡cycle ¡in ¡PCR n ¡(i.e, ¡Z(n) ¡nodes) ¡such ¡that: ¡ any ¡cycle ¡in ¡B n ¡ contains ¡at ¡least ¡one ¡of ¡these ¡nodes. ¡ ¡
Recommend
More recommend