• Aucun résultat trouvé

Etude du décodage des codes de Reed-Muller et application à la cryptographie.

N/A
N/A
Protected

Academic year: 2021

Partager "Etude du décodage des codes de Reed-Muller et application à la cryptographie."

Copied!
146
0
0

Texte intégral

(1)

HAL Id: pastel-00002412

https://pastel.archives-ouvertes.fr/pastel-00002412

Submitted on 28 Jul 2010

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

application à la cryptographie.

Bassem Sakkour

To cite this version:

Bassem Sakkour. Etude du décodage des codes de Reed-Muller et application à la cryptographie..

Informatique [cs]. Ecole Polytechnique X, 2007. Français. �pastel-00002412�

(2)

présentée à

L'ECOLE POLYTECHNIQUE

pour obtenir letitre de

DOCTEUR EN SCIENCES Spécialité : Mathématiques et Informatique par Bassem Sakkour Sujet de lathèse :

Étude et amélioration du décodage des codes de Reed-Muller d'ordre deux.

Thèse Soutenue le06 Avril 2007 devant le jury composé de :

Président : François Morain Responsable : Pascale Charpin Directeur : Pierre Loidreau Rapporteurs : Sami Harari

Grigory Kabatianskiy Examinateurs : Thierry Berger

Nicolas Sendrier

ÉcoleDoctorale del'ÉcolePolytechnique 91128Palaiseau

ÉcoleNationaleSupérieure deTechniquesAvancées 32BdVictor,75015Paris

(3)
(4)

Remerciements

Maplus grandereconnaissance revientàl'équipede recherche du laboratoireUMA de l'ENSTA ausein duquel je me suis initié à larecherche.

JetiensàremerciermondirecteurdethèsePierreLoidreau,toutd'abordpourm'avoir proposé le stage initialde DEA qui m'a permis d'eectuer cette thèse, ensuite, pour ses remarques constructives, ses conseils qui m'ont aidé depuis mes premiers pas dans la recherche, ettoutes les discussions que nous avons eues tout au long de cette recherche. Je remercie Pascale Charpin d'avoir accepté d'être ma responsable de thèse et de son soutien.

Je remercie mes rapporteurs Grigory Kabatyanskiy pour toutes les discussions enrichissantes que j'ai eu le plaisir d'avoir avec lui, et Sami Harari pour ses conseils et son accueil à Toulon. Je remercie vivement Nicolas Sendrier, Thierry Berger et François Morain, mon professeur de DEA, d'être lesexaminateurs de ma thèse.

Les discussionsenrichissantes quej'aieu le plaisird'avoir avec Jean-Pierre Tillichont été déterminantes dans maformation, je luien suis très reconnaissant.

C'est avec joie queje vous exprime mareconnaissance àtous lesthésards etmembres duLaboratoireUMA-ENSTA.Fabrice,Françoisvousétiezdemerveilleuxamisetcollègues de bureau. Guillaume et Colin d'excellent amis. Je remercie aussi tous les membres du Laboratoirequejen'aipas nomméexplicitement.Jeremercie touslesmembresdu projet CODES de l'INRIA,permanents etthésards quej'ai côtoyé pendant ces trois ans.

Mes remerciements vont particulièrement à Manal, qui a quitté son travail pour me suivre ici en France, sans son soutien je n'aurais pas osé prendre ce chemin. Un grand merci àma familleaugrand completet plus particulièrementà mon grandfrère Nassar. Enn, j'ai une pensée émue pour mon père quiaurait souhaité voir ce moment, je lui dédie du fond du coeur ce mémoire.

(5)
(6)

Table des matières

Introduction 9

1 Introduction à la théorie algébrique des codes 11

1.1 Introduction etDénitions . . . 12

1.2 Lecanal de transmission . . . 13

1.2.1 Lecanal binaire symétrique . . . 13

1.2.2 Lecanal additifgaussien blanc

AW GN

. . . 14

1.2.2.1 Lien entre

BSC

et

AW GN

. . . 15

1.3 lescodes linéaires . . . 17

1.3.1 Code dual . . . 19

1.4 Groupe d'automorphismes . . . 20

1.5 Ledécodage . . . 23

1.6 Performances d'un algorithme de décodage . . . 24

2 Codes de Reed-Muller 27 2.1 Introduction . . . 28

2.2 Fonctionsbooléennes

F

m

. . . 28

2.2.1 Fonctionsbooléennes

F

m

etespace vectoriel

F

2

m

2

. . . 29

2.2.2 Base de l'espace des fonctions

F

m

. . . 31

2.2.3 Base de l'espace vectoriel

F

2

m

2

. . . 32

2.2.3.1 Ordre lexicographique . . . 33

2.3 LesCodes de Reed-Muller . . . 34

2.3.1 Lecode de Reed-Muller d'ordre1 . . . 37

2.3.2 Codes de Reed-Muller d'ordre

r

. . . 39

(7)

3 Décodage des Codes de Reed-Muller 45

3.1 Ladérivée discrète . . . 46

3.2 Décodage à maximum de vraisemblance. . . 47

3.2.1 Bornede décodage théorique àmaximum de vraisemblance . . . 49

3.2.2 AlgorithmededécodageàmaximumdevraisemblancePour

RM(1, m)

54 3.2.2.1 Algorithmed'encodage de

RM(1, m)

. . . 54

3.2.2.2 Algorithmede décodage de

RM(1, m)

. . . 56

3.2.2.3 Lamatrice de transformée d'Hadamard . . . 58

3.2.2.4 Capacité de correction . . . 60

3.2.3 Algorithmede décodage utilisantlesTreillis . . . 60

3.2.3.1 Algorithmede Viterbi . . . 61

3.3 Vote majoritaire MVD . . . 63

3.3.1 Exemple de MVD . . . 63

3.3.2 MVDde

RM(r, m)

. . . 64

3.3.3 capacité de correction. . . 66

3.3.3.1 code à répétitionsde longueur

n

. . . 66

3.3.3.2 code

RM(r, m)

. . . 67

3.4 Décodage récursif . . . 68

3.4.1 Constructionrécursive . . . 68

3.4.2 Idée de l'algorithmede décodage . . . 71

3.4.3 Capacité de correction . . . 75

3.4.3.1 Canal

BSC

. . . 75

3.5 Décodage en liste . . . 76

4 Algorithme de Sidel'nikov et Pershakov 79 4.1 Idéede l'algorithme . . . 80

4.2 Reed-Mullerd'ordre2 . . . 81

4.3 Algorithmede décodage . . . 84

4.4 Analyse de l'algorithme

SP

. . . 86

4.5 LesVariantes de l'algorithme de décodage . . . 90

4.5.1 Labase canoniquede

F

m

2

. . . 90

(8)

5 Algorithme de Sidel'nikov et Pershakov Modié 95

5.1 Commentairegénéral sur le décodage de

RM(2, m)

. . . 96

5.2 Préliminairesur ledécodage souple . . . 97

5.2.1

MLD

sur lescanaux

BSC

et

AW GN

. . . 99

5.2.1.1 Canal

BSC

. . . 100

5.2.1.2 Canal

AW GN

. . . 100

5.3 Décodage de

RM(2, m)

. . . 100

5.3.1 code additif

C

`

. . . 101

5.3.2 Lien entre ledécodage dans

RM(2, m)

etdans

C

`

. . . 101

5.3.3 Signicationde lasûreté . . . 103

5.3.4 Ecacité de l'utilisationde lasûreté . . . 104

5.4 Algorithmede décodage

SP M

. . . 105

5.5 Analyse du décodage de

RM(2, m)

. . . 109

6 Simulation et Résultats expérimentaux 113 6.1 Lescodes de petites longueurs . . . 115

6.2 Lescodes de longueurs moyennes . . . 117

Conclusion 121 A Rappels de probabilités 123 A.1 Loide probabilité . . . 123

A.2 Quelqueslois de probabilité . . . 125

A.2.1 Laloi normalegénérale . . . 127

A.3 Théorème central limite . . . 128

A.3.1 Approximationgaussienne . . . 129

A.3.2 Quelques formules . . . 130

B Préalables mathématiques 131

Notations 133

(9)

Index 139

(10)

Introduction

Ce manuscrit est le fruit de trois années de recherche au sein du Laboratoire de Mathématiques Appliquées de l'ENSTA sur le thème de recherche "Étude du décodage des codes de Reed-Muller". L'objectif de ma recherche est d'étudier les algorithmes de décodage des codes de Reed-Muller d'ordre-

2

existants, notamment l'algorithme de décodagedûàSidel'nikovetPershakov quiutiliselespropriétésstructurellesdescodes de Reed-Mullerpourdécodersignicativementplusloinquelacapacitéde correction.L'idée estdetransformerleproblèmedudécodaged'unmotdansuncodedeReed-Mullerd'ordre deux en plusieursproblèmes de décodagede mots dans des codes de Reed-Mullerd'ordre un.

Sipourlescodes de Reed-Mullerdu premierordreilexiste desalgorithmes parvenant au décodage par maximum de vraisemblance en complexité polylogarithmique en la longueur du code, en ce qui concerne lescodes d'ordre deux, lesmeilleursalgorithmes de décodageconnussontloind'approcherlabornedudécodageàmaximumdevraisemblance dont un équivalent asymptotique a été donné par Helleseth, Kløve et Levenshtein en 2003 [53]. L'avènement d'un tel algorithme constituerait un progrès majeur. En eet, cela ouvrirait des perspectives intéressantes dans le cadre de l'utilisation de ces codes dans des applications cryptographiques. Par exemple, on pourrait songer à tenter de décoder des combinaisons linéaires de sortie de systèmes de chirement à clé secrète et ainsi en trouver de bonnes approximations quadratiques, comme on le fait déjà dans le cas d'approximations linéaires.Du point de vue de lacryptographie àclé publique,cette familleseretrouveégalementauc÷urd'unsystèmede chirementàclépubliquesimilaire à celui de McEliece.

Ce documentest structuré ensix chapitres. Danslepremierchapitre,nous présentons quelques généralités concernantla théoriedes codes correcteursd'erreurs, nous décrivons la problématique liéeà la transmission de l'informationà travers un canal bruité et à la corrections d'erreurs. Nous introduisons le groupe d'automorphisme d'un code linéaire, nous parlerons ensuite du problème de décodage en dénissant les types de décodage et la borne de décodage asymptotiqued'un algorithme de décodage.

Le second chapitre est consacré à l'étudedes codes de Reed-Muller. Nous présentons en détail une étudedes propriétés de ces codes ainsi queleurs groupes d'automorphisme. Dans ce chapitre j'ai utilisé un seul point de vue pour décrire ces codes en utilisant les fonctions booléennes, et j'ai donné de nouvelles démonstrations aux deux théorèmes qui déterminent le grouped'automorphismes de ces codes.

(11)

Dans le chapitre

3

, nous décrivons le problème de décodage optimal "Décodage à maximum de vraisemblance"etl'algorithme "FHT"qui lefait pour lescodes de premier ordre. J'expose ensuite tous les algorithmes de décodages des codes de Reed-Muller binairesconnusjusqu'àprésent. Nouscommençonspar ladénition de ladérivée discrète d'unefonction,quej'utilisepourdécrireplusieursalgorithmesdedécodage,principalement le premier algorithme conçu pour décoder ces codes "Décodage par vote majoritaire : MVD". J'établis la borne de décodage asymptotique pour l'algorithme MVD pour les codes de Reed-Mullerd'ordredeux.

Le chapitre

4

, quant à lui, présente l'algorithme de Sidel'nikov et Pershakov. Nous décrivons d'abord l'idée de l'algorithme de décodage et nous présentons en détail l'algorithme. Ensuite, nous ferons l'analyse détaillée de la capacité de correction. Enn, nous présentons deux variantes de l'algorithme qui ont la même capacité de correction asymptotiquement : lapremière est une simplication quenous proposons, tandis que la deuxième,qui est proposée par les auteurs, est une paramétrisationde l'algorithme pour pouvoirdécoder plus loinmais qui rend l'algorithmeplus complexe.

Le chapitre

5

apporte un résultat sur la capacité de correction des algorithmes de décodage des codes d'ordre deux. Nous présentons une étude sur le décodage souple et nous dénissons un code non binaire qui nous servira pour commenter l'algorithme de Sidel'nikov et Pershakov et d'introduire la modication que nous apportons sur cet algorithme. Nous exposons notre algorithme que nous analysons ensuite pour montrer l'eetdelamodicationsurlacapacitédecorrectiondel'algorithme.Enn,nousdonnons unepreuvequelesalgorithmes

SP

etlenôtrefontdu décodageborné(jusqu'àlacapacité de correction).

Le sixième chapitre expose les résultats de simulation des algorithmes étudiés pour les petites et moyennes longueurs des codes de Reed-Muller. Ces résultats montrent que l'algorithme que j'ai proposé décode beaucoup plus loin en pratique que tous les autres algorithmes.

L'annexe Aprésente unebrève introductionauxprobabilités.Lebut est de parlerdes loisde probabilités de l'approximationgaussienne. Nous aurons souvent besoin d'utiliser cetteapproximationpourbornerlaprobabilitéquelepoidsdel'erreurdépasseunecertaine borne.Lesinégalitésconnuespour bornerunevariablealéatoiresuivantlaloinormalequi sont souvent utiliséesdans l'étude des diérentsalgorithmes étudiées dans ce document. L'annexe B contient un préalable mathématique sur la dénition des groupes et les actions sur un groupe.

(12)

Chapitre 1

Introduction à la théorie algébrique des

codes

Contenu

1.1 Introduction et Dénitions . . . 12

1.2 Le canal de transmission . . . 13

1.2.1 Le canalbinairesymétrique . . . 13

1.2.2 Le canaladditif gaussienblanc

AW GN

. . . 14

1.3 les codes linéaires . . . 17

1.3.1 Code dual . . . 19

1.4 Groupe d'automorphismes . . . 20

1.5 Le décodage . . . 23

1.6 Performances d'unalgorithme de décodage . . . 24

N

ous allons dans ce chapitre rappeler un ensemble de dénitions et propriétés concernant les codes, et plus particulièrement les codes linéaires. Nous allons parler plus en détail des groupes d'automorphismes des codes linéaires qui nous sont utiles pour la suite. Les principales références utilisées concernant la théorie

(13)

m

E

c

y = c + e

D

m

0

Canal de Transmission

Fig. 1.1 Principegénéraldu processus d'encodage etdécodage

1.1 Introduction et Dénitions

Coder l'information est né bien avant l'apparition de l'homme, la nature utilise

4

molécules pourcoderl'hérédité génétique, etles protéinesutilisent

20

acides aminéspour coder leurs fonctions dans les cellules. Pour écrire, les chinois utilisent plus de

80, 000

caractères pour coder leur langage, heureusement pour nous que les Phéniciens et les Grecsont découvert qu'un alphabetde 23caractèrespeuvent coder lessons élémentaires. GeorgeBOOLE(1815-1864)utilisaitseulementdeux caractèrespourcoderlesopérations logiques. Peu de temps après, John von NEUMANN (1903-1957) développa le concept de programmationutilisantaussi un système binairepour coder touteinformation. Pour Shannon (1948) l'unité est le bit et un système contient

m

-bits d'information s'il peut contenir

2

m

caractères. Transmettre de l'information de manière sûre est pratiquement impossible.Dans lanature lesinformationsne sont pas binairesmais comprises dans des intervalles (seuil supérieur et seuil inférieur) comme les couleurs, lessons, etc., donc des erreurs sur l'informationne la modierapas nécessairement.

La théorie des codes est la discipline des mathématiques appliquées dont le sujet est latransmission abled'informations sur un canalde transmission bruité,en utilisantdes objetscombinatoires et algorithmiquesappelés codes correcteurs d'erreurs. Cette théorie a de multiples champs d'applications, comme par exemple l'enregistrement des disques compacts,latransmissiond'informationsurlesréseauxouencoredanslescommunications par satellitespour n'en nommerquequelques-uns. Pour introduirelesujet, ilest d'abord nécessaire de préciser lesnotions de base du codage.

Dansun processusde communication,nousavons troisentitésimpliquées:l'émetteur, le récepteur et le canal de transmission (cf. gure 1.1). L'objectif de l'émetteur est de communiquer au récepteur un message,

m

, c'est une suite de longueur

k

de symboles d'un alphabet ni

X

. Le canal de transmission bruité est capable de communiquer des suitesarbitrairementlonguesde symboles d'un alphabet

Y

pas nécessairement ni. Alors l'espace des messages à coder est

X

k

,l'ensembledes suites de symboles de longueur

k

. L'émetteur utilise une fonction de codage,

E

, pour coder les messages avant transmission, c'est une fonction injective :

E :

X

k

→ Y

n

. L'image

C = E(m), m ∈ X

k

est appeléle code. Letaux

k/n

,noté en général

R

,est appeléletaux de transmission ou rendement du code, et c'est le premierparamètre fondamentald'un code, en théorie des

(14)

Encequiconcerne lecanalde transmission,il"bruite"lesmessagestransmis.Cebruit peut être vu commeune application de l'espace ambiant dans luimême.

Notations générales : Dans tous les chapitres de ce document :

F

2

est le corps à deux éléments,

+

désignel'additiondans

F

2

(saufmentioncontraire);

F

m

2

est le

F

2

-espace vectorielde dimension

m

, l'additiondans

F

m

2

est notéesimplement

+

,

x, y

∈ F

m

2

, x + y =

(x

1

+ y

1

, . . . , x

m

+ y

m

)

.

On trouvera un index des notations à la page 133. Nous utiliserons fréquemment des notions de probabilité, l'annexe-A contient les rappels de probabilité nécessaires à la bonne compréhension des chapitresde ce document.

1.2 Le canal de transmission

La description générale est

Y = X + Z

(

X

étant la source,

Z

le bruit et

Y

le signal sortant du canal). La variable aléatoire

X

représentera la distribution d'entrées etlavariablealéatoire

Y

représentera ladistribution de sorties.Le canalde transmission produit un vecteur de bruit

e

∈ Y

n

(voir 1.1), tel que un message

m

codé en

c = E(m)

transmis sur le canal, sera reçu comme

y = c + e

. Le mot

c

sera le mot fourni en entrée et

y

représentera lachaîne en sortie.Les probabilités seront notées de la façonsuivante:

Pr [c]

= Pr [X = c]

Pr [y]

= Pr [Y = y]

Pr [c

|y] = Pr [X = c|Y = y]

Pr [y

|c] = Pr [Y = y|X = c]

1.2.1 Le canal binaire symétrique

C'est un des cas lesplus intéressants où l'alphabetest l'espace à deux éléments

X =

Y = {0, 1}

. Il s'agit d'une transmission de symboles binaires,c'est pourquoi lecanal est

ditbinaire.Danscemodèle,chaquebitdedonnéetransmisestinverséavecuneprobabilité

p

et est transmis sans erreur avec la probabilité complémentaire de

1

− p

, donc le risque de mal transmettre"0" ou "1" est le même d'où leterme de canal symétrique.

Cette association peut se représenter par le diagramme (1.2). Pour le canal binaire symétrique, onpose

p

la probabilité de transmission incorrecte, sur lecanal, d'un bit.

p = Pr [0

|1] = Pr [1|0]

Sila transmission est indépendante, le canal est ditsans mémoire.

Proposition 1.2.1 Si on transmet

n

bits sur un canal binairesymétrique, sans mémoire,la probabilité d'avoir

j

bits mal transmis est :



n

j



(15)

0

1

− p

0

1

1

1

− p

p

p

Fig. 1.2 Diagrammede transitionpour un canal binairesymétrique

Ainsi lepoids de l'erreur sur un mot de longueur

n

, suit la loibinomiale.

1.2.2 Le canal additif gaussien blanc

AW GN

Lebruitestblanc,gaussiendemoyennenulleetpolluelessignauxde manièreadditive (AdditiveWhite GaussianNoise) notée

AW GN

, dontla fonction densitéde probabilité

1

g(t)

est une gaussienne

N (0, σ

2

)

.

g(t) =

1

σ

2 π

e

1

2

(

t

σ

)

2

Notonsqu'une variablealéatoireayantunefonction densitéde probabilité

g

signiequ'en tirant un grand nombre de fois cette variable, l'histogramme des valeurs obtenues a un prol en cloche (de la loinormale).

Lasourcepeutêtrediscrèteoucontinue,lebruitesttoujourssupposé continu.Nousavons donc lasituation suivante:



q

symboles discrets en entrée

X =

{x

1

, . . . , x

q

}



Y

∈ R



Z

est la variable aléatoirecaractérisant lebruit gaussien. Ainsi:

Pr [y

|x

k

] =

1

σ

e

(y−xk)

2σ2

2

Pourunetransmissionbinairel'alphabetd'entréeest

{0, 1}

,cessymbolessonttransmis comme

{+1, −1}

,nous avons :



X = +1

Transmis

−−−−−−→ Y = 1 + Z

, à la sortie nous observons

Y

avec une densité de

probabilité

f

1

(t) = g(t

− 1) =

1

σ

2 π

e

(t−1)2

2σ2

. 

X =

−1

Transmis

−−−−−−→ Y = −1 + Z

, à la sortie nous observons

Y

avec une densité de

probabilité

f

−1

(t) = g(t + 1) =

σ

1

2 π

e

(t+1)2

2σ2

. 1

(16)

−4

−3

−2

−1

0

1

2

3

4

0

0.6649

canal Gaussien

σ

= 0.6.

Fig.1.3 Canal Gaussien

Celasigniequ'en transmettant

+1

nousrecevonsàl'entrée

y

∈ R

lavariablealéatoire observée àlasortie acommedensitéde probabilité

g(t

− 1)

,ainsi sionveut calculeravec quelle probabilité nous observons une valeurpositive:

Pr [Y > 0

|X = +1] =

Z

0

g(t

− 1) dt

Nous remarquons que pour calculerla probabilité absolue d'observer une valeur positive à lasortie :

Pr [Y > 0] = Pr [Y > 0

| X = +1] Pr [X = +1] + Pr [Y > 0 | X = −1] Pr [X = −1]

1.2.2.1 Lien entre

BSC

et

AW GN

Prenons uncanal

AW GN

de paramètre

N (0, σ

2

)

.Nousvoulonscalculerleparamètre

p

du canal

BSC

équivalent (même niveau du bruit). Rappelons que

p

est la probabilité de mal transmettre un symbole de l'alphabet d'entrée (voir gure-1.2). Pour le canal

AW GN

nous transmettons un symbole de

{+1, −1}

, et nous recevons une valeur réelle

y

à la sortie. cette valeur réelle sera arrondie à

{+1, −1}

dans un canal

BSC

. De cette manièrenous avons :

p = Pr [Y > 0

|X = −1]

= Pr [Y < 0

|X = +1]

=

R

−∞

0

1

σ

2 π

e

1

2

(

t−1

σ

)

2

dt

=

R

1/σ

1

2 π

e

u2

2

du, u =

1−t

σ

=

R

0

1

2 π

e

u2

2

du

R

1/σ

0

1

2 π

e

u2

2

du

=

1

2

R

0

1/σ

1

2 π

e

u2

2

du

Soit

p =

1

2

(1

− )

, avec

 <

< 1

, donc nous avons l'approximationsuivante :

 = 2

R

0

1/σ

1

2 π

e

u2

2

du

σ

2

2 π

(17)

AWGN BSC Loi normale

N (0, σ

2

)

Loi Bernoulli

B(p), p =

1

2

(1

− )

σ

 = 2

R

0

1/σ

1

2 π

e

u2

2

du

σ =

1



q

π

2

 <

< 1

Fig. 1.4 Comparer un algorithme sur les deux canaux

−6

−4

−2

0

2

4

6

0

0.3774

AWGN (

σ

= 1.48).

Fig.1.5SilesignalreçuaprèstransmissionsuruncanalAWGN(

σ = 1.48

)est arrondie à

±1

, La sortie est équivalentà un canal BSC avec

p =

1

4

.

(18)

Le canal

BSC

nous intéresse pour les applications cryptographiques des algorithmes de décodage, etle canal

AW GN

pour des applications dans lestélécommunications.

1.3 les codes linéaires

Si on exige une structure de corps ni pour les alphabet

X

et

Y

, ceci induit une structure d'espace vectoriel sur

Y

n

. Nous allons considérer les codes linéaires, qui sont l'image par une application linéaire de

X

k

dans

Y

n

. Donc un code linéaire est un sous-espace vectoriel sur le corps

Y

.

On spéciera un code linéaire

C

par samatricegénératrice (basede

C

),ce qui est une manièrecompacte de décrireun ensembleà priori de taille

q

k

, telque

q

est le nombre de symbolesde l'alphabet

Y

.Toutespace dece typeest muni de lamétrique deHamming, cette dernière étant déniepar la distance suivante :

Dénition 1.3.1 Soient

u

et

v

deuxvecteursdecetespace,ladistancedeHammingentre deux mots

u

et

v

est lecardinal de l'ensemble des positions où les mots sont diérents :

d(u, v) = #

{i, u

i

6= v

i

}

Deplus,àtoutvecteur

u

onassociesonpoids (deHamming),

wt(u)

,quiest dénicomme la distance entre

u

et le vecteur

nul

, c'est aussi le cardinal de l'ensemble des symboles non nuls.

Dénition 1.3.2 Soit

u

∈ F

n

2

, le poidsde Hamming est déni comme :

wt(u) = d(u, 0) = #

{i, u

i

6= 0}

=

P

n

i=1

u

i

où lasomme sur est eectuée dans

N

.

Exemple 1.3.1

d(10011010, 11100010) = 4

wt(10011010) = 4

d(21101020, 10102010) = 4

wt(21101020) = 5

La distance de Hammingnous permet de dénir lanotion de boule etde volume sur l'espace

Y

n

(19)

Soit

y

une chaîne de

Y

n

,où

|Y| = q

et soit

r

un entier non négatif.La boule de rayon

r

centrée en

y

notée

S

q

(y, r)

est l'ensemble

S

q

(y, r) =

{z ∈ Y

n

|d(y, z) ≤ r}

Et le volume de la boule

S

q

(y, r)

noté

V

q

(n, r)

est le nombre d'éléments de

S

q

(y, r)

. Le volumeest indépendantde

y

etest donnépar

V

q

(n, r) =

r

X

k=0



n

k



(q

− 1)

k

Danstoute lasuitede ce document,onnotera

F

uncorps ni, Onsupposera

X = Y = F

.

Dénition 1.3.3 Un code linéaire

C

de longueur

n

, déni sur

F

, est un

F

-sous-espace vectoriel de

F

n

. Chacun de ses éléments est appelé mot du code

C

. On associe à

C

, outre sa longueur, une dimension

k

correspondant à la dimension de l'espace vectoriel (le code contient alors

|F|

k

mots du code) ainsi qu'une distance minimale

d

(c'est la plus petite distance séparantdeux mots du code).

d = min

{d(x, y) | x 6= y, x, y ∈ C} = min

x∈C

\

{0}

{wt(x)}

On ditque

C

est un

[n, k, d]

-codelinéaire, ouplus simplementon lenote

C[n, k]

.De plus,

C

est caractérisé par sa matrice génératrice,

G

∈ M

k×n

(F)

: c'est une matriceà

k

lignes (linéairementindépendantes) et

n

colonnes, àcoecientsdans

F

, ettelle que

C = {mG, m ∈ F

k

}

La matricegénératrice n'est bien sûr pas unique.

Dénition 1.3.4 Soit

C

un

[n, k, d]

-code linéaire. On appelle rayon de recouvrement de

C

le plus petit entier

ρ

tel quel'ensemble de toutes les boules de rayon

ρ

(pourla distance de Hamming) centrées en les mots de

C

recouvre tout l'espace

F

m

2

.

Le but du codage est évidemment la détection et surtout la correction d'erreurs. Il nous faut cependant dénirce que l'on entend par détection et correction d'erreurs dans lecadre de lathéorie du codage.

Dénition 1.3.5 Soit

t

≥ 1

. Nous dirons qu'un code

C

détecte t erreurs si pour

x

∈ C

, les mots

y

∈ F

n

2

vériant

x

6= y

et

d(x, y)

≤ t

ne sont pas dans

C

.

Dénition 1.3.6 Soit

t

≥ 1

.Nousdironsqu'un code

C

corrige

t

erreursou moinssipour tout

y

∈ F

n

(20)

Pour ce quiest de la détection, il est clair qu'un

[n, k, d]

-code

C

détectera

t

erreurssi et seulement si

t < d

. Pour ce qui est de la correction, un code avec distance minimale

d

corrige

t

erreurs si et seulement si

d

≥ 2t + 1

, et si t est le plus grand entier vériant

2t + 1

≤ d

, alors des sphères disjointes de rayon

t

, peuvent être centrées sur chaque mot

de code.

t

est alors appelée la capacité de correctiondu code etvaut

b(d − 1)/2c

. Nous dénissons lecode leplus simple qui est le code à répétition,que nous utilisons aussi comme exemplepour dénirles propriétés des codes etleur encodage.

Dénition 1.3.7 Le code à répétition consiste à transmettre plusieurs copies de chaque bit, c'est le

[n, 1, n]

-code linéaire binaire, a pour matrice génératrice

G

∈ M

1×n

:

G = (1 . . . 1)

Ainsi la dimension du code est

k = 1

, sa longueur

n

, et sa distance minimale

d = n

. Autrement dit, ce code à répétition,encode la transmission des bits ainsi :

1

−→ 11 . . . 1

0

−→ 00 . . . 0

Ce code détecte

n

− 1

erreurs, et corrige

b(n − 1)/2c

.

1.3.1 Code dual

Lacontraintedelinéaritésurlecodedonnenaturellementnaissanceàlanotiondecode dual d'un code linéaire. Puisque

C

est un espace vectoriel,on peut considérer l'ensemble des formes linéaires qui s'annulent sur

C

. Cet ensemble est un espace vectoriel que l'on appellecode dualde

C

.

Dénition 1.3.8 Soit

C

un

[n, k, d]

-codelinéaire.Soit

< ., . >

leproduitscalaireeuclidien usuel

2

:

< c, v >=

P

n

i=1

c

i

v

i

. Le code dual, noté

C

, est doncun code linéaire de lamême longueur. Sa dimension est

n

− k

.

C

=

{v ∈ F

n

| ∀ c ∈ C : < c, v >= 0}.

Ildécouledirectementdesdénitionsquesi

H

estunematricegénératriceducode

C

,elle estcommunémentappeléematricedeparité

3

ducode

C

.Demême,unematricegénératrice de

C

est une matrice de parité de

C

.

Remarque 1 Il n'y a pas (a priori) de relation simple entre la distance minimale de

C

et celle de

C

. Le théorèmede MacWilliams[34] ne peut pas être utilisé simplementpour 2

Leproduitscalaireeuclidienestnoté plussimplement

< c, v >= c.v

t

3

H

est une

(n, n

− k)

-matricedeparitéd'uncode

C

sietseulementsi

∀c ∈ C : H.c

(21)

déterminer la distance minimale; pour le faire nous devons connaître la distribution des poids du code. Si

G

C

la matrice génératrice du code

C

est de la forme

G

C

= [I

k

, M]

I

k

est la matrice unité de taille

(k

× k)

et

M

une matrice de taille

k

× (n − k)

, alors nous avons :

H = [M

t

,

−I

n−k

]

est une matrice de parité du code

C

M

t

est la matrice transposée de la matrice

M

.

1.4 Groupe d'automorphismes

Nous gardons lesnotations de [42],mais nous choisissons lesopérations à gauche des élémentsdes groupesdénisparlasuite(voirAnnexe-B).Soit

C[n, k]

uncodelinéairesur

F

,avecdescoordonnéesindiquésparlesélémentsde

I

n

=

{1, 2, . . . , n}

.Rappelonsque

S

n

estlegroupesymétriquedetouteslespermutationsde

n

-symboles.Soit

σ

unepermutation de

S

n

, elle est dénie, de manière équivalente, par sa matrice

P

σ

de taille

(n

× n)

, avec

P

σ

= [P

i,j

]

telque

p

i,j

= 1

ssi

i = σ(j)

.

L'action d'une permutation

σ

∈ S

n

sur un vecteur

x

∈ F

n

est donnée par l'équation suivante

4

:

∀x = (x

1

, . . . , x

n

)

∈ F

n

, σ(x) = (x

σ(1)

, . . . , x

σ(n)

)

Elles'accorde avec la multiplicationordinaired'un vecteur par une matrice

v P

σ

.

P

σ

: F

n

→ F

n

x = (x

1

, . . . , x

n

)

7→ x.P

σ

= (x

σ(1)

, . . . , x

σ(n)

)

Si

π

est une autre permutation, le produit

πσ

veut dire qu'il faut d'abord appliquer

σ

,après

π

. Alors

(πσ)x = π(σ(x))

.

Exemple 1.4.1 Soit

π = (123)

,

σ = (14)

σ(x)

= (x

4

, x

2

, x

3

, x

1

)

(πσ)(x) = (x

2

, x

3

, x

4

, x

1

)

Notons

M

n

(F)

l'ensembledesmatricesdetaille

n

× n

sur

F

contenantun seulélément non nul sur chaque ligne etchaque colonne. Ce groupeest isomorpheà

S

n

× (F

)

n

, il est déni de la façon suivante:

(σ; d)x = σ(d.x);

pour

x

∈ F

n

, (σ; d)

∈ S

n

× (F

)

n

oùla multiplicationdans

F

n

est dénie par

(x

1

, . . . , x

n

).(y

1

, . . . , y

n

) = (x

1

.y

1

, . . . , x

n

.y

n

)

Nousavonsexigéquel'alphabet

F

soituncorps.Nousnotons

Gal(F)

LegroupeGalois

5

de

F

sur son sous-corps premier (En particulier si

γ

∈ Gal(F)

nous avons

γ(0) = 0

), la 4

Nousdisonsque

S

n

opèreàgauchesur

F

n

,Annexe-B

5

F

uncorpsni,soit

F

p

sonsous-corpspremier,

Gal(F)

estl'ensembledes

F

p

-automorphismes,cesont lesautomorphismesde

F

xantlesélémentsdesonsous-corpspremier

F

p

(22)

multiplication dans ce groupe est donné par

(γτ )x = γ(τ x) , x

∈ F , γ, τ ∈ Gal(F)

. L'actionde

Gal(F)

sur

M

n

(F)

produitlegroupedebijectionssemi-linéairesde

F

n

.L'eet d'un élément de

W

n

(F)

4

= Gal(F)

× M

n

(F)

(déni dans [42]) sur les mots d'un code

C

génère un code avec les mêmes propriétés (la même distance minimale,distribution des poids ,etc.), puisque leséléments de ce groupe préservent le poids de Hammingdes mots du code.

Dénition 1.4.1 On appelle groupe d'automorphismes de

C

(noté

Aut (C)

) l'ensemble des éléments de

W

n

(F)

qui laissent

C

globalementinvariant, c'est-à-direqui transforment un mot de

C

en un autre mot de

C

.

(1.1)

(γ, σ; d)

∈ Aut (C) ⇔ ∀c ∈ C, (γ, σ; d)c = (γ(c

σ(1)

.d

σ(1)

), . . . , γ(c

σ(n)

.d

σ(n)

))

∈ C

Dans lalittérature nous trouvons aussi deux autresgroupes. Lepremier est legroupe d'automorphismes monomial

MAut(

C)

, ce sont les éléments de

M

n

(F)

qui laissent le code globalement invariant.Le deuxièmeest legroupede permutation

P Aut(

C)

c'est les éléments de

S

n

(F)

qui laissent lecode globalementinvariant.

Pour un code linéaire

C

, nous distinguonsdeux cas particuliers :



F

= F

2

, nous avons

M

n

(F

2

) =

S

n

, Gal(F

2

) =

{Id} ⇒ Aut (C) ≡ MAut(C) ≡

P Aut(

C)



X = F

p

,

p

premier,nous avons

Gal(F

p

) =

{Id} ⇒ Aut (C) ≡ MAut(C)

Ainsi pour un code linéaire binaire

C

,

Aut (C)

est un sous-groupe du groupe symétrique

S

n

.

Exemple 1.4.2 Le groupe d'automorphismes du code à répétition binaire

(denition-1.3.7) est

S

n

.

Pour toute permutation

∀σ ∈ S

n

,

σ

n'a pas d'eet sur le code à répétition qui contient deux mots :

∀c ∈ {11 . . . 1, 00 . . . 0}, σ(c) = c

Pour les codes linéaires, nous avons deux résultats importants, qui nous permettent d'identierleur grouped'automorphismes.Rappelonsquel'ensembledesmatricescarrées inversiblesd'ordre

n

à coecient dans un corps

F

est noté

GL

n

(F)

:

Lemme 1.4.1 Soit

C

un

[n, k]

-codelinéairedénisur

F

,avecunematricegénératrice

G

. Une permutation

P

de taille

(n

× n)

sur les coordonnées du code

C

appartient au groupe d'automorphismes du code,si et seulement si, il existeune matrice inversible

K

∈ GL

n

(F)

vériant :

(23)

B

Preuve : Rappelons d'abord que si

E

est un

F

-espace vectoriel de dimension nie,que

e

et

e

˜

sontdeuxbasesdeE, alorslamatricedepassage delabase

e

àlabase

˜

e

est inversible. Soit

G

une matrice génératrice d'un code linéaire

C

, qui est un sous espace vectorieldonc unespace vectoriel.Leslignesde cettematrice forment une base de l'espacevectoriel

C

.

La matrice

G.P

est une matrice génératrice ducode linéaire

C

,quiest unsous espace vectoriel de

F

n

,sietseulement si lamatrice

G.P

peut être obtenue à partir de

G

par

une transformation linéaire

K

.

C

Proposition 1.4.1 Soit

C

uncodelinéairedénisur

F

,legroupedepermutation de

C

est aussi le groupe de permutation de son dual

C

:

P Aut(

C) = P Aut C



B

Preuve : Soient

G

la matrice génératrice et

H

la matrice de parité d'un code linéaire

C

, et une permutation

P

∈ P Aut(C)

. Selon le lemme précédent il existe une matrice inversible

K

tel que :

G.P = K.G

. la permutation

P

est dans le groupe d'automorphismes ducode dualsi pour lesmots du codedual

c

∈ C

on a

c.P

∈ C

. Soit

c

∈ C

,

G

estlamatrice de parité ducode

C

,donc :

G.c

t

= 0

⇒ G.P.P

t

.c

t

= 0

puisque

P.P

t

= I

n

(

matrice identité

)

Selonlelemme précédent, ilexiste une matriceinversible

K

telque

K.G = G.P

,alors

K.G.P

t

.c

t

= 0

⇒ G.P

t

.c

t

= 0

⇒ G.(cP )

t

= 0

⇒ c.P ∈ C

D'où

P

∈ P Aut C



,nous avonsprouvé que

P Aut(

C) ⊂ P Aut



C



Et puisque

(

C

)

=

C

Alors

P Aut

C



⊂ P Aut (C

)



= P Aut(

C)

.

C

Note 1 Pouruncodelinéairebinaire

C

,où

F

= F

2

⇒ Aut (C) ≡ P Aut(C)

,la

proposition-1.4.1 nous permet d'écrire

Aut (C) = Aut C



.

Nousavons parlédescodesquiontpourbutd'éviterleserreursduesàlatransmission. Nousallonsparlermaintenantdes diérentstypesd'algorithmede décodage, etcomment

(24)

1.5 Le décodage

Le récepteur utilise une fonction de décodage

D :

Y

n

→ X

k

. Le décodage

D

doit être rapide, et tel que, avec une grande probabilité il nous retourne le mot transmis. Intuitivement,lecodeintroduituneredondanceenaugmentantlalongueurdes messages, etcetteredondancesera utiliséepour décoderlemessagetransmis,mêmes'ilest bruité.

Dénition 1.5.1 Soit

C

un code sur

Y

. Soit

c

∈ C

un mot émis à travers le canal, et

y

le mot reçu.

1. MLD (Maximum Likelihood Decoding) On appelle décodage à maximum de vraisemblance,l'algorithmequi permet d'obtenir lemot de code qui a laplus grande probabilité d'être transmis ayant reçu le mot erroné.

2. MDD(Minimum Distance Decoding) On appelle décodage à Distance minimale, l'algorithme qui permet d'obtenir le mot de code le plus proche du mot reçu, au sens de la métriquede Hamming

6

ou de la métrique euclidienne. 3. LD (List Decoding : décodage en liste)

7

Soit

δ > 0

, On dit qu'un algorithme de

décodage

D

décode enliste lecode

C

avecun rayon dedécodage

δ

, si

D

nous fournis laliste detous (éventuellement aucun)lesmots du codeà une distance au plus

δ

du mot reçu.

4. BDD (Bounded Distance Decoding : décodage borné) 7

Une borne

e

est donnée. L'obtention d'un mot parmi les mots de code à distance

e

du mot reçu (s'il en existe).

5. UD(UnambiguousDecoding :décodagenonambigu) 7

Icionsedonne

e = (d

−1)/2

, où

d

est ladistance minimaledu code, eton cherche le mot de code à distance

e

du mot reçu (s'il existe).

Selon le canal de transmission considéré nous avons deux sorte de décodages, nous allons dénirces types :

Dénition 1.5.2 Soit

Y

l'alphabet de sortie d'un canal de transmission. Dans la Littérature du codage nous rencontrons deuxgrandes catégories de décodage

 décodage dur (hard decoding) : Pour un alphabet de sortie ni, et le plus souvent quand

Y = X

,pourcetypede canalune erreurdetransmissionconsisteàremplacer un symboleparun autre,parexemple :décodagepourune transmissionsurun canal binaire

BSC

.

 décodagesouple(softdecoding):Pourun alphabetdesortie nonni,leplus souvent

R

, par exemple : décodage pour une transmission sur un canal gaussien

AW GN

.

Un algorithmede décodageest conçupourfairedu décodage durousouple,etil peut faire lesdeux, à notre connaissance il n'existe pas un algorithme de décodage souple qui

6

dénitionenpage17

(25)

ne fait pas de décodage dur. Les algorithmes de décodage ont, en général, une meilleure performance en décodage souplequ'en dur.

Note 2 Unalgorithme,quifaitdudécodagesouple,faitaussidu décodageduràcondition de faire tous les calculsnécessaires dans

R

.

1.6 Performances d'un algorithme de décodage

Nous mesurons la capacité de décodage d'un algorithme de décodage

D

, à l'aide de deux notions principales, le BER (Bit Error Rate) est la probabilité de mal décoder un bit d'information, par exemple : pour trois bits erronés sur

1000

bits codés et transmis, le

BER

vaut

3.10

−3

. et WER (Word Error Rate) qui est la probabilité de maldécoder un mot de

k

bits. Pour un canal de transmission sans mémoire, nous avons la relation suivanteentre ces deux termes:

W ER = 1

− (1 − BER)

k

Pour comparer les algorithmes de décodage nous nous intéressons à la borne de décodageasymptotiquedeces algorithmes.Lanotionde bornededécodageasymptotique a été dénie et utilisée par Dumer dans la plupart de ses articles traitant les codes de Reed-Muller(voir[15],[9],[8],[10],[16]):

Dénition 1.6.1 Étant donnée une séquence de codes

C

i

de longueur croissante

n

i

7→ ∞

, soit

τ

i

un terme résiduel

τ

i

7→ 0

, nous dirons que l'algorithme de décodage

D

a

δ

i

(1

− τ

i

)

comme borne de décodage asymptotique si :

D(

C

i

)

retrouveavecunegrandeprobabilitélemottransmislorsquelepoids(Hamming) du vecteur d'erreur est plus petit que

δ

i

(1

− κτ

i

), κ > 1

Leterme"grandeprobabilité"veutdiredanscecontextequesi

P

err

(t)

estlaprobabilité que l'algorithme

D

n'arrive pas à décoder un mot du code erroné avec une erreur de poids

t

, alors :

P

err

(t)

= Pr [D(y)

4

6= c | y = c + e, wt(e) = t ≤ δ

i

(1

− κ τ

i

), κ > 1]

−−−−→

ni→+∞

0

La borne est dite stricte si en plus :

D(

C

i

)

a une probabilité non négligeable de ne pas retourner le mot transmis si le poids (Hamming) du vecteur d'erreur est plus grand que

δ

i

(1

− τ

i

)

.

La borne de décodage asymptotique reviendra souvent dans la thèse et elle sera établie pourtouslesalgorithmesprésentés danscemanuscrit.Soit

A

unévénement,nousutilisons

(26)

le terme"avec une grandeprobabilité" qui signieque la probabilité,que l'événement

A

arrive, tend vers

1

ou queson complémentaire tends vers

0

.

Nous allons maintenantparler du décodage du code àrépétition. (dénition-1.3.7).

Exemple 1.6.1 Décodage à distance minimale

MDD

du code à répétition :

Puisque nous n'avons que deux mots dans ce code, nous pouvons décoder à distance minimale en mesurant la distance du mot reçu à tous les mots du code. Le poids de Hamming du mot reçu

y

∈ F

n

2

n'est quesa distance au mot tout à zéro (

0 . . . 0

), notéplus simplement

0

. Soit

t = d(y, 0) = wt(y)

Nous estimons que

1

a été transmis si

t >

b(n − 1)/2c

, et

0

sinon.

Notonsque ledécodage parénumération est possiblepour des codes de petitedimension, etil devientrapidement impraticablesi ladimension croît.

(27)
(28)

Chapitre 2

Codes de Reed-Muller

Contenu

2.1 Introduction . . . 28

2.2 Fonctions booléennes

F

m

. . . 28

2.2.1 Fonctionsbooléennes

F

m

etespace vectoriel

F

2

m

2

. . . 29

2.2.2 Base del'espace desfonctions

F

m

. . . 31

2.2.3 Base del'espace vectoriel

F

2

m

2

. . . 32

2.3 Les Codes de Reed-Muller . . . 34

2.3.1 Le code de Reed-Muller d'ordre 1 . . . 37

2.3.2 Codesde Reed-Muller d'ordre

r

. . . 39

2.4 Groupe d'automorphismes de

RM (r, m)

. . . 40

D

ans ce chapitre, nous allons présenter les codes de Reed-Muller (

RM

), dont l'étude a fait l'objet de ma thèse. Les principales références utilisées sont dans [34]etdans[41].Nousavons décritces codesd'une manièresimilaireà[34],mais avec plus de détails,surtout quand nousparlerons de décodage. Nousdécrivons lescodes en terme de fonctions booléennes et nous avons démontré à l'aide de cette description tous les résultats concernant ces codes, comme les preuves des théorèmes 2.4.2 et 2.4.1, ces deux théorèmes sont démontrés dans [34] en utilisantla description géométrique des codes

RM

.

(29)

2.1 Introduction

Étudiant l'application de l'algèbre de Boole aux circuits de communication, en 1954 D. E. Muller [36] construit une classe de codes connus sous le nom de Reed-Muller car S. I. Reed [43] aura soin de développer un algorithme de décodage en vote majoritaire pour ces codes.

Malgré le fait que leur distance minimale soit relativement petite, ces codes ont un intérêt pratique grâce àla simplicitéde leurs algorithmes de codageet de décodage. Cette caractéristique leur a valu d'être utilisés entre autres lors de la transmission des images de la planèteMars envoyées par lasonde Mariner 9 en 1972.

Lescodesde Reed-Mullerpeuventêtre dénistrès simplementen termes de fonctions booléennes. Nous allons dénir les fonctions booléennes et leur caractéristique qui nous sont utilespour la descriptiondes codes de

RM

.

Notations générale : Dans tousleschapitresquisuivent: Nousavons choisi l'ordre lexicographique pour représenter les éléments de

F

m

2

=

1

, . . . , α

n

}, n = 2

m

, avec

α

i

comme l'écriture en binaire

1

sur

m

bits de l'entier

i

− 1

. L'addition dans cet espace vectorielest leou-exclusif bit-à-bit.On trouvera un index des notations àla page 133.

2.2 Fonctions booléennes

F

m

Dans toute la suite, onchoisit un entier

m > 1

. Soit

F

m

l'espace des fonctions de

F

m

2

dans

F

2

, c'est-à-dire des fonctions booléennes dont les arguments sont des mots binaires de longueur

m

. Nous démontrons que la dimension de

F

m

est

2

m

, qui n'est autre que la cardinalité de l'espace

F

m

2

.

Soit

f

une fonction booléenne de m variables,

f : F

m

2

→ F

2

. Elle est entièrement caractérisée par sa table de vérité, c'est-à-dire la liste de tous les éléments de

F

m

2

avec les valeurs qu'elle prend en chacun d'eux. Nous allons maintenant dénir les termes qui caractérisent une fonction booléenne.

Dénition 2.2.1 On appelle support de la fonction booléenne

f

l'ensemble des éléments

x

tels que

f (x)

6= 0

, et on le note

supp(f )

. On appelle poids

2

de

f

le cardinal de son support,et onle note

wt(f )

. On dénit égalementpour deuxfonctions

f

et

g

ladistance

2 qui les sépare par

d(f, g) = wt(f + g)

supp(f ) =

{x ∈ F

m

2

|f(x) 6= 0}

wt(f )

= #supp(f )

d(f, g)

= wt(f + g)

1

(x

1

, . . . , x

m

)

LSB

l'écriture enbinaire de

x

si

x =

P

m

i=1

x

i

.2

i−1

, LSB :(Least signicant bit)Bitde poidsfaible d'abord

(30)

Exemple 2.2.1 Considérons le cas

m = 3

. Voici la dénition d'une fonction

f

par sa table de vérité : éléments de

F

3

2

valeur de

f

(0, 0, 0)

0

(1, 0, 0)

1

(0, 1, 0)

1

(1, 1, 0)

0

(0, 0, 1)

0

(1, 0, 1)

1

(0, 1, 1)

1

(1, 1, 1)

0

On a ici supp

(f ) =

{(1, 0, 0), (0, 1, 0), (1, 0, 1), (0, 1, 1)}

et

wt(f ) = 4

.

NousallonsmaintenantintroduireleconceptdeFormeAlgébriqueNormaled'unefonction booléenne. Pour une description plus détaillée des fonctions booléennes, on peut par exemple sereporter à lathèse de CarolineFontaine [21].

2.2.1 Fonctions booléennes

F

m

et espace vectoriel

F

2

m

2

Nousallonsmontrerdansceparagraphelacorrespondance entrel'espacedes fonctions booléennes

F

m

etl'espace vectoriel

F

2

m

2

. Nous avons vu que toute application

f : F

m

2

→ F

2

est polynomiale. En eet, si

y =

(y

1

, . . . , y

m

)

∈ F

m

2

, soitle polynôme :

δ

y

: F

m

2

→ F

2

x

7→

Q

m

i=1

(1 + x

i

+ y

i

) ,

qui vérie

δ

y

(x)

=



1

si

x = y

0

sinon

À partir de là,toute fonction

f : F

m

2

→ F

2

s'écrit (2.1)

f (x) =

X

α∈F

m

2

f (α)δ

α

(x)

(et lafamilleest donc génératrice),

- C'est manifestementune famillelibre. Ainsi nous avons :

dim(

F

m

) = 2

m

,le nombre de vecteur de cette base

La famille des

x

)

x∈(F

m

2

)

est une base de

F

m

. L'équation-2.1 nous indique que toute fonction de

F

m

est une fonction polynomiale, nous donnons maintenant la dénition de la formealgébriquenormale.

(31)

Dénition 2.2.2 La Forme Algébrique Normale (FAN) d'une fonction booléenne

f

à

m

variables est l'unique polynôme

Q

f

de

F

2

[x

1

, . . . , x

m

]/(x

2

1

− x

1

, . . . , x

2

m

− x

m

)

tel que

∀(x

1

, . . . , x

m

)

∈ F

m

2

, f (x

1

, . . . , x

m

) = Q

f

(x

1

, . . . , x

m

).

On appelledegré de

f

, eton lenote

deg(f )

, ledegré du polynôme

Q

f

. Un monômeest une expression de laforme :

p = x

i

1

1

x

i

2

2

. . . x

i

m

m

,

(i

j

)

j=1...m

∈ {0, 1}

Soit

I

α

=

1

, . . . , α

2

m

}

uneénumérationdetouslesélémentsde

F

m

2

.Nousallonsmontrer la correspondance entre une tablede vérité etune fonction.

Dénition 2.2.3 Écriture vectorielledes fonctions booléennes de

m

variables. L'application bijective

ev

I

α

:

F

m

F

2

m

2

f

7→ (f(α

1

), . . . , f (α

2

m

))

Cette seconde écriture de

f

revient à remplacer la fonction

f

par la

2

m

-liste de ses coordonnées dans la base

x

)

x∈(F

m

2

)

. Nous allons maintenant dénir l'inverse de l'évaluationqui est la suivante:

Dénition 2.2.4 Soit

v

∈ F

2

m

2

, nous allons dénir la fonction booléenne

f

v

∈ F

m

qui a le vecteur

v

comme table de vérité :

ev

I

−1

α

: F

2

m

2

F

m

v

7→ f

v

(x) =

P

α

i=α

2m

1

v

α

i

δ

α

i

(x)

La fonction d'évaluation des fonctions booléennes (dénition-2.2.3), notée

ev

, est une fonction linéairepossédant les propriétés suivantes :

Propriété 2.2.1 Soient

f, g

∈ F

m

, a

∈ F

2

, nous avons :



ev(f + g) = ev(f ) + ev(g)



ev(f

· g) = ev(f) · ev(g)



ev(a

· f) = a · ev(f)

avec l'addition et la multiplication dans

F

2

m

2

éléments par éléments :

v, w

(32)

Exemple 2.2.2 Considérons le cas m=2. dénissons la fonction

f

suivante, qui correspondau xor :

f : F

m

2

→ F

2

(0, 0)

7→ 0

(1, 0)

7→ 1

(0, 1)

7→ 1

(1, 1)

7→ 0

On a :

f = 0.δ

(0,0)

+ 1.δ

(1,0)

+ 1.δ

(0,1)

+ 0.δ

(1,1)

= δ

(1,0)

+ δ

(0,1)

d'où,

ev(f ) = (0110).

On notera qu'il est très commode, lorsque l'on désigne

δ

u

, d'identier le vecteur binaire

u

et l'entier dont il est la décomposition binaire (par exemple,

δ

1

et

δ

(1,0)

). Nous avons

F

m

F

2

m

2

I

α

=

1

, . . . , α

2

m

}

ev

I

α

ev

−1

I

α

Fig. 2.1  Correspondance entre l'espace des fonctions et l'espacevectoriel. démontréqu'ilyaunecorrespondanceentrel'espacedesfonctionsà

m

variablesetl'espace vectoriel

F

2

m

2

(gure2.1).Ainsitouteopérationquenousallonsdénirsurl'undesespaces sera dénie de manière équivalente sur l'autre.

2.2.2 Base de l'espace des fonctions

F

m

Nous allons décrire comment associer un vecteur de

F

2

m

2

à une fonction booléenne écrite sous formealgébrique normale.

Dans cet espace de fonctions (i.e.

F

m

), nous allons maintenant dénir des fonctions particulières.Pour tout

i

∈ {1 . . . m}

,on note

X

i

la

i

ème projection :

X

i

: (F

m

2

)

→ F

2

(x

1

, . . . , x

m

)

7→ x

i

Notons que pour plus de simplicité, dans la suite de cette thèse, nous noterons simplementles fonctions

X

i

en minuscule, quand cela n'introduit pas d'ambiguïté.

(33)

Par ailleurs,on note 1 lafonction unité (c'est-à-dire lafonction dont lavaleur est 1 quel que soitson argument).

Comme noustravaillonssur

F

2

,alors ona

x

k

i

= x

i

,

∀k > 0

, nous dénissons legroupe

de fonctions suivant : (2.2)

M = {

1

· x

i

1

· x

i

2

. . . x

i

k

| 0 ≤ i

1

< i

2

· · · < i

k

≤ m,

pour

0

≤ k ≤ m}

C'est l'ensemble de

2

m

monômes (dim(

F

m

)=

2

m

), La combinaison linéaire de tous ces monômes génère toutes les fonctions polynomiales

F

m

, et comme nous pouvons réduire toute fonction polynomiale en

x

i

, en calculant le modulo

x

2

i

− x

i

, L'ensemble

M

est une autre base de l'espace

F

m

,quisera très intéressante pourdénir lescodes de Reed-Muller.

2.2.3 Base de l'espace vectoriel

F

2

m

2

Noussavonsquel'imaged'unebaseparune applicationlinéairebijectiveest unebase, donc l'image de la base

M

(2.2) par l'application

ev

(def-2.2.3) est une base de l'espace

F

2

2

m

.

En utilisant lapropriété-2.2.1,nous pouvons calculerl'image de tous les monômes de la base

M

si onconnaît l'imagedes monômes de degré zéro etun.

Le monôme de degré zéro est la fonction constante 1

: F

m

2

→ F

2

, qui donne la valeur

1

pour tous les élémentsde

F

m

2

.

ev(

1

) = (1, 1, . . . , 1)

On noteraque pour tout

i

∈ {1, . . . , m}

,on a:

ev(X

i

) = (X

i

1

), . . . , X

i

2

m

))

Donc la

j

-ème coordonnée de

ev(X

i

)

est

1

si

j

)

i

est non nul et

0

sinon.

Exemple 2.2.3 Dans le cas

m = 3

, Nous pouvons écrire l'exemple 2.2.1.

α

1

α

2

α

3

α

4

α

5

α

6

α

7

α

8

ev(X

1

)

0

1

0

1

0

1

0

1

ev(X

2

)

0

0

1

1

0

0

1

1

ev(X

3

)

0

0

0

0

1

1

1

1

ev(f )

0

1

1

0

0

1

1

0

Nous avons

F

3

2

=

1

, α

2

, α

3

, α

4

, α

5

, α

6

, α

7

, α

8

}

. et par exemple :

α

4

= (1, 1, 0)

(34)

2.2.3.1 Ordre lexicographique

En choisissant l'ordre lexicographique pour représenter les éléments de

F

m

2

=

1

, . . . , α

2

m

}

, où

α

i

est l'écriture en binaire sur

m

bits de l'entier

i

− 1

. Dans cette

écritureun entier

x

∈ [0, 2

m

− 1]

est écrit sous la forme:

x = (x

1

, . . . , x

m

), x

i

∈ F

2

| x =

m

X

i=1

x

i

.2

i−1

 Pour

m = 1

nous avons

F

2

=

{0, 1}

 Notons

O

m

=

1

, . . . , α

2

m

}

 Nousavons

O

m+1

=

{(α

1

, 0), . . . , (α

2

m

, 0), (α

1

, 1), . . . , (α

2

m

, 1)

}

Puisque :

i

, 0)

c'est l'entier

i

− 1

, alors

i

, 1)

c'est l'entier

i

− 1 + 2

m

. Ainsi :

{(α

1

, 0), . . . , (α

2

m

, 0), (α

1

, 1), . . . , (α

2

m

, 1)

} = {0, 1, . . . , 2

m

− 1, 2

m

+ 0 , . . . , 2

m

+ 2

m

− 1}

=

{0, 1, . . . , 2

m

− 1, 2

m

, . . . , 2

m+1

− 1}

= O

m+1

En choisissant l'ordre lexicographique pour représenter les éléments de

F

m

2

=

1

, . . . , α

n

}, n = 2

m

, avec

α

i

comme l'écriture en binaire

3

sur

m

bits de l'entier

i

− 1

. Les monômes de degrés

1

sont

X

1

, . . . , X

m

, et le vecteur associé au monôme

X

i

est une concaténation de

2

m−i

blocs, chaque blocforméde

2

i−1

zéro suivide

2

i−1

un. (2.3)

X

i

= (

2

m−i

z

}|

{

0, . . . , 0

| {z }

2

i−1

, 1, . . . , 1

| {z }

2

i−1

, . . . , 0, . . . , 0

| {z }

2

i−1

, 1, . . . , 1

| {z }

2

i−1

,)

Pourlesvecteursassociésauxmonômesdedegréssupérieurs,ilfautcalculerleproduit des vecteurs associés àses termes.

Exemple 2.2.4 Pour

m = 3, f =

1

+ X

2

+ X

3

+ X

1

X

2

+ X

1

X

2

X

3

. 1

= 1 1 1 1 1 1 1 1

X

1

= 0 1 0 1 0 1 0 1

X

2

= 0 0 1 1 0 0 1 1

X

3

= 0 0 0 0 1 1 1 1

X

1

X

2

= 0 0 0 1 0 0 0 1

X

1

X

2

X

3

= 0 0 0 0 0 0 0 1

3

(x

1

, . . . , x

m

)

LSB

l'écriture enbinaire de

x

si

x =

P

m

(35)

f =

1

+ X

2

+ X

3

+ X

1

X

2

+ X

1

X

2

X

3

ev(f ) = (11111111) + (00001111) + (00110011) + (00010001) + (00000001)

= (11010011)

2.3 Les Codes de Reed-Muller

Il y a en fait deux approches pour décrire les codes de Reed-Muller, l'une dite à une variable qui correspond à la dénition "cyclique" et l'autre à plusieursvariablesqui correspond à la dénition par fonctions booléennes. La correspondance entre ces deux approches aété développée parP.Charpin dans [5].Nousutilisonsladeuxièmeapproche pour décrire ces codes.

Le code binaire de Reed-Muller d'ordre

r

en

m

variables, que l'on note

RM(r, m)

est l'ensemble des tables de vérité des fonctions booléennes en

m

variables dont la forme algébriquenormale (ANF) est de degré total auplus

r

.

Lafamilledescodes

RM

estidentiéeàl'aidededeuxparamètres,usuellementnotés

r

et

m

, appelés respectivementordre etnombre de variables.Ces paramètresinterviennent dans la descriptionutilisantles fonctionsbooléennes.

On choisitun ordre quelconque sur leséléments de

F

m

2

=

1

, . . . , α

2

m

}

.Unefonction

f

en

m

variables est alors identiée aumot binaire

4

déni par :

c

f

= ev(f ) = (f (α

1

), . . . , f (α

2

m

))

En d'autres termes, lemot du code est la listedes valeurs prises par la fonction dans un ordre choisi. Le code est dénide lafaçon suivante :

RM(r, m) =

{ev(f) : deg(f) ≤ r}

Nous parlerons aussi du poids d'une fonction booléenne; cela signie bien évidemment le poids

5

du mot du code associé :

wt(f ) = wt(ev(f ))

. Dans tous ce qui suit : Pour simplier les notations nous parlerons d'un mot

f

du code

RM(r, m)

, au lieu de dire

ev(f )

∈ RM(r, m)

, etnous utilisons

f (x)

pour indiquer quenous traitonsune fonction.

Dénition 2.3.1 Lecode de Reed-Muller d'ordre

r

noté

RM(r, m)

, de longueur

n = 2

m

,

pour

0

≤ r ≤ m

est l'ensemble des images des fonctions booléennes de degré maximal

r

en

m

variables.

Historiquement, le code

RM(1, 5)

a été utilisé par les sondes Mariner lancées par la NASA entre 1969 et 1973 pour assurer une transmission correcte des photos numérisées de Mars.

4

Regarderdénition-2.2.3pourplusdedétails surcetteécriturevectorielle (

ev

) 5

Figure

Fig. 1.1  Principe général du processus d'encodage et décodage
Fig. 1.2  Diagramme de transition pour un canal binaire symétrique
Fig. 1.3  Canal Gaussien
Fig. 1.4  Comparer un algorithme sur les deux canaux
+7

Références

Documents relatifs

We found that rotation, together with evolutionary status (i.e., identification of the instability strip (IS) cross- ing) can resolve the mass discrepancy, and mass-luminosity

L’objectif de ma th`ese est de r´ealiser une implantation (voire plusieurs) de protocoles cryp- tographiques bas´es sur les codes correcteurs d’erreurs sur divers supports,

L andenbcrcr läJsL dem A rnold von JMidcIflhaL die Ochsen initrG ew alt. vom PJluge

The erosion of the southern hemisphere, the subsequent transport of material, and then its fallout on the nucleus ( Fulle et al. 2017 ) are responsible for the time evolution of

Pour obtenir ces rayons de d´ecodage ´elev´es, il faut relˆacher les sp´ecifications du probl`eme du d´ecodage : comme le rayon de d´ecodage aug- mente de t `a τ erreurs, on demande

Le profil transversal dans l’axe Est-ouest du local (Figure 7.7.b) indique que les valeurs Flj mesurées à 1,60 m suivent la même évolution directive que celles mesurées au niveau

Néan- moins, en raison de la détérioration structurelle des finances de la Communauté française et suite à la remontée des taux d’intérêt dans nos scénarios, nous aboutissons

32 سلما ديدتح متي ةحا لخا ةيراجتلا تلاحملل ةبسنلاب ،ةبيرضلل ةعضا ض ةصالخا طورشلا سفن نم .نيكسلا لامعتسلاا تاذ تاراقعلاب أ .اهتعقر