Onderzoekers voerden Classic McEliece, een post-kwantumcryptografisch sleuteluitwisselingsmechanisme, uit met een aangepaste RISC-V-instructieset op een FPGA. De demonstratie gebruikte sterk gereduceerde parameters. De grote cyclusreducties die de studie rapporteert, komen uit een aparte geheugensimulatie.

Inhoud

Wat de FPGA-demonstratie laat zien

De onderzoekers implementeerden en testten de instructie-extensie op een DE1-SoC-bord met een Intel Cyclone V-FPGA. De studie, gepubliceerd op 26 oktober 2026 in Discover Computing, beschrijft een aangepaste RV32I-processor waarop de cryptografische instructies nauw zijn aangesloten. De evaluatie gebruikte SYS_T=2, SYS_N=48 en GFBITS=12, waarden die voor architectuuronderzoek waren gekozen.

De FPGA voerde encapsulatie en decapsulatie uit met door een host gegenereerde sleutels. De volledige configuratie gebruikte 10.531 adaptive logic modules (ALM's). De synthese rapporteerde een maximale klokfrequentie van 118,89 MHz bij de slow-cornerconditie van 85 °C; de processor en accelerators draaiden op het bord op 5 MHz.

Simulatiecijfers en FPGA-cycli meten verschillende dingen

De reducties van 87,4% voor encapsulatie en 86,1% voor decapsulatie zijn resultaten van een simulatie met asynchroon geheugen, vergeleken met een niet-versnelde baseline. De onderzoekers rapporteerden daarnaast afzonderlijke tellingen voor de FPGA met synchroon geheugen. De tellingen verschillen ook in de omvang van de bewerking.

MeetopstellingBewerkingCycliScope en voorwaarde
Asynchrone geheugensimulatieEncapsulatiebewerking1.01087,4% minder cycli dan de niet-versnelde baseline
Asynchrone geheugensimulatieDecapsulatie1.708.05086,1% minder cycli dan de niet-versnelde baseline
FPGA met synchroon geheugenEncapsulatiebewerking1.820De telling voor de bewerking zelf
FPGA met synchroon geheugenVolledige encapsulatie13.585Inclusief SHA-256
FPGA met synchroon geheugenDecapsulatie3.654.113De FPGA gebruikte door een host gegenereerde sleutels

De 1.820 cycli voor de encapsulatiebewerking zijn dus niet hetzelfde als de 13.585 cycli voor volledige encapsulatie inclusief SHA-256. Ook zijn de reductiepercentages simulatie-uitkomsten, geen gemeten reducties op de FPGA. De onderzoekers schrijven de hogere FPGA-tellingen tegenover de asynchrone tellingen toe aan extra vertraging door synchroon geheugen.

Welke aangepaste instructies hielpen

De implementatie behield onder meer een Chien-zoektocht over een supportlijst, Gaussische eliminatie met vaste afmetingen voor het genereren van een minimale polynoom en een streamingbewerking voor de systematische reductie bij public-keygeneratie.

Een DMA-versnelde variant van composeinv haalde in geïntegreerde metingen slechts 1,0 tot 1,1 keer verbetering op de controlbits-stap. Recursieve kleine sorteerbewerkingen en de overhead van gegevensoverdracht wogen op tegen de winst van de afzonderlijke kernel, waarna de onderzoekers deze variant uit de uiteindelijke configuratie haalden. Na versnelling van decoderstappen nam supportgeneratie, aangedreven door het Bénes-permutatienetwerk, in beide geheugenconfiguraties meer dan 99% van de decapsulatiecycli in beslag.

Sleutelgeneratie en geheugen bij grotere parameters

De FPGA gebruikte sleutels die op een host waren gegenereerd; volledige sleutelgeneratie op het apparaat werd niet gedemonstreerd. De volledige route overschreed een simulatielimiet van 300 miljoen cycli terwijl controlbits software bleef.

Voor de parameterreeks mceliece348864, met n=3488 en t=64, noemt de studie een gepakte systematische matrix van 334.848 bytes en een publieke sleutel van 261.120 bytes. De FPGA heeft ongeveer 496 KiB blokgeheugen. De matrix past daar op zichzelf in, maar de matrix, publieke sleutel en processor geheugens passen niet samen. De onderzoekers extrapoleerden geen prestaties voor deze grotere parameters.

Tests, vermogensschatting en beveiliging

De systeemtests slaagden voor één bekende-antwoordtest en vier gerichte foutpatronen met gewicht twee. Voor de gebruikte configuratie zijn er 1.128 geldige patronen van dat type; de tests vormden dus geen uitputtende of statistische dekking. De onderzoekers corrigeerden ook vier fouten in de overgenomen Berlekamp–Massey-toestandsmachine en een afzonderlijk defect in het transpositieregisterbestand.

Voor de volledige FPGA-configuratie op 5 MHz schatte Quartus PowerPlay het totale vermogen op 458,34 mW. Dat is een vectorloze modelschatting. De studie schatte daarnaast ongeveer 335 mJ per decapsulatie, waarvan circa 90% statisch lekvermogen. Twee korte VCD-vensters lagen binnen 1% van de vectorschatting voor totaal vermogen en binnen 9% voor dynamisch vermogen, maar omvatten geen volledige decapsulatie.

De onderzoekers voerden geen side-channelexperiment uit. De FPGA-demonstratie rapporteert daarmee de uitvoering van encapsulatie en decapsulatie onder beperkte testparameters, zonder empirische evaluatie van weerstand tegen side-channelaanvallen.