Une étude publiée le 26 octobre 2026 rapporte qu’une extension d’instructions RISC-V a exécuté l’encapsulation et le décapsulage de Classic McEliece sur un FPGA. L’évaluation utilise des paramètres réduits ; les baisses de cycles les plus marquées proviennent d’une simulation à mémoire asynchrone, et non des mesures sur la carte.
Dans cet article
- Ce que l’extension RISC-V a exécuté sur FPGA
- Les gains simulés diffèrent des cycles FPGA
- Les accélérateurs retenus et le goulot d’étranglement
- Génération des clés et capacité mémoire
- Portée des tests et estimation de puissance
Ce que l’extension RISC-V a exécuté sur FPGA
Les chercheurs ont intégré leur extension à un cœur RISC-V RV32I sur une carte DE1-SoC équipée d’un FPGA Intel Cyclone V. Le système a réalisé l’encapsulation et le décapsulage de Classic McEliece, un mécanisme de chiffrement post-quantique fondé sur les codes correcteurs, avec des clés générées par un hôte.
Les paramètres de l’essai étaient SYS_T=2, SYS_N=48 et GFBITS=12. Ils ont été choisis pour évaluer l’architecture, et non pour mesurer les performances aux paramètres de production. La configuration complète occupait 10 531 ALM. Sa fréquence maximale après synthèse atteignait 118,89 MHz dans le coin lent à 85 °C ; sur la carte, le processeur et les accélérateurs fonctionnaient à 5 MHz.
Une extension d’instructions ajoute au processeur des commandes spécialisées pour accélérer certaines opérations. Ici, les chercheurs ont corrigé des défauts de la machine à états Berlekamp–Massey héritée et un problème dans le registre de transposition avant les essais intégrés.
Les gains simulés diffèrent des cycles FPGA
Les réductions de 87,4 % pour l’encapsulation et de 86,1 % pour le décapsulage correspondent à une comparaison en simulation à mémoire asynchrone avec une base non accélérée. La configuration exécutée sur FPGA utilisait une mémoire synchrone et présente des comptages distincts. Les périmètres des deux résultats d’encapsulation sont également différents.
Cycles rapportés selon le régime mémoire et le périmètre de l’opération.
| Configuration | Opération mesurée | Cycles | Périmètre et condition |
| Simulation à mémoire asynchrone | Encapsulation | 1 010 | Configuration avec extension RISC-V |
| Simulation à mémoire asynchrone | Décapsulage | 1 708 050 | Configuration avec extension RISC-V |
| FPGA à mémoire synchrone | Opération d’encapsulation | 1 820 | Opération seule |
| FPGA à mémoire synchrone | Encapsulation complète | 13 585 | SHA-256 inclus |
| FPGA à mémoire synchrone | Décapsulage | 3 654 113 | Clés générées par un hôte |
Les 1 820 cycles ne couvrent pas le même périmètre que les 13 585 cycles, qui incluent SHA-256. Quant aux gains en pourcentage, ils décrivent une simulation et ne constituent pas une mesure de réduction des cycles sur FPGA.
Les accélérateurs retenus et le goulot d’étranglement
L’extension conserve une recherche de Chien sur la liste de supports, une élimination de Gauss à taille fixe pour générer le polynôme minimal et une réduction en flux vers la forme systématique pour la génération de la clé publique. Le profilage montre aussi qu’après l’accélération des étapes de décodage, la génération des supports représente plus de 99 % des cycles de décapsulage dans les deux régimes mémoire étudiés.
Les chercheurs ont écarté une conception assistée par DMA de composeinv : intégrée au système, elle n’améliorait l’étape controlbits que d’un facteur de 1,0 à 1,1. Les tris récursifs et le coût des transferts limitaient le bénéfice. Un noyau rapide ne suffit donc pas à accélérer une opération si les échanges de données et son intégration absorbent le gain.
Génération des clés et capacité mémoire
La FPGA a utilisé des clés générées par un hôte. La génération complète des clés sur l’appareil n’a pas été démontrée : le parcours complet a dépassé un budget de simulation de 300 millions de cycles, tandis que controlbits restait exécuté en logiciel.
L’étude examine aussi les besoins mémoire de mceliece348864. Pour cette configuration, la matrice systématique compactée représente 334 848 octets et la clé publique 261 120 octets. La FPGA cible dispose d’environ 496 Kio de mémoire bloc : la matrice peut y tenir seule, mais la matrice, la clé publique et les mémoires du processeur ne tiennent pas ensemble. Les chercheurs ne donnent pas d’estimation de performance aux paramètres complets ; leur analyse indique plutôt qu’il faudrait revoir le stockage, par exemple avec une mémoire externe ou une organisation en banques.
Portée des tests et estimation de puissance
Les essais système ont réussi un test de réponse connue de référence et quatre motifs d’erreur de poids deux choisis. Pour la configuration réduite testée, 1 128 motifs de ce type existent. L’étude ne rapporte donc pas une couverture exhaustive ou statistique de ces cas.
Pour la conception complète à 5 MHz, l’outil PowerPlay estime la puissance totale à 458,34 mW. L’étude estime aussi à environ 335 mJ l’énergie d’un décapsulage, dont environ 90 % seraient liés aux fuites statiques. Ces chiffres dépendent de cette FPGA, de cette conception et du modèle d’activité ; les fenêtres de simulation utilisées pour confronter l’estimation ne couvraient pas un décapsulage complet.
Aucun essai par canal auxiliaire n’a été réalisé. La latence fixe d’une instruction ne suffit pas, à elle seule, à établir qu’un logiciel s’exécute en temps constant ou qu’un circuit consomme une puissance constante : l’étude ne fournit donc pas de résultat expérimental sur la résistance de cette conception à ce type d’attaque.