SlideShare une entreprise Scribd logo

Codes Correcteurs d’Erreurs.pptx

Cette présentation PowerPoint se concentre sur les codes correcteurs d'erreurs, un aspect crucial des systèmes de communication moderne. Nous abordons trois types principaux de codes : les codes linéaires, les codes cycliques et les codes de Goppa. Pour chacun de ces codes, nous commençons par fournir une définition claire, en mettant en évidence leurs caractéristiques spécifiques. Ensuite, nous plongeons dans les détails du processus de codage et de décodage pour chaque code, expliquant les algorithmes et les méthodes couramment utilisés. Nous nous appuyons également sur des exemples concrets pour illustrer ces concepts. Enfin, nous abordons l'implémentation de ces codes correcteurs d'erreurs, en langage de programmation Python. En résumé, notre présentation offre un aperçu complet des codes correcteurs d'erreurs, de leur fonctionnement et de leur importance pour garantir l'intégrité des données dans les systèmes de communication.

1  sur  38
Codes Correcteurs d’Erreurs
Encadré par : Monsieur Brahim CHERGUI
Réalisé par : Hajar BOUCHRIHA
Salma RACHIDI
Mohamed RAZIKI
Le 15 Mai 2023
Plan :
Introduction
1
Code cyclique
2
Code linéaire
3
Code de Goppa entre la théorie et la pratique
4
Conclusion
5
Introduction
Les codes correcteurs d’erreurs sont une famille de codes utilisés en théorie de l’information pour
détecter et corriger les erreurs qui se produisent lors de la transmission de données numériques.
Lorsque les données sont transmises sur un canal de communication, des perturbations peuvent
causer des erreurs qui peuvent compromettre l’intégrité des données.
Les codes correcteurs d’erreurs permettent de détecter et de corriger ces erreurs, garantissant ainsi
la fiabilité de la transmission
Introduction
Lors de cette présentation, nous allons nous intéresser plus particulièrement
aux code cyclique, code linéaire et code géométrique de Goppa.
Nous allons examiner plus en détail leurs définition, utilité dans la vie réelle,
ses avantages et inconvénients, ainsi que leurs relations avec la cybersécurité et
la cryptographie. Nous allons également discuter des applications pour
encoder et décoder ces codes.
Enfin, nous allons mettre en œuvre ces codes en utilisant Python
(Implémentation).
Code Cyclique
Pourquoi ?
Le code cyclique est un type particulier de code correcteur d'erreur qui présente plusieurs
avantages. Tout d'abord, il est facile à encoder et à décoder, car il suffit d'effectuer des
opérations arithmétiques simples sur les bits du message.
De plus, il permet de détecter et de corriger toutes les erreurs de poids inférieur ou égal à t,
où t est le nombre d'erreurs que le code est capable de corriger. Enfin, il est efficace en termes
de taux de redondance, c'est-à-dire le rapport entre la taille du message informatif et la taille
totale du mot code.
Le code cyclique est donc souvent utilisé dans des applications où la correction d'erreur est
importante, comme la transmission de données sur des canaux bruyants ou la sauvegarde de
données sur des supports de stockage, tels que les disques durs ou les cartes mémoire.
Publicité

Recommandé

Code Correcteurs d'Erreurs : Code linéaire, code cyclique , code goppa
Code Correcteurs d'Erreurs :  Code linéaire, code cyclique , code goppa  Code Correcteurs d'Erreurs :  Code linéaire, code cyclique , code goppa
Code Correcteurs d'Erreurs : Code linéaire, code cyclique , code goppa SALMARACHIDI1
 
Turbo code
Turbo codeTurbo code
Turbo coden allali
 
Cartographie de l'information.pptx
Cartographie de l'information.pptxCartographie de l'information.pptx
Cartographie de l'information.pptxHajar Bouchriha
 
CM3 - Transformée de Fourier
CM3 - Transformée de FourierCM3 - Transformée de Fourier
CM3 - Transformée de FourierPierre Maréchal
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivationsSana Aroussi
 
Cours5 Marges de stabilité et performance des systèmes linéaires asservis
Cours5 Marges de stabilité et performance des systèmes linéaires asservisCours5 Marges de stabilité et performance des systèmes linéaires asservis
Cours5 Marges de stabilité et performance des systèmes linéaires asservissarah Benmerzouk
 

Contenu connexe

Tendances

Corrigé qcm initiation informatique sgbd - réseau - internet - architectu...
Corrigé qcm   initiation informatique   sgbd - réseau - internet - architectu...Corrigé qcm   initiation informatique   sgbd - réseau - internet - architectu...
Corrigé qcm initiation informatique sgbd - réseau - internet - architectu...Sofien Zarrouki
 
Cours7 Correction des systèmes linéaires continus asservis (2)
Cours7 Correction des systèmes linéaires continus asservis (2)Cours7 Correction des systèmes linéaires continus asservis (2)
Cours7 Correction des systèmes linéaires continus asservis (2)sarah Benmerzouk
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmiqueAtef MASMOUDI
 
1 entropie-capacite theorie de l'information
1 entropie-capacite theorie de l'information1 entropie-capacite theorie de l'information
1 entropie-capacite theorie de l'informationAbdou Obado
 
Chap nombres complexes
Chap nombres complexesChap nombres complexes
Chap nombres complexesKarim Amane
 
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...Yassine Nasser
 
Cours Base de données relationnelles
Cours Base de données relationnellesCours Base de données relationnelles
Cours Base de données relationnellesAymen Kasmi
 
Astable à fréquence et rapport cyclique variables
Astable à fréquence et rapport cyclique variablesAstable à fréquence et rapport cyclique variables
Astable à fréquence et rapport cyclique variableskeltouma
 
Recherche à voisinage variable
Recherche à voisinage variableRecherche à voisinage variable
Recherche à voisinage variableMohammed Mansouri
 
td_devoirs_2013.pdf
td_devoirs_2013.pdftd_devoirs_2013.pdf
td_devoirs_2013.pdfMeryemH2
 
correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique omar bllaouhamou
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURIMansouri Khalifa
 
Methodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locauxMethodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locauxInes Kechiche
 

Tendances (20)

Cours1
Cours1Cours1
Cours1
 
Transmission de signal
Transmission de signalTransmission de signal
Transmission de signal
 
Corrigé qcm initiation informatique sgbd - réseau - internet - architectu...
Corrigé qcm   initiation informatique   sgbd - réseau - internet - architectu...Corrigé qcm   initiation informatique   sgbd - réseau - internet - architectu...
Corrigé qcm initiation informatique sgbd - réseau - internet - architectu...
 
Cours7 Correction des systèmes linéaires continus asservis (2)
Cours7 Correction des systèmes linéaires continus asservis (2)Cours7 Correction des systèmes linéaires continus asservis (2)
Cours7 Correction des systèmes linéaires continus asservis (2)
 
cours de complexité algorithmique
cours de complexité algorithmiquecours de complexité algorithmique
cours de complexité algorithmique
 
1 entropie-capacite theorie de l'information
1 entropie-capacite theorie de l'information1 entropie-capacite theorie de l'information
1 entropie-capacite theorie de l'information
 
Chap nombres complexes
Chap nombres complexesChap nombres complexes
Chap nombres complexes
 
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...Projet de communication numérique Réalisation d'une chaîne de transmission nu...
Projet de communication numérique Réalisation d'une chaîne de transmission nu...
 
Cours Base de données relationnelles
Cours Base de données relationnellesCours Base de données relationnelles
Cours Base de données relationnelles
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Astable à fréquence et rapport cyclique variables
Astable à fréquence et rapport cyclique variablesAstable à fréquence et rapport cyclique variables
Astable à fréquence et rapport cyclique variables
 
chap4 codes-en-ligne
chap4 codes-en-lignechap4 codes-en-ligne
chap4 codes-en-ligne
 
Recherche à voisinage variable
Recherche à voisinage variableRecherche à voisinage variable
Recherche à voisinage variable
 
CM4 - Transformée en z
CM4 - Transformée en zCM4 - Transformée en z
CM4 - Transformée en z
 
td_devoirs_2013.pdf
td_devoirs_2013.pdftd_devoirs_2013.pdf
td_devoirs_2013.pdf
 
Automates
AutomatesAutomates
Automates
 
correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique correction examen rattrapage 2012 transmission numérique
correction examen rattrapage 2012 transmission numérique
 
Turbo Codes
Turbo CodesTurbo Codes
Turbo Codes
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
 
Methodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locauxMethodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locaux
 

Similaire à Codes Correcteurs d’Erreurs.pptx

Tp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabTp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabhamdinho
 
Cours sur les circuits logiques câblés www.cours-online.com
Cours sur les circuits logiques câblés www.cours-online.comCours sur les circuits logiques câblés www.cours-online.com
Cours sur les circuits logiques câblés www.cours-online.commorin moli
 
TRANSMISSION NUMERIQUE Année 2022-2023 CEFIB
TRANSMISSION NUMERIQUE Année 2022-2023 CEFIBTRANSMISSION NUMERIQUE Année 2022-2023 CEFIB
TRANSMISSION NUMERIQUE Année 2022-2023 CEFIBYounoussKEITA
 
examen en DSP 2023.pdf
examen en DSP 2023.pdfexamen en DSP 2023.pdf
examen en DSP 2023.pdfkamouf
 
Inf_theory_lect3.pdf
Inf_theory_lect3.pdfInf_theory_lect3.pdf
Inf_theory_lect3.pdfkohay75604
 
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdfChapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdfRazaneLAMARA
 
[STLS] tests de performance coherenSE
[STLS] tests de performance coherenSE[STLS] tests de performance coherenSE
[STLS] tests de performance coherenSEMarc Hage Chahine
 
Inf_theory_lect4.pdf
Inf_theory_lect4.pdfInf_theory_lect4.pdf
Inf_theory_lect4.pdfkohay75604
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
cours1 (1).pdf
cours1 (1).pdfcours1 (1).pdf
cours1 (1).pdfAlynaEla
 
CM1 - Signal et Information
CM1 - Signal et InformationCM1 - Signal et Information
CM1 - Signal et InformationPierre Maréchal
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 

Similaire à Codes Correcteurs d’Erreurs.pptx (20)

Réseaux partie 2.ppt
Réseaux partie 2.pptRéseaux partie 2.ppt
Réseaux partie 2.ppt
 
Tp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlabTp 1 transmission de donné inisiallisation à simulink matlab
Tp 1 transmission de donné inisiallisation à simulink matlab
 
T ps dsp
T ps dspT ps dsp
T ps dsp
 
Cours sur les circuits logiques câblés www.cours-online.com
Cours sur les circuits logiques câblés www.cours-online.comCours sur les circuits logiques câblés www.cours-online.com
Cours sur les circuits logiques câblés www.cours-online.com
 
Tp rsa1
Tp rsa1Tp rsa1
Tp rsa1
 
TRANSMISSION NUMERIQUE Année 2022-2023 CEFIB
TRANSMISSION NUMERIQUE Année 2022-2023 CEFIBTRANSMISSION NUMERIQUE Année 2022-2023 CEFIB
TRANSMISSION NUMERIQUE Année 2022-2023 CEFIB
 
examen en DSP 2023.pdf
examen en DSP 2023.pdfexamen en DSP 2023.pdf
examen en DSP 2023.pdf
 
Inf_theory_lect3.pdf
Inf_theory_lect3.pdfInf_theory_lect3.pdf
Inf_theory_lect3.pdf
 
3-Codage_Canal.ppt
3-Codage_Canal.ppt3-Codage_Canal.ppt
3-Codage_Canal.ppt
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Metrique
MetriqueMetrique
Metrique
 
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdfChapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
 
Presentation finale
Presentation finalePresentation finale
Presentation finale
 
[STLS] tests de performance coherenSE
[STLS] tests de performance coherenSE[STLS] tests de performance coherenSE
[STLS] tests de performance coherenSE
 
Inf_theory_lect4.pdf
Inf_theory_lect4.pdfInf_theory_lect4.pdf
Inf_theory_lect4.pdf
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
cours1 (1).pdf
cours1 (1).pdfcours1 (1).pdf
cours1 (1).pdf
 
CM1 - Signal et Information
CM1 - Signal et InformationCM1 - Signal et Information
CM1 - Signal et Information
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Presentation
PresentationPresentation
Presentation
 

Dernier

AmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdfAmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdfInstitut de l'Elevage - Idele
 
OESTV - Intervention ICI INDUSTRIE - 15 février 2024
OESTV - Intervention ICI INDUSTRIE - 15 février 2024OESTV - Intervention ICI INDUSTRIE - 15 février 2024
OESTV - Intervention ICI INDUSTRIE - 15 février 2024OESTV
 
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...France Travail
 
Les Français et la lutte contre l'islamisme radical
Les Français et la lutte contre l'islamisme radicalLes Français et la lutte contre l'islamisme radical
Les Français et la lutte contre l'islamisme radicalcontact Elabe
 
analyse- de basilique - saint denis pptx
analyse- de basilique - saint denis pptxanalyse- de basilique - saint denis pptx
analyse- de basilique - saint denis pptxHadJer61
 

Dernier (9)

AmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdfAmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
AmTrav'Ovin - Apprentissage des agnelles à la traite.pdf
 
3 Bidet GRH en viticulture 18 oct 2023.pdf
3 Bidet GRH en viticulture 18 oct 2023.pdf3 Bidet GRH en viticulture 18 oct 2023.pdf
3 Bidet GRH en viticulture 18 oct 2023.pdf
 
4 Sigwalt Annie saisonniers 18 octobre 2023.pdf
4 Sigwalt Annie  saisonniers 18 octobre 2023.pdf4 Sigwalt Annie  saisonniers 18 octobre 2023.pdf
4 Sigwalt Annie saisonniers 18 octobre 2023.pdf
 
OESTV - Intervention ICI INDUSTRIE - 15 février 2024
OESTV - Intervention ICI INDUSTRIE - 15 février 2024OESTV - Intervention ICI INDUSTRIE - 15 février 2024
OESTV - Intervention ICI INDUSTRIE - 15 février 2024
 
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
L'accès à l'emploi des demandeurs d'emploi inscrits à France Travail mesuré e...
 
Les Français et la lutte contre l'islamisme radical
Les Français et la lutte contre l'islamisme radicalLes Français et la lutte contre l'islamisme radical
Les Français et la lutte contre l'islamisme radical
 
analyse- de basilique - saint denis pptx
analyse- de basilique - saint denis pptxanalyse- de basilique - saint denis pptx
analyse- de basilique - saint denis pptx
 
2 Garcia Vélasco projet AcCT 18 oct 2023.pdf
2 Garcia Vélasco projet AcCT 18 oct 2023.pdf2 Garcia Vélasco projet AcCT 18 oct 2023.pdf
2 Garcia Vélasco projet AcCT 18 oct 2023.pdf
 
1 Astié travaux station Auray 18 oct 2023.pdf
1 Astié travaux station Auray 18 oct 2023.pdf1 Astié travaux station Auray 18 oct 2023.pdf
1 Astié travaux station Auray 18 oct 2023.pdf
 

Codes Correcteurs d’Erreurs.pptx

  • 1. Codes Correcteurs d’Erreurs Encadré par : Monsieur Brahim CHERGUI Réalisé par : Hajar BOUCHRIHA Salma RACHIDI Mohamed RAZIKI Le 15 Mai 2023
  • 2. Plan : Introduction 1 Code cyclique 2 Code linéaire 3 Code de Goppa entre la théorie et la pratique 4 Conclusion 5
  • 3. Introduction Les codes correcteurs d’erreurs sont une famille de codes utilisés en théorie de l’information pour détecter et corriger les erreurs qui se produisent lors de la transmission de données numériques. Lorsque les données sont transmises sur un canal de communication, des perturbations peuvent causer des erreurs qui peuvent compromettre l’intégrité des données. Les codes correcteurs d’erreurs permettent de détecter et de corriger ces erreurs, garantissant ainsi la fiabilité de la transmission
  • 4. Introduction Lors de cette présentation, nous allons nous intéresser plus particulièrement aux code cyclique, code linéaire et code géométrique de Goppa. Nous allons examiner plus en détail leurs définition, utilité dans la vie réelle, ses avantages et inconvénients, ainsi que leurs relations avec la cybersécurité et la cryptographie. Nous allons également discuter des applications pour encoder et décoder ces codes. Enfin, nous allons mettre en œuvre ces codes en utilisant Python (Implémentation).
  • 6. Pourquoi ? Le code cyclique est un type particulier de code correcteur d'erreur qui présente plusieurs avantages. Tout d'abord, il est facile à encoder et à décoder, car il suffit d'effectuer des opérations arithmétiques simples sur les bits du message. De plus, il permet de détecter et de corriger toutes les erreurs de poids inférieur ou égal à t, où t est le nombre d'erreurs que le code est capable de corriger. Enfin, il est efficace en termes de taux de redondance, c'est-à-dire le rapport entre la taille du message informatif et la taille totale du mot code. Le code cyclique est donc souvent utilisé dans des applications où la correction d'erreur est importante, comme la transmission de données sur des canaux bruyants ou la sauvegarde de données sur des supports de stockage, tels que les disques durs ou les cartes mémoire.
  • 7. Quand ? On utilise le code cyclique dans les situations où la correction d'erreur est importante, comme dans la transmission de données sur des canaux bruyants ou la sauvegarde de données sur des supports de stockage. Voici quelques exemples d'applications où le code cyclique est utilisé : Transmission de données : Le code cyclique est utilisé pour la transmission de données sur des canaux bruyants, tels que les réseaux sans fil, les canaux satellitaires, les canaux de communication par fibre optique, etc. Dans ces situations, le code cyclique permet de détecter et de corriger les erreurs qui peuvent survenir lors de la transmission des données. Contrôle de redondance cyclique (CRC) : Le CRC est un type de code cyclique utilisé pour la détection d'erreurs dans les trames de données. Il est utilisé dans de nombreuses applications, telles que les réseaux Ethernet, les protocoles de communication sans fil, les cartes à puce, etc.
  • 8. Comment ? Pour utiliser le code cyclique, on suit les étapes suivantes : Choix des paramètres : On choisit les paramètres du code cyclique, c'est-à-dire les valeurs de n et k. n est la longueur du mot code, tandis que k est la longueur du message informatif. Génération du polynôme générateur : On génère le polynôme générateur du code cyclique, qui est un polynôme binaire de degré n-k. Encodage du message : On encode le message informatif en ajoutant des bits de redondance au message à l'aide du polynôme générateur. Le résultat est le mot code, qui est transmis sur le canal de communication ou stocké sur le support de stockage. Détection et correction d'erreur : À la réception, le récepteur vérifie si le mot code contient des erreurs à l'aide de l'algorithme de détection d'erreur. Si une erreur est détectée, le récepteur utilise l'algorithme de correction d'erreur pour corriger l'erreur. ***L'algorithme de détection d'erreur utilise souvent la technique de syndrome, qui consiste à calculer un vecteur de syndrome à partir du mot code reçu et du polynôme générateur. Si le vecteur de syndrome est nul, cela signifie qu'il n'y a pas d'erreur dans le mot code. Si le vecteur de syndrome n'est pas nul, cela indique la présence d'une erreur.
  • 9. Code Cyclique Définition : Un code cyclique (n,k) est un code linéaire (n,k) tel que toute permutation circulaire d'un mot du code est encore un mot du code. Ce type de code possède non seulement la capacité de détecter les erreurs, mais aussi de les corriger sous réserve d'altérations modérées. NB: Le couple (n, k) signifie que : le paramètre n représente la longueur de chaque mot de C. Le paramètre k représente la puissance de 2 qui est la dimension de C : |C| = 𝟐k Exemple: • Si le vecteur x= (1,0,0,0,1,1,0) est un mot code dans C, alors toutes ses versions décalées sont aussi des mots codes du code cyclique linéaire : (1,0,0,0,1,1,0),(0,0,0,1,1,0,1),(0,0,1,1,0,1,0), . . . ,(0,1,0,0,0,1,1)∈ C
  • 10. Soit C un code cyclique de polynôme générateur 1010.Le message binaire : 1100 1.Déterminer CRC. 2.Donner le message codé. 3.Le récepteur a reçoit le message m=1100101. Application :
  • 13. Code cyclique et Cybersécurité Le code cyclique peut être utilisé dans le domaine de la cybersécurité pour assurer la sécurité et l'intégrité des données dans différentes applications. Transfert de données sécurisé : Le code cyclique peut être utilisé pour assurer la sécurité et l'intégrité des données lors du transfert de données entre des systèmes sécurisés. Le code cyclique peut détecter et corriger les erreurs introduites par des attaques de type Man-in-the-middle (MITM), ou lors de la transmission sur des canaux bruyants. Cryptographie : Le code cyclique peut être utilisé pour la génération de clés cryptographiques pour les algorithmes de chiffrement symétriques. Les clés peuvent être générées à partir de polynômes cycliques et utilisées pour chiffrer les données de manière sécurisée. Stockage de données : Le code cyclique peut être utilisé pour stocker les données de manière sécurisée en ajoutant de la redondance aux données stockées. Si des erreurs sont détectées lors de la lecture des données, le code cyclique peut les corriger de manière fiable. Authentification : Le code cyclique peut être utilisé pour l'authentification des données, en ajoutant des codes d'authentification aux données. Les codes d'authentification permettent de garantir l'intégrité des données et d'empêcher les attaques sur les données.
  • 15. Le code linéaire Un code C de paramètres (n, k) est dit linéaire si pour tout m, mꞌ de C, m + mꞌ est dans C. * le paramètre n représente la longueur de chaque mot de C. * le paramètre k représente la puissance de 2 qui est la dimension de C : |C|=𝟐k . Les codes linéaires sont un type des codes correcteurs d’erreurs qui peuvent détecter et corriger les erreurs qui se produisent lors de la transmission de données. Ces codes sont basées sur des propriétés algébriques et linéaires. DEFINITION:
  • 16. Application C = {000000 , 111111 , 010101 , 101010 , 110011 , 001100 , 011001 , 100110} Est-ce que le code C est un code linéaire ? Quelle est la longueur n de C? Quelle est la dimension k de C? Les mots de C sont de longueurs 6, alors n=6. Et on a |C|=8 = 23 , alors k=3. ⇒ C est un (6, 3) code. Montrons que C est linéaire : on prend deux mots distinct de C et on vérifie que la somme est dans C. Soit m = 110011 et m’= 101010 deux mots de C. On a m⨁m′ = 110011 ⨁ 101010 = 011001 ∈ 𝐶. Donc C est un (6,3) code linéaire.
  • 17. Codage d’un code linéaire Pour coder un message m par un code linéaire, il suffit de le multiplier par la matrice génératrice G . Le résultat est le mot codé mꞌ= m.G La matrice génératrice d’un code linéaire est G = (𝐼k |P) Avec : [𝐼k ]=k x k et P =k x r (r=n-k) (P est la matrice de parité)
  • 18. Application C = {000000 , 111111 , 010101 , 101010 , 110011 , 001100 , 011001 , 100110} C est un (6,3) code linéaire. Donner la matrice génératrice du code C. Pour construire la matrice génératrice on commence par la matrice identité 𝐼 = 1 0 0 0 1 0 0 0 1 On cherche dans le code C les mots qui on le préfixe de cette matrice. Donc 𝐺 = 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0
  • 19. Application C = {000000 , 111111 , 010101 , 101010 , 110011 , 001100 , 011001 , 100110} C est un (6,3) code linéaire. Coder le message m = 101. Remarque : Le nombre de ligne de matrice G indique les mots qu’on peut coder a partir de G Donc cette matrice permet de coder des mots de longueur 3. 𝑚′ = 𝑚 . 𝐺 = 1 0 0 × 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 = (1 0 1 0 1 0 ) Donc le message codé est m’ = 1 0 1 0 1 0
  • 20. Décodage d’un code linéaire Soit C un code linéaire de matrice génératrice G =(Ik |P) de dimension (k x n). On pose H = (PT| In-k ) La matrice H est dite matrice de contrôle du code linéaire C. On appelle syndrome S du mot m le vecteur S = HT m. ●Si S = 0 alors on dit qu’il n’a pas d’erreur. ●Si S ≠0 alors on dit qu’il y a une erreur dans la position i (avec i =(S)10 ).
  • 21. Application Soit m’ = 1 0 1 0 1 0 le mot reçu 𝐻 = 1 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1- Déterminons la matrice de contrôle H : 2- Calculons le syndrome S : 𝑆 = 𝐻𝑇 . 𝑚 = 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0 1 . 1 0 1 0 1 0 = 0 0 0 𝐻𝑇 = 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0 1 Puisque le syndrome est nul donc il n’y a pas d’erreur . Si on a S = 010 ≠ 0 alors on dit qu’il ya une erreur dans la position i = (010)10 =2.
  • 22. Exercice d ’application 𝐺 = 1 0 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 1- Quelle est la dimension du code? 2- Quels sont les mots du code? 3- Quelle est la distance minimale du code? 4- Quelles sont les paramètres du code? 5- Quel est le taux d'information du code? 6- Combien corrige t'il d'erreurs? 7- Déterminer la matrice de contrôle du code. 8- Soit x=010010, Calculer le syndrome du mot x. 9- Est ce que le message est modifié ? Si oui corrige le.
  • 24. Les codes géométriques de Goppa ont été introduits en 1970 par le mathématicien russe Valery Denisovich Goppa (né en 1939-), qui a découvert la relation entre la géométrie algébrique et les codes. L’application moderne du codes binaires de Goppa est crypto-systèmes post-quantiques (crypto-système de McEliece) Histoire
  • 25. Le code géométrique de GOPPA est linéaire et géométrique à la fois! En termes simples, un code linéaire est un sous-espace vectoriel d'un espace vectoriel plus grand. Les codes linéaires sont construits à partir d'une matrice de contrôle, qui permet de détecter les erreurs dans les transmissions de données. Les codes linéaires sont également caractérisés par leur distance minimale, qui détermine la capacité de correction d'erreur du code. D'un autre côté, les codes géométriques sont construits à partir de points sur une variété algébrique, telle qu'une courbe elliptique ou un corps fini. Les codes géométriques sont également caractérisés par leur distance minimale et leur dimension. Le code de Goppa combine ces deux approches en utilisant des courbes algébriques pour construire un sous-espace vectoriel particulier appelé code de Goppa. Ce code est linéaire car il s'agit d'un sous-espace vectoriel, mais il est également géométrique car il est construit à partir de courbes algébriques.
  • 26. Principe du code Goppa Le code géométrique de Goppa a été développé en 1970 par Valentyn Goppa. Les erreurs dans le code sont détectées et corrigées grâce à des techniques de géométrie algébrique Cette méthode utilise la géométrie algébrique pour construire des codes correcteurs d'erreurs à partir de courbes de genre 2. Les points de la courbe de Goppa sont utilisés pour définir les mots du code. Le code géométrique de Goppa est largement utilisé en théorie de l'information et en cryptographie, notamment dans le schéma de cryptage de McEliece.
  • 27. Le code géométrique de Goppa Le code géométrique de Goppa est un type de code correcteur d'erreurs qui utilise les propriétés géométriques d'une courbe algébrique pour construire un ensemble de contrôle. Le code géométrique de Goppa est défini à partir d'une fonction de Goppa, qui est une fonction polynomiale irréductible f(x) de degré n sur un corps fini Fq, où q est une puissance de nombre premier. Cette fonction est choisie de telle sorte que le nombre de racines de f(x) dans Fq est égal à n - k, où k est la dimension du code.
  • 28. Le code géométrique de Goppa Le contrôle est construit à partir des racines de f(x) dans une extension du corps de Galois Fq. Pour chaque racine α de f(x), on choisit un vecteur de contrôle Cα de longueur n, dont les éléments sont les évaluations du polynôme x-α à toutes les racines de f(x) dans l'extension de Fq. Les vecteurs de contrôle sont alors combinés pour former une matrice de contrôle C de taille (n-k) × n. Pour encoder un message de longueur k, on multiplie le message par une matrice génératrice de taille k × n, qui est obtenue en inversant la matrice de contrôle C. Le message encodé est alors obtenu en multipliant le message par la matrice génératrice. Pour détecter et corriger les erreurs, on utilise une technique appelée syndrome decoding. Le syndrome d'un mot de code est défini comme le produit de ce mot de code par la transposée de la matrice de contrôle. Si un mot de code contient des erreurs, son syndrome sera différent de zéro. On peut alors utiliser une table de syndromes précalculée pour déterminer les erreurs potentielles et les corriger.
  • 29. Les avantages • Les codes géométriques de Goppa ont une capacité de correction d'erreurs élevée. Ils peuvent corriger un grand nombre d'erreurs dans un flux de données donné, ce qui les rend utiles dans de nombreuses applications, telles que la transmission de données à haute vitesse ou la sécurité des communications. • Les codes géométriques de Goppa peuvent être construits à partir de polynômes irréductibles choisis arbitrairement, ce qui permet une grande flexibilité dans leur conception et leur mise en œuvre. • Les codes géométriques de Goppa ont une structure mathématique élégante, qui permet une analyse mathématique rigoureuse de leurs propriétés et de leur performance.
  • 30. 2 Les inconvénients La construction de codes géométriques de Goppa peut être coûteuse en termes de temps de calcul et de ressources informatiques, car elle nécessite la résolution de problèmes difficiles en théorie de la géométrie algébrique. 3 1 Les codes géométriques de Goppa peuvent être plus difficiles à implémenter que d'autres types de codes correcteurs d'erreurs, car ils nécessitent souvent des calculs complexes sur des corps finis. Les performances des codes géométriques de Goppa peuvent être affectées par la qualité des polynômes utilisés pour leur construction, ce qui peut nécessiter des connaissances spécialisées en théorie des nombres et en géométrie algébrique.
  • 31. 2 3 4 1 Utilité de code géométrique de Goppa Les codes correcteurs d'erreurs, y compris le code géométrique de Goppa, sont utilisés dans les systèmes de communications sans fil pour améliorer la qualité de la transmission des données. Par exemple, le standard Wi- Fi utilise des codes correcteurs d'erreurs pour réduire les erreurs de transmission. Le code géométrique de Goppa est utilisé dans le schéma de cryptage de McEliece, qui est l'un des rares schémas de cryptographie post-quantique connus pour être résistant aux attaques quantiques. Cela en fait une méthode de cryptage sûre et fiable pour protéger les informations confidentielles. Les disques durs et les mémoires flash utilisent également des codes correcteurs d'erreurs, y compris le code géométrique de Goppa, pour garantir l'intégrité des données stockées. Cela permet de minimiser les risques de perte de données en cas d'erreurs lors de l'écriture ou de la lecture des données Les codes correcteurs d'erreurs, y compris le code géométrique de Goppa, peuvent être utilisés pour améliorer la qualité de transmission des images médicales et des signaux électrocardiographiques (ECG). Cela peut aider les médecins à diagnostiquer les problèmes de santé plus rapidement et plus précisément. Communications sans fil Cryptographie Stockage de données Médecine
  • 32. La relation entre la cybersécurité et les codes géométriques de Goppa Les codes de Goppa peuvent être utilisés pour l'authentification des utilisateurs dans les systèmes de sécurité. En utilisant un code de Goppa pour encoder les identifiants de l'utilisateur, on peut garantir que seule la personne autorisée est en mesure de déchiffrer les informations. Les codes de Goppa sont également utilisés pour renforcer la sécurité des réseaux de communication. Ils peuvent être utilisés pour encoder les données qui sont transmises sur un réseau, ce qui peut aider à prévenir les attaques de type man-in-the-middle et d'autres types d'attaques qui cherchent à intercepter ou modifier les données. Les codes de Goppa peuvent être utilisés pour renforcer la sécurité des systèmes embarqués tels que les cartes à puce. En utilisant des codes de Goppa pour encoder les informations stockées sur la carte, on peut garantir que seules les personnes autorisées sont en mesure d'accéder aux données sensibles. Authentification Sécurité des réseaux Sécurité des systèmes embarqués
  • 33. La relation entre la Cryptographie et les codes géométriques de Goppa • Le code de Goppa est une technique de codage correcteur d'erreurs utilisée en cryptographie pour protéger les transmissions de données contre les erreurs et les attaques malveillantes. • Dans la cryptographie à clé publique, le code de Goppa est souvent utilisé comme un mécanisme de base pour la construction de systèmes de chiffrement à clé publique basés sur le problème du codage. • Par exemple, le système de chiffrement McEliece est basé sur le code de Goppa. Le système de chiffrement McEliece est considéré comme résistant à l'attaque de Shor, qui est une attaque quantique utilisée pour casser les systèmes de chiffrement à clé publique classiques tels que RSA et ECC. Bien qu'il ait des avantages en termes de sécurité, le système de chiffrement McEliece est relativement inefficace en termes de taux de transfert de données et de taille de la clé. • En dehors de la cryptographie à clé publique, le code de Goppa est également utilisé dans les codes correcteurs d'erreurs pour la correction des erreurs dans les transmissions de données, comme dans les communications par satellite, les réseaux de télécommunications et les systèmes de stockage de données.
  • 36. Conclusion En conclusion, les codes correcteurs d'erreurs sont un élément essentiel de la théorie de l'information et de la cryptographie. Ils permettent de détecter et de corriger les erreurs qui peuvent survenir lors de la transmission de données, ce qui est crucial pour garantir l'intégrité et la fiabilité des informations échangées. Les codes correcteurs d'erreurs sont largement utilisés dans de nombreux domaines, tels que les télécommunications, la transmission de données, la sécurité informatique, la cryptographie, etc. Ils peuvent prendre de nombreuses formes, depuis les codes de Hamming et les codes cycliques jusqu'aux codes de Goppa et aux codes de Reed-Solomon. Chacun de ces types de codes possède ses propres avantages et inconvénients, et leur choix dépend des besoins et des contraintes spécifiques de chaque application.
  • 37. Merci Pour Votre Attention !
  • 38. Bibliographie et Webographie Berlekamp, E. "Goppa Codes." IEEE Transactions on Information Theory 19.5(1973): 590-92. Web. Goppa, V. D. Geometry and Codes. Dordrecht: Kluwer Academic, 1988. Print. Trappe, Wade, and Lawrence C. Washington. Introduction to Cryptography: With Coding Theory. Upper Saddle River, NJ: Pearson Prentice Hall, 2006. Print. https://youtu.be/ek_O2WUF6U4