aeternam

Le hasard quantique trahit-il un programme ?

Verdict

Non. Dans les bits quantiques bruts testés, aucune signature de générateur pseudo-aléatoire n’apparaît, alors que les mêmes tests démasquent quatre générateurs simples utilisés comme témoins. Un point doit être dit d’emblée : la règle fixée avant l’analyse réagit sur les données IBM telles que publiées, mais la cause est identifiée — une des neuf machines est restée bloquée à 0 ou à 1 pendant des séries entières — et ce défaut n’a pas la structure d’un générateur. L’écarter a été décidé après avoir vu les données ; nous le signalons comme tel.

Ce « non » a une portée limitée : il exclut une simulation qui tirerait ses mesures quantiques d’un générateur simple, pas une simulation qui utiliserait un générateur de qualité cryptographique, indiscernable par principe.

Explication

Si le monde était une simulation, il faudrait produire le résultat de chaque mesure quantique, 0 ou 1. La physique dit que ce résultat est imprévisible par nature. Un ordinateur, lui, ne sait pas faire de vrai hasard : il le fabrique avec une recette de calcul. Une simulation économe utiliserait une recette rapide et simple, et les recettes simples laissent des empreintes : des répétitions, des régularités cachées, une structure que l’on peut retrouver par le calcul.

Nous avons donc pris des suites de 0 et de 1 produites par de vraies expériences quantiques et publiées par leurs auteurs, et nous y avons cherché ces empreintes. Première difficulté : la plupart des sources publiques de hasard quantique passent leurs résultats dans un « mixeur » mathématique avant de les publier. Ce mixeur est conçu pour effacer toute structure ; tester sa sortie ne dit rien de la source. Nous avons testé ces données quand même, mais elles ne comptent pas dans le verdict.

Il reste deux sources brutes : un appareil à photons intriqués de l’université de Portland (Oregon), qui publie ses bits tels quels, et neuf ordinateurs quantiques d’IBM à qui l’on a demandé des millions de fois de tirer à pile ou face avec un seul qubit. Les photons passent tous les tests. Les machines d’IBM donnent un peu trop de 0, un défaut connu et expliqué par leurs auteurs ; une fois ce déséquilibre corrigé, elles passent. L’une d’elles, Belem, est restée bloquée pendant des séries entières de mesures : une panne, pas une recette de calcul.

Les témoins se comportent comme prévu : les recettes simples sont démasquées, y compris un générateur très répandu qui passe pourtant la batterie officielle du NIST ; les recettes sophistiquées ne le sont pas, pas plus que les chiffres de la racine carrée de 2, pourtant parfaitement calculables. C’est la limite de ce test : une simulation soignée ne laisserait aucune trace de ce genre.

Analyse détaillée

1. Ce qui est testable

Un test statistique ne renseigne que sur le dernier traitement subi par une suite de bits : une sortie hachée par une fonction cryptographique ressemble au hasard parfait quelle que soit l’entrée. Nous avons testé 41 674 752 bits, dont 20 703 232 bruts :

JeuOrigineTraitementBits
parityphotons intriqués en polarisation (Kavulich et al., 2021)aucun6 400 000
ibmun qubit, porte de Hadamard, mesure ; neuf machines (Root et Becker, 2024)aucun14 303 232
anufluctuations du vide, ANUAES-12816 777 216
beaconNIST Beacon 2.0SHA-5124 194 304

Seuls parity et ibm renseignent sur la nature du hasard quantique. Les données brutes du test de Bell sans échappatoire du NIST (2015) n’ont pas été retenues : leurs choix de mesure combinent sources physiques et source pseudo-aléatoire, et leurs résultats de détection ne sont pas des bits uniformes. Pour le Beacon, la chaîne d’engagements publiée a été vérifiée sur 8 191 couples consécutifs.

2. Niveau 1 : la batterie NIST SP 800-22

Les 15 tests de la batterie officielle sont réimplémentés et reproduisent les 64 p-valeurs de l’annexe B du document à 6,9 × 10−7 près (2,0 × 10−5 pour un test). Les données sont coupées en 38 séquences de 106 bits ; les 6 624 p-valeurs forment une seule famille corrigée par la méthode de Holm au risque global de 1 %.

3. Niveau 2 : les signatures d’un générateur

La batterie NIST dit si une suite s’écarte du hasard idéal, pas pourquoi. Trois tests visent les défauts propres aux générateurs algorithmiques :

Famille principale, Holm à 1 % sur 54 p-valeurs : parity ne rejette rien (1,00) ; son écart maximal de \(L\) à \(n/2\) est de 2 ; aucune répétition ; corrélations à longue portée : 0,91. anu et beacon ne rejettent rien. ibm rejette 3 fois.

4. Les rejets d’IBM : une machine bloquée

Les données IBM sont faites de 1 746 essais de 8 192 tirs. 17 d’entre eux sont constants (10 entièrement à 0, 7 entièrement à 1) et 6 autres le sont à plus de 99 % ; tous viennent de la machine Belem. Les 1,03 × 1010 paires de fenêtres identiques sont toutes des suites de bits égaux : parmi les fenêtres de composition ordinaire, il y en a 0. Une sortie figée n’est pas une sortie de générateur pseudo-aléatoire : c’est l’absence de sortie.

Écarter Belem a été décidé après avoir vu les données : c’est donc une analyse secondaire, avec sa propre correction de Holm, et le résultat de la règle initiale reste publié. Sur les huit autres machines (13 254 656 bits), le niveau 2 ne rejette rien (14 p-valeurs, plus petite p-valeur ajustée 0,58) ; l’écart maximal de \(L\) à \(n/2\) est de 2 et il n’y a aucune répétition. Une corrélation au décalage 1 existe (0,0047, soit 15,5 écarts-types) : un défaut de mesure à courte portée, sans rapport avec la structure d’un générateur. Le niveau 1 y rejette 341 fois sur 1 782, à cause du biais.

5. Les témoins

La même chaîne est appliquée à 4 194 304 bits de chaque générateur connu ; le script s’arrête si un témoin ne se comporte pas comme prévu.

GénérateurAttenduRésultat (plus petites p-valeurs ajustées, niveaux 1 et 2)
LFSR de degré 20détectédétecté : \(L\) = 20, répétitions
LFSR de degré 31détectédétecté : \(L\) = 31, \(\log_{10}p\) = −15 033
LCG 32 bitsdétectédétecté : test spectral, corrélations à longue portée
Mersenne Twisterdétectédétecté par le niveau 2 seul : \(L\) = 19 937, \(\log_{10}p\) = −3 048 ; batterie NIST muette (1,00)
PCG64non détectérien (0,32 ; 0,50)
SHA-256 en mode compteurnon détectérien (0,33 ; 1,00)
Décimales binaires de \(\sqrt{2}\)non détectérien (1,00 ; 1,00)

Le Mersenne Twister montre que le niveau 2 ajoute une vraie sensibilité à la batterie officielle. PCG64, SHA-256 et \(\sqrt{2}\) montrent qu’une suite entièrement déterministe peut n’avoir aucune signature détectable.

6. Limites

7. Reproduire

Les données sont refaites par telecharger.py, qui vérifie leurs empreintes ; analyse.py tourne ensuite sans réseau en moins de deux minutes, autotests compris.

Sources

  1. J. T. Kavulich, B. P. Van Deren, M. Schlosshauer, Searching for evidence of algorithmic randomness and incomputability in the output of quantum random number generators, Physics Letters A 388, 127032 (2021), arXiv:2101.01238 ; données : Zenodo 4440318.
  2. B. P. Van Deren, J. T. Kavulich, M. Schlosshauer, Parity-based, bias-free optical quantum random number generation with min-entropy estimation, arXiv:2006.11425.
  3. O. Root, M. Becker, Does True Randomness Exist? Efficacy Testing IBM Quantum Computers via Statistical Randomness, arXiv:2401.12250 ; données : DOI 10.5281/zenodo.10542216.
  4. J. Y. Haw et al., Maximization of Extractable Randomness in a Quantum Random-Number Generator, arXiv:1411.4512.
  5. NIST, A Reference for Randomness Beacons: Format and Protocol Version 2, NISTIR 8213.
  6. L. K. Shalm et al., A strong loophole-free test of local realism, arXiv:1511.03189.
  7. NIST, A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, SP 800-22 Rev. 1a.