Journal of Discrete MathematicsVolume 2013 (2013), Article ID 270424, 12 pageshttp://dx.doi.org/10.1155/2013/270424

Research Article

Classification of Boolean Functions Where Affine Functions Are Uniformly Distributed

Ranjeet Kumar Rout,¹ Pabitra Pal Choudhury,¹ and Sudhakar Sahoo²

¹Applied Statistics Unit, Indian Statistical Institute, Kolkata 700108, India²Institute of Mathematics and Applications, Bhubaneswar 751003, India

Received 17 May 2013; Revised 22 August 2013; Accepted 11 September 2013

Academic Editor: Pantelimon Stǎnicǎ

Copyright © 2013 Ranjeet Kumar Rout et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

The present paper on classification of -variable Boolean functions highlights the process of classification in a coherent way such that each class contains a single affine Boolean function. Two unique and different methods have been devised for this classification. The first one is a recursive procedure that uses the Cartesian product of sets starting from the set of one variable Boolean functions. In the second method, the classification is done by changing some predefined bit positions with respect to the affine function belonging to that class. The bit positions which are changing also provide us information concerning the size and symmetry properties of the classes/subclasses in such a way that the members of classes/subclasses satisfy certain similar properties.

1. Introduction

Classification of non-linear Boolean functions has been a long standing problem in the field of theoretical computer science. A systematic classification of Boolean functions with -variable having a representative in each class is a welcomed step in this area of study. It has been very accurately considered as vital and meaningful because of two important well-defined reasons: (a) equivalent functions in each class possess similar properties and (b) the number of representatives in each class is much less than that of Boolean functions.

Earlier, when two Boolean functions of -variable differ only by permutation or complementation of their variables, they fall into equivalence classes. The formula for counting the number of such equivalence classes is given in [1]. Further, it has also been elaborated in [2] about the procedures of selection of a representative assembly, with one member from each equivalence class. In [3], the linear group and the affine Boolean function group of transformations have been defined and an algorithm has been proposed for counting the number of classes under both groups. The classification of the set of -input functions is specifically based on three criteria: the number of functions, the number of classes, and the number of NPN classes, which are first introduced in [4]. Classification of the affine equivalence classes of cosets of the first order Reed-Muller code with respect to cryptographic properties such as correlation immunity, resiliency, and propagation characteristics has been discussed in [5–8]. Heuristic design of cryptographically strong balanced Boolean function was envisaged in [9]. In [10], three variable Boolean functions in the name of 3-neighborhood cellular automata rules have been classified on the basis of hamming distance with respect to linear rules. The characterization of 3-variable non-linear Boolean functions has been undertaken in three different ways, by Boolean derivatives, by deviant states, and by matrices as elaborated in the papers [10–12], respectively.

In this paper, two methods have been proposed for generating equivalence classes of Boolean functions with a specific objective in our mind that, in each class, exactly one affine Boolean function is present. The first method is a recursive approach to classify -variable Boolean functions starting from -variable to higher variables. In the second method, the classification is done through changing some variable bit positions with respect to the affine function belonging to that class.

In the following sections, the paper is organized in a precise methodical manner. In Section 2, the literature of Boolean functions of different variables relevant to our work is reviewed. In Section 3, the method of recursive classification of -variable Boolean functions is introduced and the properties of these classes are discussed. Based on these properties another efficient method has also been proposed for generating the same classes of -variable Boolean functions. In Section 4, we have studied the behavior of those classes by using different binary operations such as Hamming distance (HD), XOR operation, and Carry value transformation (CVT) [13]. Section 5 deals with concluding remarks emphasizing the key factors of the entire analysis.

2. Relevant Review

An -variable Boolean function is a mapping from the set of all possible -bit strings into . The number of different -variable Boolean functions is , where each function can be represented by a truth table output as a binary string of length . The decimal equivalent of the binary string starting from bottom to top (least significant bit) in the truth table is called the rule number of that function [14]. The complement of is denoted as .

A Boolean function with algebraic expression, where the degree is at most one is called an affine Boolean function. The general form for -variable affine function is where the coefficients are either zero or one.

If the constant term of an affine function is zero then the function is called a linear Boolean function. Thus, affine Boolean functions are either linear Boolean functions or their complements. The number of different -variable affine Boolean functions is out of which are linear. As an example, the 16 affine Boolean functions in -variables are , , , , , , , , , , , , , , , and out of which the first eight are linear and the remaining Boolean functions are their corresponding complements [3].

The concatenation of the Boolean function with itself and the concatenation of with its complement are denoted as and , respectively. For example,

Note that if is a Boolean function of -variable, then and are Boolean functions of -variable.

Theorem 1. is linear if and only if and are linear.

Apart from the above concatenations as stated in Theorem 1, all other concatenations give non-linear Boolean functions [15].

Corollary 2. is an affine Boolean function if and only if , , , and are affine Boolean functions.

Proof. The proof of the corollary easily follows from Theorem 1 as affine Boolean functions are either linear Boolean functions or their complements.

3. Proposed Methods for Classification of Boolean Functions

In this section, two different methods have been proposed to classify the set of all possible -variable Boolean functions such that each class is of equal cardinality and contains only a single affine function.

3.1. A Recursive Procedure to Classify -Variable Boolean Functions

Let be a set of all -variable Boolean functions. Here all the Boolean functions are affine. Let be a set containing all linear Boolean functions of -variable, and is the complement of the set . The Cartesian product of the sets with and is defined successively as follows: Note that, contains four classes each containing a -variable Boolean functions whereas, the set contains eight disjoint classes of all -variable Boolean functions. Here, each class contains exactly one -variable affine Boolean function as highlighted above in (3). This process is repeated for the next higher variable, using the recursive formula of the following.(i)Base case: (for ) (ii)Recursion: (for ) where contains the classes of all -variable Boolean functions, where each class contains exactly one -variable affine function. Here both the sets and are complement to each other.

Theorem 3. The recursive procedure of (4) and (5), when repeated up to times, classifies the set of all -variable Boolean functions into number of disjoint classes. such that each class contains exactly one -variable affine Boolean function along with some -variable non-linear Boolean functions.

Proof. The result follows because of the fact that and . And the property that each class contains exactly one -variable affine Boolean function can be ascertained on using Corollary 2 of Section 2.

Illustration (from 2-variable classes to 3-variable classes). From (4) and (5) the set and this set contains the classes of all -variable Boolean functions. The set is the first four classes of and is the set containing the remaining classes of and complement of the set . Now, the classes of -variables are generated using the formula as , , and . Some of the class members are shown in the following: The naming of the classes is given as class , class , class such that the complement of class is the class where . In (7), only the members of and are shown and other classes of Boolean functions are shown in Appendix A.

Theorem 4. The number of different classes in the above classification is .

Proof. As each class contains exactly one affine Boolean function, the number of classes of -variable is the same as the number of affine Boolean functions and equals to .

Theorem 5. The classes are of equal size and the cardinality of each class is equal to .

Proof. The equal size of the classes easily follows from the cardinality of the two sets and . On using Theorem 4, the cardinality of each class = .

Theorem 6. The least significant bit of all the Boolean functions in is , whereas in it is .

Proof. When , that is for the base case of the recursion, the least significant bit position of all the Boolean functions in the set is and for the set it is . Therefore, the recursive procedure using the Cartesian product also preserves the same property for the next higher variable.

Interestingly, the relation defined in the recursive procedure is operating on the set of -variable Boolean functions, but the partition is obtained in the set of -variable Boolean functions. Therefore, an equivalence relation must exist on the set of -variable Boolean functions, which divides the set into disjoint equivalence classes.

Theorem 7. For each class of -variable, the length of a Boolean function is , out of which bits are fixed and the remaining bits are changing with respect to the affine Boolean function of that class. The bit positions of a Boolean function which are fixed in a class are calculated using the formula , where and the values of .

Proof (using mathematical induction). Basis. For , each class contains a single Boolean function of length . Hence both the first and second bit positions are fixed and it satisfies the formula for and . So, the bit positions are and . Hence the formula is valid for .Induction Hypothesis. Assume that the formula is valid for the classes of -variable Boolean functions, . From recursive definition, the formula is also valid for all the classes of and . Thus, by induction hypothesis, the invariant bit positions of a class of is calculated using the formula as given below: Induction. Here we have to prove that the formula is true for all classes in . According to the recursive formula where and . Consider a particular class of and let it be . The corresponding classes of which will be generated using must contain the Boolean functions of length , where the first (starting from most significant bit) bit positions are from a single class . And hence by induction hypothesis, number of bit positions is fixed and satisfies (9). From Theorem 6, the least significant bit position of the remaining string of length is for all the members of the classes of . Therefore, the bit positions of a Boolean function, which are fixed in a class of is calculated by adding to all the numbers generated from (9). Along with this, we have to include the least significant bit position (or the first position) in the formula, which gives invariant positions of a class in . Thus for , the formula is calculated as follows:for , for , the value is 1: So the formula is true for all the values of . The above formula is also true for all the classes of , as any class in is either generated using the formula or . Hence, by the principle of mathematical induction, we conclude that is true for all positive integers .Illustration. For every -variable Boolean function, all the bit positions are fixed and the bit positions are and . For every -variable Boolean function, three bit positions are fixed and the bit positions are , , and . Similarly, for every -variable Boolean function, four bit positions are fixed and the bit positions are , , , and . For -variable functions, all classes and their subclasses are given in Appendix A.The set of bit positions which are changing in a class can be calculated by subtracting the set of invariant bit positions from the set .

Corollary 8. The bit positions which are fixed or changing are invariant for all classes with respect to the concerned affine function of that class.

Proof. The formula given in Theorem 7 is used to calculate the bit positions which are fixed or changing and valid for an arbitrary class. Hence, it is also valid for all classes.

Using the result of Theorem 7, an equivalence relation has been defined on the set of all possible -variable Boolean functions by which the same class or classes can be generated without using recursion.

Let and be two -variable Boolean functions, and is a binary relation on the set of -variable Boolean functions defined as if and only if “there exist bit positions calculated on using Theorem 7 and the calculated bit positions are the same for the functions and .” Clearly, (1). So, is reflexive.(2)If then . So, is symmetric.(3)If and then . So, is transitive. Hence, is an equivalence relation. The next procedure uses the above equivalence relation and can efficiently generate the same class or classes without using the recursive procedure.

3.2. Procedure to Generate the Same Class without Using Recursion

Let be an -variable affine Boolean function. Let be an array which is used to store the bit positions, which are fixed for a Boolean function with respect to the affine function. Array can be calculated using Algorithm 9. The worst case time complexity of the Algorithm is .

Algorithm 9 (fixed-bit positions ()). (1)Initialize (2)for to (3) { (4) = (5) = (6) } (7)return .

By invoking the above function in an algorithm, we can get other non-linear functions in a class. For this purpose, one has to put all possible binary sequences of length , except those fixed bit positions of . Taking different affine functions as input, different classes can be generated.

3.3. List of Inferences Drawn from the above Classification Method

(1)The method of keeping some of the bit positions fixed and varying other bit positions with respect to a Boolean function will be a handle to find out equivalence classes of equal cardinality.(2)The number of equivalence classes is equal to , where is the number of fixed positions.(3)Different set of fixed positions generates different classes of Boolean functions.(4)The number of members in a particular class is for , where is the number of changing bit positions.(5)How to select the set of representative functions that generate disjoint equivalence classes of equal cardinality? The generators are all possible bit sequences in the fixed positions and the rest of the positions are arbitrarily filled up by 0/1. Any Boolean function generated through this procedure can be a representative for the class. The number of generators for the proposed classification is .(6)Any Boolean function of a class can be a representative of that class. In fact, taking affine function as the representative of a class will provide us with the guarantee of the inclusion of that affine function in that class.

4. Different Operations in Classes

In this section, classes are divided into several subclasses on using the Hamming distance (HD) between the Boolean functions and the affine function in that class. Also, the classes are analyzed on performing XOR and CVT operations among the functions of a class.

4.1. Subclassification

Hamming distance (HD) between two Boolean functions is denoted as , where can be where is a Boolean function and is an affine Boolean function and both belong to the same class of -variable. Further, Boolean functions in a class having with respect to the corresponding affine Boolean function form subclasses whose cardinality is binomial coefficients of the form , where .

Illustration. Table 1 shows the -variable Boolean functions belonging to class , where the affine Boolean function is . There are five subclasses having cardinality , , , , and with Hamming distance , , , , and , respectively. For -variables all classes and their subclasses are given in Appendix A.

Table 1: Different subclasses of class 1.

Boolean functions
Decimal value
HD wrt affine Boolean function
No. of Boolean function

00000000 (Affine)
0
0
1

00000010
2
1
4

00100000
32

00001000
8

00000100
4

00100010
34
2
6

00001010
10

00101000
40

00001100
12

00000110
4

00100100
36

00101010
42
3
4

00001110
14

00101100
44

00001100
12

00100110
38

00101110
36
4
1

4.2. XOR Operation in Classes

Let and be two -variable Boolean functions belonging to a particular class. The XOR operation of all the classes when arranged in a table only gives those entries given by class functions, as , where, the XOR operation of and is defined as .

Illustration. Suppose we want the XOR operation of = and = both belonging to class of -variables. And == . Table 2 is constructed for all classes of -variable Boolean functions that contain only the XOR values of all the functions in a class. The functions are arranged in ascending order in both rows and columns of the table. It can be proved that the content of each table remain invariant under the XOR operation and the decimal values of the content in the table are same as in class 1. For -variables the XOR operation of other classes are given in Appendix B.

Table 2: XOR values of class 1 of 3-variable Boolean functions.

XOR
0
2
4
6
8
10
12
14
32
34
36
38
40
42
44
46

0
0
2
4
6
8
10
12
14
32
34
36
38
40
42
44
46

2
2
0
6
4
10
8
14
12
34
32
38
36
42
40
46
44

4
4
6
0
2
12
14
8
10
36
38
32
34
44
46
40
42

6
6
4
2
0
14
12
10
8
38
36
34
32
46
44
42
40

8
8
10
12
14
0
2
4
6
40
42
44
46
32
34
36
38

10
10
8
14
12
2
0
6
4
42
40
46
44
34
32
38
36

12
12
14
8
10
4
6
0
2
44
46
40
42
36
38
32
34

14
14
12
10
8
6
4
2
0
46
44
42
40
38
36
34
32

32
32
34
36
38
40
42
44
46
0
2
4
6
8
10
12
14

34
34
32
38
36
42
40
46
44
2
0
6
4
10
8
14
12

36
36
38
32
34
44
46
40
42
4
6
0
2
12
14
8
10

38
38
36
34
32
46
44
42
40
6
4
2
0
14
12
10
8

40
40
42
44
46
32
34
36
38
8
10
12
14
0
2
4
6

42
42
40
46
44
34
32
38
36
10
8
14
12
2
0
6
4

44
44
46
40
42
36
38
32
34
12
14
8
10
4
6
0
2

46
46
44
42
40
38
36
34
32
14
12
10
8
6
4
2
0

4.3. CVT Operation in Classes

Let and be two Boolean functions in a Class. Then the Carry Value Transform (CVT) of and is defined in [13] as . Carry Value Transformation (CVT) is a kind of representation of -variable Boolean functions and is used to produce many interesting patterns [13]. Under the CVT operation, we have observed some interesting self-similar fractal patterns which are invariant for all classes of -variable Boolean functions.

Illustration. The CVT operation of and is . The patterns for class functions using CVT operation is shown in Table 3 and others are shown in Appendix C.

Table 3: CVT patterns of class 1 of 3-variable Boolean functions.

5. Conclusion

The novelty of this paper lies in its systematic classification of Boolean functions with focal emphasis on the prominent binary operations like Hamming distance, XOR, and CVT. The present analytical study introduces a new way towards the formulation of an universal classifier of arbitrary length which is being actively pursued. The procedures followed in this paper are very handy and useful even for our future experimental research in this domain of theoretical computer science. A number of tables have been incorporated in this paper for easy reference and clear comprehension showing varied subclasses, patterns, and values of different classes.

Appendices

A. Subclassification

Table 4 shows the classes and subclasses of 3-variable Boolean functions.

Table 4

Class 1

BF
DV
HD
No. of BF

00000000
0
0
1

00000010
2
1
4

00100000
32

00001000
8

00000100
4

00100010
34
2
6

00001010
10

00101000
40

00001100
12

00000110
6

00100100
36

00101010
42
3
4

00001110
14

00101100
44

00100110
38

00101110
46
4
1

Class 2

BF
DV
HD
No. of BF

10101010
170
0
1

10100010
162
1
4

10101000
168

10001010
138

10101110
174

10100000
160
2
6

10000010
130

10001000
136

10101100
172

10001110
142

10100110
166

10000000
128
3
4

10001100
140

10100100
164

10000110
134

10000100
132
4
1

Class 3

BF
DV
HD
No. of BF

11001100
204
0
1

11001000
200
1
4

11001110
206

11101100
236

11000100
196

11000000
192
2
6

11001010
202

11101000
232

11101110
238

11000110
198

11100100
228

11000010
194
3
4

11100000
224

11101010
234

11100110
230

11100010
226
4
1

Class 4

BF
DV
HD
No. of BF

01100110
102
0
1

01100010
98
1
4

01101110
110

01100100
100

01000110
70

01100000
96
2
6

01000010
66

01101010
106

01101100
108

01001110
78

01000100
68

01000000
64
3
4

01101000
104

01001010
74

01001100
76

01001000
72
4
1

Class 5

BF
DV
HD
No. of BF

11110000
240
0
1

11110010
242
1
4

11010000
208

11111000
248

11110100
244

11010010
210
2
6

11111010
250

11011000
216

11111100
252

11110110
246

11010100
212

11011010
218
3
4

11111110
254

11011100
220

11010110
214

11011110
222
4
1

Class 6

BF
DV
HD
No. of BF

01011010
90
0
1

01010010
82
1
4

01011000
88

01111010
122

01011110
94

01010000
80
2
6

01110010
114

01111000
120

01011100
92

01111110
126

01010110
86

01110000
112
3
4

01111100
124

01010100
84

01110110
118

01110100
116
4
1

Class 7

BF
DV
HD
No. of BF

00111100
60
0
1

00111000
56
1
4

00111110
62

00011100
28

00110100
52

00110000
48
2
6

00111010
58

00011000
24

00011110
30

00110110
54

00010100
20

00110010
50
3
4

00010000
16

00011010
26

00010110
22

00010010
18
4
1

Class 8

BF
DV
HD
No. of BF

10010110
150
0
1

10010010
146
1
4

10011110
158

10010100
148

10110110
182

10010000
144
2
6

10110010
178

10011010
154

10011100
156

10111110
190

10110100
180

10110000
176
3
4

10011000
152

10111010
186

10111100
188

10111000
184
4
1

Class 9

BF
DV
HD
No. of BF

11111111
255
0
1

11111101
253
1
4

11011111
223

11110111
247

11111011
251

11011101
221
2
6

11110101
245

11010111
215

11110011
243

11111001
249

11011011
219

11010101
213
3
4

11110001
241

11010011
211

11011001
217

11010001
209
4
1

Class 10

BF
DV
HD
No. of BF

01010101
85
0
1

01011101
93
1
4

01010111
87

01110101
117

01010001
81

01011111
95
2
6

01111101
125

01110111
119

01010011
83

01110001
113

01011001
89

01111111
127
3
4

01110011
115

01011011
91

01111001
121

01111011
123
4
1

Class 11

BF
DV
HD
No. of BF

00110011
51
0
1

00110111
55
1
4

00110001
49

00010011
19

00111011
59

00111111
63
2
6

00110101
53

00010111
23

00010001
17

00111001
57

00011011
27

00111101
61
3
4

00011111
31

00010101
21

00011001
25

00011101
29
4
1

Class 12

BF
DV
HD
No. of BF

10011001
153
0
1

10011101
157
1
4

10010001
145

10011011
155

10111001
185

10011111
159
2
6

10111101
189

10010101
149

10010011
147

10110001
177

10111011
187

10111111
191
3
4

10010111
151

10110101
181

10110011
179

10110111
183
4
1

Class 13

BF
DV
HD
No. of BF

00001111
15
0
1

00001101
13
1
4

00101111
47

00000111
7

00001011
11

00101101
45
2
6

00000101
5

00100111
39

00000011
3

00001001
9

00101011
43

00100101
37
3
4

00000001
1

00100011
35

00101001
41

00100001
33
4
1

Class 14

BF
DV
HD
No. of BF

10100101
165
0
1

10101101
173
1
4

10100111
167

10000101
133

10100001
161

10101111
175
2
6

10001101
141

10000111
135

10100011
163

10000001
129

10101001
169

10001111
143
3
4

10000011
131

10101011
171

10001001
137

10001011
139
4
1

Class 15

BF
DV
HD
No. of BF

11000011
195
0
1

11000111
199
1
4

11000001
193

11100011
227

11001011
203

11001111
207
2
6

11000101
197

11100111
231

11100001
225

11001001
201

11101011
235

11001101
205
3
4

11101111
239

11100101
229

11101001
233

11101101
237
4
1

Class 16

BF
DV
HD
No. of BF

01101001
105
0
1

01101101
109
1
4

01100001
97

01101011
107

01001001
73

01101111
111
2
6

01001101
77

01100101
101

01100011
99

01000001
65

01001011
75

01001111
79
3
4

01100111
103

01000101
69

01000011
67

01000111
71
4
1

BF: Boolean function, DV: decimal value, HD: Hamming distance, and No. BF: number of Boolean functions.

B. XOR Operations in Classes

Table 5 shows the XOR operation values of class-1, class-2 and class-3 of 3-variable Boolean functions.

Table 5

(a)

XOR
0
2
4
6
8
10
12
14
32
34
36
38
40
42
44
46

0
0
2
4
6
8
10
12
14
32
34
36
38
40
42
44
46

2
2
0
6
4
10
8
14
12
34
32
38
36
42
40
46
44

4
4
6
0
2
12
14
8
10
36
38
32
34
44
46
40
42

6
6
4
2
0
14
12
10
8
38
36
34
32
46
44
42
40

8
8
10
12
14
0
2
4
6
40
42
44
46
32
34
36
38

10
10
8
14
12
2
0
6
4
42
40
46
44
34
32
38
36

12
12
14
8
10
4
6
0
2
44
46
40
42
36
38
32
34

14
14
12
10
8
6
4
2
0
46
44
42
40
38
36
34
32

32
32
34
36
38
40
42
44
46
0
2
4
6
8
10
12
14

34
34
32
38
36
42
40
46
44
2
0
6
4
10
8
14
12

36
36
38
32
34
44
46
40
42
4
6
0
2
12
14
8
10

38
38
36
34
32
46
44
42
40
6
4
2
0
14
12
10
8

40
40
42
44
46
32
34
36
38
8
10
12
14
0
2
4
6

42
42
40
46
44
34
32
38
36
10
8
14
12
2
0
6
4

44
44
46
40
42
36
38
32
34
12
14
8
10
4
6
0
2

46
46
44
42
40
38
36
34
32
14
12
10
8
6
4
2
0

(b)

XOR
128
130
132
134
136
138
140
142
160
162
164
166
168
170
172
174

128
0
2
4
6
8
10
12
14
32
34
36
38
40
42
44
46

130
2
0
6
4
10
8
14
12
34
32
38
36
42
40
46
44

132
4
6
0
2
12
14
8
10
36
38
32
34
44
46
40
42

134
6
4
2
0
14
12
10
8
38
36
34
32
46
44
42
40

136
8
10
12
14
0
2
4
6
40
42
44
46
32
34
36
38

138
10
8
14
12
2
0
6
4
42
40
46
44
34
32
38
36

140
12
14
8
10
4
6
0
2
44
46
40
42
36
38
32
34

142
14
12
10
8
6
4
2
0
46
44
42
40
38
36
34
32

160
32
34
36
38
40
42
44
46
0
2
4
6
8
10
12
14

162
34
32
38
36
42
40
46
44
2
0
6
4
10
8
14
12

164
36
38
32
34
44
46
40
42
4
6
0
2
12
14
8
10

166
38
36
34
32
46
44
42
40
6
4
2
0
14
12
10
8

168
40
42
44
46
32
34
36
38
8
10
12
14
0
2
4
6

170
42
40
46
44
34
32
38
36
10
8
14
12
2
0
6
4

172
44
46
40
42
36
38
32
34
12
14
8
10
4
6
0
2

174
46
44
42
40
38
36
34
32
14
12
10
8
6
4
2
0

(c)

XOR
192
194
196
198
200
202
204
206
224
226
228
230
232
234
236
238

192
0
2
4
6
8
10
12
14
32
34
36
38
40
42
44
46

194
2
0
6
4
10
8
14
12
34
32
38
36
42
40
46
44

196
4
6
0
2
12
14
8
10
36
38
32
34
44
46
40
42

198
6
4
2
0
14
12
10
8
38
36
34
32
46
44
42
40

200
8
10
12
14
0
2
4
6
40
42
44
46
32
34
36
38

202
10
8
14
12
2
0
6
4
42
40
46
44
34
32
38
36

204
12
14
8
10
4
6
0
2
44
46
40
42
36
38
32
34

206
14
12
10
8
6
4
2
0
46
44
42
40
38
36
34
32

224
32
34
36
38
40
42
44
46
0
2
4
6
8
10
12
14

226
34
32
38
36
42
40
46
44
2
0
6
4
10
8
14
12

228
36
38
32
34
44
46
40
42
4
6
0
2
12
14
8
10

230
38
36
34
32
46
44
42
40
6
4
2
0
14
12
10
8

232
40
42
44
46
32
34
36
38
8
10
12
14
0
2
4
6

234
42
40
46
44
34
32
38
36
10
8
14
12
2
0
6
4

236
44
46
40
42
36
38
32
34
12
14
8
10
4
6
0
2

138
46
44
42
40
38
36
34
32
14
12
10
8
6
4
2
0

C. CVT Operations in Classes

Table 6 shows the CVT (Carry Value Transformation) patterns of class 1, class 2 and class 3 of 3-variable Boolean Functions.

Table 6

(a)

(b)

(c)

Acknowledgment

The authors are grateful to Professor Birendra Kumar Nayak of Utkal University and Mr Sk. Sarif Hassan of Institute of Mathematics and Applications, Bhubaneswar, for their valuable suggestions.

References

D. Slepian, “On the number of symmetry types of Boolean functions of variables,” Canadian Journal of Mathematics, vol. 5, no. 2, pp. 185–193, 1953.

S. W. Golomb, “On the classification of Boolean functions,” IRE Transactions on Circuit Theory, vol. 6, no. 5, pp. 176–186, 1959.

M. A. Harrison, “On the classification of Boolean functions by the general linear and affine groups,” Journal of the Society for Industrial and Applied Mathematics, vol. 12, no. 2, pp. 285–299, 1964.

V. P. Correia and A. I. Reis, “Classifying n-input Boolean functions,” in Proceedings of the 7th Workshop IBERCHIP (IWS '01), pp. 58–66, Montevideo, Uruguay, March 2001.

A. Braeken, Y. Borissov, S. Nikova, and B. Preneel, “Classification of Boolean functions of 6 variables or less with respect to some cryptographic properties,” in Automata, Languages and Programming, L. Caires, G. F. Italiano, L. Monteiro, C. Palamidessi, and M. Yung, Eds., vol. 3580 of Lecture Notes in Computer Science, pp. 324–334, Springer, Berlin, Germany, 2005.

P. Stănică and S. H. Sung, “Boolean functions with five controllable cryptographic properties,” Designs, Codes and Cryptography, vol. 31, no. 2, pp. 147–157, 2004.

Y. V. Taranikov, “On resilient functions with maximum possible nonlinearity,” in Progress in Cryptology—INDOCRYPT 2000, B. Roy and E. Okamoto, Eds., vol. 1977 of Lecture Notes in Computer Science, pp. 19–30, Springer, 2000.

X.-M. Zhang and Y. Zheng, “Cryptographically resilient functions,” IEEE Transactions on Information Theory, vol. 43, no. 5, pp. 1740–1747, 1997.

W. Millan, A. Clark, and E. Dawson, “Heuristic design of cryptographically strong balanced Boolean functions,” in Advances in Cryptology—EUROCRYPT'98, K. Nyberg, Ed., vol. 1403 of Lecture Notes in Computer Science, pp. 489–499, Springer, 1998.

P. P. Choudhury, S. Sahoo, and M. Chakraborty, “Characterization of the evolution of nonlinear uniform cellular automata in the light of deviant states,” International Journal of Mathematics and Mathematical Sciences, vol. 2011, Article ID 605098, 16 pages, 2011.

P. P. Choudhury, S. Sahoo, M. Chakraborty, S. K. Bhandari, and A. Pal, “Investigation of the global dynamics of cellular automata using Boolean derivatives,” Computers and Mathematics with Applications, vol. 57, no. 8, pp. 1337–1351, 2009.

S. Sahoo, P. P. Choudhury, and M. Chakraborty, “Characterization of any non-linear Boolean function using a set of linear operators,” Journal of Orissa Mathematical Society, vol. 2, no. 1-2, pp. 111–133, 2010.

P. P. Choudhury, S. Sahoo, B. K. Nayak, and Sk. S. Hassan, “Theory of Carry Value Transformation (CVT) and its application in fractal formation,” Global Journal of Computer Science and Technology, vol. 10, no. 14, pp. 98–107, 2010.

S. Wolfram, A New Kind of Science, Wolfram Media, Champaign, Ill, USA, 2002.

B. K. Nayak, S. Sahoo, and S. Biswal, “Cellular automata rules and linear numbers,” http://arxiv.org/abs/1204.3999