CHIFFREMENT HYBRIDES ET AUTHENTIFICATION FORTE BASES SUR LES CODES CORRECTEURS D’ERREURS

CHIFFREMENT HYBRIDES ET AUTHENTIFICATION
FORTE BASES SUR LES CODES CORRECTEURS
D’ERREURS

 Généralité 

La communication à travers un canal de transmission (réseau, satellite), pose souvent un problème de fiabilité, de confidentialité, d’intégrité, d’authencité, de disponibilité ou parfois de non-répudiation du message transmis. A cet effet, nous assistons à la mise en place des disciplines comme la théorie des codes et la cryptographie pour assurer la sécurité de ces communications. Par conséquence, la cryptographie est présente dans la vie quotidienne, comme par exemple les cartes de crédit, le paiement internet, elle permet aussi de chiffrer des informations secrètes. Ce chiffrement se fait avec des systèmes de chiffrement appelé Cryptosystème. Nous distinguons deux cryptosystèmes à savoir le cryptosytème à clé public (schéma asymétrique) et celui à clé sécrete (schéma symétrique). La quasi totalité des cryptosysèmes à clé public sont basés sur des calculs complexes de la théorie des nombres. Nous pouvons citer le cryptosystème de RSA (Rivest, Adi Shamir), les cryptosystèmes basés sur les courbes elliptiques… En 1994, P.W. Shor dans [32] a montré que les ordinateurs quantiques peuvent casser la plupart des cryptosystèmes classiques ceux basés sur le problème de la factorisation des nombres entiers ou sur le problème du logarithme discret. Il est donc crucial de développer des cryptosystèmes résistants aux attaques informatiques quantiques. C’est dans cette perspective que la cryptographie basée sur les codes correcteurs d’erreurs est considérée comme un schéma très prometteur pour la cryptographie post-quantique. Ces schémas sont caractérisés par sa rapidité, ne nécessitent pas de matériel spécial et aussi spécifiquement de co-processeur cryptographique. les crytosystèmes basés sur les codes correcteurs d’erreurs possédent aussi comme avantages : • la résistance face aux ordinateurs quantiques • la rapidité et facilité de l’implémentation car basé sur des calculs matriciels. • la NP-completude des problèmes. Par ailleurs, il faut noter aussi l’existence des cryptosystèmes hybrides. Le cryptosystème hybride, appelé KEM/DEM avec KEM (KEY ENCAPSULATION MECHANISM) et DEM (DATA ENCAPSULATION DATA), fut inventé par Cramer et Shoup dans [10]. Il utilise les systèmes de chiffrements asymétrique, symétrique et aussi les fonctions de hachage. Ces schémas hybrides sont plus avantageux dans la mesure où ils utilisent les avantages des schémas de chiffrement qui le composent. Ainsi, dans [8] les auteurs ont démontré la cryptographie hybride basé sur les codes utilisant le PKCS de Niederreiter comme chiffrement asymétrique et AES comme schéma symétrique est beaucoup plus rapide que l’hybride de RSA. Figure 1.1 – Composantes d’un schéma de chiffrement hybride 

 Contributions

 Le Cryptosystème RSA, inventé en 1977, est un exemple de Cryptosystème à clé publique. En 1978 le Cryptosystème de McEliece [20] a été inventé. Ce Cryptosystème utilise les codes correcteurs d’erreurs en particulier les codes de GOPPA. C’est ainsi que le Cryptosystème de Sidel’nikov [33], basé sur les codes de Reed Muller, a été inventé en 1994. En 2007, ce Cryptosystème a été cassé par Lorentz Minder et Amin Shokrollahi [21] en utilisant deux propriétés des codes de Reed Muller (la filtration 3.3.13 et le mot de plus petit poids 3.3.14). Ainsi dans la première partie de notre thèse nous nous sommes intéressés sur l’amélioration du cryptosystème de Sidel’nikov [17] afin de réparer la cryptanalyse de L. Minder et A. Shokrollahi. A ce sens, nous avons proposé une nouvelle variante de ce Cryptosystème avec une modification du code Reed Muller. Le but de cette modification des codes Reed Muller est de rendre quasiment imposible l’application de ces deux propriétés 3.3.14 et 3.3.13 du code de Reed Muller. Ce qui rend impraticable l’attaque présentée par L. Minder et A. Shokrollahi. Cependant, cette version améliorée de Sidel’nikov a été cassée en 2015 par A.Otami et al. dans [24]. De plus, les cryptosystèmes basés sur les codes correcteurs d’erreurs présentent un inconvéniant majeur à savoir la grande taille des clés. C’est pour cela, on assiste à l’invention des schémas de chiffrement Hybride. Les fondateurs de ces schémas sont R. Cramer et V. Shoup dans [10] en 2004. En effet, cette invention nous a permis dans la deuxème partie de notre thése d’orienter notre recherche dans les schémas de chiffrment Hybride. Nous nous sommes intéressés sur l’amélioration d’un schéma Hybride basé sur le PKCS Niederreiter étudié dans [25]. Dans ces travaux, nous avons réparé ce schéma hybride, afin qu’il resiste à l’attaque de Bernstein et al. [5] en utilisant une permutation, par la suite implémenté ce schéma en C. Cette implémentation est faite dans un ordinateur de caractèristique CPU 1.80 GHz, Intel core i3 et de RAM 4 GB avec un système d’exploitation Debian/Linux 3.5.2 dans gcc 4.7. Nous avons prouvé dans [8] que le chiffrement du schéma Hybride basé sur Niederreiter est beaucoup plus rapide que celui basé sur l’hybride de RSA. Enfin, nous avons implémenté un protocole d’authentification basé sur les codes en utilisant le principe du KEM/DEM. Dans ce protocole, nous avons utilisé la fonction de hachage SHA3 pour construire un secret partagé, le chiffrement de Niederreiter pour le chiffrement du challenge et le chiffremnt symétrique AES pour chiffrer le secret partagé. 

 Organisation de la thése 

Les travaux présentés dans cette thèse s’articulent autour de trois axes principaux : • Un rappel sur les outils de mathématiques, cryptographie et théorie de code utilisés dans cette thése. • Une présentation de la modification des codes de Reed Muller dans le but de réparer la propriété filtration de ces codes. Cette modification nous permet de proposer une version améliorée du cryptosytème de Sidel’nikov. • Une amélioration et implémentation du schéma hybride basé sur les codes correcteurs d’erreurs en particulier le PKCS de Niederreiter. • De plus, une présentation d’un protocole d’authentification KEM/DEM basé sur les codes correcteurs d’erreurs. La thése est organisée en deux parties. Dans une première partie, intitulée Préliminaire, nous ferons un rappel sur l’ensemble des outils scientifiques (mathématiques, cryptographie, théorie des codes,..) utilisés dans cette thése. Elle est composée de quatre chapitres (chapitre 2, chapitre 3, chapitre 4 et chapitre 5). Dans le chapitre 2, nous ferons un rappel sur les outils mathématiques. Le troisième et quatrième chapitre porteront respectivement sur la présentation des notions de base de la théorie des codes et de la cryptographie. Au niveau du cinquième chapitre, nous présenterons certains systèmes de chiffrement basés sur les codes correcteurs. Dans ce chapitre, nous allons décrire les différents algorithmes ainsi que les avantages et inconvénients de ces Cryptosystèmes.Pour bien comprendre les attaques sur les Cryptosystèmes, nous allons faire une étude détaillée sur les attaques au niveau de ce chapitre. En ce sens, nous donnerons des explications détaillées sur les attaques par décodage et attaques structurelles. La deuxième partie, intitulée Resultats, décrit les trauvaux scientifiques réalisés au cours de la recherche. Elle comprend trois chapitres à savoir le chapitre 6, chapitre 7 et chapitre 8. Dans le chapitre 6, nous ferons une description détaillée du nouveau cryptosystème défini dans [17]. Notre objectif dans ce chapitre est de faire une présentation du code de Reed Muller modifié, du cryptosystème basé sur ce nouveau code et enfin des preuves de sécurité qui justifient la résistance de ce cryptosystème. De plus, le chapitre 7 portera sur les schémas de chiffrement hybrides. Nous présenterons en détails une amélioration et implémentation du schéma hybride basé sur les codes en particulier le PKCS de Niederreiter [8]. Enfin, au niveau du chapitre 8, nous présenterons une implémentation d’un protocole d’authentification basé sur les codes. 

 Resumé des contributions 

Les principales contributions de cette thèse sont les suivantes : • Un nouveau schéma de chiffrement basé sur les codes Reed Muller modifié:Ce schéma est une amèlioration de Sidel’nikov afin que ce dernier resiste contre l’attaque présenté dans [21]. Ce papier a été publié dans International Journal of Security and Its Applications, vol. 7, no. 3, (2013), pp. 55-64. [17] • Une implantation logicielle efficace d’un schéma hybride basé sur les codes: Dans ce travail, nous avons amélioré le schéma hybride basé sur Niederreiter en utilisant une permutation et puis implémenté ce schéma en C. Cet article a été publié dans Said El Hadji et al. (Eds) C2SI 2017, Lecture Notes in Computers Sciences 10194 pp 254–264, springer [8]. • Une implantation d’un protocole d’authentification basé sur les codes: Dans ce travail, nous avons utilisé le principe du KEM-DEM pour mettre en place un protocole d’authentification forte qui sera utilisé dans une application web.

Table des matières

1 Introduction
1.1 Généralité
1.2 Contributions
1.3 Organisation de la thése
1.4 Resumé des contributions 6
I Préliminaires
2 Rappel sur les outils mathématiques
2.1 Introduction
2.2 Annea
2.3 Idéaux
2.4 Corps 1
2.5 Espace Vectoriel
2.5.1 Familles libres, génératrices, bases
2.5.2 Espace vectoriel en dimension finie
2.5.3 Sommes directes
2.6 Les fonctions booléennes
2.7 Probabilité
3 Codes correcteurs d’erreurs
3.1 Introduction aux codes correcteurs d’erreurs
3.2 Codage de l’information
3.2.1 Poids et distance de Hamming
3.2.2 Code
3.2.3 Codage des mots
3.3 Codes linéaires
3.3.1 Codes de Reed Muller RM(r,m)
3.3.2 Code de Goppa
3.4 Décodage de l’information
4 Cryptographie
4.1 Introduction à la cryptographie
4.2 Cryptographie symétrique
4.2.1 Chiffrement DES (Data Encryption Standard)
4.2.2 Le triple DES (3DES)
4.2.4 Mode ECB (Electronic Code Book )
4.2.5 Mode CBC ( Cipher Block Chaining )
4.3 Cryptographie asymétrique
4.3.1 Chiffrement Diffe-Hellman
4.4 Cryptographie Hybride
4.4.1 Principe
4.4.2 Methodologie
5 Cryptosystème basé sur les codes correcteurs d’erreurs
5.1 Introduction
5.2 Cryptosystème de McEliece
5.2.1 Description du schéma
5.2.2 Alogithmes du schéma
5.2.3 Avantage du schém
5.2.4 Inconvénient du schéma
5.3 Cryptosystème de Niederreiter
5.3.1 Description du schéma
5.3.2 Algorithmes
5.4 Cryptosystème de Sidel’nikov
5.4.1 Alogithmes du schéma
5.4.2 Avantage du schéma
5.4.3 Inconvénient du schéma
5.5 Quelles que attaques connues
5.5.1 Les attaques par décodage
5.5.2 Les attaques structurelles
5.5.3 Les attaques utilisant un distingueur
II Résultats
6 Cryptosystème basé sur les codes Reed Muller modifiés
6.1 Introduction
6.2 Cryptanalyse de Sidel’nikov
6.2.1 Objectif
6.2.2 Methodologie
6.2.3 Algorithme de l’attaque
6.2.4 Détermination d’un sous-code RM(r −1,m)
σ ⊂ RM(r,m)
6.3 Le nouveau Code
6.3.1 Définition – Exemple – Proposition
6.3.2 Calcul de la probabilité de succès de la filtration
6.3.3 Exemple de calcul de probabilité RM(3,m)
6.4 Nouveau Cryptosystème
6.4.1 Algorithme de génération de clé
6.4.2 Algorithme de chiffrement
6.4.3 Algorithme de déchiffrement
6.5 Sécurité du nouveau cryptosystème
6.5.1 Taille de la clé du nouveau cryptosystème
6.5.2 Attaque sur le nouveau Cryptosystème
7 Implémentation efficace du schéma hybride (KEM-DEM) basé sur les codes
7.1 Introduction
7.2 Préliminaires :
7.2.1 Fonction de dérivation de clé
7.2.2 Schéma de chiffrement Hybride
7.2.3 Les fonctions de hachage
7.3 Schéma hybride basé sur les codes (Niederreiter)
7.3.1 Méthologie
7.3.2 Algorithmes
7.4 Implémentation
7.4.1 Description
7.4.2 Présentation des fonctions
7.5 Sécurité et Performance
7.5.1 Sécurité du KEM/DEM
7.5.2 Performance et comparaions
7.5.3 Discussion
8 Protocole d’authentication forte basé sur les codes
8.1 Introduction
8.2 Principes
8.2.1 Définitions
8.2.2 Principes
8.3 Les protocoles d’authentificationn
8.3.1 Protocole d’authentification d’origine
8.3.2 Protocoles d’authentification d’entité
8.3.3 Authentification forte par défi-réponse basée sur une clé partagée
8.3.4 Authentification forte par défi-réponse à base de clés publiques
8.3.5 Kerberos
8.3.6 SecurWar ID
8.3.7 HTTP auth
8.4 Protocole d’authentification KEM/DEM
8.4.1 Description
8.4.2 Algorithmes
8.5 Sécurité du protocole d’authentification KEM/DEM
8.5.1 Sécurité contre l’attaque Man in the Middle
8.5.2 Sécurité contre l’attaque de rejeu
8.5.3 Sécurité contre les attaques critique
8.6 Application
8.6.1 Prérequis
8.6.2 Fonctionalités
Conclusion
Bibliographi

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *