Latin Hypercubes based on Linear Cellular Automata Luca Mariot 1 , Max Gadouleau 2 1 Dipartimento di Informatica, Sistemistica e Comunicazione (DISCo) Università degli Studi Milano - Bicocca 2 Department of Computer Science Durham University Nice, September 26, 2019
One-Dimensional Cellular Automata (CA) Definition One-dimensional CA: triple � n , d , f � where n ∈ N is the number of cells in a one-dimensional array, d ∈ N is the diameter and f : { 0 , 1 } d → { 0 , 1 } is the local rule. Example: n = 8, d = 3, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 (Rule 150) ··· 0 ··· 0 0 0 0 0 0 1 1 0 1 1 1 ⇓ Parallel update Global rule F f ( 1 , 1 , 0 ) = 1 ⊕ 1 ⊕ 0 0 1 0 0 1 1 0 CA Global Rule : F : { 0 , 1 } n → { 0 , 1 } n − d + 1 defined as F ( x 1 , ··· , x n ) = ( f ( x 1 , ··· , x d ) , f ( x 2 , ··· , x d + 1 ) , ··· , f ( x n − d + 1 , ··· , x n )) Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Latin Squares and Quasigroups Definition Latin square of order N : a N × N matrix L such that every row and every column are permutations of [ N ] = { 1 , ··· , N } Latin square of order N 1 3 4 2 4 2 1 3 � 3 2 4 1 Cayley table of quasigroup 3 1 2 4 ( Q , ◦ ) with | Q | = N Definition Quasigroup : algebraic structure ( Q , ◦ ) where for all x , y ∈ Q the equations x ◦ z = y and z ◦ x = y have a unique solution for z ∈ Q Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Secret Sharing Schemes (SSS) ( k , n ) Threshold Secret Sharing Scheme: a procedure enabling a dealer to share a secret S among n players so that at least k players out of n can recover S [Shamir79]. Example: ( 2 , 3 ) –scheme Setup Recovery B 1 P 1 P 1 B 1 S = B 2 P 2 P 2 B 2 B 3 P 3 P 3 B 3 Remark: ( 2 , 2 ) –scheme ⇔ Latin square Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Latin Squares through Bipermutive CA (1/2) ◮ Bipermutive CA: local rule f is defined as f ( x 1 , ··· , x d ) = x 1 ⊕ ϕ ( x 2 , ··· , x d − 1 ) ⊕ x d ◮ ϕ : { 0 , 1 } d − 2 → { 0 , 1 } : generating function of f Lemma ([Eloranta93, Mariot16]) Let � 2 b , b + 1 , f � be a CA with bipermutive rule f of diameter d = b + 1 . Then, F generates a Latin square of order N = 2 b y b b y x x L ( x , y ) L ( x , y ) b Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Latin Squares through Bipermutive CA (2/2) ◮ Example: CA � 4 , 1 , f � , f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 (Rule 150) ◮ Encoding: 00 �→ 1 , 10 �→ 2 , 01 �→ 3 , 11 �→ 4 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 4 3 2 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 2 3 4 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 4 1 2 3 1 1 0 0 1 0 0 1 3 2 1 4 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 1 (b) Latin square L 150 (a) Rule 150 on 4 bits Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Latin Hypercubes Definition Latin hypercube of dimension k and order N : a k -dimensional array of side N such that fixing any k − 1 coordinates i 1 , ··· , i k − 1 gives a permutation of [ N ] on the remaining coordinate i k 3 2 1 Example: k = 3 , N = 3 1 3 2 2 1 1 2 � 3 2 1 2 3 3 3 Each number from 1 to 3 3 2 occurs once in each row, 3 1 1 1 column, and file 1 3 2 2 Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Motivation: CA-based Secret Sharing Schemes Latin hypercubes based on CA can be used to design secret sharing schemes with consecutive access structure [Mariot14] P k + 1 P 1 P k ↑ ↑ ↑ ··· B k + 1 B 1 B k ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· ··· F − 2 ↑ F − 1 ↑ S S Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Problems Statement Idea: Generalize the square construction to CA acting on k blocks of length b that represent the k dimensions of the hypercube Problem Let b , k ∈ N , N = 2 b and d = b ( k − 1 )+ 1 . 1. (Characterization) : When does a CA F : F bk 2 → F b 2 with rule f : F d 2 → F 2 give a k-dimensional Latin hypercube of order N? 2. (Counting) : How many local rules f : F d 2 → F 2 generate k-dimensional hypercubes of order N? b ··· b x 1 ··· x k ⇓ F H F ( x 1 , ··· , x k ) b Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Latin Cubes: Bipermutivity is not Enough! ◮ Question : does any bipermutive rule generate a Latin cube? ◮ Unfortunately, no! Let b = 2, k = 3, and consider the CA F : F 6 2 → F 2 defined by the local rule f ( x 1 , x 2 , x 3 , x 4 , x 5 ) = x 1 ⊕ x 5 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 ◮ Fixing ( x 1 , x 2 ) and ( x 5 , x 6 ) to ( 1 , 0 ) , the CA F will always give ( 0 , 0 ) as a result, independently of ( x 3 , x 4 ) : Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Linear Bipermutive CA (LBCA) ◮ Local rule: linear combination of the neighborhood cells f ( x 1 , ··· , x d ) = a 1 x 1 ⊕···⊕ a d x d , a i ∈ F 2 ◮ A linear local rule f is bipermutive iff a 1 = a d = 1 ◮ Global rule: n × ( n + d − 1 ) ( d − 1 ) -diagonal transition matrix a 1 ··· a d 0 ··· ··· ··· ··· 0 0 a 1 ··· a d 0 ··· ··· ··· 0 M F = . . . . . . . ... ... . . . . . . . . . . . . . . 0 ··· ··· ··· ··· 0 a 1 ··· a d x = ( x 1 , ··· , x n ) �→ M F x ⊤ Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Linear System for LBCA cubes ◮ Let k = 3, b ∈ N and let F : F 3 b 2 → F b 2 be a LBCA defined by a rule f : F 2 b + 1 → F 2 . 2 ◮ Since f is linear, y = F ( x ) can be expressed as a system of b linear equations and 3 b variables: y 1 = x 1 ⊕ a 2 x 2 ⊕···⊕ a 2 b x 2 b ⊕ x 2 b + 1 = x 2 ⊕ a 2 x 3 ⊕···⊕ a 2 b x 2 b + 1 ⊕ x 2 b + 2 y 2 . . . = x b ⊕ a 2 x b + 1 ⊕···⊕ a 2 b x 3 b − 1 ⊕ x 3 b y b ◮ Fixing the 2 b leftmost and rightmost variables reduces this to a linear system in b equations and b variables Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Toeplitz Matrix Characterization Matrix associated to the reduced linear system: a b + 1 a b + 2 ··· a 2 b a b a b + 1 a 2 b − 1 ··· M f = . . . ... . . . . . . a 2 a 3 ··· a b + 1 Remark : the above matrix is a Toeplitz matrix, thus we have: Lemma Let F : F 3 b 2 → F b 2 be a LBCA defined by f ( x 1 , ··· , x 2 b + 1 ) = x 1 ⊕ a 2 x 2 ⊕···⊕ a 2 b x 2 b ⊕ x 2 b + 1 . Then, F generates a Latin cube of order N = 2 b if and only if the Toeplitz matrix M F defined by a 2 , ··· , a 2 b ∈ F 2 is invertible. Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Counting LBCA Latin Cubes Theorem ([Price18]) Let b ∈ N . Then, the number of invertible b × b Toeplitz matrices over F 2 is 2 2 ( b − 1 ) . Since the number of LBCA with rules of diameter d = 2 b + 1 generating Latin cubes corresponds to the number of invertible b × b Toeplitz matrices over F 2 , we have: Corollary Let b ∈ N . Then, the number of linear bipermutive CA F : F 3 b 2 → F b 2 whose associated hypercube H F is a Latin cube is 2 2 ( b − 1 ) . Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Generalizing to Hypercubes ◮ When k > 3, the LBCA F : F bk 2 → F b 2 is defined by a local rule f : F b ( k − 1 )+ 1 → F 2 of the form: 2 f ( x 1 , ··· , x b ( k − 1 )+ 1 ) = x 1 ⊕ a 2 x 2 ⊕···⊕ a b ( k − 1 ) x b ( k − 1 ) ⊕ x b ( k − 1 )+ 1 ◮ the values of y = F ( x ) ∈ F b 2 are determined by a linear system in b equations and bk variables: = x 1 ⊕ a 2 x 2 ⊕···⊕ a b ( k − 1 ) x b ( k − 1 ) ⊕ x b ( k − 1 )+ 1 y 1 y 2 = x 2 ⊕ a 2 x 3 ⊕···⊕ a b ( k − 1 ) x b ( k − 1 )+ 1 ⊕ x b ( k − 1 )+ 2 . . . y b = x b ⊕ a 2 x b + 1 ⊕···⊕ a b ( k − 1 ) x bk − 1 ⊕ x bk Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Characterization of LBCA Latin Hypercubes Matrix associated to the reduced system obtained by leaving free only the variables of the ( i + 1 ) -th block, 1 ≤ i ≤ k − 2: a bi + 1 a bi + 2 ··· a b ( i + 1 ) − 1 a bi a bi + 1 ··· a b ( i + 1 ) − 2 M F , i = . . . ... . . . . . . a b ( i − 1 )+ 2 a b ( i − 1 )+ 3 a bi + 1 ··· Theorem The hypercube generated by a LBCA F : F bk 2 → F b 2 with rule f : F b ( k − 1 )+ 1 → F 2 is a k-dimensional Latin hypercube of order 2 N = 2 b if and only all Toeplitz matrices M F , i are invertible. Luca Mariot Latin Hypercubes based on Linear Cellular Automata
Recommend
More recommend