Un générateur de graines Bitcoin open source a converti les événements de désintégration radioactive en phrases de récupération BIP39 de 12 et 24 mots à l’aide d’un périphérique matériel hors ligne.
Le référentiel Entropy32 Plus, publié par le développeur Alexander Higgins en septembre 2026, contient le micrologiciel du projet, les conceptions de circuits imprimés, les fichiers de fabrication et le boîtier imprimable. Higgins décrit l’appareil comme un projet expérimental et éducatif et avertit les utilisateurs de ne pas lui confier des fonds substantiels avant un examen indépendant.
Connu sous le nom de « The Universe Bifurcator », l’appareil prend les impulsions d’un compteur Geiger et mesure le temps entre les événements détectés. Son micrologiciel convertit les comparaisons entre intervalles consécutifs en bits, collecte un pool d’entrée de 512 bits et traite les données avec SHA-256.
Entropy32 Plus formate ensuite une partie du hachage résultant en une phrase de récupération BIP39 standard. L’appareil fonctionne sans Wi-Fi, Bluetooth ou stockage persistant de graines, selon sa conception publiée.
Entropy32 Plus mesure le temps entre les événements de rayonnement
La désintégration radioactive se produit de manière imprévisible au niveau des atomes individuels. Entropy32 Plus utilise le timing des événements de désintégration détectés comme source physique de caractère aléatoire au lieu de s’appuyer uniquement sur une valeur générée par logiciel.
La conception actuelle accepte les impulsions via une connexion de 3,5 millimètres provenant d’un compteur Geiger GQ Electronics GMC-320S. Sa documentation indique que le compteur peut détecter les émissions d’une source radioactive ou un rayonnement de fond.
Après avoir reçu une impulsion, un comparateur LM393 convertit le signal analogique du compteur en entrée numérique. Le circuit imprimé personnalisé transmet ce signal à un microcontrôleur ATmega328P.
Le micrologiciel du projet enregistre chaque événement accepté à l’aide d’une minuterie d’une microseconde. Il compare le dernier intervalle avec le précédent, produisant un un lorsque le nouvel intervalle est plus long et un zéro lorsqu’il est plus court.
Les intervalles égaux sont supprimés. Les mesures inférieures à 200 microsecondes sont rejetées car elles présentent des problèmes possibles, tandis que les comparaisons acceptées se poursuivent jusqu’à ce que l’appareil ait collecté 512 bits.
Higgins affirme que cette méthode utilise la synchronisation des impulsions car l’arrivée précise d’un événement de désintégration individuel ne peut être prédite. Le développeur ne prétend pas que chaque comparaison collectée contribue à un bit complet d’entropie mesurée.
SHA-256 conditionne les données brutes de départ du Bitcoin
Une fois le pool de 512 bits terminé, Entropy32 Plus traite les 64 octets via son code SHA-256 fourni. Le micrologiciel utilise les 16 premiers octets du hachage résultant pour une phrase de 12 mots ou les 32 octets pour une phrase de 24 mots.
Selon le projet, le hachage vise à réduire les modèles visibles liés au temps mort du détecteur, aux changements de taux de comptage ou aux corrélations entre les mesures. Le conditionnement par hachage peut répartir l’entropie disponible sur une sortie, mais cela ne prouve pas le degré d’imprévisibilité des données d’origine.
Le micrologiciel comprend un test de démarrage pour SHA-256. Il calcule le hachage de « abc » et compare le résultat avec une valeur connue. L’appareil s’arrête avant de collecter l’entropie si la réponse est incorrecte.
La réussite de l’autotest confirme que l’implémentation renvoie le résultat attendu pour ce vecteur de test. Il ne teste pas le compteur Geiger, n’évalue pas l’indépendance des impulsions et ne mesure pas l’entropie minimale entrant dans le hachage.
Le projet collecte deux fois plus de bits de comparaison que l’entrée BIP39 maximale de 256 bits qu’il produit. Jusqu’à ce que la source physique soit soumise à une mesure formelle, le référentiel n’établit pas la quantité d’entropie utilisable que contient chaque comparaison.
L’appareil mappe les données conditionnées sur les mots BIP39
Suite au conditionnement SHA-256, l’appareil applique le processus défini dans la spécification BIP39. BIP39 convertit une longueur d’entropie approuvée en une phrase mnémonique sélectionnée dans une liste standardisée de 2 048 mots.
Pour une phrase de 12 mots, Entropy32 Plus utilise 128 bits de données conditionnées et calcule une somme de contrôle de quatre bits. Les 132 bits combinés sont divisés en douze groupes de 11 bits, chaque groupe sélectionnant un mot.
Son paramètre de 24 mots utilise 256 bits et une somme de contrôle de huit bits. La division de la séquence résultante de 264 bits produit 24 index de mots.
Le guide des phrases de départ de Crypto.news explique que les phrases de récupération contiennent les informations nécessaires pour restaurer l’accès au portefeuille. Quiconque obtient les mots corrects dans l’ordre approprié peut recréer les clés du portefeuille.
Une phrase de départ n’est pas en elle-même une collection de mots générés indépendamment. Comme crypto.news l’explique dans son guide des clés publiques et privées, les portefeuilles Bitcoin modernes dérivent de nombreuses clés privées d’une seule graine principale. La faiblesse de l’entropie d’origine peut donc affecter chaque adresse générée à partir de celle-ci.
Entropy32 Plus compile la liste complète en anglais des BIP39 dans son firmware. La liste de mots occupe 13 117 octets, soit environ 43 % de la capacité flash du microcontrôleur, selon le référentiel.
Avec l’interface OLED, l’implémentation SHA-256 et la logique de collecte incluses, le programme compilé utilise 30 006 des 30 720 octets disponibles de la puce. Seuls 714 octets restent inutilisés.
La conception hors ligne éloigne les graines des appareils connectés
Les fichiers matériels publiés ne répertorient aucun matériel de communication sans fil. Les utilisateurs font fonctionner le générateur via deux boutons et lisent la phrase sur un écran OLED de 0,91 pouce.
Les index de mots générés restent temporairement dans la RAM du microcontrôleur. Une fois que l’utilisateur a enregistré la phrase, appuyer sur les deux boutons ouvre un processus de confirmation qui écrase le tableau de mots et redémarre la collecte d’entropie.
Le micrologiciel efface le pool d’origine après l’avoir copié pour traitement. Les tampons temporaires de hachage, de somme de contrôle et d’entropie sont écrasés une fois les index BIP39 calculés.
Selon le développeur, l’appareil n’enregistre pas de phrase de récupération dans la mémoire persistante. La conception open source n’inclut pas d’élément sécurisé ni de mécanisme prouvant que le micrologiciel installé correspond au code public.
L’isolation physique supprime plusieurs voies d’attaque basées sur le réseau, mais elle ne vérifie pas qu’un périphérique a été correctement assemblé ou chargé avec un logiciel fiable. Une unité modifiée pourrait afficher des mots prédéterminés ou conserver les données générées sans changer son apparence extérieure.
Le guide de sécurité du portefeuille de Crypto.news recommande de conserver les phrases de récupération à l’écart des téléphones, des comptes cloud, des photographies et autres systèmes connectés. Le processus basé sur écran d’Entropy32 Plus est compatible avec la transcription hors ligne, à condition que le matériel et le micrologiciel soient fiables.
Les tests d’entropie indépendants restent inachevés
Le référentiel indique que la source d’entropie basée sur Geiger n’a pas été testée dans le cadre de la publication spéciale NIST 800-90B. La méthodologie du NIST couvre l’évaluation des sources d’entropie physique et comprend des procédures distinctes pour les données indépendantes et non indépendantes.
Higgins demande d’enregistrer les temps bruts entre les arrivées sur une longue période et de les examiner avec les estimateurs d’entropie minimale non-IID du NIST. Les commentaires du micrologiciel préviennent que les résultats des tests statistiques généraux ne suffiraient pas à établir une entropie suffisante.
« Veuillez vérifier la source d’entropie que vous avez l’intention d’utiliser, sinon comprenez que vous utiliserez l’appareil à vos propres risques », indique le README.
Le développeur recommande de mélanger les données dérivées de Geiger avec une autre source validée de manière indépendante avant de créer un portefeuille pour des fonds précieux. Aucun audit externe, évaluation du NIST ou ensemble de données publiques d’événements bruts n’était inclus dans le référentiel au 13 septembre.
Les échecs passés du portefeuille montrent pourquoi les tests d’entropie vont au-delà de la confirmation que les derniers mots suivent le formatage BIP39. Crypto.news a rapporté que le chef de la sécurité de Kraken a demandé des tests indépendants de portefeuille après une vulnérabilité de génération de graines Coldcard.
Une revue technique connexe a expliqué comment une faible entropie peut exposer les portefeuilles Bitcoin sans révéler quelles personnes utilisent les appareils concernés. Les attaquants peuvent générer des graines possibles, dériver leurs adresses publiques et rechercher des correspondances dans la blockchain.
Crypto.news a rapporté plus tard que la génération prévisible de graines restait exploitable après que la faille sous-jacente ait existé pendant des années. La correction d’un micrologiciel défectueux ne peut pas réparer les phrases générées précédemment ; les utilisateurs concernés doivent créer de nouveaux portefeuilles et transférer leurs actifs.
Entropy32 Plus reste en développement actif. Son historique de validation montre une validation initiale datée du 4 septembre, suivie de modifications du micrologiciel, des circuits imprimés et du boîtier. Le référentiel n’avait pas de version de production étiquetée ni de calendrier publié pour réaliser une évaluation de sécurité indépendante au 13 septembre.