Crittografia Post-Quantum per Sistemi Embedded: Sfide e Integrazione di Acceleratori su Architetture RISC-V

Introduzione

La sicurezza informatica ha assunto un ruolo sempre più centrale e pervasivo, in particolare per i sistemi embedded, ovvero dispositivi a basso consumo e con risorse limitate utilizzati, ad esempio, in applicazioni critiche come automobili, dispositivi IoT e sistemi industriali. Tuttavia, l’avvento dei computer quantistici minaccia la sicurezza delle attuali soluzioni crittografiche a chiave pubblica basate su algoritmi classici, come RSA ed ECC, che potrebbero essere facilmente violati da algoritmi quantistici come quello di Shor. Per affrontare questa sfida, il National Institute of Standards and Technology (NIST) ha avviato un processo di standardizzazione per algoritmi resistenti agli attacchi quantistici, noti come Post-Quantum Cryptography (PQC). La transizione alla crittografia post-quantum non è comunque priva di ostacoli, soprattutto nel contesto dei sistemi embedded, dove le nuove primitive crittografiche introducono una complessità algoritmica significativamente più elevata rispetto agli schemi classici.

Le operazioni matematiche intensivamente coinvolte nei nuovi schemi selezionati, come la moltiplicazione polinomiale su grandi numeri e le trasformazioni utilizzate nelle operazioni di hash, pongono sfide in termini di prestazioni e consumo energetico, rendendo cruciale l’adozione di strategie di ottimizzazione hardware e software. Date le limitate risorse a disposizione, uno degli aspetti più critici della transizione alla PQC nei sistemi embedded è la necessità di accelerare le operazioni crittografiche mantenendo al contempo un’occupazione di area bassa dell’hardware. Algoritmi come CRYSTALS-Kyber e CRYSTALS-Dilithium, selezionati dal NIST per la standardizzazione, garantiscono robustezza contro gli attacchi quantistici, ma la loro implementazione efficiente su dispositivi embedded richiede soluzioni innovative.

 

Il Ruolo degli Acceleratori Hardware nei sistemi embedded

L’esecuzione di algoritmi crittografici post-quantum come Kyber può risultare computazionalmente onerosa, soprattutto su dispositivi con risorse limitate come i sistemi embedded. Per questo motivo, l’adozione di acceleratori hardware rappresenta una strategia chiave per ridurre i tempi di esecuzione e il consumo energetico, migliorando così l’efficienza. Gli acceleratori hardware sono delle unità specializzate che possono essere progettate per eseguire in modo efficiente operazioni crittografiche complesse. Rispetto a un processore generico, gli acceleratori sono in grado di eseguire calcoli specifici, come la moltiplicazione polinomiale ed gli hash crittografici, con un significativo efficientamento rispetto all’esecuzione in software. Una delle piattaforme più adatte per l’integrazione di acceleratori per la crittografia post-quantum è RISC-V, un’architettura open-source che permette la personalizzazione del set di istruzioni. Grazie alla sua flessibilità, RISC-V consente di integrare moduli hardware dedicati per migliorare l’efficienza computazionale degli algoritmi PQC, adattandoli alle specifiche esigenze dei dispositivi embedded. A seconda del livello di integrazione con il processore principale, gli acceleratori possono essere più o meno strettamente accoppiati all’architettura del sistema.

Crittografia Post Quantum per Sistemi Embedded Sfide e Integrazione di Acceleratori su Architetture RISC V_Tesy_1 (1)

Un approccio particolarmente interessante è quello degli acceleratori loosely-coupled, che operano come moduli hardware indipendenti, separati dalla CPU, e possono essere riutilizzati per più applicazioni. Questa soluzione offre una maggiore flessibilità rispetto agli acceleratori tightly-coupled, che invece si integrano direttamente all’interno del processore, ma introduce un certo overhead dovuto alla comunicazione tra CPU e acceleratore.

 

Strategie di Integrazione degli Acceleratori su RISC-V

Gli acceleratori loosely-coupled comunicano con il processore attraverso il bus di sistema, un’interconnessione hardware che permette il trasferimento di dati tra CPU, memoria e periferiche, utilizzando interfacce di registro compatibili con protocolli standard come APB, AXI-Lite, OBI e AXI. Ciò facilita un’integrazione efficiente nei sistemi basati su RISC-V e garantisce scalabilità in diversi scenari applicativi. L’interazione tra CPU e acceleratore è gestita da driver software dedicati, che si occupano dell’inizializzazione, del trasferimento dei dati tramite DMA (Direct Memory Access) e della gestione degli interrupt generati dall’hardware. Il DMA consente di trasferire blocchi di dati tra memoria e periferiche senza impegnare direttamente la CPU, migliorando l’efficienza complessiva del sistema. In questo articolo, ci concentreremo sull’approccio loosely-coupled, illustrando come l’uso di acceleratori hardware possa migliorare significativamente le prestazioni di Kyber, riducendo il costo computazionale rispetto a una soluzione puramente software.

 

Accelerazione delle Funzioni Computazionalmente Complesse

L’implementazione hardware ha permesso di ottimizzare diverse operazioni fondamentali, riducendo drasticamente il tempo di esecuzione misurato in cicli di clock rispetto alle implementazioni software. Un ciclo di clock è il tempo che impiega un computer o un dispositivo elettronico per completare una singola operazione di base, come l’aggiornamento di un valore o l’esecuzione di un’istruzione elementare. In altre parole, è l’unità di tempo che scandisce il ritmo delle operazioni del sistema.

Keccak

Crittografia Post Quantum per Sistemi Embedded Sfide e Integrazione di Acceleratori su Architetture RISC V_Tesy_2
Figura 1. Schematico dell’acceleratore per Keccak

Una delle operazioni più onerose, sia in termini di cicli di clock che di consumo energetico, è la trasformazione di Keccak, il cuore dell’algoritmo SHA-3, utilizzato per la generazione di hash crittografici sicuri. Keccak è una funzione di hash basata su una struttura sponge, selezionata come standard SHA-3 dal NIST per la sua resistenza agli attacchi crittanalitici e la sua efficienza nell’hardware. L’acceleratore mostrato in figura implementa la permutazione Keccak-f[1600] con ottimizzazioni come un generatore semplificato delle costanti di round. Inoltre, la memorizzazione completa dello stato nel registro in grigio bilancia l’uso delle risorse e massimizza l’efficienza. L’accelerazione hardware ha ottimizzato l’elaborazione della funzione di permutazione, consentendo un miglioramento delle prestazioni superiore a un ordine di grandezza rispetto all’approccio puramente software: il numero di cicli di clock richiesti è passato da 56.529 a poco più di 4.000, con una riduzione di oltre 13 volte.

Operazione Numero di cicli di clock originali Numero di cicli di clock ottimizzati Miglioramento
Keccak-f[1600] 56529 4169 13.56 X

 

Number Theoretic Transform

Crittografia Post Quantum per Sistemi Embedded Sfide e Integrazione di Acceleratori su Architetture RISC V_Tesy_3
Figura 2. Schematico dell’acceleratore per NTT/INTT

Un’altra operazione cruciale nell’esecuzione dell’algoritmo è la Number Theoretic Transform (NTT) e la sua versione inversa (INVNTT), essenziali per ottimizzare la moltiplicazione polinomiale. L’acceleratore proposto implementa un’unità butterfly unificata per eseguire entrambe le operazioni. L’unità butterfly è un’operazione fondamentale negli algoritmi di trasformata, come la NTT e la FFT (Fast Fourier Transform), che permette di combinare coppie di coefficienti attraverso somme e sottrazioni modulari, migliorando l’efficienza computazionale. Le costanti coinvolte nella computazione sono precalcolate e memorizzate in ROM per ridurre i calcoli durante l’esecuzione. L’architettura include memorie dedicate per i polinomi di input e output, con multiplexer che gestiscono il caricamento e il recupero dei dati. Un’unità di controllo coordina l’elaborazione, avviando le operazioni in base ai segnali di start. Implementare queste trasformate in hardware ha portato a un’accelerazione significativa, con riduzioni di tempo rispettivamente fino a 15-20 volte rispetto all’esecuzione software su CPU.

Operazione Numero di cicli di clock originali Numero di cicli di clock ottimizzati Miglioramento
NTT ≈24000 1531 15.68 X
INVNTT ≈30000 1531 19.60 X

 

Risultati

La tabella riportata confronta le prestazioni dell’algoritmo Kyber con e senza l’uso degli acceleratori hardware descritti precedentemente. I risultati evidenziano significativi miglioramenti nella generazione della chiave, nell’incapsulamento e nel decapsulamento, grazie all’introduzione di un acceleratore loosely-coupled.

Algoritmo Funzione Numero di cicli di clock originali Numero di cicli di clock ottimizzati Miglioramento
Kyber512 KeyGen 1,052,145 292,660 3.59 X
Encaps 1,106,228 365,167 3.03 X
Decaps 1,231,155 460,374 2.67 X
Kyber768 KeyGen 1,674,185 315,149 5.31 X
Encaps 1,789,912 418,661 4.29 X
Decaps 1,968,664 533,930 3.69 X
Kyber1024 KeyGen 2,612,887 609,948 4.29 X
Encaps 2,757,344 563,515 4.89 X
Decaps 2,983,573 741,062 4.02 X

Nel caso di Kyber-512, gli acceleratori hanno ridotto il numero di cicli di clock per la generazione della chiave da 1052145 a 292660, con un miglioramento delle prestazioni di circa 3.59 volte. Per l’incapsulamento, il numero di cicli di clock è sceso da 1106228 a 365167, con una velocizzazione di circa 3.03 volte, mentre per il decapsulamento si è passati da 1231155 a 460374, ottenendo una riduzione di circa 2.67 volte. L’analisi mostra una tendenza simile anche per Kyber-768 e Kyber-1024, dove l’accelerazione hardware ha portato a riduzioni notevoli del numero di cicli di clock.

 

Conclusioni

L’integrazione della crittografia post-quantistica nei sistemi embedded rappresenta una sfida complessa, dovuta all’elevata richiesta di risorse computazionali. L’uso di acceleratori hardware su architetture RISC-V offre un compromesso tra prestazioniefficienza e scalabilità. La ricerca in questo campo continua a esplorare soluzioni per ridurre il consumo di area e migliorare l’adattabilità degli acceleratori a diversi scenari applicativi, contribuendo alla transizione verso un futuro digitale sicuro anche nell’era quantum.

 


 

Questo articolo appartiene ad una serie di contributi, a cura del Gruppo di Ricerca in Crittografia di Telsy, dedicata al calcolo quantistico e alle sue implicazioni sulla Crittografia. Per la consultazione di altri articoli si rimanda all’indice della rubrica.

Per altri articoli relativi ai temi Quantum e Crittografia si rimanda alle relative categorie nel blog.

 

L’autrice

Alessandra Dolmeta, laureata in Ingegneria Elettronica al Politecnico di Torino, attualmente dottoranda in Ingegneria Elettrica, Elettronica e delle Comunicazioni, in collaborazione con Telsy. La sua ricerca si concentra sullo sviluppo di architetture hardware per la crittografia post-quantum su RISC-V, con l’obiettivo di ottimizzare e accelerare gli algoritmi PQC.