Title: Realizzazione di un componente per un sistema dedicato: sviluppo dell
1Realizzazione di un componente per un sistema
dedicato sviluppo dellalgoritmo di
crittografia RC6 a 128 bit
- Relatore Prof. Fabrizio Ferrandi
- Correlatore Ing. Marco Domenico Santambrogio
- Diego Nichetti Matr. 651159
- Stefano Orlandi Matr. 651709
2Sommario
- Introduzione
- FPGA e componenti delle Architetture
- Metodologia di progetto
- Presentazione dellalgoritmo RC6
- Implementazione dellIP Core
- Test Effettuati
- Conclusioni e lavori futuri
3Introduzione - FPGA
- FPGA (Field Programmable Gate Array)
- Miglior compromesso per quanto riguarda
flessibilità, costo ed efficienza. - Impiegati per la prototipazione (rapida verifica
funzionalità dispositivi HW) - Composti da CLB
4Introduzione Componenti delle Architetture
- Architetture
- Componenti delle Architetture
- Processori
- Periferiche e IP Core
- Bus
- Core Connect (IBM)
- PLB (Processor Local Bus)
- OPB (On-Chip Peripheral Bus)
- DCR (Device Control Register)
5Metodologia di progetto
- Passaggio dal Codice C alla descrizione VHDL
- Ottimizzazione dello spazio
- Componenti per iterazioni evitare il seguente
problema - Ottimizzazione della frequenza
- Utilizzo di macchine a stati finiti diminuzione
del percorso critico
6Metodologia di progetto
7Presentazione dellalgoritmo
- Caratteristiche dellRC6 (Rivest Cipher 6)
- Algoritmo di crittografia simmetrica successore
dellRC5 - Parametrico rispetto a w, r, b
- Introduce
- Utilizza la rotazione fissa (indipendenza
dallRC5) - Impiega la moltiplicazione intera come operazione
primaria - Composto da due sottoalgoritmi
- Algoritmo Key Schedule
- Algoritmo Crypt
8Presentazione dellalgoritmo
Rotazione fissa
9Presentazione dellalgoritmo
Moltiplicazioneintera
10Implementazione dellIP Core
Operazioni dellalgoritmo RC6
Interconnessioni tra PSelect e rc6_encoder_core
interfaccia di collegamento con il bus
11Implementazione dellIP Core
Chiave Utente
Parola da crittare
Registri-comando
12Implementazione dellIP Core
Contatore iterazioni
13Implementazione dellIP Core
- Struttura della descrizione VHDL dellalgoritmo
key schedule
Inizializzazione
Macchina a stati finiti
Avvio crypt
14Implementazione dellIP Core
- Macchina a stati finiti per lalgoritmo Key
Schedule
Indicatore di stato
Stati
Necessario per case-when
15Implementazione dellIP Core
16Implementazione dellIP Core
- Risultati ed analisi della sintesi
- Temporizzazioni
- Occupazione FPGA
17Implementazione dellIP Core
- Risultati ed analisi della sintesi
- Riconoscimento macchina a stati finiti per crypt
18Implementazione dellIP Core
- Funzioni del driver
- Scrittura sui registri
- Avvio dellalgoritmo
- Lettura dei risultati
19Test effettuati
8f
c3
a5
36
rA
20Conclusioni e lavori futuri
- La moltiplicazione intera costituisce il collo di
bottiglia dellimplementazione - Lavoro futuro crittazioni di grandi moli di dati
in sequenza con limpiego di DMA (Direct Memory
Access).