Boolean function

A Boolean function is a function of \ mathbb {F} ^n in \ mathbb {F} where \ mathbb {F} indicates the Corps finished with 2 elements.

In fact, the Boolean functions are simply another name of the switching functions. However, when one sticks to the algebraic properties of these functions, name Boolean function is used.

The Boolean functions, or more precisely their properties, intervene in particular in Cryptologie in the boxes-S, like in the codings by flood -- function of filtering or combination of the shift registers.

Properties

Normal algebraic form

The finished bodies and the polynomials interpolaters of Lagrange lead quickly to a fundamental property of the Boolean functions: the representation known as “forms algebraic normal” ( algebraic normal form or ANF ). Any Boolean function can be written like a polynomial in n variable with coefficients in \ mathbb {F} . However, various polynomials of \ mathbb {F} give the same function. For example, X_0^2 and X_0^3 give the same value well when they are evaluated on an element of \ mathbb {F} ^n. To obtain a single representation, it is necessary to consider the elements of the ring quotient, that is to say:

\ mathbb {F}/(X_0^2+X_0,…, X_ {n-1} ^2+X_ {n-1})

In other words, a Boolean function can be represented in a single way by a polynomial of the form:

P (X_0,…, X_ {n-1}) = \ sum_ {(u_0,…, u_ {n-1}) \ in \ mathbb {F} ^n} a_u \ prod_ {i=0} ^ {n-1} X_i^ {u_i}

One frequently poses u= (u_0,…, u_ {n-1}) ~, X= (X_0,…, X_ {n-1}) ~ and X^u= \ prod_ {i=0} ^ {n-1} X_i^ {u_i} , allowing the compact writing:

P (X) = \ sum_ {U \ in \ mathbb {F} ^n} a_uX^u.

The concept of degree of a Boolean function is then obvious, it acts of the maximum degree of the students' rag processions of its ANF.

Linearity and Non-linearity

The functions of degree 1 are called the functions closely connected . In fact, they are forms closely connected of the vector space \ mathbb {F} ^n -- seen like spaces on the body \ mathbb {F} . They are obviously the simplest functions (except the constants). It ended up appearing that “to resemble” a linear function was a property being able to be exploited in Cryptanalyse. The resemblance in question is based on the number of times where two functions take the same value, it is about the Distance Hamming:
d_H (F, G) = \ # \ {U \ in \ mathbb {F} ^n: F (U) \ neq G (U) \}

The cryptographes use the term of non-linearity to speak about the distance from a Boolean function to the unit \ mathcal {has} functions closely connected:

\ mathcal {NR} (F) = \ min \ {d_H (F, G): G \ in \ mathcal {has} \}
The interest of this concept is to quantify the made error if one replaces the function f by a function closely connected: in the best of the cases, one “is mistaken” \ mathcal {NR} (F) time on 2^n if n is the number of variables.

It is shown, by using the transform of Fourier, that the non-linearity of a Boolean function is with more

\ mathcal {NR} (F) \ the 2^ {n-1} - 2^ {\ frac {N} {2} - 1}
When n is odd, this upper limit is reached, one speaks then about Fonction curves.

Let us specify that the whole of the functions closely connected has an particular importance in theory of the correct codes, so much so that it has a name, the Code of Reed-Muller of order 1 (in n variable). The order is of course the maximum degree of the functions. Thus, the code of Reed-Muller of order r~ in n~, usually noted \ mathrm {RM} (R, N) ~ is the whole of the variable functions in n~ of degree to the more r~. In the context of the theory of the codes, maximum non-linearity is to correspond to the “ray of covering” of the code \ mathrm {RM} (1, N) ~, i.e., the maximum distance between a binary word length 2^n and a word of the code.

Tool of study: the Transformed of Fourier

The transformation of Fourier, applied to the Boolean functions, proves to be a very powerful means to explore the various properties of these objects. It, for example, is frequently used to study properties cryptographic S like the maximum non-linearity. One also finds it in aspects more applied: the existence of calculation algorithms of the transform of Fourier of the type FFT is used to effectively decode the codes of Reed and Muller. One will in the case of find in the continuation a general presentation of the transformation of Fourier the finished abelian groups which is then particularized for the case of the Boolean functions.

Case of a finished abelian group

See also: Theorem of Kronecker

In the case of a finished abelian group, the theorem of Kronecker ensures that the group is isomorphous with a direct produced of cyclic groups. This theorem is at the base many properties of the Boolean functions.

Character and dual group

See also: Character of a group finished

In a general way, one can define a transformation of Fourier on a group \ mathcal G by using the concept of character. A character \ chi is a Morphisme of \ mathcal G in \ mathbb U, the group of the roots of the unit of the body of the Complex numbers \ mathbb C.

The whole of the characters operate on the whole of the applications of \ mathcal G in \ mathbb C, this unit is called algebra of the group and is generally noted \ mathbb C G. It is provided with the square Produit according to:

\ forall \ chi_1, \ chi_2 \ in \ mathbb C G \ quad < \ chi_1 |\ chi_2> = \ frac 1 \ sum_ {G \ in \ mathcal G} \ chi_1 (G) ^*. \ chi_2 (G)
Here if Z is a complex, Z * indicates its Conjugué.

The characters form a orthonormal Base of the algebra of the group.

The whole of the characters of \ mathcal G can be provided with a structure of group by using the multiplication between applications, this group is called the dual group. the group \ mathcal G and its dual its isomorphs if \ mathcal G is abelian.

the demonstrations are given in the detailed article.

Definition of the transform of Fourier

See also: harmonic Analysis on an abelian group finished

When \ mathcal G is abelian and finished, it is possible to simply define the Transformée of Fourier. One calls transformed of Fourier of an element of the algebra of the group of {\ mathcal G} an application of the dual group \ mathcal F (\ mathcal G) in \ mathbb C noted here {\ mathcal F} (F) and defined by:

\ forall \ chi \ in \ mathcal F (\ mathcal G) \ quad {\ mathcal F} (F) (\ chi) = \ frac 1 {\ sqrt} \ sum_ {X \ in {\ mathcal G}} F (X) \ chi (X) ^*

This application has all the usual properties of a transform of Fourier, it is linear, the equality of Parseval the Théorème of Plancherel, the Formule sommatoire of Poisson and the Dualité of Pontryagin for example is checked. It is also possible to define a Produit convolution.

the demonstrations are given in the detailed article.

Finished vector space

See also: harmonic Analysis on a vector space finished

There exists an important case, that where the group is a vector space finished V , therefore of dimension finished on a Corps finished \ mathbb K. In this case, there exists an isomorphism between V and its dual group, called Dualité of Pontryagin. That is to say . a bilinear Form not degenerated of V and μ a noncommonplace character of \ mathbb K, the χ application of V in its dual, which with associates there the character χy definite by the following equality is this isomorphism:

\ forall X \ in V \ quad \ chi_y (X) = \ driven (y.x)

This isomorphism makes it possible to express the transformation of Fourier of an element F of the algebra of the group of V in the following way:

\ forall \ zeta V \ quad {\ mathcal F} (F) (\ zeta) = \ frac 1 {\ sqrt} \ sum_ {X \ in V} F (X) \ driven (- \ zeta.x)

Vector space on the body F 2

Forms of the characters and isomorphism with the dual one

One considers the case now where the body \ mathbb K is that with two elements noted \ mathbb F_2 and the vector space is \ mathbb F_2^n where N is a strictly positive entirety. That is to say X = ( X i and there = ( there i two elements of the vector space, the bilinear form . is defined by:
x.y = \ sum_ {i=1} ^n x_i.y_i

There exist only two characters in \ mathbb F_2, the commonplace character and that which with S associates (- 1) s. As there exists only one noncommonplace character, isomorphism χ of the preceding paragraph takes the following form:

\ forall X, there \ in \ mathbb F_2^n \ quad \ chi_y (X) = (- 1) ^ {x.y}

Transformation of Walsh

See also: Transform of Walsh

In the case of a binary vector space (IE. on the finished body with two elements) the transform of Fourier takes the name of transformed of Walsh . It takes the following form:

\ forall there \ in \ mathbb F_2^n \ quad \ hat F (there) = {\ mathcal F} (F) (\ chi_y) = \ frac 1 {\ sqrt {2^n}} \ sum_ {X \ in {\ mathbb {F} ^n}} F (X) {(- 1)}^ {X \ cdot there}
It is noticed that the sign less used in the definition disappears because in \ mathbb F_2 the multiplication by -1 is equal to the identity. It is noticed that the transform of Walsh is Idempotent E, i.e. that it is equal to its reverse.

It is thus seen that one of the interests of this identification is to have the transformation of Walsh and its reverse which act on the same objects: functions of \ mathbb {F} ^n in {\ mathbb C} .

Formulate of Poisson

Another interest of the identification of \ mathbb {the F} _2^n and of its dual, and not least pleasant than that evoked previously, is to simplify the formula of Poisson considerably. Indeed, one obtains then

\ sum_ {U \ in a+ {\ mathcal H} ^ \ club-footed} {\ hat F} (U) {(- 1)}^ {U \ cdot B} = {(- 1)}^ {has \ cdot B} |Club-footed H^ \| \ cdot \ sum_ {U \ in b+ {\ mathcal H}} F (U) (- 1) ^ {has \ cdot U}

It is noticed that {\ mathcal H} ^ \ bot is identified naturally with \ {Z \ in \ mathbb F_2^n: \ forall X \ in H, Z \ cdot x=0 \} . It is what is made in the formula above, thus passing from a multiplicative notation for {\ mathcal H} ^ \ bot with an additive notation (one also used b=-b in the case of \ mathbb {F} _2^n). It is also checked that {\ mathcal H} and {\ mathcal H} ^ \ bot is vector spaces on \ mathbb F_2.

Random links:Beuzec-Cape-Sizun | Wolfhound irlandés | International federation of tennis | Space of Sobolev | Edgar Bones | Dad Waigo Diaye | Togoland_britannique