Réponse rapide: jamais, à des fins pratiques. Il n'est actuellement d'aucune utilité pratique.
Tout d'abord, séparons les tests de composition "pratiques" des preuves de primalité. Le premier est assez bon pour presque toutes les fins, bien qu'il existe différents niveaux de tests que les gens jugent adéquats. Pour les nombres inférieurs à 2 ^ 64, pas plus de 7 tests de Miller-Rabin, ou un test BPSW est requis pour une réponse déterministe. Ce sera beaucoup plus rapide que AKS et sera tout aussi correct dans tous les cas. Pour les nombres supérieurs à 2 ^ 64, BPSW est un bon choix, avec quelques tests Miller-Rabin à base aléatoire supplémentaires ajoutant une certaine confiance supplémentaire pour un coût très faible. Presque toutes les méthodes de preuve commenceront (ou devraient le faire) avec un test comme celui-ci car il est bon marché et signifie que nous ne travaillons dur que sur des nombres qui sont presque certainement premiers.
Passons aux preuves. Dans chaque cas, la preuve résultante ne nécessite aucune conjecture, de sorte que celles-ci peuvent être fonctionnellement comparées. Le "gotcha" d'APR-CL est qu'il n'est pas tout à fait polynomial, et le "gotcha" d'ECPP / fastECPP est qu'il peut exister des nombres qui prennent plus de temps que prévu.
Dans le graphique, nous voyons deux implémentations AKS open source - la première étant du papier v6, la seconde comprenant des améliorations de Bernstein et Voloch et une belle heuristique r / s de Bornemann. Ceux-ci utilisent la segmentation binaire dans GMP pour les multiplications polynomiales, ils sont donc assez efficaces, et l'utilisation de la mémoire n'est pas un problème pour les tailles considérées ici. Ils produisent de belles lignes droites avec une pente de ~ 6,4 sur le graphique log-log, ce qui est génial. Mais l'extrapolation à 1000 chiffres arrive à des moments estimés dans les centaines de milliers à des millions d'années, contre quelques minutes pour APR-CL et ECPP. Il y a d'autres optimisations qui pourraient être faites à partir du document Bernstein de 2002, mais je ne pense pas que cela changera sensiblement la situation (bien que jusqu'à ce que cela soit mis en œuvre, cela n'est pas prouvé).
Finalement, AKS bat la division d'essai. La méthode du théorème 5 BLS75 (par exemple la preuve n-1) nécessite une factorisation partielle de n-1. Cela fonctionne très bien à de petites tailles, et aussi lorsque nous sommes chanceux et que n-1 est facile à factoriser, mais finalement nous devrons rester coincés à factoriser un grand semi-premier. Il existe des implémentations plus efficaces, mais il n'évolue vraiment pas au-delà des 100 chiffres. Nous pouvons voir que AKS passera cette méthode. Donc, si vous posiez la question en 1975 (et que vous aviez alors l'algorithme AKS), nous pourrions calculer le croisement pour savoir où AKS était l'algorithme le plus pratique. Mais à la fin des années 1980, l'APR-CL et d'autres méthodes cyclotomiques étaient la comparaison correcte, et au milieu des années 1990, nous devions inclure l'ECPP.
logloglognO(log5+ϵ(n))O(log4+ϵ(n))
O(log4+ϵ(n))(lgn)4+o(1)(lgn)4+o(1)
Certains de ces algorithmes peuvent être facilement parallélisés ou distribués. AKS très facilement (chaque test est indépendant). ECPP n'est pas trop difficile. Je ne suis pas sûr d'APR-CL.
ECPP et les méthodes BLS75 produisent des certificats qui peuvent être rapidement et indépendamment vérifiés. C'est un énorme avantage par rapport à AKS et APR-CL, où nous n'avons qu'à faire confiance à l'implémentation et à l'ordinateur qui l'ont produit.
openssl pkeyparam -text
pour extraire la chaîne hexadécimale) à l'aide de PARIisprime
(APR-CL comme indiqué): environ 80 sur un ordinateur portable rapide. Pour référence, Chromium a besoin d'un peu plus de 0,25 s pour chaque itération de mon implémentation de démonstration JavaScript du test Frobenius (qui est beaucoup plus fort que MR), donc APR-CL est certainement paranoïaque mais faisable.vu cet article récent sur arxiv qui analyse ce sujet en profondeur / en détail, ne sais pas ce que les gens en pensent, n'a pas entendu de réactions jusqu'à présent, il semble peut-être une thèse créée par les étudiants, mais peut-être l'une des analyses les plus détaillées / complètes de utilisation pratique de l'algorithme disponible.
Tests déterministes de primauté - comprendre l'algorithme AKS Vijay Menon
Des algorithmes puissants trop complexes pour implémenter tcs.se
la source