Théorie de l Information, codage correcteur d erreurs

Documents pareils
Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Amphi 3: Espaces complets - Applications linéaires continues

Une introduction aux codes correcteurs quantiques

Cryptographie et fonctions à sens unique

Quantification Scalaire et Prédictive

Introduction à l étude des Corps Finis

Théorie et codage de l information

Image d un intervalle par une fonction continue

Cryptographie Quantique

Université Montpellier II Sciences et Techniques du Languedoc MÉMOIRE DE STAGE DE MASTER M2

Correction du Baccalauréat S Amérique du Nord mai 2007

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Fonctions de plusieurs variables

Rupture et plasticité

Espérance conditionnelle

Polynômes à plusieurs variables. Résultant

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48


Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Exercices - Polynômes : corrigé. Opérations sur les polynômes

I. Polynômes de Tchebychev

Programmation linéaire

Chapitre VI - Méthodes de factorisation

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Calcul fonctionnel holomorphe dans les algèbres de Banach

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Résolution d équations non linéaires

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Relation entre deux variables : estimation de la corrélation linéaire

3. Conditionnement P (B)

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

ISO/CEI NORME INTERNATIONALE

Quelques tests de primalité

Texte Agrégation limitée par diffusion interne

Circuits RL et RC. Chapitre Inductance

Cryptographie. Cours 3/8 - Chiffrement asymétrique

ÉPREUVE COMMUNE DE TIPE Partie D

Sujet 4: Programmation stochastique propriétés de fonction de recours

Loi d une variable discrète

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Programmes des classes préparatoires aux Grandes Ecoles

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Commun à tous les candidats

Intégration et probabilités TD1 Espaces mesurés Corrigé

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Correction du baccalauréat ES/L Métropole 20 juin 2014

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Chapitre 2. Eléments pour comprendre un énoncé

Simulation de variables aléatoires

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Filtrage stochastique non linéaire par la théorie de représentation des martingales

3 Approximation de solutions d équations

Transmission d informations sur le réseau électrique

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Communications numériques

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Le multiplexage. Sommaire

Représentation des Nombres

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Cours Fonctions de deux variables

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

I. Introduction. 1. Objectifs. 2. Les options. a. Présentation du problème.

Cours d analyse numérique SMI-S4

Chapitre 2 : communications numériques.

Intégration et probabilités TD1 Espaces mesurés

Travail d intérêt personnel encadré : La cryptographie

Probabilités sur un univers fini

Calculabilité Cours 3 : Problèmes non-calculables.

La couche physique de l ADSL (voie descendante)

Panorama de la cryptographie des courbes elliptiques

Université de La Rochelle. Réseaux TD n 6

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Pour l épreuve d algèbre, les calculatrices sont interdites.

Expérience 3 Formats de signalisation binaire

Extrait du poly de Stage de Grésillon 1, août 2010

Principe de symétrisation pour la construction d un test adaptatif

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Qu est-ce qu un ordinateur quantique et à quoi pourrait-il servir?

Chaine de transmission

Optimisation Discrète

Correction du baccalauréat S Liban juin 2007

I. TRANSMISSION DE DONNEES

Le codage informatique

Cours de mathématiques

Algorithmes pour la planification de mouvements en robotique non-holonome

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Chapitre 13 Numérisation de l information

Transcription:

Théorie de l Information, codage correcteur d erreurs Gilles Zémor Institut de Mathématiques de Bordeaux Novembre 2008, ENSTA

Canal binaire symétrique Émission : vecteur de n bits 0 1 1 0 1 0 1 1 Canal

Canal binaire symétrique Émission : vecteur de n bits 0 1 1 0 1 0 1 1 erreurs aléatoires Canal 0 0 1 1 1 0 1 1

Canal binaire symétrique Chaque symbole (bit) subit indépendamment : 0 1 1 p p p 1 p 0 1 (Vecteur reçu) = (Vecteur émis) + (Vecteur erreur) #erreurs = Poids(vect erreur) = distance de Hamming(émis,reçu) pn distance de Hamming(x, y) = d H (x, y) = poids(x y).

Théorème de Shannon La capacité du canal binaire symétrique est C = 1 h(p). Théorème. Pour tout ε > 0, il existe un code C {0, 1} n, de rendement R 1 h(p) ε, i.e. de cardinalité C 2 n(1 h(p) ε), tel qu avec probabilité arbitrairement proche de 1, le mot de code le plus proche (pour la distance de Hamming) du vecteur reçu est le mot de code émis. C = 1 h(p) : le sup des rendements avec lesquels on peut communiquer de manière fiable.

Théorème de Shannon La capacité du canal binaire symétrique est C = 1 h(p). Théorème. Pour tout ε > 0, il existe un code C {0, 1} n, de rendement R 1 h(p) ε, i.e. de cardinalité C 2 n(1 h(p) ε), tel qu avec probabilité arbitrairement proche de 1, le mot de code le plus proche (pour la distance de Hamming) du vecteur reçu est le mot de code émis. C = 1 h(p) : le sup des rendements avec lesquels on peut communiquer de manière fiable. Preuve. Il suffit de choisir le code C au hasard!

Interprétation géométrique du théorème de Shannon t Vol = 2 nh(p) Volume d une boule de Hamming de rayon pn : ( ) ( ) ( ) n n n 1 + + + + 2 nh(p). 1 2 pn Les boules centrées en les mots de C aléatoire, C = 2 n(1 h(p) ε), couvrent presque l espace {0, 1} n et sont presque disjointes.

Codes linéaires une matrice H de dimension r n définit la fonction syndrome : σ : {0, 1} n {0, 1} r x σ(x) = H t x Le code linéaire associé est le sous-espace vectoriel de F n 2 {x σ(x) = 0} On dit que H est une matrice de contrôle du code C. Sa dimension est dim(c) = k = n r.

Décodage par syndrome Mot de code émis : c Vecteur reçu : x x = c + e où e vecteur (erreur) de poids t (t symboles erronés). σ(x) = σ(c) + σ(e) = σ(e) = s. Si s est l unique syndrome d un vecteur de poids t, alors le décodeur qui cherche le vecteur de syndrome s de poids minimum trouve le vecteur erreur e. Donc : Si l application B t (0) {0, 1} r x σ(x) est injective, alors le code peut corriger une configuration arbitraire de t erreurs.

Théorème de Shannon pour les codes linéaires On choisit H, la matrice r n définissant le code C au hasard (uniformément), avec r = n(h(p) + ε). R = k n = 1 h(p) ε. Fonction syndrome : B pn (0) {0, 1} r ( ) e H t e n B pn (0) pn 2 nh(p) 2 r = 2 n(h(p)+ε) et la fonction σ sur B pn (0) est presque injective.

Le théorème de Shannon et la fonction syndrome σ B pn (0) F r 2 Vecteur reçu x de syndrome s. Le décodeur qui choisit f (x) = le vecteur de syndrome s de plus petit poids trouve presque toujours le bon vecteur erreur e.

Se débarrasser du «presque»? Le vecteur erreur e doit avoir un poids t d min /2, t t c x c σ(x) = σ(x c) = σ(x c ). σ B pn (0) F r 2 Si B pn (0) 2 εn 2 r, alors presque sûrement il y a un élément de syndrome nul dans la boule, i.e. un mot de code. d min typique d un code aléatoire : k n 1 h( d min n ).

Se débarrasser du «presque»? Le vecteur erreur e doit avoir un poids t d min /2, t t c x c σ(x) = σ(x c) = σ(x c ). σ B pn (0) F r 2 Si B pn (0) 2 εn 2 r, alors presque sûrement il y a un élément de syndrome nul dans la boule, i.e. un mot de code. d min typique d un code aléatoire : k n 1 h( d min n ). Nombre d erreurs corrigibles divisé par 2!

Autres utilisations de la fonction syndrome A dispose d un vecteur x et B de y avec d(x, y) t. A x? B y Comment A et B réconcilient leur n-uples en transmettant le moins de bits possibles?

Autres utilisations de la fonction syndrome A dispose d un vecteur x et B de y avec d(x, y) t. A x σ(x) B y Comment A et B réconcilient leur n-uples en transmettant le moins de bits possibles? Solution : A transmet à B le syndrome σ(x) associé à un code t-correcteur. B calcule σ(x) + σ(y) = σ(x + y) = σ(e) où poids(e) t.

Canal à jarretière (wiretap channel) Alice Bob bruit, p Oscar Comment Alice peut-elle communiquer un secret à Bob sans concéder le moindre bit d information à Oscar? Quelle est la taille maximale du secret si Alice transmet n symboles?

Canal à jarretière (wiretap channel) Alice Bob bruit, p Oscar Comment Alice peut-elle communiquer un secret à Bob sans concéder le moindre bit d information à Oscar? Quelle est la taille maximale du secret si Alice transmet n symboles? Indice : si Alice transmet x constitué de n symboles, Oscar obtient au mieux n(1 h(p)) bits d information sur x. On peut donc espérer que transmettre x permette de transmettre un secret de nh(p) bits.

Canal à jarretière, transmission du secret Alice x {0, 1} n Bob s = σ(x) {0, 1} nh(p) bruit, p Oscar?? Solution : Alice et Bob se mettent d accord sur un code linéaire aléatoire de dimension k = n(1 h(p)). Pour transmettre un secret s {0, 1} r, r = n k = nh(p), Alice choisit un vecteur x aléatoire parmi tous ceux de syndrome s.

Canal à jarretière, transmission du secret Alice x {0, 1} n Bob s = σ(x) {0, 1} nh(p) bruit, p Oscar?? Solution : Alice et Bob se mettent d accord sur un code linéaire aléatoire de dimension k = n(1 h(p)). Pour transmettre un secret s {0, 1} r, r = n k = nh(p), Alice choisit un vecteur x aléatoire parmi tous ceux de syndrome s. Oscar reçoit y = x + e. On a σ(e) de loi presque uniforme H(s y) = H(s s + σ(e)). Oscar : presque zéro bit d information sur s.

Problème algorithmique du décodage c t x Comment trouver, à partir du vecteur reçu x, le mot code c le plus proche de x? Est-ce que cela aide de savoir que d(c, x) t?

Du binaire au q-aire Transformer un train de symboles binaires 0010110110100011

Du binaire au q-aire Transformer un train de symboles binaires 0010110110100011 en suite d octets 00101101 10100011 que l on traite comme des éléments de F 256. Code sur F q. Erreur sur un bit erreur sur un octet.

Codes de Reed-Solomon Encodage : on fixe α 1, α 2,..., α n F q, distincts. F k q F n q (a 0, a 1,..., a k 1 ) (f (α 1 ), f (α 2 ),..., f (α n )) où f (X) = a 0 + a 1 X + + a k 1 X k 1. Le code de Reed Solomon associé est : C = {(f (α 1 ), f (α 2 ),..., f (α n )) f F q [X], deg f < k}

Codes de Reed-Solomon Encodage : on fixe α 1, α 2,..., α n F q, distincts. F k q F n q (a 0, a 1,..., a k 1 ) (f (α 1 ), f (α 2 ),..., f (α n )) où f (X) = a 0 + a 1 X + + a k 1 X k 1. Le code de Reed Solomon associé est : C = {(f (α 1 ), f (α 2 ),..., f (α n )) f F q [X], deg f < k} dim C = k et c f c g a au plus k 1 zéros dans F q, donc d min = n k + 1. Distance minimale optimale.

Correction d erreurs, approche classique vecteur émis : (c 1,..., c n ), c i = f (α i ). vecteur reçu : (r 1,..., r n ). t symboles erronés, t = #{i, r i c i }. polynôme localisateur d erreur : E(X) = i,r i c i (X α i ). Équation clé : i, f (α i )E(α i ) = r i E(α i ). Si Q(X) = f (X)E(X) on constate : si t < (n k)/2, 1 deg E t, deg Q < k + t, E(X) est unitaire, 2 i, Q(α i ) = r i E(α i ).

Correction d erreurs, approche classique 1 deg E t, deg Q < k + t, E(X) est unitaire, 2 i, Q(α i ) = r i E(α i ). Si un autre couple solution (Q 1 (X), E 1 (X)), on a : i, Q(α i )E 1 (α i )r i = r i E(α i )Q 1 (α i ) donc : i, Q(α i )E 1 (α i ) = E(α i )Q 1 (α i ) Mais (1) et t < (n k)/2 implique deg(qe 1 EQ 1 ) < n, donc QE 1 EQ 1 = 0 et Q 1 (X) E 1 (X) = Q(X) E(X) = f (X).

Correction d erreurs, approche classique 1 deg E t, deg Q < k + t, E(X) est unitaire, 2 i, Q(α i ) = r i E(α i ). Si un autre couple solution (Q 1 (X), E 1 (X)), on a : i, Q(α i )E 1 (α i )r i = r i E(α i )Q 1 (α i ) donc : i, Q(α i )E 1 (α i ) = E(α i )Q 1 (α i ) Mais (1) et t < (n k)/2 implique deg(qe 1 EQ 1 ) < n, donc QE 1 EQ 1 = 0 et Q 1 (X) E 1 (X) = Q(X) E(X) = f (X). Les coefficients de (2) vérifient un système d équations linéaires!

Ubiquité des codes de Reed-Solomon Disques compacts (CD) DVD enregistrements magnétiques (disques durs) téléphonie sans fil 3G (IS-2000) réseaux de fibre optique (ITU-T G.795) ADSL (ITU-T G. 992.1) systèmes sans fil large bande (MAN, IEEE 802.6) stations Intelsat (IESS-308) diffusion numérique par satellite (ETS 300-421S, ETS 300-429) exploration spaciale (sondes NASA)

Codes de Reed-Solomon et cryptographie Procédé de partage de secret. Soit s F q un secret à partager entre n utilisateurs. On choisit aléatoirement, uniformément un polynôme f (X) = s + a 1 X + a 2 X 2 + + a k 1 X k 1 et on distribue f (α 1 ),..., f (α n ). L utilisateur i a (α i, f (α i )). Si k utilisateurs quelconques se réunissent, ils déterminent s (interpolation). Si k 1 utilisateurs quelconques se réunissent, ils ont 0 bit d information sur s.

Les limites du décodage traditionnel On cherche a obtenir f (X) comme solution unique d un système algébrique, par exemple : f (X) = Q(X) E(X). Impossible dans ces conditions de corriger plus de (n k)/2 (d min /2) erreurs. Pourtant, en principe, le mot de code le plus proche est presque toujours le bon jusqu à un nombre d erreurs proche de Comment faire? n k.

L idée de Sudan (1997) Chercher la liste des mots de code à distance t d un quelconque vecteur. Problème simplifié : soit un vecteur (r 1,..., r n ) obtenu en «mélangeant» deux mots (f (α 1 )... f (α n )) et (g(α 1 )... g(α n )), r i = f (α i ) ou r i = g(α i ). Comment retrouver f, ou g à partir de (r i )?

L idée de Sudan (1997) Chercher la liste des mots de code à distance t d un quelconque vecteur. Problème simplifié : soit un vecteur (r 1,..., r n ) obtenu en «mélangeant» deux mots (f (α 1 )... f (α n )) et (g(α 1 )... g(α n )), r i = f (α i ) ou r i = g(α i ). Comment retrouver f, ou g à partir de (r i )? Remarque clé : soit Q(X, Y ) = (Y f (X))(Y g(x)). Si on peut trouver Q(X, Y ), il suffit de le factoriser. On a : i Q(α i, r i ) = 0. Q(X, Y ) = Y 2 S(X)Y + P(X). deg S(X) < k, deg P(X) < 2k 1. Les coefficients de Q(X, Y ) se trouvent en résolvant un système linéaire.

L algorithme de Sudan Et si la solution de i Q(α i, r i ) = 0. n est pas la bonne ((Y f (X))(Y g(x)))? On a l argument : si f (α i ) = r i pour au moins 2k 1 valeurs, alors Q(X, f (X)) = 0 (s annulle 2k 1 fois, degré < 2k 1). Donc (Y f (X)) Q(X, Y ). Marche jusqu à k = n/4. On peut retrouver plus d une solution (f ou g).

L algorithme de Sudan Et si la solution de i Q(α i, r i ) = 0. n est pas la bonne ((Y f (X))(Y g(x)))? On a l argument : si f (α i ) = r i pour au moins 2k 1 valeurs, alors Q(X, f (X)) = 0 (s annulle 2k 1 fois, degré < 2k 1). Donc (Y f (X)) Q(X, Y ). Marche jusqu à k = n/4. On peut retrouver plus d une solution (f ou g). On peut complètement oublier le but initial (trouver (Y f (X))(Y g(x)). N importe quel Q(X, Y ) convient.

Algorithme de Sudan, cas général Vecteur émis : (f (α 1 ),..., f (α n )), deg f < k. Vecteur reçu : (r 1... r n ), r i = f (α i ), sauf pour au plus t valeurs de i. #erreurs t. Trouver Q(X, Y ) = P m (X)Y m + P m 1 (X)Y m 1 + + P 0 (X) tel que i Q(α i, r i ) = 0 en résolvant le système linéaire satisfait par les coefficients de (P i ). Solution non-triviale garantie si #coefficients > n. S assurer que si deg f < k alors deg Q(X, f (X)) < n t, donc Q(X, f (X)) = 0. Factoriser Q(X, Y ). Mieux, trouver les facteurs de Q(X, Y ) de la forme Y f (X). Liste des mots à distance t de (r 1... r n ).

Algorithme de Sudan et améliorations Correction de t erreurs : t n = (1 R)/2 (Reed Solomon, 1960, Berlekamp-Massey) t n = 1 2R (Sudan, 1997) t n 1 R (Guruswami et Sudan, 1999) t n 1 R (Guruswami et Rudra, 2007).

Références G. Battail, Théorie de l Information, Masson, 1997. T. M. Cover et J. A. Thomas, Elements of Information Theory, Wiley, 2005. J. H. van Lint, An Introduction to coding theory, Springer, 1998. F. J. MacWilliams et N. J. A. Sloane, The theory of error-correcting codes, North-Holland, 2003. R. M. Roth, Introduction to coding theory, Cambridge University Press, 2006. La page de M. Sudan : http://people.csail.mit.edu/madhu/ G. Zémor, Cours de cryptographie, Cassini, 2000.