EO526
DIGITAL INTELLECTUAL PROPERTIES soluzioni veloci ed eseguite in corrispondenza al processo di fetching delle istruzioni, in altre parole, adottare un si- stema trasparente dal punto di vista della CPU. Gli ultimi microcontrollori di Renesas, come la serie RA8x1, imple- mentano la cosiddetta architettura di “Decryption On The Fly” (DOTF) che soddisfa esattamente questo scopo. Una rappresentazione concettuale di questa soluzione è ripor- tata nella figura 1. Il principio è piuttosto semplice e si basa sullo standard di crittografia/decrittografia AES, utilizzando la modali- tà “counter” (CTR) come specificato in NIST SP800-38A. Il principio della modalità operativa CTR è mostrato nella figura 2. Nellamodalità CTR, un gruppo di contatori viene immesso in una funzione di criptazione di blocchi, la quale genera un output segreto che viene poi combinato XOR con il testo in chiaro (o con il testo cifrato) per criptare (o decripta- re) il contenuto del messaggio. La sequenza dei contato- ri deve essere scelta in modo che ogni blocco di ingresso dell’insieme sia unico e diverso. Questo requisito è valido per tutti i “messaggi” (cioè i dati) che vengono cifrati con la medesima chiave. Una proprietà interessante della modalità CTR è che le funzioni di cifratura associate con il contatore posso- no essere eseguite in anticipo, indipendentemente l’una dall’altra, senza dover aspettare che il blocco di dati sia disponibile. Questo contribuisce a ridurre la latenza du- rante la lettura dei dati cifrati dalla memoria Octal, dato che la generazione del blocco di uscita può essere svolta in parallelo. Inoltre, un determinato blocco di testo in chiaro può essere recuperato indipendentemente da qualsiasi al- tro blocco, cosa che è conveniente nel fetching dei dati del programma, poiché, in base al flusso del programma stes- so, il processore potrebbe richiedere di leggere il codice da locazioni non sequenziali. I parametri utilizzati per definire i contatori devono es- sere scelti con attenzione per garantire la loro unicità. Un blocco AES è di dimensione pari a 16 byte (128 bit); per- tanto, anche il contatore deve essere a 128 bit. Anche ogni blocco crittografato in memoria deve essere allineato a 16 byte. Per creare un contatore unico è possibile utilizzare una concatenazione di un valore iniziale e dell’indirizzo in memoria. Il valore iniziale è essenzialmente un “nonce” (numero unico e casuale, usato una volta sola) e l’indirizzo del bloc- co crittografato che viene letto ha i 4LSB mascherati, per Figura 2 – Modalità CTR (Fonte: NIST SP800-38A) ELETTRONICA OGGI 526 - MAGGIO 2025 47
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz