• Aucun résultat trouvé

La cryptographie du point de vue de la théorie de l'information : stratégies de codage sécuritaire pour la sécurité cryptographique

N/A
N/A
Protected

Academic year: 2021

Partager "La cryptographie du point de vue de la théorie de l'information : stratégies de codage sécuritaire pour la sécurité cryptographique"

Copied!
120
0
0

Texte intégral

(1)

La cryptographie du point de vue de la théorie de

l’information:

Stratégies de codage sécuritaire pour la sécurité

cryptographique

Mémoire

Tarek Araar

Maîtrise en génie électrique

Maître ès sciences (M.Sc.)

Québec, Canada

(2)
(3)

Résumé

L’amélioration de la sécurité des communications et la confidentialité de l’information exige de dé-velopper des nouvelles solutions reposant sur diverses stratégies. Une solution de sécurité multi-couche pour les systèmes de communication numérique est d’abord explorée en considérant les effets conjoints de sécurité de codage de canal de la couche physique avec la couche d’application de la cryptographie.

Nous présentons ensuite des modèles pratiques de codage qui peuvent être utilisés en conjonction avec la cryptographie pour assurer des taux d’erreur importants sur les observations d’un espion sur les données chiffrées, tout en garantissant des communications idéalement sans erreur pour les utili-sateurs légitimes. Dans ce mémoire, on présente une étude des techniques de sécurité au niveau de la couche physique récemment proposées dans la littérature. Ces techniques utilisent les codes LDPC avec ensembles d’arrêt permettant de nuire au processus de décodage par un utilisateur non légitime, ou espion, à de faibles taux d’erreur. Ces codes sont très efficaces lorsque le récepteur légitime béné-ficie d’un canal de retour authentifié.

On s’intéresse également au codage sécuritaire à travers un canal gaussien AWGN. L’objectif est de construire des codes permettant de compromettre le décodage au niveau de l’espion aussitôt que le bruit au niveau du canal d’écoute dépasse un certain seuil. Les techniques utilisées dans ce contexte reposent sur les codes LDPC avec poinçonnage, avec insertion des bits virtuels et avec brouillage.

(4)
(5)

Abstract

Improving communications security and confidentiality of information requires the development of new solutions based on various strategies. A multilayer security solution for digital communication systems is first explored by considering the effects of joint security channel coding at the physical layer with cryptography at the application layer.

We then present practical coding models that can be used in conjunction with cryptography to ensure high error rate observations for an eavesdropper on encrypted data, while ensuring reliable communi-cations for the legitimate users.

In this Master’s thesis, we present a study of security techniques at the physical layer recently pro-posed in the literature. These techniques use LDPC codes with stopping sets to prevent the decoding of information by the eavesdropper even with the lowest error rates. These codes are very efficient when the legitimate receiver has access to an authenticated feedback channel.

The thesis also focuses on secure coding through AWGN Gaussian channels. The goal is to construct codes that prevent proper decoding at the eavesdropper end’s as soon as the noise in the wiretap chan-nel exceeds a certain threshold. The techniques used in this context are based on LDPC codes with puncturing, insertion of dummy bits and scrambling.

(6)
(7)

Table des matières

Résumé iii

Abstract v

Table des matières vii

Liste des tableaux ix

Liste des figures xi

Liste des symboles xiii

Abréviations xvii

Remerciements xix

1 Introduction 1

1.1 Mise en contexte et problématique . . . 1

1.2 Organisation du mémoire . . . 2

2 Quelques notions de théorie de l’information 5 2.1 Notions de théorie de l’information. . . 5

2.2 Exemples des canaux de communication . . . 8

2.3 Modèle de canal de communication sécurisé . . . 11

2.4 Cryptographie et couche physique . . . 13

2.5 Conclusion . . . 16

3 Codes correcteurs LDPC et décodage itératif 17 3.1 Codage de canal. . . 17

3.2 Codes correcteurs et détecteurs des erreurs . . . 18

3.3 Codes à faible densité de parité LDPC . . . 20

3.4 Conclusion . . . 32

4 Sécurité au niveau de la couche physique 33 4.1 Introduction . . . 33

4.2 Modèle de canal de communication . . . 33

4.3 Modèle du canal de communication sous écoute . . . 36

4.4 Codage secret . . . 41

(8)

4.6 Méthodes de codage . . . 45

4.7 Analyse comparative de codes secrets . . . 47

4.8 Conclusion . . . 52

5 Stratégie de codage sécuritaire 53 5.1 Métriques de sécurité . . . 53

5.2 Aperçu de la méthode de codage secret. . . 55

5.3 Conception de codes LDPC avec ensemble d’arrêt. . . 57

5.4 Sécurité pour les canaux indépendants avec effacements. . . 67

5.5 Sécurité pour les canaux corrélés avec effacements . . . 69

5.6 Étude de cas et simulation des canaux indépendants avec effacements . . . 71

5.7 Étude de cas et simulation des canaux corrélés avec effacements . . . 75

5.8 Amélioration de la sécurité cryptographique . . . 77

5.9 Conclusion . . . 79

6 Analyse de la sécurité pour les canaux gaussiens sous écoute 81 6.1 Transmission via un canal gaussien. . . 81

6.2 Codage sécuritaire pour les canaux gaussiens . . . 82

6.3 Minimisation de l’écart de sécurité par le poinçonnage de codes LDPC . . . 84

6.4 Minimisation de l’écart de sécurité par brouillage . . . 90

6.5 Comparaison des différentes stratégies de codage sécuritaires . . . 91

6.6 Conclusion . . . 92

7 Conclusion 93 7.1 Rappel du contexte . . . 93

7.2 Synthèse du mémoire . . . 93

7.3 Contributions du mémoire . . . 94

7.4 Suggestions de travaux futurs . . . 95

(9)

Liste des tableaux

4.1 Structure imbriquée d’un code secret [1]. . . 49

4.2 Ensemble des possibilités de mots de code pour les patrons à deux effacements. . . . 49

4.3 Analyse de fuites d’informations du code secret présenté par Harrison et al.[1] au

tableau 4.1 : fuites d’informations selon le nombre d’effacements. . . 50 4.4 Structure imbriquée d’un code secret proposé. . . 50

4.5 Analyse de la fuite d’information pour le code secret proposé selon le nombre

d’effa-cements. . . 51 4.6 Comparaison en fonction de l’incertitude entre le code présenté dans [1] et le code

proposé. . . 52 5.1 Effet du poinçonnage sur le numbre de paquets restaurés par Eve. . . 65

6.1 Distributions de poinçonnage optimisées pour la sécurité : PeE

mina été fixé à 0.49 [2],

(10)
(11)

Liste des figures

2.1 Relations entre la théorie de l’information et d’autres domaines scientifiques. . . 6

2.2 Relation entre l’entropie et l’information mutuelle. . . 7

2.3 Système de communication. . . 8

2.4 Canal symétrique binaire (BSC). . . 9

2.5 Canal binaire avec effacement (BEC). . . 10

2.6 Modèle de canal à effacement de paquet (PEC). . . 10

2.7 Modèle de canal à bruit blanc gaussien additif (AWGN). . . 10

2.8 Modèle de canal de communication sécurisé proposé par Shannon [4]. . . 11

2.9 Exemple de chiffrement avec masque jetable OTP (chiffrement de Vernam) [4]. . . . 12

2.10 Comparaison entre pile de protocoles de modèle Internet (à gauche) et modèle OSI (à droite).. . . 14

2.11 Présentation générale d’une approche multicouche de sécurité [5]. . . 15

3.1 Modèle d’un système de communication. . . 17

3.2 Codage de canal pour un canal bruité. . . 20

3.3 Matrice de parité d’un code LDPC régulier (5, 10) de taille n = 1000 et de rendement R=0.5. . . 21

3.4 Graphe bipartite de Tanner GT d’un code LDPC. . . 21

3.5 Exemple d’une matrice de parité du code LDPC régulier C(20,3,4) [6],[7]. . . 23

3.6 Exemples de graphs de codes LDPC avec des cycles de longueur 4, 6 et 8 [8]. . . 24

3.7 Représentation sous forme pseudo triangulaire inférieure de la matrice de parité H [6], [9].. . . 28

3.8 Illustration de la mise à jour des messages mvc[10]. . . 30

3.9 Illustration de la mise à jour des messages mcv[10]. . . 30

3.10 Exemple de déroulement de décodage itératif sur un graphe de Tanner du code LDPC. 31 4.1 Modèle mathématique d’un système de communication point à point [4].. . . 34

4.2 Un modèle de communication point à point avec canal de retour [11], [12]. . . 36

4.3 Modèle de canal de communication sous écoute dégradé de Wyner [13],[4]. . . 37

4.4 Forme typique de la région du taux d’équivocation RDWTC(p X). . . 40

4.5 Canal binaire à effacement sous écoute [4]. . . 41

4.6 Structure d’un tableau standard. . . 43

4.7 Tableau standard pour un code binaire C(6,3). . . 43

4.8 Codage de coset avec des codes LDPC de type deux arêtes [1]. . . 46

4.9 Structure imbriquée d’un code secret [1] . . . 48

5.1 Modèle de canal sous écoute avec retour en supposant des canaux d’effacement paquet à la fois pour le canal principal Qmet le canal sous écoute Qw[14]. . . 55

(12)

5.2 Graphe de Tanner GT pour le décodage itératif avec échange de messages MP avec un

ensemble d’arrêt dû aux effacements aux nœuds de variables v2, v5et v7.. . . 58

5.3 Diagramme bloc détaillé de l’encodeur [14]. . . 60

5.4 Sous graphe induit par V0={1, 3, 4}. . . . . 62

5.5 Entrelacement d’un mot de code x de 16 bits, divise en L = 4 blocs de longueur 4, et en paquets η = n/α =4 avec α = 1. . . 66

5.6 Entrelacement d’un mot de code X de 16 bits, divise en L = 4 blocs de longueur 16, et en paquets η = n/α =2 avec α = 2. . . 66

5.7 Processus de décodage [14]. . . 67

5.8 Courbe théorique [14] et résultat des simulations : probabilité que le nombre de degrés de liberté soit supérieur à une valeur de seuil D avec β =1, α = 1, η = 100. . . 72

5.9 Courbe théorique et résultat des simulations : probabilité que le nombre de degrés de liberté soit supérieur à une valeur de seuil D avec β =50, α = 1, η = 100. . . 73

5.10 Courbe théorique et résultat des simulations : probabilité que le nombre de degrés de liberté soit supérieur à une valeur de seuil D avec β =1, α = 1, η = 5000. . . 73

5.11 Courbe théorique [14] et résultat des simulations : probabilité que le nombre de degrés de liberté soit supérieur à une valeur de seuil D avec β =50, α = 1, η = 5000. . . . 74

5.12 Courbe théorique [15] et résultat des simulations : Pr(D ≥ 1) lorsque le nombre de paquets η =100, α = 1 et la probabilité d’effacement δ = 0.5. . . 76

5.13 Courbe théorique [15] et résultat des simulations : Pr(D ≥ 50) lorsque le nombre de paquets η =5000, α = 1 et la probabilité d’effacement δ = 0.5. . . 76

5.14 Courbe théorique [15] et résultat des simulations : Pr(D ≥ 50) lorsque le nombre de paquets η =1250, α = 4 et la probabilité d’effacement δ = 0.5. . . 77

5.15 Taux d’erreurs simulés dans M cryptogrammes décodés pour γ erreurs d’estimation des valeurs de bits pour D degrés de liberté dans les mots de code reçus par Eve.. . . 78

6.1 Canal sous écoute gaussien [3],[2]. . . 83

6.2 Écart de sécurité Sg[3],[2]. . . 84

6.3 Schéma du codeur proposé dans [3], [2]. . . 86

6.4 BER de Eve contre les performances de l’écart de sécurité Sg[3], [2]. . . 87

6.5 Taux d’erreur par bit pour l’écouteur Eve en fonction de l’écart de sécurité Sglorsque les bits de message sont transmis. . . 88

6.6 Probabilité d’erreur pour les codes LDPC avec k = 1576 et R = 2/3, en adoptant la transmission systématique, et transmission avec poinçonnage p =0.4. . . 89

6.7 Probabilité d’erreur par rapport à l’écart de sécurité pour les techniques considérées [16]. . . 91

(13)

Liste des symboles

A Ensemble de bits effacés dans un mot de code reçu

A Ensemble d’arrêt maximale non vide

b Mot de code avant le poinçonnage

C Capacité d’un canal

Cs Capacité secrète

¯

Cs Capacité secrète forte

Cm Capacité du canal principal

Cw Capacité du canal d’écoute

C Code linéaire

cl(X ) Fermeture de l’ensemble X

D Ensemble fini de messages chiffrés

D Nombre de degrés de liberté

DMP Nombre de degrés de liberté après décodage itératif MP

dH Distance de Hamming

d Nombre de bits manquants

E Cryptogramme

E Ensemble des arcs d’un graphe

E(C) Équivocation du code C

E[D] Espérance mathématique de la variable aléatoire D

Eb Énergie par bit de message

Ec Énergie par bit codé transmis

e Séquence d’erreur

F Nombre total de "1" dans la matrice de parité

GT Graphe de Tanner

G Graphe

G0 Sous graphe

G Matrice génératrice

(14)

G Géométrie finie

H(X ) Entropie d’une source X

H(X|Y ) Entropie conditionnelle de X étant donné Y (équivocation)

H(XY ) Entropie conjointe des sources X et Y

H Matrice de parité

Hb Fonction d’entropie binaire

Ik×k Matrice identité de rang k

I(X ;Y ) Information mutuelle moyenne entre X et Y

I(X ) Information propre de X

K Ensemble fini de clés

K Clé de chiffrement

k Dimension d’un code

Ker(H) Kernel ou noyeau de la matrice H

L Nombre de blocs de mot de code

logb|X| Logarithme dans la base b de X

L(C) Fuite de l’information du code C

M Message binaire chiffré envoyé

˜

M Estimation de message M observé par le récepteur légitime (Bob)

ˆ

M Estimation de message M observé par l’espion (Eve)

m Message binaire

m0 Partie systématique dans le mot de code

npi Longueur du bloc de l’encodeur après poinçonnage

n Longueur du bloc de l’encodeur

P Ensemble fini de messages en clair

P Probabilité d’un événement sur X

P Matrice de probabilité de transition

p Mot de code aprés le poinçonnage

pX(x) Distribution de la probabilité de X

pX|Y(x|y) Distribution de la probabilité conditionnelle de X sachant Y pXY(x,y) Distribution de la probabilité conjointe de X et Y

Pe Probabilité d’erreur

PeB Probabilité d’erreur de Bob

PeE Probabilité d’erreur d’Eve

Pr(Ω) Probabilité d’intercepter un paquet sans erreur

pi Fraction de tous les bits poinçonnés

Qm Canal principal

Qw Canal de l’espion

Q Ensemble des nœuds de variables non poinçonnés

(15)

R Région taux d’équivocation faible

¯R Région taux d’équivocation fort

RDWTC Région taux d’équivocation faible pour DWTC

¯RDWTC Région taux d’équivocation fort pour DWTC

Rc Indice des bits effacés dans un mot de code

Rp Ensemble de tous les paquets effacés

R Taux de code

Rs Taux de secret

Rres Taux de code poinçonné

Re Taux d’équivocation

S Ensemble d’arrêt maximal non vide en A

S Matrice de brouillage

Sg Écart de sécurité

S−1 Matrice de brouillage inverse

s Nombre de bits de message source

s Syndrome

t Vecteur de signal d’émission

U Ensemble des nœuds de parités du graphe de Tanner GT

V Ensemble des nœuds de variables du graphe de Tanner GT

E Ensemble de arcs du graphe

w(c) Poids d’un mot de code

wr Nombre d’éléments non nuls pour chaque ligne (poids de la ligne)

wc Nombre d’éléments non nuls pour chaque colonne (poids de la colonne)

X Alphabet ou ensemble

X Variable aléatoire

x mot de code

|X| Cardinalité de l’ensemble X

xn Séquence x1, x2, ..., xn

Y Observation du récepteur légitime

Z Observation de l’espion

ε Probabilité d’effacement du canal de l’espion

δ Probabilité d’effacement du canal principal

η Nombre de paquets

ρth Seuil de corrélation

σ2 Variance

πi Fraction des nœuds de variables de degré i qui sont poinçonnés

λ (x) Polynôme de degré de distribution de nœud de variable

ρ (x) Polynôme de degré de distribution de nœud de parité

? Symbole d’effacement

(16)
(17)

Abréviations

ARQ Automatic Repeat Request/ Requête automatique de répétition

AWGN Additive White Gaussian Noise / Bruit blanc gaussien additif

BPSK Binary Phase-Shift Keying/ Modulation binaire par changement de la phase

BCC Broadcast channel with confidential messages/

Canal de diffusion des messages confidentiels

BEC Binary erasure channel/ Canal binaire à effacement

BSC Binary symmetric channel/ Canal symétrique binaire

BP Belief propagation/ Propagation de croyance

BF Bit flipping/ Basculement de bits

BC Broadcast Channel/ Canal de diffusion

BER Bit Error Rate/ Taux d’erreur par bit

CSI Channel State Information/ Information sur l’état du canal

DoF Degrees of Freedom/ Degrés de liberté

DMS Discrete memoryless source/ Source discrète sans mémoire

DMC Discrete memoryless channel/ Canal discret sans mémoire

DWTC Degraded wiretap channel / Canal dégradé sous écoute

IID Independent and identically distributed random variables/

Variables indépendantes et identiquement distribuées

LDPC Low-Density Parity-Check/ Faible densité de bits de parité

MP Message passing/ Passage de messages

ML Maximum-likelihood/ Vraisemblance maximale

MAP Maximum a Posteriori/ Maximum a posteriori

OTP One Time Pad/ Masque jetable

OSI Open Systems Interconnection model/ Modèle d’interconnexion de systèmes ouverts

PEC Packet Erasure Channels/ Canaux à effacements de paquets

PEG Progressive Edge Growth/ Croissance progressive des arêtes

P2P Point-to-point/ Point à point

OTP Signal to Noise Ratio/ Rapport signal sur bruit

WTC Wiretap Channel/ Canal sous écoute

(18)
(19)

Remerciements

Je voudrais tout d’abord adresser toute ma gratitude à mon directeur de recherche, le professeur Jean-Yves Chouinard, pour sa patience, sa disponibilité permanente et surtout son engagement total qui nous permet d’acquérir de nouvelles connaissances pendant les séances de cours et les recherches effectués au laboratoire. Le déroulement de mon projet de recherche a été sagement guidé par des réunions régulières aux cours desquelles il a su combiner sympathie et sérieux afin de me faire profiter de son expertise pour évaluer mes travaux de recherche et de ses conseils enrichissants pour diriger l’évolution de mon cursus académique ainsi celle de mon projet de recherche.

Je ne sais comment exprimer ma gratitude au professeur Mohamed Mejri pour son soutien et son aide. Je tiens à remercier spécialement le docteur Berdai Abdallah de m’avoir orienté, aidé et conseillé. Je désir aussi remercier, le chercheur postdoctoral Mohamed Haj Taieb pour ses directives précises et efficaces pour l’avancement de mes recherches, ses conseils, ses idées innovatrices et sa sympathie m’ont effectivement aidé pour progresser dans mon travail de recherche.

Je dédie, à l’âme de mon père qui m’a quitté sans voir le fruit de son éducation. Lui qui m’a transmis l’amour de vivre, l’amour du sacrifice et celui de continuer à donner sans limite.

A ma mère, à celle qui a passé sa vie, une main levée me souhaitant la grâce et la bénédiction et l’autre main me réveillant à l’aube, en me disant que le jour et le soleil n’attendent pas. Elle m’a appris que je dois faire mes invocations pour réveiller le jour et le soleil, et que je ne dois pas laisser endormis mes bonnes actions, mon imagination, ma chance et mon esprit.

J’adresse mes plus sincères remerciements à mon épouse, ma petite fille Yasmine et tous les membres de ma famille, qui m’ont aidé et toujours soutenu et encouragé au cours de la réalisation de ce mé-moire.

Mes profonds remerciements vont à mon ami Farid et son épouse, qui m’ont toujours m’encouragé durant ma présence au Québec.

Je tiens à exprimer ma sincère gratitude à mon pays l’Algérie et surtout mon organisme employeur qui m’offre une bourse pour terminer mes études.

(20)

national.

Enfin, j’adresse ensuite mes remerciements à tous les étudiants et amis du laboratoire de radiocom-munication et de traitement de signal (LRTS) et tout le corps enseignant et administratif qui ont fait en sorte que le cadre de travail soit instructif, propice et agréable.

(21)

Chapitre 1

Introduction

1.1

Mise en contexte et problématique

L’avancement technologique rapide dans le domaine des communications et la diversité des méthodes d’attaques utilisées par les espions pour récupérer de l’information, qu’elles soient claires ou chiffrées, affaiblit la sécurité dans la couche d’application de la cryptographie. Cet inconvénient majeur a poussé les chercheurs dans le domaine de la théorie de l’information à trouver de nouvelles solutions reposant sur la sécurité du codage de canal qui opère au niveau de la pile de protocoles par la collaboration entre la couche physique et la couche d’application de la cryptographique.

La possibilité de mettre en œuvre la sécurité de la transmission de la couche physique est connue depuis de nombreuses années, mais celle-ci est en train de gagner un intérêt croissant en raison de ses nombreuses applications possibles. Il a été démontré que les techniques de codage canal peuvent être efficacement exploitées pour concevoir des systèmes de sécurité de la couche physique, d’une manière telle qu’un attaquant, qui connaît un canal différent de celui du récepteur légitime, n’est pas en mesure de recueillir toutes les informations.

Nous discutons de la possibilité de codage de canal pour améliorer la sécurité cryptographique. À cette fin, nous présentons la métrique de secret de degrés de liberté dans l’observation de l’attaquant du cryptogramme. En utilisant cette notion de secret, nous montrons comment un système spécifique de codage de canal pratique peut être utilisé pour cacher des informations sur le texte chiffré, augmentant ainsi la difficulté d’attaques cryptographiques. La conception amplifie les erreurs se produisent lorsque les ensembles d’arrêts, de telle sorte, qu’un récepteur doit éstimer tous les bits effacés correctement pour éviter un taux d’erreur de 0.5 dans le texte chiffré.

Nous présentons un système de codage pour le canal d’écoute gaussien AWGN sur la base de codes LDPC. Les messages sont transmis sur des bits poinçonnés à masquer les données à l’espion. Il est démontré par l’évolution de la densité que le BER (taux d’erreur par bit) d’un espion, augmente autour de 0.5 à moins de quelques (dB). Il est montré aussi, comment l’application de poinçonnage optimisé sur les codes LDPC peut être conçue dans le but d’atteindre une haute fiabilité entre des

(22)

parties légitimes et la sécurité contre un espion passif tout en gardant l’écart de sécurité aussi faible que possible.

Nous étudions l’utilisation de codes LDPC non systématiques mis en œuvre par la matrice de brouillage pour assurer la sécurité cryptographique. Il a été proposé d’exploiter les techniques de poinçonnage afin de réduire l’écart en matière de sécurité entre les canaux principaux et canaux d’écoute. Nous montrons que l’écart de sécurité peut encore être réduit en utilisant des codes non systématiques, capables de brouiller les bits d’information dans le mot de code transmis.

Le but de ce travail est d’étudier et d’analyser les stratégies de codage sécuritaires, proposées dans [14], [15], [3] et [16], reposant sur l’approche de la sécurité multicouche (couche physique et couche application cryptographie).

1.2

Organisation du mémoire

À cet effet, nous détaillons, dans le deuxième chapitre les principes de la théorie de l’information et expliquons comment ils ont été exploités pour le codage du canal secret. Nous rappelons la notion de secret parfait de Shannon, et le théorème de la confidentialité parfaite. Pour l’étude de la sécurité d’un système cryptographique, il y a deux grands concepts : la notion de confidentialité parfaite de Shannon et le concept de sécurité calculatoire.

Ensuite, au chapitre 3, nous abordons une définition plus détaillée de codage de canal, les codes correcteurs d’erreurs, et en particulier les codes LDPC : les principes de fonctionnement des codes LDPC, la construction des codes LDPC, le codage, la description du décodage itératif, les critères de performance des codes LDPC et les architectures relatives aux codes LDPC. Pour le décodage itératif, nous avons spécifié le décodage itératif sur un canal à effacement.

Nous présentons, au chapitre 4, le modèle du canal sous écoute [13], avec certaines métriques pro-posées dans le but d’assurer la sécurité et la fiabilité des systèmes de communication. Donc, nous commençons par des définitions sur les principes de la sécurité de la couche physique. Par la suite, nous présentons les notions de bases de la capacité secrète, le taux de compression, le taux de trans-mission et le taux d’équivocation. Nous détaillons les méthodes de codage pour le secret faible et le secret fort. À la fin de ce chapitre, nous effectuons une analyse détaillée sur le code proposé dans [1], et puis, nous proposons un nouveau code sécuritaire de longueur n = 4, permettant de minimiser la quantité de fuite d’information. Une comparaison détaillée effectué sur ce code par rapport au code proposé dans [1] en termes de l’équivocation et le nombre de patrons qu’a une fuite d’information. Au chapitre 5, nous utilisons la notion de degrés de liberté (degrees of freedom) dans les messages chiffrés observés par l’attaquant [14]. Nous étudions comment un système spécifique de codage de ca-nal pratique peut être utilisé pour cacher des informations, augmentant ainsi la difficulté des attaques cryptographiques. La conception des codes repose sur le poinçonnage de codes LDPC non systéma-tique et sur les ensembles d’arrêt dans le décodeur. Nous présentons la sécurité pour les modèles avec

(23)

plusieurs récepteurs et les attaquants en collaboration. La sécurité cryptographique est renforcée dans tous ces cas, en exploitant les propriétés de la couche physique. À la fin de ce chapitre, nous reprodui-sons les courbes théoriques à partir des expressions de [14], [15], et aussi nous effectuons une série de simulations pour tracer les courbes de probabilité de sécurité où le nombre de degrés de liberté soit supérieur à une valeur de seuil D.

Le chapitre 6, quant à lui, se concentre principalement sur la ré-implémentation des systèmes proposés dans [3], [2] et [16]. La conception repose sur l’étude des applications de poinçonnage sur les codes LDPC et met l’accent sur la sécurité de la couche physyique. Nous présentons un système de codage pour le canal d’écoute gaussien AWGN sur la base de codes LDPC. Les messages sont transmis sur des bits poinçonnés à masquer les données à l’espion. Il est démontré par l’évolution de la densité que le BER (taux d’erreur par bit) d’un espion, augmente autour de 0.5 à moins de quelques (dB). Il est montré aussi, comment l’application de poinçonnage optimisé sur les codes LDPC peut être conçue dans le but d’atteindre une haute fiabilité entre des parties légitimes et la sécurité contre un espion passif tout en gardant l’écart de sécurité aussi faible que possible. Enfin, il est montré comment les codes LDPC non systématiques mis en œuvre par la matrice brouillage [16], peuvent être utilisés pour minimiser l’écart de sécurité.

Nous présentons, au chapitre 7, une conclusion générale récapitulant les travaux effectués dans ce mémoire de maîtrise. Nous y indiquons les contributions de ce mémoire. Nous présentons, à cet effet, quelques directions pour des investigations futures pouvant améliorer la sécurité cryptographique au niveau de la couche physique.

(24)
(25)

Chapitre 2

Quelques notions de théorie de

l’information

Dans ce chapitre, nous faisons un rappel de la théorie de l’information et résumons les idées sur le codage du canal secret. Ainsi, nous rappelons les notions du secret parfait de Shannon et son théorème de confidentialité parfaite. Nous donnons aussi des définitions sur les différents canaux utilisés dans ce mémoire, et à la fin de ce chapitre, nous abordons le sujet du modèle d’interconnexion des systèmes ouverts (OSI).

2.1

Notions de théorie de l’information

La théorie de l’information est la science qui s’intéresse à l’étude de l’information à transmettre par la détermination des ressources adéquates et nécessaires pour permettre une transmission fiable des informations depuis une source vers un destinataire. Le fondement de cette théorie fut inventé en 1948 par Claude Elwood Shannon [17] : il démontra la relation entre le taux de transmission et la capacité du canal de transmission, de telle sorte que l’on peut atteindre un taux d’erreur aussi proche de zéro que désiré si le taux de transmission est inférieur à la capacité du canal.

En effet, lorsqu’on peut minimiser la probabilité d’erreur à un niveau arbitrairement faible par l’ap-plication de codage du canal, on peut transmettre l’information dans un canal sous l’influence de bruit ou d’interférences sans perdre son contenu à la réception. Malheureusement, le théorème de codage n’indique pas comment construire les codes correcteurs d’erreurs. Plusieurs chercheurs ont approfondi leurs études dans ce sujet pour trouver des meilleures conceptions de codes pour atteindre la capacité de Shannon.

Aujourd’hui, on peut considérer que la théorie de l’information existe en tant que domaine propre, avec non seulement des applications en communication, mais aussi en statistique, en cryptographie, en informatique, en économie, en mécanique statistique, etc., comme illustré à la figure2.1.

(26)

Théorie de l'information Codage de canal Transmission Codage de source Compression Tests d'estimation Statistiques C lé secrète C ryptographic Complexité Informatique Investissement Economie Thermodynamique Mécanique statistique

FIGURE2.1: Relations entre la théorie de l’information et d’autres domaines scientifiques.

2.1.1 Mesure quantitative de l’information :

La quantité d’information (l’information propre) associée au message xiavec une probabilité d’occur-rence de p(xi)est définie comme une fonction logarithmique croissante de l’improbabilité 1/p(xi)où breprésente la base logarithmique [18], [19]. L’unité de mesure de l’information est exprimée soit en sh, logons ou hartley [19] : IX(xi) ∆ =logb 1 p(xi) =−logbp(xi) (2.1)

La quantité d’information de deux messages xiet yj, apportant la somme des quantités d’information de chaque message s’écrit comme suit :

IXY(xi,yj) = IX(xi) + IY(yj|xi) (2.2)

2.1.2 Fonction d’entropie

On définit l’entropie H(X) associée à une source d’information X, comme étant la moyenne de l’in-formation propre de chaque message xioù i = 0,..., N . L’entropie s’exprime comme suit [19] :

H (X )=∆ E[IX(x)] =

x∈X p(x) IX(x) = N

i=1 p(xi)IX(xi) =− N

i=1 p(xi)logbp(xi) (2.3) L’entropie d’une source représente la quantité d’information moyenne associée à chaque symbole de la source. Pour une source binaire avec une distribution de symboles de la source 0 ≤ p(x1)≤ 1 et p(x2) =1 − p(x1), l’entropie est donnée par :

H (X ) =−[p(x1)logbp(x1) + (1 − p(x1))logb(1 − p(x1))] (2.4)

2.1.3 Entropie conjointe

Soient deux variables aléatoires (discrètes) X et Y où X = {x1, x2, . . . , xK} et Y = {y1, y2, . . . , yJ}, l’entropie conjointe de X et de Y qui mesure l’incertitude sur X et sur Y est définie par [19] :

H (XY ) =−

x∈Xy

∈Y

p(x,y)logbp(x,y) =− K

k=1 J

j=1 p(xk,yj)logbp(xk,yj) (2.5)

(27)

2.1.4 Entropie conditionnelle

L’entropie conditionnelle de X étant donné Y , mesure l’incertitude sur X après l’observation de Y est définie [19] par :

H (X|Y ) = −

x∈Xy

∈Y

p(x,y)logbp(x|y) = − K

k=1 J

j=1 p(xk,yj)logbp xk yj  (2.6) 2.1.5 Information mutuelle

Soient deux variables aléatoires (discrètes) X et Y où X = {x1, x2, . . . , xK} et Y = {y1, y2, . . . , yJ}, l’information mutuelle I(X;Y) entre X et Y représente la quantité d’information que Y donne à propos de X (et l’inverse) [19] : I(X ;Y ) =

x∈Xy

∈Y p(x,y)logb  p (x|y) p(x)  = K

k=1 J

j=1 p(xk,yj)logb " p xk yj  p(xk) # (2.7) Le but du récepteur est de déduire le symbole X qui a été transmis connaissant la valeur Y reçue. On peut l’exprimer aussi sous la forme d’information mutuelle :

I(X ;Y ) = H(X )− H(X|Y ) (2.8)

L’information mutuelle I(X;Y) entre X et Y est plus grande ou égale à 0, I(X;Y) ≥ 0. Si l’entropie conditionnelle H(X|Y) = 0, alors le canal est parfait et a transmis l’information sans aucune erreur. Dans ce cas, la valeur de Y est déterminée par la valeur de X : l’incertitude sur cette première H(X) = 0. Donc, l’information mutuelle atteint le maximum lorsque I(X;Y) = H(X).

Si les deux variables X et Y sont indépendantes, H(X|Y) = H(X), ce qui donne I(X;Y) = 0, alors le canal est complètement bruité, et il est alors impossible de transmettre une information correcte sur ce canal. Le diagramme à la figure 2.2 réprésente, à titre intuitif, la relation entre l’entropie et l’informatiom mutuelle. ( ) H X émetteur ( ) H Y récepteur ( ) H Y X ( ) H X Y ( , ) H X Y I X Y( ; )

(28)

2.1.6 Chaîne de Markov

On dit que le triplet ordonné de variables aléatoires (X,Y,Z) est une chaîne de Markov si et seulement si :

p(z|x,y) = p(z|y) (2.9)

2.1.7 Canal de communication

On définit un canal de communication discret (voir figure2.3), comme étant un support qui permet de relier l’émetteur au récepteur afin de faciliter l’acheminement d’un message. Il consiste en un alphabet d’entrée X , un alphabet de sortie Y et une matrice de probabilité de transition P qui exprime la probabilité d’obtenir Y à la sortie du canal sachant que nous envoyons le symbole X. Le canal est dit sans mémoire si la distribution de probabilité du signal de sortie ne dépend que de l’entrée.

M message estimé M message n X Yn | Y X p Canal Encodeur Décodeur

FIGURE2.3: Système de communication.

La loi de transition entre X et Y est définie par la probabilité de chaque couple de valeurs d’entrée et de sortie, Y et X :

∀(X,Y ) ∈ X × Y, PY|X(y|x) =

PXY(x,y)

PX(x) (2.10)

2.1.8 Capacité d’un canal

On définit la capacité de canal C pour un canal discret sans mémoire comme suit [20] :

C=max p(x)I (X ,Y ) = maxp(x) K

k=1 J

j=1 p(xk, yj) I (xk, yj) (2.11)

où le maximum est pris sur toutes les distributions possibles d’entrée p(x).

2.2

Exemples des canaux de communication

2.2.1 Canal binaire symétrique (BSC)

Un canal est dit symétrique, si les lignes de la matrice de probabilité de transition P sont des permuta-tions des autres lignes et les colonnes sont des permutapermuta-tions des autres colonnes. Le cas le plus simple de canal discret sans mémoire DMC est le canal binaire symétrique BSC (voir la figure2.4), pour lequel l’alphabet d’entrée X = {0, 1}, l’alphabet de sortie Y = {0, 1} et sa matrice de probabilités de

(29)

transition P(y|x) est [19] : P = " (1 − ε) ε ε (1 − ε) # 1 x 2 x 1 y 2 y  1 1 1  p y x  

2 1 p y x  

1 2

p y x    2 2 1  p y x  

FIGURE2.4: Canal symétrique binaire (BSC).

2.2.2 Canal binaire à effacements (BEC)

Le canal binaire à effacements BEC, représenté à la figure 2.5, a été inventé en 1955 par P. Elias [21]. Dans ce canal, une partie de l’information est perdue et le reste demeure sans changement. Soit un canal discret sans mémoire BEC avec probabilité d’effacement ε, un alphabet binaire d’entrée X = {0, 1}, un alphabet de sortie ternaire Y = {0, 1, ?}, où ”?” représente un symbole effacé, et défini par une matrice de probabilités de transition [20],[19] :

P = "

1 − ε ε 0

0 ε 1 − ε

#

On peut exprimer ses valeurs comme suit :

PX|Y(0|0) = 1 − ε PX|Y(1|0) = 0 PX|Y(?|0) = ε PX|Y(0|1) = 0 PX|Y(1|1) = 1 − ε PX|Y(?|1) = ε

2.2.3 Canal à effacement de paquets (PEC)

La transmission des données en paquets est différente de celle par bits. Ici, les données sont regroupées sous forme des groupes de bits appelés paquets qui peuvent aller de quelques octets (8 bits) à plusieurs Giga-octets. Dans ce cas, on introduit un modèle plus général appelé canal à effacement de paquets où les données après la transmission sont bien reçues ou sont effacées comme illustré à la figure2.6. Il y a plusieurs systèmes de détection des erreurs assurant l’intégration du paquet tel que : CRC, "checksum" TCP ou UDP, et les fonctions de hachage [22].

(30)

1 x 2 x 1 y 3 y

1 1

1  p y x  

2

1 p y x  

2 2

p y x   2 y

3 2

1  p y x  

FIGURE2.5: Canal binaire avec effacement (BEC).

M

M X Y

Encodeur Décodeur

p paquet reçu

paquet perdu

FIGURE2.6: Modèle de canal à effacement de paquet (PEC).

2.2.4 Canaux additifs gaussiens (AWGN)

On appelle un canal à bruit blanc gaussien additif (AWGN), un canal de transmission dans lequel les données transmises sont affectées par un bruit blanc gaussien de moyenne nulle et de variance σ2. La distribution de ce bruit se définit par la loi normale N (0, σ2)et on considère que ce bruit a une densité spectrale de puissance constante de N0/2 sur la bande de fréquences du canal [6]. Le signal de sortie Yn= Xn+ Zn, avec Zn∼ N 0, σZ2



, comme illustré à la figure2.7.

1, , , ,

source d'information n N XX X X

1, , , , séquence reçue n N YY Y Y

1, , , ,

bruit additif gaussien

n N

ZZ Z Z

canal

entrée sortie

(31)

2.3

Modèle de canal de communication sécurisé

2.3.1 Modèle de canal de communication sécurisé de Shannon

Dans un système de communication, notre souci est de rendre une communication établie entre deux parties légitimes bien sécurisée et fiable, où d’une part, un récepteur légitime peut recevoir les mes-sages envoyés sans aucune erreur, et d’autre part, l’espion ne doit permis récupérer des informations

concernant ces messages. En 1949, Shannon a présenté [17] les principales notions d’un système

secret tel que présenté à la figure2.8. Il est constitué de deux parties légitimes, un émetteur et un ré-cepteur, appelés respectivement Alice et Bob. La communication se déroule en présence d’un espion nommé Eve.

clé secrète K

M M

Alice Encodeur Décodeur Bob

Eve

X

message

message mot de code

FIGURE2.8: Modèle de canal de communication sécurisé proposé par Shannon [4].

Lorsque Alice code son message M en mot de code X et l’envoie via un canal de communication à Bob, Eve essaie d’intercepter le message par le biais de son canal. Dans le pire des cas, le canal de l’espion n’est pas dégradé et est sans bruit. En réalité, les systèmes de communication sont affectés par le bruit, lequel engendre des erreurs. À cet effet, il y a des systèmes de codage reposant sur la compression et la redondance pour minimiser la probabilité d’erreur. D’autres conceptions sont basées sur l’utilisation de la cryptographie pour permettre à l’émetteur et au récepteur légitimes de partager entre eux une clé secrète K [4]. Dans ce cas, le mot de code X est obtenu par l’application des algorithmes de chiffrements appropriés.

2.3.2 Confidentialité parfaite de Shannon

Shannon a défini dans [17] la notion de secret qui eut une influence sur la sécurité cryptographique, en se basant sur le calcul de l’équivocation (entropie conditionnelle) de l’espion. Plus tard, cette définition a fondé les bases de la cryptographie moderne. Pour l’étude de la sécurité d’un système cryptogra-phique, il y a deux grands concepts : la notion de confidentialité parfaite de Shannon et le concept de sécurité calculatoire. Intuitivement, la confidentialité parfaite est définie à la base lorsqu’un espion n’a pas la possibilité d’obtenir les informations sur les messages en clair en interceptant les messages chiffrés. Shannon a modélisé que, les messages et les mots de codes comme des variables aléatoires, de telle sorte que la confidentialité parfaite est atteinte si la quantité H(M|X) égale à l’entropie de

(32)

message M [4].

H(M|X) = H(M) (2.12)

Soit un texte clair x et un texte chiffré y. On dit qu’un système cryptographique assure une confiden-tialité parfaite si l’on a p(x|y) = p(x), c’est-à-dire, si la probabilité de x après l’observation de y est égale à la probabilité x.

2.3.3 Caractérisation de la confidentialité parfaite

Nous supposerons un système cryptographique constitué d’un ensemble fini P de messages clairs, d’un ensemble fini D de messages chiffrés, et d’un ensemble fini K de clés. Pour chaque clé K ∈

K on suppose une fonction injective de chiffrement eK de P dans D et une fonction injective de

déchiffrement dK de eK(P) dans P de telle sorte que dK◦ eK= dK(eK) = IdP. Théorème de Shannon

Soit une procédure de chiffrement telle que le nombre d’éléments dans P, dans D et dans K soient tous égaux à un certain entier n > 0. Ce système assure une confidentialité parfaite si, et seulement si, chaque clef est utilisée avec une probabilité 1n (toutes les clés sont équiprobables), et pour chaque message est clair x ∈ P et pour chaque message chiffré y ∈ D, il existe une clé unique K ∈ K telle que eK(x) = y(et donc dK(y) = x).

Exemple :Dans la réalisation de la confidentialité parfaite, on peut citer le chiffrement célèbre de Vernam, également connu sous les noms de masque jetable ou one-time-pad, comme illustré à la figure

2.9. Il fut inventé par Gilbert Vernam en 1917 pour chiffrer et déchiffrer des messages télégraphiques. Il est intéressant de noter que le chiffrement de Vernam fut admis "incassable" pendant des années avant que Shannon ne le prouve trente ans plus tard grâce à la notion de confidentialité parfaite.

Message

M

0 1 0 1 0 0 0 1 1 0 1

Clé

K

1 0 0 1 1 0 0 0 1 0 1

Message chiffré M ⊕ K 1 1 0 0 1 0 0 1 0 0 0

FIGURE2.9: Exemple de chiffrement avec masque jetable OTP (chiffrement de Vernam) [4].

Soit un entier n ≥ 1 fixé et soient P = D = K = Zn

2, c.-à-d. que les messages en clair, les messages chiffrés et les clés sont des vecteurs de n bits définis sur Zn

2={0, 1}n. Pour K = (K1, K2, . . . , Kn)∈ Zn2 et x = (x1, x2, . . . , xn), on définit :

(33)

où ⊕ est l’opération de ou-exclusif (XOR). L’opération de déchiffrement est identique à l’opération de chiffrement, de sorte que, si y = (y1, y2, . . . , yn), l’opération de déchiffrement est définie comme :

dK(y) = (y1⊕ K1, y2⊕ K2, . . . , yn⊕ Kn) (2.14)

car l’addition et la soustraction modulo 2 sont identiques sous l’opération ⊕. Par l’application du théorème de Shannon, on déduit que le chiffrement de Vernam assure une confidentialité parfaite. Si on ne connaît que le texte chiffré et que toutes les clés sont équiprobables, alors tous les textes clairs sont possibles et avec la même probabilité. Néanmoins, ce procédé est vulnérable, parce que après plusieurs attaques, la connaissance d’une partie du texte clair et du chiffré correspondant donnent la partie de la clé utilisée [23]. En effet, si on connaît le texte chiffré y = (y1, y2, . . . , yn)et le texte clair correspondant x = (x1, x2, . . . , xn), alors on retrouve la clé k utilisée en calculant :

(x1⊕ y1, x2⊕ y2, . . . , xn⊕ yn) = K (2.15)

Ceci tient au fait de la propriété du ou-exclusif : b ⊕ b = 0 quelle que soit la valeur du bit b. Si y= eK(x), alors quel que soit i = 1,··· , n, xi⊕ Ki= yi:

xi⊕ yi= xi⊕ (xi⊕ Ki) = xi⊕ xi | {z } =0

⊕Ki= Ki (2.16)

En résumé, la connaissance du ième bit x

ide x et du ièmebit yi de y permet de retrouver le ièmebit Ki de la clé K utilisée.

On peut assurer la confidentialité parfaite par le chiffrement de Vernam OTP il faut que la taille de la clé soit identique à celle du message chiffré, que la clé soit utilisée une seule fois, et que la clé soit choisie d’une manière aléatoire.

2.4

Cryptographie et couche physique

2.4.1 Architecture en couches de protocoles

Une pile de protocoles est construite d’un ensemble de protocoles [24], chaque protocole ayant une fonctionnalité dans les communications réseau. On peut citer les quelques modèles suivants :

– Le modèle de référence pour l’interconnexion des systèmes ouverts (OSI/ISO). – Le modèle Internet.

Une comparaison entre les deux modèles est illustrée à la figure2.10. Les composantes d’une pile de protocole sont :

1. Couche physique : Les bits d’informations sont transférés sous formes des signaux et transpor-tés via un support de communication (cuivre, fibre optique, etc.).

2. Couche liaison : Permet l’envoi et la réception de paquets d’informations entre deux équipe-ments voisins tout en gérant le partage du même support physique.

(34)

3. Couche réseau : Ajoute la notion de routage des paquets d’information depuis une adresse source et en les transférant de proche en proche vers une adresse destination.

4. Couche transport : Gère les communications de bout en bout entre processus.

5. Couche session : Le modèle OSI définit ici la synchronisation des échanges et les « transactions », et permet l’ouverture et la fermeture de session.

6. Couche présentation : Définit la représentation des données de l’application et se charge de leur codage/décodage.

7. Couche application : Cette couche fournit simplement le point d’accès au réseau par les appli-cations. . Application Transport Réseau Liaison Physique Application Transport Réseau Liaison Physique Présentation Session

FIGURE2.10: Comparaison entre pile de protocoles de modèle Internet (à gauche) et modèle OSI (à

droite).

2.4.2 Sécurité calculatoire et parfaite au niveau de la couche physique

De nombreux systèmes de chiffrement mis en place aujourd’hui mesurent la sécurité et la complexité calculatoire des attaques. Si toutes les attaques connues sont intraitables au niveau de la complexité calculatoire, ce système est considéré comme sûr. Les principaux défauts de cette notion de sécurité sont les hypothèses faites sur l’attaquant [14]. Tout d’abord, il est supposé que l’attaquant possède des ressources limitées pour faire face au problème, même si ces ressources sont à l’état de l’art. Deuxièmement, on suppose que l’attaquant utilise des attaques qui sont de notoriété publique, même si une meilleure attaque peut exister. Claude Shannon a abordé ces lacunes en définissant la notion de secret parfait (le système cryptographique est parfait si la connaissance du message chiffré n’apporte aucune information sur le message clair). Soit un message secret M chiffré en un cryptogramme E à l’aide d’une clé secrète K. Le secret parfait est obtenu si H(M|E) = H(M). Shannon a également prouvé que le secret parfait ne peut être atteint que si la clé est au moins aussi longue que M, ce qui

(35)

est clairement impraticable. Cependant, le secret parfait fait également l’hypothèse de la limitation à un attaquant qui a accès à un cryptogramme sans erreur, ce qui peut ne pas être le cas dans la pratique. La figure 2.11illustre une approche multicouche de sécurité, comprenant la cryptographie et de la sécurité de la couche physique, dans un environnement de perte de paquets avec retour authentifié pour Bob [14]. ) ( ) (

M ˆ M Y Z C E P C E P m Q w Q M Encodeur X Décodeur Décodeur canal de retour Alice Bob Eve Chiffrement Déchiffrement Déchiffrement Clé E E ˆE Clé

FIGURE2.11: Présentation générale d’une approche multicouche de sécurité [5].

Aaron Wyner [4], [13], a introduit plus tard le modèle de canal sous écoute, avec une nouvelle condi-tion pour le secret. Soit un message M de longueur k, codé par un mot de code X de longueur n, puis transmis. Le taux de codage est R = k/n. Un récepteur légitime obtient Y sur le canal principal dénoté Qm, et un espion obtient Z sur un canal sous écoute dénoté Qw. La condition du secret est

lim k→∞

I(M; Z)

k =0 (2.17)

où k représente la longueur de la séquence d’information. Wyner [13], [4] a montré que des taux allant jusqu’à la capacité de secret Csqui caractérise la limite fondamentale de communications sécurisées sur des canaux bruités, existent avec des encodeurs et décodeurs qui peuvent satisfaire (2.17) et réa-liser une probabilité d’erreur arbitrairement faible. Ceci est connu comme le modèle de canal sous écoute dégradé. Csiszar et Korner [25] ont généralisé plus tard ces résultats pour enlever la restriction de canal dégradé, mais en montrant encore que Cs>0, si Qmest moins bruité que Qw[14].

Mais un autre des principaux défis dans ce domaine a été la conception de systèmes pratiques qui permettent d’atteindre les taux de secret déterminés par la théorie. Ces systèmes exploitent le bruit dans le canal au niveau de la couche physique du système de communication. Les conceptions pra-tiques maximisant le secret dans la théorie de l’information ne sont pas négligeables. Par exemple, la conception de code est souvent fonction de paramètres de canaux spécifiques CSI (channel state infor-mation) vu par des récepteurs légitimes et des espions. Sans connaissance précise de l’état du canal, les résultats de ces systèmes ne sont pas garantis. Par conséquent, les canaux avec divers paramètres non connus posent des problèmes de conception. D’autres codes permettent la transmission secrète pour des types spécifiques de canaux [14], ou seulement lorsque le canal de l’espion est dégradé. D’autres modèles sont impraticables dans le monde réel en raison de la complexité de la conception,

(36)

de l’information latérale nécessaire pour le décodage légitime, ou d’autres limitations [14]. Enfin, la lacune la plus flagrante de tout schéma qui dérive de la sécurité de la couche physique d’un système de communication, est que si un espion a un meilleur canal que le récepteur légitime, le schéma est susceptible d’échouer. Le cas extrême est quand un espion a un canal sans bruit et que Z = X. Il est clair que cela nécessite un schéma de sécurité de la couche physique pour être couplé avec une autre protection afin de préserver le secret dans le pire des cas.

2.5

Conclusion

Dans ce deuxième chapitre nous avons présenté les éléments de base relatifs à la sécurité et à la fiabilité sur la base des notions de théorie de l’information. Nous avons insisté sur les points que nous consi-dérons comme essentiels pour la bonne compréhension de la suite du mémoire. Nous avons donné un bref apperçu sur le codage du canal secret en impliquant la couche physique et la couche d’application cryptographique. Dans la suite du mémoire, nous nous intéressons à la définition des méthodes repo-sant sur le codage secret pour sécuriser les communications. Le chapitre suivant s’intéresse au codage de canal et en particulier aux codes LDPC.

(37)

Chapitre 3

Codes correcteurs LDPC et décodage

itératif

Le codage de canal est considéré comme une pièce importante dans les systèmes de communication modernes. À titre d’illustration, on peut mentionner le codage linéaire en bloc qui est utilisé dans les standards CD et DVD et les codes pour LDPC qui seront utilisés pour récupérer les pertes de paquets dans les réseaux qui distribuent leurs contenus sur l’internet.

Dans ce chapitre, nous donnons une vision introductoire mais relativement détaillée de la théorie mo-derne du codage de canal. En particulier, nous voyons la théorie des codes LDPC avec les algorithmes de décodage itératif.

3.1

Codage de canal

Dans le cas d’un canal soumis à des perturbations, le codeur joue un rôle très important dans la pro-tection du message pendant sa transmission. En effectuant des opérations sur la sortie de la source avant de transmettre l’information telle que la modulation, la compression et l’ajout des bits de redon-dances, le décodeur peut restituer à la réception, l’information transmise par la source avec fiabilité. La figure3.1représente une chaîne de transmission classique qui comporte les composantes de base d’un système de communication typique :

Source

d'information Émetteur Canal Récepteur Destinataire

Source de perturbations message émis signal émis signal reçu message reçu bruit et distorsions

(38)

Source d’information : La source d’information délivre le message porteur de l’information. De nature analogique ou numérique, elle peut être un signal audio, une vidéo, une image, un texte ou des données brutes.

Émetteur : L’ensemble des opérations effectuées sur la source (modulation, compression, ajout de

redondance, etc).

Codage de source : Le coût élevé de l’usage du canal de transmission exige l’optimisation des

ressources nécessaires à la transmission (durée, puissance de canal, bande passante, etc.) afin de mi-nimiser les coûts. On peut découper le message source en blocs de k bits aussi courts que possible ou le compresser afin de réduire le nombre de bits à transmettre. De ce fait, on augmente l’efficacité. Codage de canal : Le rôle principal du codage du canal est la protection de l’information transmise contre les effets du bruit imposés par les caractéristiques physiques du canal de transmission. Le codage consiste ainsi à modifier le contenu de l’information par l’ajout de symbole de redondance, faisant ainsi une adaptation entre la source et le canal de transmission afin de minimiser la probabilité d’erreur, et augmenter ainsi la résistance du système de communication contre l’effet de bruit de canal. Décodage canal : Le décodeur de canal se fait au niveau du récepteur, permettant ainsi la restitution du message émis par l’application des algorithmes et des méthodes de décodage bien définies pour la détection et la correction des éventuelles erreurs de transmissions.

Canal : Le canal est le médium physique dans lequel transite l’information (codée) : ligne télépho-nique, liaison radio, support magnétique, diffusion vidéo numérique, etc.

Récepteur : La reconstruction à partir de la sortie du canal de l’information fournie par la source.

Décodage de source : Le décodage de source effectue l’opération inverse du codage, il permet de

reconstituer le message initial à partir des séquences de substitution par l’exécution des algorithmes appropriés de décodage de source (décompression par exemple).

3.2

Codes correcteurs et détecteurs des erreurs

La polyvalence des codes correcteurs d’erreurs dépend de leurs performances et de leurs méthodo-logies, mais le principe de base est toujours le même, c.-à-d., l’ajout de symboles de redondance au message à transmettre pour pouvoir détecter, à la réception, les éventuelles erreurs et les corriger pour restituer le message original. On distingue deux grandes familles de codes correcteurs d’erreurs :

– Les codes en blocs (codes algébriques, codes linéaires, Hamming, BCH, RS, LDPC). – Les codes convolutifs (codes en treillis, turbo-codes).

(39)

Codes linéaires en bloc

Le codage en bloc consiste à associer à chaque bloc de données de k symboles à l’issue de la source d’information, un vecteur c, appelé mot de code. Le mot de code en bloc (n, k), est de longueur n et de dimension k. La quantité (n − k) représente les symboles de redondance introduits par le code, le rapport k/n est appelé le rendement du code ou le coefficient d’efficacité. Les symboles du message d’information et du mot de code prennent typiquement leurs valeurs sur un corps fini de Galois GF(2). On définit la distance de Hamming entre deux vecteurs, comme étant le nombre de bits dont ils dif-fèrent. La distance minimale d’un code linéaire C, notée dmin, est égale au poids minimum de tous les mots de codes non-nuls :

dmin(C) = min w(c, c0)

c,c0∈C, c6=c0 (3.1)

On peut donc représenter le code linéaire par les trois paramètres (n, k, dmin), où n est la longueur du code, k sa dimension et dminsa distance minimale. Le poids d’un mot de code w(c) est égal au nombre de ses eléments non nuls.

Pour le cas d’un code en bloc linéaire, on définit la matrice génératrice G du code, construite à l’aide de vecteurs de la base. Chaque code en bloc linéaire C(n, k) est défini par sa matrice génératrice de k lignes et n colonnes. Le mot de code est alors égal à :

c = m· G (3.2)

À noter que la représentation du code fourni par G n’est pas unique. Elle peut être écrite sous la forme G = [Pk×(n−k)|Ik], où Ik la matrice d’identité et P une matrice de dimension k × (n − k). En effet, à partir d’une matrice génératrice G donnée, une autre matrice génératrice G0 peut être obtenue en effectuant des opérations de permutation des lignes ou des colonnes. Ensuite, une opération de codage défini par c = m ·G0assigne le message m à un mot de code en C, mais ce n’est pas nécessairement le même mot de code que l’on obtiendrait à l’aide de la matrice génératrice G [6].

À la réception, on définit la matrice de contrôle de parité dénotée H de taille (n−k)×n, avec laquelle, on doit restituer le message émis de la source. On dit alors que le mot de code est valide si et seulement si :

c· HT = 0 (3.3)

À la figure3.2, on présente les différentes étapes que subit le mot source depuis son émission jusqu’à sa réception. Dans le canal, le mot de code va subir l’effet de bruit par l’addition d’une séquence d’erreur. À la réception, on aura le message reçu suivant :

(40)

Encodeur linéaire G C a n a l b r u i t é   r c e

c

Décodeur linéaire H

m

r

m

FIGURE3.2: Codage de canal pour un canal bruité.

On définit, à la réception, le syndrome s de longueur (n − k), utilisé pour la détection et la correction des éventuelles erreurs de transmission. Il est en relation directe avec la séquence d’erreur e :

s =r· HT s =(c + e)· HT s =c· HT + e· HT s =e· HT (3.5)

Si la valeur du syndrome est non nulle, cela indique la présence d’erreur dans le mot code reçu. Dans le cas contraire, il n’y pas eu d’erreur de transmission.

3.3

Codes à faible densité de parité LDPC

Les codes à faible densité de parité LDPC ont été inventés par Robert Gallager en 1962 [26], mais vu leur complexité de décodage qui dépassait les capacités disponibles des moyens techniques à cette date, ces codes ont été négligés pendant 30 ans, jusqu’à 1981 où Tanner [27] a donné une nouvelle interprétation d’un point de vue graphique. Dans les années 90, Mackay et Neal [28] ont approfondis les recherches et études effectuées sur les codes LDPC. Depuis, les codes LDPC constituent un do-maine de recherche très actif, et ils sont aujourd’hui incontournables dans le dodo-maine de la théorie des codes. Ces codes sont caractérisés par leur matrice de contrôle de parité H. Dans le cas binaire, cette matrice a la particularité de ne contenir que quelques bits non-nuls par rapport aux bits "0", c.-à-d., une faible densité de valeurs de "1" (matrice creuse) comme illustré à la figure3.3.

3.3.1 Représentation graphique des codes LDPC

Les représentations graphiques ont été introduites pour visualiser les fonctions globales compliquées qui peuvent être factorisées en produits de fonctions «locales». Le but principal est de faciliter la compréhension du déroulement du processus de décodage itératif, en particulier, l’algorithme somme-produit qui calcule diverses fonctions marginales dérivés d’une fonction globale. Donc, on peut re-présenter graphiquement les codes LDPC à l’aide d’un graphe bipartite qui exprime la structure de la factorisation, appelé aussi graphe de Tanner [27]. Il est composé de deux sous ensembles de nœuds :

– Le premier est constitué de n nœuds représentant les n bits d’un mot de code et est appelé l’ensemle des nœuds de variables V.

(41)

0 100 200 300 400 500 600 700 800 900 1000 0 100 200 300 400 500 nz = 5000

FIGURE3.3: Matrice de parité d’un code LDPC régulier (5, 10) de taille n = 1000 et de rendement

R=0.5.

– Le deuxième est constitué de k nœuds appelé l’ensemle des nœuds de parités U représentant les contraintes de parité.

Le graphe possède des arêtes signifiant les liens entre les nœuds de variables et nœuds de parités. Un nœud de variable visera connecté au nœud de parité ui dans la matrice, si hi, j =1. Noter qu’il n’y a pas de connections entre nœuds de même type. La figure3.4représente le graphe de Tanner GT d’un code LDPC. 0 u u1 u2 u3 u4 u5 0 v v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 U V

Noeuds de variable

Noeuds de parité

(42)

Pour chaque nœud de parité, la somme modulo 2 des bits correspondants aux nœuds variables adja-cents est nulle.

3.3.2 Représentation matricielle des codes LDPC

Un code LDPC est défini par sa matrice de parité H(n−k)×n. Cette matrice vérifie les propriétés sui-vantes :

– Chaque ligne comprend un nombre d’éléments non-nuls wr;

– Chaque colonne comprend un nombre d’éléments non-nuls wc;

– Le nombre de "1"s communs entre deux colonnes quelconques n’est pas plus grand que 1. La matrice H est à faible densité si wr n et wc s. La matrice de parité H pour le code LDPC régulier (3, 6) défini par le graphe de Tanner de la figure3.4est donnée par :

H =            1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 1           

Le système linéaire correspondant, où les {xi}1≤i≤12sont les variables représentant les bits, est alors :

H =            x1⊕ x2⊕ x4⊕ x9⊕ x10⊕ x12 x1⊕ x2⊕ x3⊕ x4⊕ x5 x8 x1⊕ x3⊕ x5⊕ x6 x10⊕ x11⊕ x4⊕ x5⊕ x6⊕ x7⊕ x9⊕ x11⊕ x2⊕ x3 x7⊕ x8 x11⊕ x12 x6⊕ x7⊕ x8⊕ x9⊕ x10⊕ x12 =0 =0 =0 =0 =0 =0           

3.3.3 Codes réguliers et irréguliers

Les codes LDPC sont groupés en deux classes suivant les distributions des éléments non nuls : les codes LDPC réguliers et les codes LDPC irréguliers.

Un code LDPC (wc, wr) régulier [26], [6], est un code en bloc binaire C(n, k) qui a une matrice de parité H avec un petit nombre fixe wc de "1" dans chaque colonne et un petit nombre fixe wr de "1" dans chaque ligne. Nous notons wrle degré de nœud de variable et wc le degré de nœud de parité. La figure3.5représente la matrice de parité du code LDPC régulier C(20, 3, 4). Un code LDPC irrégulier [29], [28], [26], est un code en bloc binaire (n, k) qui a une matrice de parité H, avec un petit nombre de "1" dans chaque colonne et un petit nombre de "1" dans chaque ligne. Le degré de nœud de variable et le degré de nœud de parité n’est pas constant sur les lignes et / ou les colonnes.

(43)

1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0  H 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1                                                

FIGURE3.5: Exemple d’une matrice de parité du code LDPC régulier C(20,3,4) [6],[7].

Parfois, wret wc sont appelés poids de la ligne (row weight) et poids de la colonne (column weight), respectivement. Soit F le nombre total de "1" dans la matrice de contrôle de parité. Avec F = n ·wr= s· wc[6], nous obtenons le taux de codage R des codes LDPC réguliers comme [10] :

R=k n = n− s n =1 − s n=1 − wc wr (3.6) 3.3.4 Distribution des degrés des nœuds dans un graphe de code LDPC

Nous caractérisons une classe de codes LDPC réguliers par un degré de nœuds de variable et un degré de nœuds de parité. De la même façon, on associe une distribution de degrés avec une classe de codes LDPC irréguliers. La spécification des degrés du point de vue d’arête, λidésigne la fraction des arêtes liées à tous les nœuds de variables qui ont un certain degré wr= i. De même, ρj désigne la fraction des arêtes liées à tous les nœuds de parité qui ont un certain degré wc= j.

Soit wr,maxle plus haut degré de nœud de variable et wc,maxle plus haut degré de nœud de parité. Le nombre total d’arêtes F (ou de façon équivalente le nombre total de "1" dans la matrice de contrôle de parité) est égal à [10] :

F=1 n wr,max

i=1 λi i = 1 s wc,max

i=1 ρj j (3.7)

De même, nous définissons le degré moyen de nœuds de variable ¯wret le degré moyen de nœuds de

parité ¯wcpour les codes LDPC irréguliers comme ¯wr=

F n; ¯wc=

F

(44)

où n est le nombre de nœuds de variable et s = n − k le nombre de nœuds de parité. Le taux de conception de code (code design rate) pour les codes irréguliers résultant est :

R=1 − ¯wc ¯wr

(3.9) Nous pouvons représenter la distribution des degrés par des polynômes du point de vue des arêtes. Les polynômes associés sont :

λ (x) =∆ wr,max ∑ i=1 λix i−1 ρ (x) =∆ wc,max ∑ j=1 ρjx j−1 (3.10)

où λi et ρi sont les fractions des arêtes connectées respectivement aux nœuds symboles (variables) et aux nœuds de parité n. Ces polynômes déterminent également le taux de codage de code pour les codes irréguliers qui devient :

R=1 − 1 R 0ρ (x)dx 1 R 0 λ (x)dx =1 − ∑ j ρj j ∑ i λi i (3.11) Lorsque la matrice possède une structure par bloc on pourra appliquer ces critères aux différents blocs afin de déterminer le caractère régulier ou irrégulier du code.

3.3.5 Notion de cycle dans un graphe de Tanner

Un graphe de Tanner de code LDPC est caractérisé par un cycle lorsqu’il existe un chemin pour quitter et revenir au même nœud de variable sans passer par les mêmes arêtes. Dans le cas où le graphe contient des cycles, on appelle le nombre de branches constituant un cycle, la longueur de ce cycle. On appelle "girth" du graphe, la longueur minimale des cycles sur ce graphe. Ce dernier a un impact sur les performances d’un code LDPC. Un exemple de cycles de longueurs 4, 6 et 8 est illustré à la figure3.6. Un graphe sans cycles est appelé un arbre. On note que l’existence des cycles influe négativement sur les performances d’un code LDPC.

1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1             1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1             1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1             1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Figure

tableau 4.1 : fuites d’informations selon le nombre d’effacements. . . . . . . . . .
Tableau 4.1: Structure imbriquée d’un code secret [1].
Tableau 4.3: Analyse de fuites d’informations du code secret présenté par Harrison et al.[1] au tableau 4.1 : fuites d’informations selon le nombre d’effacements.
Tableau 4.5: Analyse de la fuite d’information pour le code secret proposé selon le nombre d’efface- d’efface-ments.
+4

Références

Documents relatifs

Cependant, alors que la position des femmes françaises en Europe est la meilleure pour les maladies cardio-vasculaires et un peu au dessous de la moyenne pour la mortalité par

Index calculus works in the same way : 1024 bits are necessary for 80 bits of security Elliptic curves and genus 2 (hyperelliptic) curves for which nobody knows better attacks

deux directions : la géographie médicale ou encore géographie des maladies (répartition, prévalence des maladies), et la géographie des soins de santé (accès et recours aux

Non-elective Core Courses 18 ECTS ECTS Teaching teams Security models: proofs, protocols and politics 6 Autreau, Lafourcade, Roch Symmetric and asymmetric cryptology – PKI 6

Security models: proofs, protocols and politics 6 Autreau, Lafourcade, Roch Symmetric and asymmetric cryptology – PKI 6 Dumas, Elbaz-Vincent.. System administration and

–  MAC Message authentication codes (avec une clef secrète) –  Intégrité. –  Reconnaissance de programmes ou

Difficile (énumérer tous les mots !) si la matrice est mélangée Clef publique : matrice génératrice permutée.. Modélisation, notations,

Un canal de transmission donné doit pouvoir transporter des messages de nature variée d’où la nécessité d’un transcodage permettant de transformer la représentation des