La cryptographie fondée sur l'utilisation d'algorithmes à clés secrètes pose toujours un problème : Celui de la transmission des clés entre émetteurs et destinataires. Les algorithmes ont beau être très sûrs, en définitive il faut faire parvenir une ou plusieurs clés à quelqu'un pour qu'il puisse inverser le cryptage.
Si le nombre de couples communicant par cryptographie s'étend, il devient impensable d'échanger des clés en main propre à chaque fois; et trouver une personne digne de confiance pour être le messager est chose risquée. Par ailleurs transmettre des clés de décodage sans aucune protection sur un canal public de communication susceptible d'écoute n'est pas plus satisfaisant.
L'idées de la transmission des clés publiques est de permettre a des gens de s'échanger des informations cryptées sans se rencontrer pour se donner des clés, et même sans posséder d'information secrète au préalable. La sécurité de tels systèmes repose sur l'impossibilité pratique de résoudre un problème mathématique “difficile”, pour lequel la recherche informatisée d'une solution se chiffre en milliers, voire milliards d'années.
L'étude des nombres premiers, Graal de l'arithmétique, et qui fascine les mathématiciens depuis des générations (leur distribution dans l'ensemble des entiers naturels et encore un sujet très actuel de recherche), n'avait pas encore débouché sur des applications vraiment concrètes.
Nous allons étudier l'un des crypto systèmes à clés publiques les plus performant et répandu. Le système R.S.A
[...] Le projet n'est pas fini : il reste sans doute des nombres premiers encore plus grands à trouver. La Electronic Frontier Foundation offre d'ailleurs une nouvelle bourse, de dollars celle-là, à celui qui trouvera un nombre premier contenant au moins 10 millions de chiffres. On croit que cela demandera 125 fois plus de calculs que de trouver le record actuel de 2 millions de chiffres. Rappelons qu'un nombre premier est un nombre qui n'est divisible que par 1 et par lui-même. [...]
[...] Le nombre 10, par exemple, n'est pas premier parce qu'il se divise aussi par 2 et par 5. Depuis 1996, le record du plus grand nombre premier a été battu chaque année. Pour essayer vous aussi de trouver des nombres premiers sur votre ordinateurs, téléchargez le logiciel gratuit offert par le Great Internet Mersenne Prime Search (lien cliquable dans la marge de cet article). Nombres premiers Test de primalité. Décomposition en facteurs premiers. Test de primalité de Fermat. [...]
[...] Test de primalité de Miller-Rabin. Primalité et factorisation : complexités comparées. Test de primalité Pour déterminer si un entier n est premier, le plus simple est de tester successivement tous les diviseurs d possibles de n. Lorsque n n'est pas trop grand, cette méthode est efficace, à condition de remarquer qu'on peut cesser la recherche d'un diviseur dès que d2 > n. En effet, si n est composite, c'est-à-dire produit de deux facteurs (différents de le plus petit d'entre eux est inférieur ou égal à la racine carrée de n. [...]
[...] La situation est radicalement différente pour les tests de primalité : le test de Miller-Rabin est un test probabiliste très efficace, et il existe des algorithmes sûrs (c'est-à-dire non probabilistes) sophistiqués et efficaces pour prouver qu'un nombre est premier. Il est ainsi possible aujourd'hui de produire très rapidement des nombres premiers comportant 150 chiffres décimaux ; une fois deux de ces nombres multipliés entre eux, il est rigoureusement impossible, en pratique, de retrouver les facteurs du produit (pour qui, bien sûr, ne connaît que ce produit), et on est presque certain que cette impossibilité est définitive. [...]
[...] La fonction puissance est celle de la leçon sur l'exponentiation rapide. Commentaires de programmation L'instruction if return compare p à (mod : comme le reste de la division de deux entiers positifs est toujours positif, on remplace par m = n - 1. Dans la boucle l'instruction if return est exécutée si et seulement si pi = 1 avec i > 0 (sinon on n'entre pas dans la boucle) et pi-1 différent de (sinon l'exécution de la boucle est déjà terminée). [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture