AccueilđŸ‡«đŸ‡·Chercher

Fonction booléenne

Une fonction booléenne est une fonction prenant en entrée une liste de bits et donnant en sortie un unique bit.

Arbre de décision binaire

Les fonctions booléennes sont trÚs utilisées en informatique théorique, notamment en théorie de la complexité et en cryptologie (par exemple dans les boßtes-S et les chiffrements par flot -- fonction de filtrage ou de combinaison de registres à décalage à rétroaction linéaire).

DĂ©finition, exemple et circuits

Une fonction boolĂ©enne est une fonction de dans oĂč dĂ©signe le corps fini Ă  2 Ă©lĂ©ments. Un exemple de fonction boolĂ©enne est la fonction paritĂ©, dont la sortie dĂ©pend de la paritĂ© du nombre de 1 dans l'entrĂ©e. Une fonction boolĂ©enne peut ĂȘtre reprĂ©sentĂ©e par un circuit boolĂ©en.

Propriétés

Forme algébrique normale

Les corps finis et les polynĂŽmes interpolateurs de Lagrange conduisent rapidement Ă  une propriĂ©tĂ© fondamentale des fonctions boolĂ©ennes : la reprĂ©sentation dite « forme algĂ©brique normale » (algebraic normal form ou ANF). Toute fonction boolĂ©enne peut s'Ă©crire comme un polynĂŽme en variables Ă  coefficients dans . Cependant, diffĂ©rents polynĂŽmes de donnent la mĂȘme fonction. Par exemple, et donnent bien la mĂȘme valeur lorsqu'ils sont Ă©valuĂ©s sur un Ă©lĂ©ment de . Pour obtenir une reprĂ©sentation unique, il faut considĂ©rer les Ă©lĂ©ments de l'anneau quotient, soit :

Autrement dit, une fonction boolĂ©enne peut ĂȘtre reprĂ©sentĂ©e de maniĂšre unique par un polynĂŽme de la forme :

( est une suite d'éléments de et ).

On pose fréquemment , et , permettant l'écriture compacte :

.

La notion de degré d'une fonction booléenne est alors évidente, il s'agit du degré maximal des monÎmes de son ANF.

Exemple de forme algébrique normale sur :

Linéarité et non-linéarité

Les fonctions de degrĂ© 1 sont appelĂ©es les fonctions affines. En fait, ce sont des formes affines de l'espace vectoriel — vu comme espace sur le corps . Ce sont les fonctions les plus simples, hormis les constantes. Il a fini par apparaĂźtre que « ressembler » Ă  une fonction linĂ©aire Ă©tait une propriĂ©tĂ© pouvant ĂȘtre exploitĂ©e en cryptanalyse. La ressemblance en question se base sur le nombre de fois oĂč deux fonctions prennent la mĂȘme valeur, il s'agit de la distance de Hamming :

Les cryptographes utilisent le terme de non-linéarité pour parler de la distance d'une fonction booléenne à l'ensemble des fonctions affines :

L'intĂ©rĂȘt de cette notion est de quantifier l'erreur commise si on remplace la fonction par une fonction affine : dans le meilleur des cas, on se « trompe » fois sur si est le nombre de variables.

On montre, en utilisant la transformée de Fourier, que la non-linéarité d'une fonction booléenne est au plus de

Lorsque est pair, cette borne supérieure est atteinte, on parle alors de fonction courbe.

Précisons que l'ensemble des fonctions affines a une importance particuliÚre en théorie des codes correcteurs, au point qu'il possÚde un nom, le code de Reed-Muller d'ordre 1 (en variables). L'ordre est le degré maximal des fonctions. Ainsi, le code de Reed-Muller d'ordre en , usuellement noté est l'ensemble des fonctions en variables de degré au plus . Dans le contexte de la théorie des codes, la non-linéarité maximale se trouve correspondre au « rayon de recouvrement » du code , c'est-à-dire, la distance maximale entre un mot binaire de longueur et un mot du code.

Outil d'étude : la transformée de Fourier

La transformation de Fourier, appliquĂ©e aux fonctions boolĂ©ennes, se rĂ©vĂšle ĂȘtre un moyen trĂšs puissant pour explorer les diffĂ©rentes propriĂ©tĂ©s de ces objets. Elle est, par exemple, frĂ©quemment utilisĂ©e pour Ă©tudier des propriĂ©tĂ©s cryptographiques comme la non-linĂ©aritĂ© maximale. On la retrouve Ă©galement dans des aspects plus appliquĂ©es : l'existence d'algorithmes de calcul de la transformĂ©e de Fourier de type FFT sert Ă  dĂ©coder efficacement les codes de Reed et Muller. On trouvera dans la suite une prĂ©sentation gĂ©nĂ©rale de la transformation de Fourier dans le cas des groupes abĂ©liens finis qui est ensuite particularisĂ©e pour le cas des fonctions boolĂ©ennes.

Cas d'un groupe abélien fini

Dans le cas d'un groupe abélien fini, le théorÚme de Kronecker assure que le groupe est isomorphe à un produit direct de groupes cycliques. Ce théorÚme est à la base de nombreuses propriétés des fonctions booléennes.

CaractĂšre et groupe dual

De maniÚre générale, on peut définir une transformation de Fourier sur un groupe en utilisant la notion de caractÚre. Un caractÚre est un morphisme de dans , le groupe des racines de l'unité du corps des nombres complexes .

L'ensemble des caractÚres opÚrent sur l'ensemble des applications de dans , cet ensemble est appelé algÚbre du groupe et est généralement noté . Il est muni du produit hermitien suivant :

Ici si z est un complexe, z* désigne son conjugué.

Les caractĂšres forment une base orthonormale de l'algĂšbre du groupe.

L'ensemble des caractĂšres de peut ĂȘtre muni d'une structure de groupe en utilisant la multiplication entre applications, ce groupe est appelĂ© le groupe dual. Le groupe et son dual sont isomorphes si est abĂ©lien.

Les démonstrations sont données dans l'article détaillé.

Définition de la transformée de Fourier

Lorsque est abélien et fini, il est possible de définir simplement la transformée de Fourier. On appelle transformée de Fourier d'un élément de l'algÚbre du groupe de une application du groupe dual dans notée ici et définie par :

Cette application dispose de toutes les propriétés usuelles d'une transformée de Fourier, elle est linéaire, l'égalité de Parseval le théorÚme de Plancherel, la formule sommatoire de Poisson et la dualité de Pontryagin sont par exemple vérifiées. Il est aussi possible de définir un produit de convolution.

Les démonstrations sont données dans l'article détaillé.

Espace vectoriel fini

Il existe un cas important, celui oĂč le groupe est un espace vectoriel fini V, donc de dimension fini sur un corps fini . Dans ce cas, il existe un isomorphisme entre V et son groupe dual, appelĂ© dualitĂ© de Pontryagin. Soit . une forme bilinĂ©aire non dĂ©gĂ©nĂ©rĂ©e de V et ÎŒ un caractĂšre non trivial de , l'application χ de V dans son dual, qui Ă  y associe le caractĂšre χy dĂ©finie par l'Ă©galitĂ© suivante est cet isomorphisme :

Cet isomorphisme permet d'exprimer la transformation de Fourier d'un élément f de l'algÚbre du groupe de V de la maniÚre suivante :

Formes des caractĂšres et isomorphisme avec le dual

On considĂšre maintenant le cas oĂč le corps est celui Ă  deux Ă©lĂ©ments notĂ© et l'espace vectoriel est oĂč n est un entier strictement positif. Soit x = (xi) et y = (yi) deux Ă©lĂ©ments de l'espace vectoriel, la forme bilinĂ©aire . est dĂ©finie par :

Il n'existe que deux caractĂšres dans , le caractĂšre trivial et celui qui Ă  s associe (-1)s. Comme il n'existe qu'un caractĂšre non trivial, l'isomorphisme χ du paragraphe prĂ©cĂ©dent prend la forme suivante :

Transformation de Walsh

Dans le cas d'un espace vectoriel binaire (ie. sur le corps fini à deux éléments) la transformée de Fourier prend le nom de transformée de Walsh. Elle prend la forme suivante :

On remarque que le signe moins utilisé dans la définition disparait car dans la multiplication par -1 est égale à l'identité. On remarque que la transformée de Walsh est idempotente, c'est-à-dire qu'elle est égale à son inverse.

On voit donc que l'un des intĂ©rĂȘts de cette identification est d'avoir la transformation de Walsh et son inverse qui agissent sur les mĂȘmes objets : des fonctions de dans .

Formule de Poisson

Un autre intĂ©rĂȘt de l'identification de et de son dual, et non moins agrĂ©able que celui Ă©voquĂ© prĂ©cĂ©demment, est de simplifier considĂ©rablement la formule de Poisson. En effet, on obtient alors

On remarque que s'identifie naturellement à . C'est ce qui est fait dans la formule ci-dessus, passant ainsi d'une notation multiplicative pour à une notation additive (on a également utilisé dans le cas de ). On vérifie également que et sont des espaces vectoriels sur .

Voir aussi

Liens externes

Bibliographie

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.