polito.it
Politecnico di Torino (logo)

Implementazione hardware di SHA-3 e HMAC su FPGA = Hardware implementation of SHA-3 and HMAC on FPGA

Giulio Pecoraro

Implementazione hardware di SHA-3 e HMAC su FPGA = Hardware implementation of SHA-3 and HMAC on FPGA.

Rel. Maurizio Martina, Gabriele Coppolino, Andrea Molino. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering), 2021

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (2MB) | Preview
Abstract:

Nell’era moderna caratterizzata da bitcoin e da trasmissioni di migliaia di dati sensibili, un ruolo importante per la sicurezza delle informazioni viene ricoperto dalla crittografia che si fonda su algoritmi di cifratura e autenticazione. Fanno parte della seconda famiglia le funzioni hash che lavorano su dati in binario di lunghezza variabile producendo una rappresentazione condensata del messaggio iniziale. Lo scopo di questa tesi, sviluppata in Telsy, azienda leader nell’ambito della crittografia e della Cyber Security, è quello di analizzare e sviluppare su FPGA un algoritmo di hash di recente pubblicazione noto come SHA-3. Il primo passo per arrivare ad un’implementazione efficace dell’algoritmo è stato studiare le basi matematiche dello SHA-3 per acquisire una conoscenza approfondita del suo funzionamento. La fase di sviluppo, in particolare dello SHA3-512, é proseguita su due strade differenti, una di implementazione software dell’algoritmo da eseguire sul processore NIOS II presente sull’FPGA e l’altra di implementazione hardware da sintetizzare sulla medesima scheda in modo da poter dedurre la soluzione migliore in termini di prestazioni. Per la prima implementazione è stato utilizzato un codice in C creato dagli stessi sviluppatori dell’algoritmo a cui è stata aggiunta un’interfaccia esterna per ricevere il messaggio in ingresso da elaborare e per eseguire il codice sul processore. Determinate funzioni per la gestione del timer presente sulla scheda hanno permesso di misurare il tempo di esecuzione della funzione. Per l’implementazione hardware, un codice VHDL opportunamente adattato all’obiettivo ha consentito di ricevere gli stessi ingressi utilizzati nell’implementazione precedente, in modo da poter confrontare le due implementazioni. Un’apposita interfaccia ha permesso il passaggio di dati e di controlli tra il processore e il blocco hardware dello SHA-3. Dopo aver testato il corretto funzionamento del blocco sono stati misurati i tempi di esecuzione per differenti messaggi in ingresso in modo da poter confrontare le due soluzioni. Nella seconda parte del lavoro è stato sviluppato, seguendo gli stessi passi dello SHA-3, un algoritmo per l’autenticazione dei messaggi noto come HMAC. Una caratteristica di questo metodo, che permette di creare un codice di autenticazione del messaggio in ingresso basandosi su una chiave segreta e su una funzione di hash qualunque, ha permesso il riutilizzo dello stesso blocco SHA3-512.

Relatori: Maurizio Martina, Gabriele Coppolino, Andrea Molino
Anno accademico: 2020/21
Tipo di pubblicazione: Elettronica
Numero di pagine: 74
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-29 - INGEGNERIA ELETTRONICA
Aziende collaboratrici: Telsy SPA
URI: http://webthesis.biblio.polito.it/id/eprint/17816
Modifica (riservato agli operatori) Modifica (riservato agli operatori)