PDF de programación - Diseño e implementación de algoritmos criptográficos sobre FPGA

Imágen de pdf Diseño e implementación de algoritmos criptográficos sobre FPGA

Diseño e implementación de algoritmos criptográficos sobre FPGAgráfica de visualizaciones

Publicado el 14 de Septiembre del 2018
575 visualizaciones desde el 14 de Septiembre del 2018
1,1 MB
92 paginas
Creado hace 17a (05/07/2006)
Diseño e implementación de algoritmos

criptográficos sobre FPGA



Autores:
Palomino Guzmán, Abelardo
Romero Zamora, Ángel Manuel
Solbes Bosch, Alfonso

Directores de proyecto:
Sánchez-Élez Martín, Marcos
Resano Ezcaray, Javier


Proyecto de Sistemas Informáticos, Facultad de Informática,
Universidad
Complutense de Madrid.
Curso: 2005/2006



Diseño e implementación de algoritmos criptográficos sobre FPGA _



2

A.P.G., A.M.R.Z., A.S.B.


Resumen.
En este proyecto, se ha diseñado e implementado un sistema para gestionar un grupo de
usuarios, capaz de permitir acceso a información privada mediante claves encriptadas.
La agregación o desagregación al grupo de uno de sus usuarios provoca la
redistribución de claves para alguno o todos ellos. La encriptación de estas claves se
lleva a cabo mediante el algoritmo Advanced Encryption Standard (AES) y, para
incrementar la eficiencia, éstas se organizan jerárquicamente. Además, para conseguir
un mejor rendimiento, el sistema se implementó en FPGA usando el lenguaje VHDL.
Durante el desarrollo de este proyecto se han evaluado distintas alternativas de diseño
tanto para el AES como para el sistema completo realizándose implementaciones
optimizadas tanto para área como para rendimiento. La implementación final de nuestro
sistema es capaz de gestionar la baja o el alta de usuarios en tan sólo 2microsegundos.


Abstract.
In this project we designed and implemented a system to manage a group of users,
which allows the access to private information by means of encrypted keys. Adding or
removing one of the users to or from the group redistributes the keys for some or all of
them. The keys were encrypted with the Advanced Encryption Standard (AES)
algorithm and were organised hierarchically to increase efficiency. Furthermore, the
system was implemented in FPGA using VHDL language in order to achieve a better
performance. During the project development we have evaluated different design
alternatives for the AES and the overall system. We have implemented different version
of the system optimized for area and performance. The final implementation manages
users join and disjoin operations in just 2 microseconds.

Palabras Clave.
Rekeying, Encriptación, Gestión de Claves, Gestión de Usuarios, Seguridad,
Arquitecturas Reconfigurables, Lenguajes de descripción hardware, Multicast



3

Diseño e implementación de algoritmos criptográficos sobre FPGA _



4

A.P.G., A.M.R.Z., A.S.B.


Índice


1. Introducción.............................................................................................................. 7
1.1. La plataforma FPGA .......................................................................................... 7
1.2. Algoritmos Criptográficos...................................................................................... 8
1.3. AES ................................................................................................................... 9
1.4. El generador ANSI X9.17................................................................................. 12
1.5. Sistema de gestión de claves de usuarios. ........................................................ 12
2. Descripción del problema........................................................................................ 13
3.1. Funcionamiento................................................................................................ 16
3.2. Estructura......................................................................................................... 16
3.3. Decisiones de diseño ........................................................................................ 16
3.3.1. Organización de direcciones: Árbol de direcciones .................................... 16
3.3.2. Procesamiento de la dirección.................................................................... 17
3.4. Iteración de los elementos ................................................................................ 18
3.5. Especificación generador y encriptador de claves (E/G) ................................... 18
3.6. Funcionalidades ............................................................................................... 19
3.7. Ejemplo de funcionamiento del sistema............................................................ 23
4. Implementación ...................................................................................................... 27
4.1. Ruta de datos.................................................................................................... 27
4.2. El Generador/Encriptador................................................................................. 27
4.2.1. El AES ...................................................................................................... 27
4.2.2. El AES en VHDL. ..................................................................................... 36
4.2.3. Resultados y Conclusiones del Módulo AES. ............................................ 38
4.2.4. Módulo Generador/Encriptador ................................................................. 48
4.2.5. Resultados del módulo Generador/Encriptador .......................................... 56
4.2.6. Mejoras del Módulo Generador/Encriptador .............................................. 57
4.3. Procesador de direcciones................................................................................. 63
4.4. El procesador de LR ......................................................................................... 63
4.5. Controlador ...................................................................................................... 64
4.5.1. Funcionamiento......................................................................................... 64
4.5.2. Señales de control...................................................................................... 64
4.6. Resultados para el Sistema Completo ............................................................... 68
4.7. Mejoras respecto a versiones anteriores ............................................................ 78
Incluir dos AES................................................................................................... 78
4.8. Resultados de la versión final ........................................................................... 80
4.9. Mejoras para versiones futuras ......................................................................... 89
4.10. Conclusiones .................................................................................................. 89
5.Bibliografía.............................................................................................................. 91



5

Diseño e implementación de algoritmos criptográficos sobre FPGA _



6

A.P.G., A.M.R.Z., A.S.B.

1. Introducción

Se quiere realizar un sistema en el que haya varios usuarios registrados.
Cada usuario tendrá un grupo de claves asignadas para su acceso a dicho sistema.
Los usuarios pueden ir cambiando a lo largo del tiempo uniéndose o marchándose.
Como queremos que solamente los usuarios registrados en cada momento puedan
acceder al sistema, necesitamos poder controlar estos accesos, lo que se conseguirá con
la encriptación claves.
El proyecto que se ha realizado consiste en la implementación sobre FPGA del sistema
gestor claves. El sistema puede dar de alta o baja a un usuario reasignado el grupo de
claves correspondientes a cada usuario y debe garantizar que los nuevos usuarios no
tengan acceso a contenidos antiguos, ni los antiguos a contenidos nuevos. Las claves se
han encriptado con el algoritmo criptográfico AES y para la generación de nuevas
claves se ha utilizado el algoritmo ANSI X9.17.


1.1. La plataforma FPGA


FPGA es el acrónimo de Field-programmable gate array (Matriz de puertas
programable por un usuario en el 'campo' de una aplicación). Se trata de dispositivos
electrónicos digitales programables de muy alta densidad.

Estructura

Internamente una FPGA es una serie de pequeños dispositivos lógicos, que algunos
fabricantes llaman CLB, organizados por filas y columnas.

Entre los CLB hay un gran número de elementos de interconexión, líneas que pueden
unir unos CLB con otros y con otras partes de la FPGA. Puede haber líneas de distintas
velocidades.

También hay pequeños elementos en cada una de las patillas del chip para definir la
forma en que ésta trabajará (entrada, salida, entrada-salida...). Se suelen llamar IOB.

Aparte de esta estructura, que es la básica, cada fabricante añade sus propias ideas, por
ejemplo hay algunos que tienen varios planos con filas y columnas de CLB.

Los CLB contienen en su interior elementos hardware programable que permiten que su
funcionalidad sea elevada. También es habitual que contengan dispositivos de memoria.

Programación

La tarea del programador es definir la función lógica que realizará cada uno de los CLB,
seleccionar el modo de trabajo de cada IOB e interconectarlos todos.

El diseñador cuenta con la ayuda de herramientas de programación. Cada fabricante
suele tener las suyas, aunque usan unos lenguajes de
  • Links de descarga
http://lwp-l.com/pdf13483

Comentarios de: Diseño e implementación de algoritmos criptográficos sobre FPGA (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad