1 / 16

Implementazione hardware dell ’ algoritmo MD5, tramite EDK, per sistemi riconfigurabili

Implementazione hardware dell ’ algoritmo MD5, tramite EDK, per sistemi riconfigurabili. Relatore: Prof. Fabrizio Ferrandi Correlatore: Ing. Marco Domenico Santambrogio Antonio Canclini Matr. #657338 Maurizio Sala Matr. #659392. Sommario. Introduzione: FPGA e introduzione all’hashing

mckile
Télécharger la présentation

Implementazione hardware dell ’ algoritmo MD5, tramite EDK, per sistemi riconfigurabili

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementazione hardware dell’algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore: Ing. Marco Domenico Santambrogio Antonio Canclini Matr. #657338 Maurizio Sala Matr. #659392

  2. Sommario • Introduzione: • FPGA e introduzione all’hashing • Descrizione algoritmo MD5 • Realizzazione VHDL • Importazione in una architettura in EDK – Device driver • Prestazioni, test e simulazioni • Conclusioni e lavori futuri Antonio Canclini – Maurizio Sala

  3. FPGA • FPGA  Field Programmable Gate Array • Utilizzo per test e prototipi • Miglior compromesso tra costi e prestazioni, garantendo buona flessibilità Blocco di input/output Blocco logico configurabile Interconnessione Antonio Canclini – Maurizio Sala

  4. Crittografia e Hashing • L’Hashing è una particolare tecnica di crittografia: • Permette di garantire l’integrità dei dati • Utilizzata nella firma digitale • L’algoritmo MD5 è un esempio di funzione di hashing Messaggio di lunghezza arbitraria Message digest di n bit ALGORITMO Antonio Canclini – Maurizio Sala

  5. Descrizione algoritmo MD5 • Riceve in ingresso una stringa di lunghezza arbitraria e calcola un digest di 128 bit • Strutturato in 5 passi, descritti nella specifica RFC 1321 Antonio Canclini – Maurizio Sala

  6. Realizzazione in VHDL • Ottimizzazione della frequenza di lavoro di un’implementazione esistente dell’algoritmo MD5 Ricerca del percorso critico OPERAZIONE CRITICA IN TERMINI DI FREQUENZA Antonio Canclini – Maurizio Sala

  7. Realizzazione in VHDL • La somma può essere eseguita in modo parallelo: • Mediante l’utilizzo di più processi VHDL, • e sincronizzando in modo opportuno le operazioni svolte dai processi add1 <= a + temp; add3 <= add1 + add2; add2 <= k + t(i); Antonio Canclini – Maurizio Sala

  8. Realizzazione in VHDL • Implementazione dei 4 round dell’algoritmo MD5: • I processi per il calcolo delle somme vengono replicati 4 volte SEGNALE round : MANTIENE L’INFORMAZIONE SUL ROUND IN ESECUZIONE SEGNALE nsw : CONTATORE CHE REGOLA L’ESECUZIONE DI UN ROUND Antonio Canclini – Maurizio Sala

  9. Realizzazione in VHDL AGGIORNAMENTO DEI SEGNALI PER IL CONTROLLO DEL FLUSSO DI ESECUZIONE PASSAGGIO DEI VALORI DEI REGISTRI DAL ROUND 3 AL ROUND 4 Antonio Canclini – Maurizio Sala

  10. Importazione in una architettura EDK PROCESSORE POWER-PC BUS OPB COMPONENTE REALIZZATO Antonio Canclini – Maurizio Sala

  11. Importazione in una architettura EDK • Interfacciamento del componente sul bus OPB: • In modalità slave • Mediante il modulo PSelect COMPONENTE REALIZZATO PERIPHERAL SELECT: SI OCCUPA DELLA DECODIFICA DEGLI INDIRIZZI PRESENTI SUL BUS OPB Antonio Canclini – Maurizio Sala

  12. Importazione in una architettura EDK • Gestione della memoria mediante il meccanismo di memory mapping 64 BYTE DI MEMORIA DEDICATI ALLA PARTE DI MESSAGGIO DA ELABORARE INDIRIZZO DI START, INDICA IL COMPLETAMENTO DELLA FASE DI INIZIALIZZAZIONE E L’INIZIO DELL’ALGORITMO INDIRIZZI DEDICATI AGLI MD BUFFER Antonio Canclini – Maurizio Sala

  13. Device driver • Funzioni del driver: • Accesso alla memoria (lettura/scrittura registri) • Gestione interrupt Antonio Canclini – Maurizio Sala

  14. Prestazioni • Confronto di prestazioni tra il componente esistente e la nuova implementazione (rispetto al round 1) • Prestazioni del componente realizzato: Antonio Canclini – Maurizio Sala

  15. Test e simulazioni • Simulazione con Modelsim • Utilizzo di un testbench • Casi di test ufficiali forniti nella specifica RFC 1321 MESSAGE DIGEST FINE ELABORAZIONE COMUNICATA DAL SEGNALE DI INTERRUPT Antonio Canclini – Maurizio Sala

  16. Conclusioni e lavori futuri • L’implementazione preesistente è stata migliorata sia in termini di frequenza che dal punto di vista dell’occupazione su scheda • Lavori futuri: impiego del DMA (Direct Memory Access) per aumentare la velocità di esecuzione delle operazioni di accesso alla memoria Antonio Canclini – Maurizio Sala

More Related