• Aucun résultat trouvé

Immunit´e alg´ebrique pour des entr´ees de poids de Hamming

6.4 Immunit´e alg´ebrique `a poids fix´e

6.4.2 Immunit´e alg´ebrique pour des entr´ees de poids de Hamming

Dans la suite, on note Mn,k,d la matrice d´efinie comme `a la d´efinition 6.28, o`u S = Sn,k, c’est-`a-dire `a l’ensemble des ´el´ements de Fn2 de poids de Hamming ´egal `a k. En utilisant les r´esultats pr´ec´edents, il nous reste `a ´etudier la matrice Mn,k,d, et plus particuli`erement `a calculer son rang. On constate par ailleurs que cette matrice est une matrice g´en´eratrice du code de Reed et Muller d’ordre d et poin¸conn´e en enlevant les entr´ees de poids diff´erent de k comme nous l’avons d´efini `a la section 6.3.3.

Th´eor`eme 6.34. Le rang de Mn,k,d est ´egal `a

 n

min(d, k, n − k) 

.

D´emonstration. Le principe de cette preuve consiste `a trouver une relation de r´ecurrence sur la valeur du rang. Afin d’y parvenir, nous utilisons une construction de cette matrice semblable `a la construction u||u + v des codes de Reed et Muller : toute fonction bool´eenne f `a n variables et de degr´e alg´ebrique au plus d peut s’´ecrire de la mani`ere suivante :

f (x1, . . . , xn) = xng(x1, . . . , xn−1) + h(x1, . . . , xn−1) ,

o`u g est de degr´e alg´ebrique au plus d et h est de degr´e alg´ebrique au plus d − 1. Afin de simplifier la lecture de cette preuve, nous utilisons les notations suivantes : Nk=n k  et D = X 0≤i≤d n i  .

Soit ψn,k,d l’application lin´eaire qui envoie la forme alg´ebrique normale de toute fonction bool´eenne `a n variables de degr´e au plus d sur la restriction de sa table de v´erit´e `a Sn,k : ψn,k,d : FD2 −→ FNk 2 (au)u∈Fn 2,wH(u)≤d 7−→ P uxau  x∈Fn 2,wH(x)=k

o`u u  x signifie que le support de u est inclus dans le support de x (supp(u) ⊆ supp(x)). Cette application ψn,k,d est ´evidemment lin´eaire par construction et le rang de la matrice Mn,k,d est exactement le rang de cette application.

B

n,k,d

M

n−1,k−1,d

0

A

n,k,d

x ∈ S

2

x ∈ S

1

u ∈ F

1

u ∈ F

2 n−1 k−1



n−1 k



P

0≤i≤d−1 n−1 i



P

0≤i≤d n−1 i



Figure 6.1 – D´ecomposition de la matrice Mn,k,d.

On note mu le monˆome xu. Comme ces monˆomes forment une famille g´en´eratrice de l’ensemble des fonctions bool´eennes de degr´e plus petit que d (par d´efinition), il convient de dire que le rang de l’application peut aussi ˆetre d´efini comme le rang de la famille de vecteurs images des (mu)wH(u)≤d par ψn,k,d :

n,k,d(mu)}u∈Fn

2,wH(u)≤d .

Ensuite, nous partageons cette famille de vecteurs en deux familles F1 et F2 de la mani`ere suivante :

F1={u ∈ Fn2, wH(u) ≤ d; un= 0} F2={u ∈ Fn2, wH(u) ≤ d; un= 1} .

D’une mani`ere qui vient tout naturellement, nous d´ecoupons aussi notre ensemble Sn,k en deux sous-ensembles S1 et S2 :

S1={x ∈ Fn

2, wH(x) = k; xn = 0} S2={x ∈ Fn2, wH(x) = k; xn = 1} .

Avec ces notations, nous remarquons tout de suite que pour tout u dans la famille F2, et tout x appartenant `a S1, on a mu(x) = xu= 0. En ordonnant la matrice selon F1, F2, S1et S2, la matrice Mn,k,d∈ FD

2 × FNk

2 qui repr´esente l’application ψn,k,d a donc la forme repr´esent´ee `a la figure 6.1

L’application lin´eaire induite par la matrice An,k,d d´ecrite `a la figure 6.1 prend ses entr´ees dans l’ensemble des fonctions bool´eennes de degr´e plus petit que d, et dans lesquelles la variable xn n’apparaˆıt pas. L’espace d’arriv´ee de cette application est l’ensemble des tables de v´erit´e restreintes aux entr´ees x dont le poids de Hamming est exactement k et o`u la valeur de la coordonn´ee xn vaut 0. Donc, comme xnn’apparaˆıt pas les formes alg´ebriques normales des fonctions en

entr´ee et que xn= 0, An,k,d d´efinit donc exactement l’application lin´eaire allant de l’espace des fonctions bool´eennes `a n − 1 variables, de degr´e plus petit que d vers la table de v´erit´e restreinte aux mots de poids k.

De mani`ere similaire, Bn,k,d repr´esente l’application lin´eaire qui envoie les fonctions bool´eennes de degr´e au plus d − 1, vers la table de v´erit´e correspondante restreinte aux mots de poids k − 1 (car xn= 1 et non 0), et avec n´ecessairement n − 1 variables. Ainsi, la matrice An,k,d repr´esente l’application ψn−1,k−1,d et Bn,k,d repr´esente ψn−1,k−1,d−1, et il en est ´evidemment de mˆeme pour la matrice Mn−1,k−1,dd´ecrite `a la figure 6.1.

Afin d’´etablir une relation de r´ecurrence sur le rang de la matrice, nous allons montrer que rang(An,k,d) + rang(Bn,k,d) = rang(Mn,k,d), c’est-`a-dire que la matrice Mn−1,k−1,dne joue pas de rˆole dans le rang de Mn,k,d. En effet, supposons que l’on ait un vecteur v de taille nk d´efini par une combinaison lin´eaire des lignes de notre matrice (v ∈ Im(ψn,k,d)) et dont les n−1k  derni`eres coordonn´ees soient nulles, c’est-`a-dire que cette derni`ere partie du vecteur appartient `a ker(An,k,d), alors ce vecteur v est lin´eairement d´ependant des vecteurs d´efinis par Bn,k,d

(v ∈ Im(Bn,k,d)). En effet, il suffit de voir ce probl`eme en terme de fonctions bool´eennes : si f est une fonction bool´eenne appartenant `a l’espace vectoriel engendr´e par F1et telle que ∀x ∈ S1, f (x) = 0 (f repr´esente ici un tel vecteur v), alors f (donc v) est dans l’espace engendr´e par F2 :

f (x1, . . . , xn) = xng(x1, . . . , xn−1) + h(x1, . . . , xn−1) .

f est de degr´e plus petit que d, donc h est aussi de degr´e plus petit que d et g est de degr´e plus petit que d − 1. Or, pour tout x ∈ S1 (xn= 0), f (x) = 0, donc h(x1, . . . , xn−1) = 0 sur l’ensemble des mots de poids k, ce qui signifie que f est engendr´ee par F2. Finalement, il d´ecoule de cette observation que

dim(Im(ψn,k,d)) = dim(Im(ψn−1,k−1,d−1)) + dim(Im(ψn−1,k,d)) . De plus, si d ≥ k, alors dim(Im(ψn,k,d)) = nk : plus pr´ecis´ement, l’ensemble des monˆomes de degr´e exactement k correspond directement `a la base canonique des fonctions bool´eennes d´efinies sur Sn,k (en regardant la table de v´erit´e comme l’espace vectoriel FNk

2 ). Pour d ≥ n − k, nous ne prenons pas les monˆomes, mais nous consid´erons les fonctions bool´eennes de la forme

f (x) = (1 + xi1)(1 + xi2) · · · (1 + xin−k)

qui sont de degr´e plus petit que d, et qui forment elles aussi la base canonique des fonctions bool´eennes d´efinies sur Sn,n−k.

Donc, nous avons les r´esultats suivants : — si d ≥ k, alors dim(Im(ψn,k,d)) = nk ;

— et si d ≥ n − k, alors dim(Im(ψn,k,d)) = n−kn  = n k ;

Finalement, le r´esultat se montre par r´ecurrence sur n : pour n = 1, la propri´et´e du th´eor`eme 6.34 que l’on cherche `a montrer est bien v´erifi´ee.

Soit n ≥ 1, on suppose que pour tout d et k compris entre 0 et n la propri´et´e est v´erifi´ee. Soit d ≤ n + 1 et k ≤ n + 1, alors si k = n + 1, la dimension est ´egale `

a 1 et la propri´et´e reste vraie (la table de v´erit´e est r´eduite `a un seul ´el´ement), et si d = n + 1, alors la dimension vaut nk comme indiqu´e pr´ec´edemment et la propri´et´e reste encore v´erifi´ee. On peut donc supposer maintenant que d ≤ n et k ≤ n, alors

dim(Im(ψn+1,k,d)) = dim(Im(ψn,k−1,d−1)) + dim(Im(ψn,k,d)) , donc, par hypoth`ese de r´ecurrence,

dim(Im(ψn+1,k,d)) =  n min(d − 1, k − 1, n − k + 1)  +  n min(d, k, n − k)  .

Deux cas se profilent :

— si min(d, k, n − k + 1) = d, alors min(d − 1, k − 1, n − k + 1) = d − 1, donc dim(Im(ψn+1,k,d)) = d−1n  + n

d = n+1 d  ;

— si min(d, k, n − k + 1) = k, alors min(d − 1, k − 1, n − k + 1) = k − 1 et min(d, k, n − k) = k ou n − k. Dans tous les cas, dim(Im(ψn+1,k,d)) =

n k−1 + n

k = n+1 k  ;

— si min(d, k, n−k +1) = n−k +1, alors min(d−1, k −1, n−k +1) = k −1 ou n−k +1 et min(d, k, n−k) = n−k. Dans tous les cas, dim(Im(ψn+1,k,d)) =

n k−1 + n

k = n+1 k .

Tout ceci nous prouve la propri´et´e au rang n + 1, ce qui conclut la preuve et nous permet d’assurer que

dim(Im(ψn,k,d)) =

 n

min(d, k, n − k) 

.

En appliquant le th´eor`eme 6.34 au corollaire 6.33, nous pouvons donc d´eduire le r´esultat suivant :

Corollaire 6.35. Soit f une fonction bool´eenne `a n variables et soit k un entier tel que k ≤ n/2, alors l’immunit´e alg´ebrique restreinte `aSn,k est born´ee sup´erieurement par

min  e; 2n e  >n k  .

Ce r´esultat donne une borne sup´erieure sur l’immunit´e alg´ebrique restreinte, mais elle est obtenue s´epar´ement pour chaque ensemble Sn,k. Savoir si cette borne est atteignable sur l’ensemble des sous-ensemble de poids fix´e reste un probl`eme ouvert : est-il possible d’avoir une fonction bool´eenne qui est d’immunit´e

alg´ebrique restreinte optimale sur tous les sous-ensembles Sn,k, pour tout k allant de 1 `a n − 1 ? De plus, pour r > 0, on a 2  n k − r  =n k  2k(k − 1) · · · (k − r + 1) (n − k + r)(n − k + r − 1) · · · (n − k + 1) , si de plus k−r+1 n−k+1 > 2−1/r, ce qui correspond `a k > 2 −1/r(n + 1) + r − 1 1 + 2−1/r = n + 1 + (r − 1)2 1/r 21/r+ 1 , donc a fortiori k − r + 2 n − k + 2 > 2 −1/r, . . . , k n − k + r > 2 −1/r. Dans ce cas l’in´egalit´e

2  n k − r  >n k 

est satisfaite. Lorsque k = n/2, la condition k > n+1+(r−1)221/r+1 1/r devient n(21/r+ 1) > 2(n + 1 + (r − 1)21/r), ou de mani`ere ´equivalente n > 2+2(r−1)221/r−11/r.

Donc, pour le cas particulier o`u l’on se restreint aux entr´ees de poids fix´e `a k = n/2, la meilleure immunit´e alg´ebrique restreinte `a Sn,n/2 possible pour une fonction bool´eenne `a n variables est strictement moins bonne que la meilleure immunit´e alg´ebrique classique possible.

Pour l’immunit´e alg´ebrique, c’est une structure particuli`ere du sous-ensemble S consid´er´e qui fait diminuer le rang de la matrice Me,S, et qui induit une augmentation de la meilleure immunit´e alg´ebrique possible restreinte `a S. En effet, si l’on choisit S de mani`ere uniforme et al´eatoire, on peut s’attendre `a un comportement suffisamment “al´eatoire” de la matrice, de sorte que celle-ci soit de rang plein, ce qui diminuerait encore plus la borne sur l’immunit´e alg´ebrique restreinte. Par ailleurs, si l’on suppose une structure encore plus forte sur le sous-ensemble S, alors certaines propri´et´es fortement ind´esirables pourraient apparaˆıtre.

Prenons un exemple extrˆeme : on suppose que S est un hyperplan particulier de Fn

2 : S = {x ∈ Fn

2|xn= 0}, alors dans ce cas la matrice Me,S est ´egale `a une matrice g´en´eratrice du code de Reed et Muller RM(e, n − 1), et dans ce cas, on a rang(Me,S) =Pe

i=0 n−1

i , valeur qui est plus petite que Pe i=0

n

e et que l’on pourrait attendre pour un S pris al´eatoirement et de cardinalit´e 2n−1 pour des petites valeurs de e. Dans ces conditions, l’immunit´e alg´ebrique est optimale au regard de la cardinalit´e de S, puisqu’elle atteint la borne pour une fonction `a n − 1 variables.

Identification du noyau. A l’aide du th´eor`eme 6.34, nous avons acc`es `a la dimension de l’image de l’application ψn,k,d, ainsi qu’`a la dimension de son noyau. Nous pouvons d´ecrire ce noyau, ce qui permet de comprendre quels types de fonctions bool´eennes il faut ´eviter dans notre contexte de poids de Hamming fix´e en entr´ee.

Proposition 6.36. Soit k, r et n tels que k ≤ n2 et soit 0 ≤ i1 < i2 < · · · < ir≤ n, alors la fonction bool´eenne d´efinie par

   xi1xi2· · · xir  P j6=i1,i2,··· ,irxj  sik − r ≡ 0 mod 2 xi1xi2· · · xir  1 +P j6=i1,i2,··· ,irxj  sik − r ≡ 1 mod 2

est nulle sur les sous-ensemblesSn,k de Fn2.

Plus g´en´eralement, pour toutj < k et s, et pour tout u de poids de Hamming j, la fonction bool´eenne d´efinie par :

   xu×P {i1,...,is−j}∩supp(u)=∅ Qs−j `=1xi`  si k−js−j ≡ 0 mod 2 xu×1 +P {i1,...,is−j}∩supp(u)=∅ Qs−j `=1xi`  si k−js−j ≡ 1 mod 2 est nulle surEn,k.

D´emonstration. En r´eordonnant les variables, nous pouvons supposer sans perdre de g´en´eralit´e que xu= x1x2. . . xj. On note f la fonction d´efinie par la proposi-tion 6.36. Soit x de poids de Hamming ´egal `a k, alors

— si xu= 0, on a f (x) = 0, — si xu= 1, on a f (x) = X {i1,...,is−j}∩supp(u)=∅ s−j Y `=1 xi` +k − j s − j  mod 2 .

Or, comme xu = 1, n´ecessairement x1 = x2 = · · · = xj = 1. Comme wH(x) = k, le poids de Hamming du vecteur (xj+1, xj+2, · · · , xn) est fix´e `a la valeur k − j. La fonction bool´eenne d´efinie par

X {i1,...,is−j}∩supp(u)=∅ s−j Y `=1 xi`

´etant une fonction sym´etrique ´el´ementaire `a n − j variables de degr´e s − j, elle est donc constante lorsque le poids de Hamming de (xj+1, . . . , xn) est fixe, et sa valeur est k−js−j

mod 2. Finalement, f (x) = 0 si x est de poids de Hamming ´egal `a k.

De plus, nous pouvons d´ecrire l’ensemble Im (Mn,k,d) :

Corollaire 6.37. Si d ≥ k, alors l’ensemble des monˆomes de degr´e ´egal `a k forme une base de Im (Mn,k,d) = F(

n k)

2 .

Corollaire 6.38. Si en revanche d ≥ n − k, alors l’ensemble des fonctions bool´eennes de la forme (1 + xi1)(1 + xi2) · · · (1 + xin−k) forme une base de Im (Mn,k,d) = F(

n k)

2 .

D´emonstration. Voir la fin de la preuve du th´eor`eme 6.34.

Comme nous l’avons d´ej`a dit pr´ec´edemment, Dumer et Kapralova ont ´etudi´e le code de Reed et Muller poin¸conn´e sur les mots de poids de Hamming fix´e d’ordre r, et ont publi´e leurs r´esultats dans [DK17], article dans lequel on retrouve notre r´esultat du th´eor`eme 6.34 prouv´e de mani`ere similaire. Nos travaux sont ind´ependants. La pr´e-publication comme rapport sur IACR eprint [CMR17b] est ant´erieure `a [DK17]. Mais, `a la suite d’une discussion personnelle avec Dumer, nous avons appris a posteriori que ce r´esultat ´etait d´ej`a mentionn´e dans la th`ese de Kapralova de 2013. Finalement, quelques mois plus tard, nous nous sommes aussi rendus compte que ce r´esultat ´etait connu depuis 1966 [Got66], et mentionn´e dans [Wil90] mais dans un tout autre contexte que celui des fonctions bool´eennes.