Search space reduction of asynchrony immune cellular automata

We continue the study of asynchrony immunity in cellular automata (CA), which can be considered as a generalization of correlation immunity in the case of vectorial Boolean functions. The property could have applications as a countermeasure for side-channel attacks in CA-based cryptographic primitives, such as S-boxes and pseudorandom number generators. We first give some theoretical results on the properties that a CA rule must satisfy in order to meet asynchrony immunity, like central permutivity. Next, we perform an exhaustive search of all asynchrony immune CA rules of neighborhood size up to 5, leveraging on the discovered theoretical properties to greatly reduce the size of the search space.


Introduction
In the last years, research about cryptographic applications of cellular automata (CA) focused on the properties of the underlying local rules [13,9,7].In fact, designing a CA-based cryptographic primitive using local rules that are not highly nonlinear and correlation immune could make certain attacks more efficient.
The aim of this paper is to investigate a new property related to asynchronous CA called asynchrony immunity (AI), which could be of interest in the context of sidechannel attacks.This property can be described by a three-move game between a user and an adversary.Let ℓ, r, m ∈ N, n = m + ℓ + r and t ≤ m.The game works as follows: 1.The user chooses a local rule f : F ℓ+r+1 2 → F 2 of memory ℓ and anticipation r.
3. The user evaluates the output distribution D of the CA F : F n 2 → F m 2 and the distribution D of the asynchronous CA F : F n 2 → F m 2 where the j cells selected by the adversary are not updated.4. Outcome: if both D and D equals the uniform distribution, the user wins.Otherwise, the adversary wins.
A cellular automaton rule f : F ℓ+r+1 2 → F 2 is called (t, n)-asynchrony immune if, for every subset I of at most t cells both the asynchronous CA F : F n 2 → F m 2 resulting from not updating on the subset I of cells and the corresponding synchronous CA F : F n 2 → F m 2 are balanced, that is, the cardinality of the counterimage of each m-bit configuration equals 2 ℓ+r .Thus, asynchrony immune CA rules represent the winning strategies of the user in the game described above.
Notice the difference between the asynchrony immunity game and the t-resilient functions game [4]: in the latter, generic vectorial Boolean functions F : F n 2 → F m 2 are considered instead of cellular automata, and the adversary selects both values and positions of the t input variables.
The side-channel attack model motivating our work is the following.Suppose that a CA of length n is used as an S-box in a block cipher, and that an attacker is able to inject clock faults by making t cells not updating.If the CA is not (t, n)-AI, then the attacker could gain some information on the internal state of the cipher by analyzing the differences of the output distributions in the original CA and the asynchronous CA.Similar fault attacks have already been investigated on stream ciphers based on clockcontrolled Linear Feedback Shift Registers (LFSR), such as LILI-128 [6].For further information on the topic, Hoch and Shamir [8] provide more references on clock fault attacks on stream ciphers.
This paper is an extended version of [11].In particular, the new contribution is twofold: from the theoretical side, we formally prove the necessity of central permutivity to have asynchrony immunity, which was conjectured in [11] according to the experimental results reported there.From the empirical point of view, we employ this new theoretical result to consistently extend the experimental search of asynchrony immune rules, by considering larger neighborhood sizes.
In the remainder of this paper, we recall in Section 2 the necessary basic notions about Boolean functions and (asynchronous) CA, and we formally introduce the definition of asynchrony immunity in Section 3, giving some theoretical results regarding this property.In particular, we show that AI is invariant under the operations of reflection and complement and that, for high enough values of t (the maximum number of blocked cells), central permutivity is a necessary condition for asynchrony immunity.We then perform in Section 4 an exhaustive search of asynchrony immune CA having 8 output cells and neighborhood size up to 5, computing also their nonlinearity and algebraic normal form.Finally, we provide some possible ways to generalize the notion of asynchrony immunity and how this property can be linked to existing CA models in Section 5, as well as pointing out other avenues for future research on the subject.

Basic Notions
In this section, we cover all necessary background definitions about one-dimensional CA, Boolean functions, and vectorial Boolean functions.In particular, we refer the reader to [2,3] for an in-depth discussion of (vectorial) Boolean functions.
Recall that a Boolean function is a mapping f : F n 2 → F 2 , where F 2 = {0, 1} denotes the finite field of two elements.Once an ordering of the n-bit input vectors has been fixed, each Boolean function f can be uniquely represented by the output column of its truth table, which is a vector Ω f of 2 n binary elements.Therefore, the set of all possible Boolean functions of n variables, denoted by B n , has cardinality 2 2 n .The interpretation of the vector Ω f as a decimal number is also called the Wolfram code of the function f .Another common way of representing a Boolean function is through its Algebraic Normal Form (ANF), that is, as a sum of products over its input variables.More formally, given f : F n 2 → F 2 and x ∈ F n 2 , the ANF will be of the form where [n] is the initial segment of the natural numbers determined by n ∈ N, i.e., [n] = {0, . . ., n − 1}, and the set I = {i 1 , . . ., i t } ⊆ [n] is a subset of t indices and thus an element of 2 [n] , the power set of [n].For all I ∈ 2 [n] the coefficient a I ∈ F 2 is determined through the Möbius transform [2].A function f is called affine if the only non null coefficients a I are such that |I| ≤ 1.In other words, the ANF is composed only of monomials of degree at most 1.Boolean functions used in the design of symmetric ciphers must satisfy a certain number of properties in order to withstand particular cryptanalytic attacks.Two of the most important properties are balancedness and nonlinearity.A Boolean function f : F n 2 → F 2 is balanced if its output vector Ω f is composed of an equal number of zeros and ones.Unbalanced Boolean functions produce a statistical bias in the output of a symmetric cipher, which can be exploited by an attacker.
The nonlinearity of f , on the other hand, is the minimum Hamming distance of Ω f from the set of all affine functions.The value of nonlinearity of f can be computed as Nl( f ) = 2 −1 (2 n − W max ( f )), where W max ( f ) is the maximum absolute value of the Walsh transform of f [2].The nonlinearity of a Boolean function used in a cipher should be as high as possible, in order to thwart linear cryptanalysis attacks.Nonetheless, there exist upper bounds on the nonlinearity achievable by a Boolean function with respect to the number of its input variables.In particular, for n even it holds that Functions satisfying this bound with equality are called bent.On the other hand, for n odd the upper bound when , which is achieved by quadratic functions.For n > 7, the exact bound is still not known.
Let n, m ∈ N. A vectorial Boolean function of n input variables and m output variables (also called an (n, m)-function) is a mapping In particular, a (n, m)function is defined by m Boolean functions of the form f i : A one-dimensional cellular automaton (CA) can be seen as a particular case of vectorial Boolean function by limiting the way the coordinate functions can be defined.Let ℓ, m, r ∈ N be non-negative integers and let n = ℓ + m + r.Let f : F ℓ+r+1 2 → F 2 be a Boolean function of ℓ + r + 1 variables.A cellular automaton of length n with local rule f with memory ℓ and anticipation r is the (n, m)-function F : F n 2 → F m 2 defined for all i ∈ {0, . . ., m − 1} and for all x = (x −ℓ , . . ., x m+r ) ∈ F n 2 as: Thus, a CA is the special case of a vector Boolean function where all coordinate functions are defined uniformly.A t-asynchronous CA, or t-ACA, induced by I is denoted by FI and is defined by the global function FI : F n 2 → F m 2 where the local function f i for i ∈ I is replaced by the identity (i.e., f i (x i−ℓ , . . ., x i+r ) = x i ), while it remains unchanged for all the other indices: We also recall that a local rule f : and y ∈ F 2 there exists a unique x ∈ F 2 such that f (uyx) = x.In the field F 2 , central permutivity can also be expressed in another way.A local rule f : F ℓ+r 2 → F 2 is center permutive if there exists a function g : F ℓ+r 2 → F 2 such that for all x = (x 0 , . . ., x ℓ+r ) ∈ F ℓ+r+1 2 we have that: f (x 0 , . . ., x ℓ+r ) = x ℓ ⊕ g(x 0 , . . ., x ℓ−1 , x ℓ+1 , . . ., x ℓ+r ) .

Definition of Asynchrony Immunity
Recall that a CA F : F n 2 → F m 2 with n = ℓ + r + m is said to be balanced if for each y ∈ F m 2 , the preimages of y, i.e., all x ∈ F n 2 such that F(x) = y, denoted by F −1 (y) is such that |F −1 (y)| = 2 ℓ+r .Asynchrony immune CA can then be defined as follows: Definition 1.Let n, m, r, ℓ,t ∈ N be non-negative integers, with n = ℓ + m + r, and Among all possible 2 2 ℓ+r+1 rules of memory ℓ and anticipation r, we are interested in finding local rules that generates asynchrony immune CA satisfying additional useful cryptographic properties, such as high nonlinearity.As a consequence, proving necessary conditions for a rule to generate a (t, n)-AI is useful in reducing the size of the search space.
We start by proving that, for large enough CA and for high enough values of t, a necessary condition of f is central permutivity.Proof.Suppose F to be (t, n)-AI with t and n as in the theorem's statement.Let y = u 1 au 2 v ∈ F m 2 be a configuration with . Let the set I ⊇ {0, . . ., ℓ, ℓ + 2, . . ., r} be a set of indices to be blocked.It then follows that each preimage of y can be expressed in form x = w 1 u 1 bu 2 w 2 with w 1 ∈ F ℓ 2 , b ∈ F 2 , and w 2 ∈ F m+r−ℓ−1 2 .Notice that both u 1 and u 2 remain unchanged when applying FI to x, since their indices are all contained in I.This situation is illustrated in Fig. 1.
Since the value of the cells in w 1 cannot influence any cell in FI (x) (since all cells that can be influenced are blocked), if x = w 1 u 1 bu 2 w 2 is a preimage of y, also Hence, the first ℓ cells of the automaton contribute a multiplicative factor of 2 ℓ for the number of preimages.
We are now going to prove that the remaining factor of 2 r for the number of preimages is entirely due to the last m + r − 1 cells (i.e., the part denoted by w 2 ).
For the sake of argument, suppose now that the multiplicative factor contributed by the last m + r − ℓ − 1 cells (i.e., the part denoted by w 2 in the preimages) is less than 2 r , since only a single other cell in the preimage can change (the one denoted by b), it follows that, in that case the following two configurations are preimages of y for some choice of w 2 : Notice that the value of a in y is either 0 or 1 and it is influenced only by the its value itself and the value of u 1 and u 2 .Without loss of generality suppose that a = 0. Consider now the preimages of y ′ = u 1 1u 2 v. to obtain 1 in the unblocked position between u 1 and u 2 then f (u 1 0u 2 ) = 1 or f (u 1 1u 2 ) = 1, but by our previous assumption, both f (u 1 0u 2 ) and f (u 1 1u 2 ) are equal to 0, and y ′ has no preimages.Hence, our hypothesis that the part denote by w 2 in the preimages contributes less than a factor of 2 r in the number or preimages is inconsistent with the fact that FI must be balanced.
Therefore, the parts w 1 and w 2 contribute, respectively, factors 2 ℓ and 2 r in the number of preimages, for a total of 2 ℓ+r preimages.It follows that, for each u 1 ∈ F ℓ 2 , u 2 ∈ F r 2 , and a ∈ F 2 there should be only one value b ∈ F 2 such that f (u 1 bu 2 ) = a.But this means that f is center permutive, thus proving the implication of the theorem's statement.
The previous theorem can be generalized in the following way: be a (t, n)-AI CA with memory ℓ and anticipation r and k ∈ N be a non-negative integer.Then, if t ≥ ℓ + r and n ≥ 2ℓ 2 is a CA with the same local rule as F, is a bijection.
Proof.The proof of this theorem follows the same reasoning of the proof of Theorem 1.Let I be a set of indices to be blocked such that I ⊇ {0, . .., ℓ − 1, ℓ + k, ℓ + k + r}.Each element of F m 2 can then be rewritten in the form Similarly, a preimage of y can be expressed in the form , and a ∈ F k 2 .Following the same reasoning of the proof of Theorem 1, it can be shown that the w 1 part of the preimage contributes Figure 1: The construction employed by the proof of Theorem 1.The patterned background denotes the blocked cells.Here is it is possible to see that the part labeled with w 1 cannot influence any of the output cells.The cell labeled b can influence only the cell labeled a in the output, thus forcing the local rule to be center permutive.a factor 2 ℓ in the number of preimages and the w 2 part contributes a factor of 2 r .Hence, the part denoted by b in y can have only one preimage.Therefore, when restricted to the k cells "surrounded" by u 1 and u 2 , the global function of the CA is a bijection, as desired.
Recall that the reverse of a vector x = (x 0 , . . ., x n−1 ) is the vector x R = (x n−1 , . . ., x 0 ) with all components of x appearing in reverse order.Also, the complement of x is the vector x C = (1 ⊕ x 0 , . . ., 1 ⊕ x n−1 ) where all components of x appear negated.Given a local rule f : The definition of reverse and complement can also be extended to a CA F : F n 2 → F m 2 in the following way: We can now show that, for a given (t, n)-AI CA it is possible to obtain other (not necessarily distinct) (t, n)-AI by taking either its reverse or its complement.Proposition 1.Let F : F n 2 → F m 2 be a (t, n)-AI CA for some n, m,t ∈ N with n = m+r +ℓ and r = ℓ.Then its reverse F R is also a (t, n)-AI CA.
Proof.Starting with the reverse CA, by definition F R (x) is F(x R ) R .Hence, given a set of indices I with |I| ≤ t, the reflection of the |I|-ACA FR I is: Where J ⊆ {−ℓ, . . ., m + r − 1} is defined as a "reverse" of the set I of indices, that is Notice that, in general, if a (t, n)-AI CA has memory ℓ and anticipation r with ℓ = r, its reverse might not be a (t, n)-AI CA.In fact, since center permutivity of the local rule is not preserved, this negates a condition for asynchrony-immunity that, by Theorem 1, is necessary for large enough values of p and n.
with |I| ≤ p, and let (F C I ) −1 (y) be the set of preimages of y under the function Since F is a (t, n)-AI CA, and all y ranges across all elements of F m 2 (and thus 1 ⊕ y does the same), F −1 I is balanced and (F C I ) −1 is also balanced.Since this holds for every set I of cardinality at most p, it follows that F C is also a (t, n)-AI CA, as required.

Search of AI Rules up to 5 Variables
In order to search for asynchrony immune rules having additional cryptographic properties, by Theorem 1 and Propositions 1 and 2 we only need to explore center-permutive rules under the equivalence classes induced by reflection and complement.
In our experiments, we fixed the number of output bits in the CA to m = 8.Since we are considering only center-permutive rules, we tested only the smallest value of t satisfying the hypothesis of Theorem 1.The reason why we limited our analysis to these particular values is twofold.First, checking for asynchrony immunity is a computationally cumbersome task, since it requires to determine the output distribution of the t-ACA for all possible choices of at most t blocked cells.Second, the sizes of vectorial Boolean functions employed as nonlinear components in several real-world cryptographic primitives is limited.A concrete example is given by AES [14], which employs a S-box with 8 output bits.
Table 1 shows all CA parameters considered in our experiments from 3 to 5 input variables of the local rules, while keeping the value of output bits fixed to m = 8.Recall that, since we need to consider only center permutive local rules, we do not need to explore the entire B ℓ+r+1 space, but only the subset C ℓ+r+1 having cardinality 2 Rule We started our investigation by performing an exhaustive search among all CA rules with ℓ = r = 1 (that is, rules of 3 variables), which are also known in the CA literature as elementary rules.Up to reflection and complement, and neglecting the identity rule that is trivially AI for every length n and order t, out of the 2 2 3 = 256 elementary rules we found that only rule 60 is (2, 10)-asynchrony immune.However, rule 60 is not interesting from the cryptographic standpoint, since it is linear (its ANF being x 2 ⊕ x 3 ).
We thus extended the search by considering all local rules of 4 and 5 input variables, according to the values of ℓ and r reported in Table 1.
For the case of 4 variables, the search returned a total of 18 rules satisfying (3, 11)asynchrony immunity, among which several of them were nonlinear.Table 2 reports the Wolfram codes of the discovered rules, along with their nonlinearity values and algebraic normal form.It can be observed that 12 rules out of 18 are nonlinear, but none of them is a bent function (since the nonlinearity value in this case would be 6).
For 5 variables, Table 3 reports the list of (4, 12)-AI CA.One can see that in this case most of the asynchrony immune functions are nonlinear, and moreover two of them achieve the maximum nonlinearity allowed by the quadratic bound, which in this case is 12.

Open Problems
There are many possible research directions for exploring asynchrony immune CA, mainly related to generalizations and relations with other models.
From the generalization point of view, we can relax the assumption that an attacker can control the updating of at most t cells on n cells CA.We can suppose that additional "anti-tamper" measures are present and, for example, that the attacker can only take Rule Table 3: List of (4, 12)-asynchrony immune CA rules of neighborhood size 5.
control of non-consecutive cells.More in general, we can define (F , n)-asynchrony immune CA where F ⊆ 2 [m] is a family of subsets of {0, . . ., m− 1}.The standard (t, n)-AI CA can be recovered by taking F as the set of all subsets of [m] with cardinality at most t.It would be interesting to understand for what families of sets the theorems of this paper still holds (possibly using different proofs).Also, what are some families that are "plausible" from a real-world point of view?This study will also require to explore the different methods that can be employed by an attacker to take control of some cells and what physical limits restricts the patterns of blocked cells that can be generated.
Another research direction is to find relations with already existing CA models that can be used to implement AI CA.Take, for example, the Multiple Updating Cycles CA (MUCCA) [10], where each cell has a speed 1/k for a positive k ∈ N and a cell updates only if the current time step is a multiple of k.This means that, at different time steps, different cells might be active.If the current time step is not known or if it is under the attacker's control, then a CA that is (t, n)-AI can withstand any situation in which the number of "slow" cells (i.e., with speed less than 1) is bounded by t.More generally, in what other models of ACA being asynchrony immune can protect from an attacker that controls some variables (like the time step in MUCCA)?
Subsequently, we have found that for size n = 11 there are no (4, 11)-AI CA rules reaching maximum nonlinearity, that is, none of them is a bent function.Hence, an interesting question would be if there exists at least one bent AI CA rule of larger number of variables, and if it is possible to design an infinite family of bent AI CA.
Finally, it would be interesting to analyze the resistance to clock-fault attacks of cryptographic primitives based on cellular automata, such as the stream cipher CAR30 [5], the χ transformation employed in Keccak [1], or the CA-based S-boxes optimized through Genetic Programming proposed in [12], and verify if plugging in their design the AI CA rules found in this work decreases their possible vulnerability.

Figure 2 :
Figure 2: The construction employed by the proof of Theorem 2. The patterned background denotes the blocked cells.For each value of u and v the function F u,v is a bijection from F k 2 to F k 2 where k is the length of b.
all cases only if ℓ = r.This means that for every set I of indices for F R , the corresponding set J of indices in F is still a valid one (i.e., a subset of [m]).Notice that since f generates a (t, n)-AI CA and |J| = |I| ≤ t, the resulting ACA is still (t, n)-AI.