LE SOMMAUIRE DEVIENT DONC : III . Applications possibles des nombres premiers. I Applications des nombres premiers Les Nombres Premiers et les Mathématiques Les nombres premiers et la Physique Les nombres premiers en biologie La cryptographie, ou l’application par excellence des nombres premiers. II Mise en œuvre d’applications Voir le programme. A RAJOUTER A LA SUITE DES APPLICATIONS : Les nombres premiers en biologie Non contents d’être utilisés dans les domaines de la science cités précédemment, les nombres premiers ont même des applications dans des domaines où leur utilisation est un peu moins évidente. Ainsi, bien qu’ils soient loin d’avoir la même importance qu’en mathématiques ou en informatique, on peut tout de même les voir apparaître en dans une science telle que la biologie, on citera pour exemple le cas des cigales périodiques. Dans l’Est des Etats-Unis, vivent des cigales qui restent sous terre pendant 17 ans en se nourrissant de la sève contenue dans les racines des arbres. Dans les Etats du sud, une espèce voisine fait de même, mais avec une période de vie souterraine de 13 ans. A la fin de chaque période de vie souterraine, les nymphes parvenues a maturité sortent de terre, vivent pendant quelques semaines à l’air libre et s’enfouissent pour un nouveau cycle. Pourquoi ces cigales ont elles des cycles en nombres premiers d’année ? Ces cycles leur offrent une protection en leur permettant d‘éviter au maximum de rencontrer leurs prédateurs. Par exemple, si un de leur prédateur dispose, pour sa part, d’un cycle de cinq ans, il ne pourra menacer une cigale dont le cycle est de 13 ans qu’une fois tous les 65 ans ! Un cycle de nombre premier ne peut pas être percé à jour par un cycle plus court. Illustration représentant les cycles de la mante religieuse et de la cigale. La cryptographie, ou l’application par excellence des nombres premiers. De nombreuses méthodes de cryptographie moderne reposent sur l’utilisation de nombres premiers, nous nous intéresserons à l’une des plus utilisées qui est le RSA. Le système RSA est utilisé à la fois pour crypter des messages, afin que seul le destinataire légitime puisse les lire, et pour les signer, afin de s’assurer la provenance du message. Il s’agit d’un système a clef publique ce qui implique que l’on ne cache ni l’algorithme qui transforme le message originel ni la clef de codage(que nous appellerons clef publique) mais également que tout le monde peut ainsi coder des messages vers la personne qui a émis cette clef. En revanche, seul le destinataire peut décrypter les messages qu’il reçoit grâce à sa clef privée. Le fait que la clef soit différente chez les deux interlocuteurs permet un gain appréciable de sécurité vu qu’ils n’ont pas besoin de convenir ensemble d’une clef ni de la diffuser. Arithmétique du protocole RSA Le protocole RSA est fondé sur le résultat suivant : Soit p et q deux nombres premiers. On pose n = pq . Si e est un entier premier avec (p – 1)(q –1), alors il existe un entier d > 0, tel que ed = 1 (mod(p – 1)(q –1)) Pour cet entier d et entier a premier avec n, on a aed=a(mod n) On peut démontrer ce résultat avec le théorème de la fonction d’Euler (n). Protocole RSA pour envoyer un message crypté - - Le destinataire construit un quadruplet de nombres premiers (p,q,e,d) et calcule la valeur n=pq Le destinataire rend public n et e. L’expéditeur ayant récupéré les valeurs de n et de e, veut transmettre une information confidentielle au destinataire, il transforme donc son information en un nombre entier A inférieur à n par un codage connu de tous. L’expéditeur calcule ensuite B = Ae (mod n) puis envoie B au destinataire. Le destinataire n’aura alors, pour décoder B, qu’a calculer Bd (mod n) ce qui lui redonnera A car d’après le théorème du RSA, on a Bd=Aed=A(mod n). Utilisation et sécurité Le système RSA est aujourd’hui utilisé dans nombre de standards de l’informatique. Il est par exemple inclus dans les systèmes d’exploitation de Microsoft, d’Apple et de Sun, dans les cartes Ethernet ou encore dans certaines cartes à puces bancaires. L’usage de ce protocole sur Internet est systématique dès qu’il s’agit de confidentialité. Avec les techniques actuelles de programmation du système RSA, on estime que le doublement de la longueur des clefs multiplie par 16 leur temps de génération alors que le temps des opérations de codage/décodage n’est que multiplié par 4. C’est à dire, que le système RSA améliorerait sa sûreté avec l’augmentation de la puissance des machines de calcul. Il est aujourd’hui recommandé d’utiliser des nombres n de 768 bits(232 chiffre décimaux) si l’on a que peu à craindre pour la sûreté des données envoyées, et 1024 bits voire meme 2048 bits(617 chiffres décimaux) lorsqu’on l’utilise pour des applications commerciales. Un nombre qui ne tiendrait « que » sur 512 bits pourrait mettre en danger la sécurité car on avait réussi en 1999 à factoriser un tel nombre. La confiance que l’on manifeste au système RSA, est due au fait que personne n’a encore réussi a le violer en près de 30 ans d’existence( il a été créé en 1977). Il est théoriquement possible de le violer. En effet, il suffit de savoir factoriser n = pq pour retrouver d ,et inversement, connaître n, e et d, permet de trouver p et q. La fiabilité du système RSA repose donc entièrement sur la difficulté de factorisation.