Une fonction booléenne est une fonction de
En fait, les fonctions booléennes sont simplement un autre nom des fonctions logiques. Toutefois, lorsque l'on s'attache aux propriétés algébriques de ces fonctions, l'appellation fonction booléenne est la plus utilisée.
Les fonctions booléennes, ou plus précisément leurs propriétés, interviennent notamment en cryptologie dans les boîtes-S, ainsi que dans les chiffrements par flot -- fonction de filtrage ou de combinaison des registres à décalage.
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 n variables à coefficients dans
Autrement dit, une fonction booléenne peut être représentée de manière unique par un polynôme de la forme :
On pose fréquemment
La notion de degré d'une fonction booléenne est alors évidente, il s'agit du degré maximal des monômes de son ANF.
Les fonctions de degré 1 sont appelées les fonctions affines. En fait, ce sont des formes affines de l'espace vectoriel
Les cryptographes utilisent le terme de non-linéarité pour parler de la distance d'une fonction booléenne à l'ensemble
L'intérêt de cette notion est de quantifier l'erreur commise si on remplace la fonction f par une fonction affine : dans le meilleur des cas, on se « trompe »
On montre, en utilisant la transformée de Fourier, que la non-linéarité d'une fonction booléenne est au plus de
Lorsque n 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 n variables). L'ordre est le degré maximal des fonctions. Ainsi, le code de Reed-Muller d'ordre
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.
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.
De manière générale, on peut définir une transformation de Fourier sur un groupe
L'ensemble des caractères opèrent sur l'ensemble des applications de
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
Les démonstrations sont données dans l'article détaillé.
Lorsque
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é.
Il existe un cas important, celui où le groupe est un espace vectoriel fini V, donc de dimension fini sur un corps fini
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 :
On considère maintenant le cas où le corps
Il n'existe que deux caractères dans
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
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
Un autre intérêt de l'identification de
On remarque que