on cross join method for de bruijn sequences and zech
play

On Cross-Join Method for de Bruijn Sequences and Zech Logarithms - PowerPoint PPT Presentation

On Cross-Join Method for de Bruijn Sequences and Zech Logarithms Martianus Frederic Ezerman, Adamas Aqsa Fahreza NTU, Singapore Janusz Szmidt, MCI, Poland The 3rd International Workshop on Boolean Functions and their Applications BFA 2018 20


  1. On Cross-Join Method for de Bruijn Sequences and Zech Logarithms Martianus Frederic Ezerman, Adamas Aqsa Fahreza NTU, Singapore Janusz Szmidt, MCI, Poland The 3rd International Workshop on Boolean Functions and their Applications BFA 2018 20 June 2018

  2. The Feedback Shift Registers - FSRs ◮ Let F 2 be the binary field and F n 2 the n -dimensional vector space over F 2 . Let us consider a mapping F : F n 2 → F n 2 F ( x 0 , . . . , x n − 1 ) = ( x 1 , x 2 , . . . , x n − 1 , f ( x 0 , . . . , x n − 1 )) ( 1 ) where f is a Boolean function of n variables of the form f ( x 0 , . . . , x n − 1 ) = x 0 + F ( x 1 , . . . , x n − 1 ) , ( 2 ) and F is a Boolean function of n − 1 variables. ◮ The formula (1) defines a nonsingular FSR of order n . ◮ A nonsingular register decomposes the space F n 2 into a finite number of disjoint cycles.

  3. Generating Binary Sequences ◮ If there is only one cycle (of length 2 n ), then we have a de Bruijn sequence. ◮ The number of cyclically non-equivalent de Bruijn sequences of order n is (published 1946) B n = 2 2 n − 1 − n ◮ In fact, these sequences were discovered by Fench mathematician C. Flye Sainte-Marie in 1984 and he proved the above formula. ◮ Consider the binary sequence s = ( s 0 , s 1 , . . . ) with given n -initial elements ( s 0 , . . . , s n − 1 ) . The next elements, for i � 0, are calculated from the formula s i + n = f ( s i , s i + 1 , . . . , s i + n − 1 ) = s i + F ( s i + 1 , . . . , s i + n − 1 ) .

  4. Nicolaas Govert de Bruijn, Dutch mathematician 9 July 1918 - 17 February 2012 Oberwolfach, 1960

  5. Nonlinear Feedback Shift Registers ◮ The Algebraic Normal Form (ANF) of a Boolean function f of n variables is given by � f ( x 0 , x 1 , . . . , x n − 1 ) = a i 1 ,..., i t x i 1 · · · x i t with a i 1 ,..., i t ∈ F 2 , where the sum is over all t -subsets { i 1 , . . . , i t } ⊂ { 0 , 1 , . . . , n − 1 } . ◮ In particular we have the linear recurrence f ( x 0 , x 1 , . . . , x n − 1 ) = x 0 + c 1 x 1 + . . . + c n − 1 x n − 1 . and the corresponding Linear Feedback Shift Register ( LFSR ). ◮ When the Boolean function F is a non-linear one, we have a Nonlinear Feedback Shift Register ( NLFSR ).

  6. Solomon Golomb (30 May 1932 - 1 May 2016) and Guang Gong, SETA 2012

  7. Cross-Join Pairs of States ◮ Let ( s t ) = ( s 0 , s 1 , · · · , s 2 n − 2 , s 2 n − 1 ) be a de Bruijn sequence. ◮ Let S i = ( s i , s i + 1 , · · · , s i +( n − 1 ) ) denote a state. Consider the de Bruijn sequence as a sequence of its states ( S t ) = ( S 0 , S 1 , · · · , S 2 n − 2 , S 2 n − 1 ) . Definition a ) and ( b , � Two pairs of states ( a , � b ) constitute cross-join pairs of � states if a = ( a 0 , A ) , a = ( a 0 , A ) and b = ( b 0 , B ) , b = ( b 0 , B ) , � where u = u + 1 is the negation of the bit u and the states appear a , � in the order a , b , � b in the sequence of states of a given de Bruijn sequence. We write A = ( a 1 , · · · , a n − 1 ) and B = ( b 1 , · · · , b n − 1 ) .

  8. Cross-Join Pairs of States - an Example for n = 4

  9. de Bruijn Sequences and the Cross-Join Pair Operation Let { s n } be a de Bruijn sequence of order n (or modified de Bruijn sequence with period 2 n − 1) generated by the feedback Boolean a ) and ( b , � function f of the form (2). Let ( a , � b ) are cross-join pairs of states for that sequence. Then the feedback Boolean function n − 1 n − 1 � � f ( x 0 . x 1 , . . . , x n − 1 ) + ( x i + a i + 1 ) + ( x i + b i + 1 ) ( 3 ) i = 1 i = 1 generates new de Bruijn sequence. We call (3) the cross-join pair operation. Theorem 1. ( J. Mykkeltveit and J. Szmidt , 2015) Let ( u t ) , ( v t ) be two de Bruijn sequences of order n . Then ( v t ) can be obtained from ( u t ) by repeated applications of the cross-join operation.

  10. The List of NLFSRs for n = 4 ◮ 1: x 0 + x 1 ◮ 2: x 0 + x 3 ◮ 3: x 0 + x 1 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 1 + x 2 + x 1 x 2 ◮ 4: x 0 + x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 2 + x 3 + x 1 x 2 ◮ 5: x 0 + x 1 + ( x 1 x 2 x 3 + x 1 x 2 x 3 ) + ( x 1 x 2 x 3 + x 1 x 2 x 3 ) = x 0 + x 1 + x 2 + x 1 x 3 ◮ 6: x 0 + x 3 + ( x 1 x 2 x 3 + x 1 x 2 x 3 ) + ( x 1 x 2 x 3 + x 1 x 2 x 3 ) = x 0 + x 2 + x 3 + x 1 x 3 ◮ 7: x 0 + x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 2 + x 1 x 2 + x 1 x 3 ◮ 8: x 0 + x 1 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 1 + x 2 + x 3 + x 1 x 2 + x 1 x 3 ◮ notation: x i = x i + 1

  11. The list of NLFSRs for n = 4 ◮ 9: x 0 + x 1 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 1 + x 2 + x 2 x 3 ◮ 10: x 0 + x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 2 + x 3 + x 2 x 3 ◮ 11; x 0 + x 1 + x 1 x 2 x 3 + x 1 x 2 x 2 = x 0 + x 1 + x 1 x 2 + x 2 x 3 ◮ 12: x 0 + x 1 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 3 + x 1 x 2 + x 2 x 3 ◮ 13: x 0 + x 1 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 2 + x 1 x 3 + x 2 x 3 ◮ 14: x 0 + x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 1 + x 2 + x 3 + x 1 x 3 + x 2 x 3 ◮ 15: x 0 + x 1 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 1 + x 2 + x 1 x 2 + x 1 x 3 + x 2 x 3 ◮ 16: x 0 + x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 = x 0 + x 2 + x 3 + x 1 x 2 + x 1 x 3 + x 2 x 3

  12. Finite Fields, Primitive Polynomials and m -Sequences ◮ Let p ( x ) = x n + c n − 1 x n − 1 + · · · + c 1 x + 1 be a primitive polynomial of degree n with binary coefficients. ◮ Then the linear recurrence g ( x 0 , x 1 , . . . , x n − 1 ) = x 0 + c 1 x 1 + · · · + c n − 1 x n − 1 generates the m -sequence which is a binary sequence of the period 2 n − 1 . ◮ Let a be a root of the polynomial p ( x ) , i.e. p ( a ) = 0 in the Galois field GF ( 2 n ) constructed by the polynomial p ( x ) . ◮ The sequence of elements { 1 , a , a 2 , . . . , a 2 n − 2 } in GF ( 2 n ) has period 2 n − 1 and directly leads to a binary m -sequence.

  13. Evariste Galois (25 October 1811 - 31 May 1832)

  14. Zech Logarithms in GF ( 2 n ) ◮ Let j ∈ { 1 , . . . , 2 n − 2 } ◮ Then the integer Z ( j ) such that 1 + a j = a Z ( j ) is the Zech logarithm of j . ◮ Then we have a one-to-one function Z : { 1 , . . . , 2 n − 2 } − → { 1 , . . . , 2 n − 2 } ◮ The Zech logarithms are tabularized. There are effective algorithms to calculate them. ◮ The Magma computer algebra system can calculate the Zech logarithms for n � 430, i.e. , in GF ( 2 430 ) .

  15. The Feedback Functions of the Constructed NFSRs ◮ Take the primitive polynomial x 5 + x 2 + 1. ◮ The values of the feedback function at the points of ’the jumps’, say Z ( 2 ) = 5 and Z ( 4 ) = 10 are A = ( 0 , 0 , 0 , 0 , 1 ) and B = ( 0 , 0 , 1 , 0 , 0 ) . ◮ The feedback function of the NLFSR is f = x 0 + x 2 +( x 1 + 1 )( x 2 + 1 )( x 3 + 1 ) x 4 +( x 1 + 1 ) x 2 ( x 3 + 1 )( x 4 + 1 ) = x 0 + x 4 + x 1 x 2 x 3 + x 1 x 2 + x 1 x 3 x 4 + x 1 x 4 + x 2 x 3 + x 3 x 4 . ◮ The quadratic feedback function for the register of order 5 obtained by applying the cross-join operation twice is x 0 + x 4 + x 2 x 3 + x 3 x 4 . ◮ The quadratic feedback function for the register of order 6 obtained similarly is x 0 + x 1 + x 2 + x 5 + x 1 x 2 + x 1 x 5 .

  16. The Cross-Join Pair for LFSR of Order n = 31 ◮ Let a be a root of the primitive polynomial p ( x ) = x 31 + x 3 + 1. ◮ We use the mapping Z ( 2 n ) = 2 Z ( n ) for the Zech logarithm. The cross-join pairs c := ( 3 , 6 , 31 , 62 ) abbreviates the pair of states ( a 3 , a 6 , 1 + a 3 = a 31 , 1 + a 6 = a 62 ) since Z ( 3 ) = 31. ◮ The states of LFSR at ’the jumps’: A = ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 ) , A 28 = 1 , B = ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 ) , B 25 = 1 . ◮ The corresponding feedback function of the constructed NLFSR 30 30 � � f = x 0 + x 3 + ( x i + A i + 1 ) + ( x i + B i + 1 ) . i = 1 i = 1 It is a Boolean function of degree 29.

  17. The Cross-Join Pairs for Order n = 127 ◮ Use the primitive polynomial p ( x ) = x 127 + x + 1 . ◮ Since Z ( 1 ) = 127, making Z ( 2 ) = 254, we have the sequence of mutually disjoint cross-join pairs: c i = ( 2 8 i , 2 1 + 8 i , 127 · 2 8 i , 127 · 2 1 + 8 i ) for i = 0 , 1 , . . . , 15 . ◮ From this family we can construct 2 16 − 1 NFSRs of order n = 127 which generate sequences of the period 2 127 − 1 . ◮ An Example: the cross-join pairs c 3 = ( 2 24 , 2 25 , 127 · 2 24 , 127 · 2 127 ) . ◮ The corresponding Boolean feedback function has algebraic degree 125.

  18. The Quadratic NLFSRs of Order n ∈ { 27 , 28 , 29 } ◮ For n = 27 x 0 + x 1 + x 2 + x 4 + x 8 + x 10 + x 11 + x 14 + x 17 + x 19 + x 21 + x 6 x 10 . ◮ For n = 28 x 0 + x 4 + x 5 + x 6 + x 8 + x 11 + x 14 + x 18 + x 19 + x 21 + x 22 + x 26 + x 27 + x 8 x 27 . ◮ For n = 29 x 0 + x 3 + x 5 + x 6 + x 11 + x 12 + x 16 + x 19 + x 22 + x 23 + x 27 + x 20 x 28 and x 0 + x 4 + x 6 + x 7 + x 9 + x 10 + x 11 + x 12 + x 16 + x 17 + x 21 + x 25 + x 26 + x 17 x 21

Recommend


More recommend