Vous êtes sur la page 1sur 2

Mini Projet : Exploration des Problèmes Mathématiques en

Cryptographie
La cryptographie est l'art et la science de la communication sécurisée, où l'objectif principal est de
protéger l'information contre des accès non autorisés. Elle repose sur l'utilisation de techniques
mathématiques avancées pour chiffrer et déchiffrer des messages, garantissant ainsi la
confidentialité, l'intégrité et l'authenticité des données échangées entre des entités.

Les nombres premiers jouent un rôle fondamental en cryptographie, en particulier dans les systèmes
de cryptographie à clé publique. Ces systèmes reposent sur la difficulté de certaines opérations
mathématiques inverses, telles que la factorisation d'entiers, pour assurer la sécurité. Un exemple
emblématique est l'algorithme RSA, où la sécurité du système dépend de la complexité de la
factorisation du produit de deux grands nombres premiers.

Bienvenue dans ce mini-projet qui vous plongera dans le monde fascinant des mathématiques
appliquées à la cryptographie ! Nous allons explorer trois problèmes clés qui ont une incidence
majeure sur la sécurité des systèmes cryptographiques modernes.

1. Génération de Nombres Premiers :

Contexte : Les nombres premiers sont utilisés dans la génération de clés pour certains algorithmes
cryptographiques, tels que RSA. La sécurité de ces algorithmes dépend en partie de la difficulté de
factoriser de grands nombres en nombres premiers. La génération efficace de nombres premiers est
donc cruciale pour garantir la sécurité des systèmes de cryptographie à clé publique.

Rappel : Un nombre premier est un entier naturel supérieur à 1 qui n'a que deux diviseurs distincts :
1 et lui-même. Voici cinq nombres premiers de 64 bits :

1500450271 ; 9576890767 ; 576460752303423487 ; 618970019642690137 ; 1125899906842597.

Objectif: le principe est de proposer un algorithme efficace de génération de très grands nombres
premiers de n bits donnés.

2. Factorisation d'Entiers :

Contexte: La factorisation d'entiers est au cœur de nombreux systèmes de cryptographie, en


particulier pour RSA. La sécurité de RSA repose sur la difficulté de factoriser le produit de deux
grands nombres premiers. Si la factorisation était efficace pour de grands entiers, cela
compromettrait la sécurité de RSA et d'autres systèmes cryptographiques basés sur la factorisation
d'entiers.

Exemple: voici un exemple d’un grand nombre entier et sa factorisation en deux nombres premiers.

N= 234 615 954 974 838 649

C'est un nombre de 47 bits, et il est utilisé dans le contexte de la cryptographie, en particulier dans
certains exemples pédagogiques. Sa factorisation en deux nombres premiers :

Factorisation: 234 615 954 974 838 649 = 274 177 × 855 709 833 337
Notez que la factorisation de ce nombre en deux nombres premiers est utilisée dans un contexte
explicatif, et en pratique, les nombres premiers utilisés dans des systèmes cryptographiques sont
beaucoup plus grands, généralement des centaines de chiffres. Cela rend la factorisation
extrêmement difficile et contribue à la sécurité des systèmes basés sur la factorisation d'entiers, tels
que RSA.

Objectif : proposer un algorithme efficace de factorisation de très grands nombres entiers.

3. Problème de la Partition

Contexte : Le problème de la partition consiste à diviser un ensemble en deux sous-ensembles ayant


la même somme. Supposons que vous ayez un ensemble d'entiers positifs, par exemple :

E={3 , 1 , 2 , 1 , 2 , 1}.

Le problème de la partition consiste à déterminer s'il est possible de diviser cet ensemble en deux
sous-ensembles de telle sorte que la somme des éléments dans chaque sous-ensemble soit égale.

Dans l'exemple donné, l'ensemble peut être partitionné en

E1={3, 1, 1} et E2= {1, 2, 2}, où la somme de chaque sous-ensemble est 5. Cela signifie que le
problème de la partition a une solution pour cet ensemble particulier.

Cependant, ce n'est pas toujours le cas. Par exemple, si vous avez l'ensemble :

E={1,5,11,5}

il n'existe pas de partition équitable possible.

Le problème de la partition est connu pour être NP-complet, ce qui signifie qu'il n'y a pas
d'algorithme connu qui puisse résoudre tous les cas en temps polynomial. C'est cette complexité qui
rend le problème intéressant et difficile, et il est souvent utilisé comme exemple pour illustrer la
notion de problèmes NP-complets dans la théorie de la complexité algorithmique.

NB : Bien que ce problème ne soit pas directement utilisé en cryptographie, les problèmes NP-
complets sont parfois la base de protocoles cryptographiques.

Objectif : proposer un algorithme efficace qui, pour un ensemble d’entiers détermine s’il est divisible
en deux sous-ensembles équitables (ayant la même somme).

Les problèmes précédents possèdent des solutions triviales de complexité exponentielle. Il existe des
solutions plus ou moins efficaces (des heuristiques) pour des nombres de taille raisonnables, mais
leur complexité reste exponentielle pour des nombre extrêmement grands comme ceux utilisés pour
la cryptographie.

Vous aimerez peut-être aussi