MathLvl
Question transversaleMathsNSICryptographie et sécurité

Comment un ordinateur trouve-t-il en une fraction de seconde un nombre premier de 300 chiffres ?

Près de N, environ un nombre sur ln N est premier : vers 2¹⁰²⁴, un sur 710, donc un impair sur 355. On tire des impairs au hasard et on les teste par un test probabiliste rapide : quelques centaines d'essais suffisent en moyenne.

Grand oral session 2027 : exposé de 10 minutes debout, puis 10 minutes d'échange, sans calculatrice. Plan prévu pour 9,5 min.

Pourquoi cette question : un modèle d'introduction

Le jury attend que vous expliquiez pourquoi vous avez choisi la question. Inspirez-vous de ce modèle, mais racontez votre propre parcours.

RSA demande deux nombres premiers d'environ 300 chiffres, et chaque connexion sécurisée en génère parfois. J'avais appris qu'il est très long de factoriser un grand nombre ; je pensais donc qu'il serait aussi très long de vérifier qu'un nombre est premier. Ce n'est pas le cas, et j'ai voulu comprendre pourquoi, en mêlant logarithme, loi géométrique et algorithmique.

L'enjeu et les notions du programme

Estimer une fréquence par le logarithme, puis calculer le nombre moyen d'essais avec une loi géométrique.

Mathématiques

  • Fonction logarithme népérien (terminale)
  • Loi géométrique et son espérance (terminale)
  • Nombres premiers (seconde)

Numérique et sciences informatiques

  • Algorithmes probabilistes, coût d'un algorithme (première, terminale)
  • Chiffrement asymétrique (terminale)

Le plan de l'exposé en 9,5 min

  1. 1. Introduction

    1 min

    Pour créer une clé RSA, il faut deux grands nombres premiers secrets. Problématique : les nombres premiers sont-ils assez nombreux pour qu'on en trouve vite, et comment reconnaître un nombre premier sans le factoriser ?

  2. 2. Mathématiques : combien de premiers, combien d'essais

    4 min

    Le théorème des nombres premiers (admis) dit qu'au voisinage de N, la proportion de nombres premiers est environ 1/(ln N). Pour N=2¹⁰²⁴ (environ 309 chiffres), ln N=1024ln2≈710. Un nombre sur 710 est premier ; comme on ne tire que des impairs, la proportion double : environ un sur 355.

    Si l'on tire des impairs au hasard, indépendamment, le rang du premier nombre premier suit une loi géométrique de paramètre p≈1/355. Son espérance est 1/p≈355 essais. La probabilité d'échouer 1 000 fois de suite est (1-1/355)¹⁰⁰⁰≈ e^(-2,8)≈0,06.

    Il y a beaucoup de nombres premiers de cette taille : environ 2¹⁰²⁴/710, un nombre à plus de 300 chiffres. Deux personnes n'ont pratiquement aucune chance de tirer le même.

  3. 3. NSI : tester sans factoriser

    3 min

    Tester un nombre de 309 chiffres en essayant les diviseurs jusqu'à sa racine carrée demanderait environ 10¹⁵⁴ divisions. Les tests probabilistes (Fermat, Miller-Rabin) calculent plutôt une puissance par exponentiation rapide : si a^(N-1) ne laisse pas le reste 1 modulo N, alors N n'est sûrement pas premier.

    Un nombre qui passe le test pour un a peut encore être composé, mais pour Miller-Rabin la probabilité d'erreur est au plus 1/4 par essai : après 40 essais, elle est inférieure à 4⁻⁴⁰≈10⁻²⁴. On accepte ce risque minuscule en échange d'un test très rapide.

  4. 4. Conclusion

    1,5 min

    Trouver un grand nombre premier est rapide : ils sont assez fréquents (un impair sur 355 vers 2¹⁰²⁴), et on les reconnaît par un test probabiliste sans les factoriser. Vérifier qu'un nombre est premier est facile, le factoriser est difficile : c'est cet écart qui rend RSA possible.

Ce que j'écris au tableau

Pas de calculatrice ni de support numérique : un calcul clé écrit au tableau rend l'exposé concret et montre la solidité des connaissances.

proportion de premiers près de N≈1/(ln N) ln2¹⁰²⁴=1024ln2≈710
X~mathcal G (1/355): E(X)=355 P( erreur après k essais )≤4^(-k)

Conclusion : la réponse à la question

Les nombres premiers de 300 chiffres sont nombreux et se reconnaissent vite. Le logarithme estime leur densité, la loi géométrique le nombre d'essais, et un test probabiliste remplace une factorisation impossible.

Les questions probables du jury

Pendant les 10 minutesd'échange, le jury vous fait préciser et approfondir, sur tout le programme de vos spécialités en lien avec la question.

Rappelez l'espérance d'une loi géométrique.

Si X~mathcal G(p), E(X)=1/p.

Combien de nombres premiers inférieurs à 100 ? Comparez à 100 / ln 100.

Il y en a 25 ; 100/ln100≈21,7 : l'ordre de grandeur est bon.

Pourquoi ne tirer que des impairs ?

Tout nombre pair supérieur à 2 est composé : on double la proportion de premiers parmi les candidats.

Un test probabiliste peut-il déclarer composé un nombre premier ?

Non : un nombre premier passe toujours le test. L'erreur possible est dans l'autre sens.

Pourquoi ln N croît-il lentement ?

Le logarithme croît moins vite que toute puissance : multiplier N par 2¹⁰²⁴ n'ajoute que 710 à ln N.

Les pièges qui coûtent des points

  • Croire que tester la primalité exige de factoriser.
  • Utiliser log₁₀ au lieu de ln dans la densité.
  • Oublier que le test probabiliste a une petite probabilité d'erreur.

Revoir les notions

Autres questions : cryptographie et sécurité

Toutes les questions maths-nsi →

Préparer l'oral, pas seulement le contenu

Gestion des 20 minutes de préparation, usage du tableau, posture debout, réponses au jury : la méthode complète, conforme aux règles de la session 2027.

Méthode : traiter une question de Grand oral →