+ All Categories
Home > Documents > Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi...

Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi...

Date post: 01-May-2015
Category:
Upload: pietrina-pucci
View: 223 times
Download: 4 times
Share this document with a friend
16
Politecnico di Milano Politecnico di Milano Implementazione hardware Implementazione hardware dell’algoritmo MD5, tramite dell’algoritmo MD5, tramite EDK, per sistemi EDK, per sistemi riconfigurabili riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore: Ing. Marco Domenico Santambrogio Antonio Canclini Matr. #657338 Maurizio Sala Matr. #659392
Transcript
Page 1: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Politecnico di MilanoPolitecnico di Milano

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

riconfigurabiliriconfigurabili

Relatore: Prof. Fabrizio Ferrandi

Correlatore: Ing. Marco Domenico Santambrogio

Antonio Canclini Matr. #657338

Maurizio Sala Matr. #659392

Page 2: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 2

SommarioSommario

• 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

Page 3: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 3

FPGAFPGA

• FPGA Field Programmable Gate Array

• Utilizzo per test e prototipi

• Miglior compromesso tra costi e prestazioni, garantendo buona flessibilità

Blocco logico configurabile

Blocco di input/output

Interconnessione

Page 4: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 4

Crittografia e HashingCrittografia 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 hashingMessaggio

di lunghezza arbitraria

Message digest di n bit

ALGORITMO

Page 5: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 5

Descrizione algoritmo MD5Descrizione 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

Page 6: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 6

Realizzazione in VHDLRealizzazione in VHDL

• Ottimizzazione della frequenza di lavoro di un’implementazione esistente dell’algoritmo MD5

Ricerca del percorso critico

OPERAZIONE CRITICA IN TERMINI

DI FREQUENZA

Page 7: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 7

Realizzazione in VHDLRealizzazione 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;

add2 <= k + t(i);

add3 <= add1 + add2;

Page 8: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 8

Realizzazione in VHDLRealizzazione in VHDL

• Implementazione dei 4 round dell’algoritmo MD5:

• I processi per il calcolo delle somme vengono replicati 4 volte

SEGNALE nsw : CONTATORE CHE

REGOLA L’ESECUZIONE DI UN

ROUND

SEGNALE round : MANTIENE

L’INFORMAZIONE SUL ROUND IN ESECUZIONE

Page 9: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 9

Realizzazione in VHDLRealizzazione in VHDLAGGIORNAMENTO

DEI SEGNALI PER IL CONTROLLO DEL

FLUSSO DI ESECUZIONE

PASSAGGIO DEI VALORI DEI REGISTRI

DAL ROUND 3 AL ROUND 4

Page 10: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 10

Importazione in una Importazione in una architettura EDKarchitettura EDK

PROCESSORE POWER-PC

BUS OPB

COMPONENTE REALIZZATO

Page 11: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 11

Importazione in una Importazione in una architettura EDKarchitettura 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

Page 12: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 12

Importazione in una Importazione in una architettura EDKarchitettura 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

Page 13: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 13

Device driverDevice driver

• Funzioni del driver:

• Accesso alla memoria (lettura/scrittura registri)

• Gestione interrupt

Page 14: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 14

PrestazioniPrestazioni

• Confronto di prestazioni tra il componente esistente e la nuova implementazione (rispetto al round 1)

• Prestazioni del componente realizzato:

Page 15: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 15

Test e simulazioniTest e simulazioni

• Simulazione con Modelsim

• Utilizzo di un testbench

• Casi di test ufficiali forniti nella specifica RFC 1321

FINE ELABORAZIONE COMUNICATA DAL

SEGNALE DI INTERRUPTMESSAGEDIGEST

Page 16: Politecnico di Milano Implementazione hardware dell algoritmo MD5, tramite EDK, per sistemi riconfigurabili Relatore: Prof. Fabrizio Ferrandi Correlatore:

Antonio Canclini – Maurizio Sala 16

Conclusioni e lavori futuriConclusioni 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


Recommended