Análisis e implementación de un criptosistema con FPGA: integración de ECDH y AES-128

Bookmark (0)
Please login to bookmark Close

Este proyecto pretende abordar la implementación de un criptosistema utilizando algoritmos de criptografía modernos altamente empleados en la industria para garantizar la integridad y seguridad de la información. En particular, se ha desarrollado un sistema que combina el algoritmo de Diffie-Hellman con curvas elípticas (Elliptic Curve Diffie-Hellman, ECDH), para el intercambio de claves, y el algoritmo AES-128 en su modo CTR para el cifrado de datos.
El objetivo principal es explorar y comprobar la viabilidad de aplicar estos algoritmos en dispositivos hardware programables (Programmable Logic Devices, PLDs), aunque para ello se realizará un estudio previo de los distintos modos que posee AES. El abordamiento de este problema se llevará a cabo a través de una implementación desde cero de los algoritmos en el lenguaje de programación Python, para su posterior migración al lenguaje de descripción de hardware elegido (Very High Speed Integrated Circuits Hardware Description Language, VHDL).
A través de una serie de pruebas, se comparará el rendimiento obtenido de la implementación de los algoritmos en tres etapas: la implementación realizada y librerías criptográficas vs hardware dedicado.
Al final del proyecto se demostrará que los resultados obtenidos demuestran que la combinación de ECDH y AES-128 es efectiva para garantizar una comunicación segura, y que la implementación en FPGA proporciona un rendimiento superior comparado con soluciones basadas únicamente en software.
Abstract:
The following project aims to implement a cryptosystem using modern cryptographic algorithms that are widely used in the industry to ensure information integrity and security. Specifically, we have developed a system that combines the Diffie-Hellman algorithm with elliptic curves (ECDH) for the key exchange, and the AES-128 algorithm in CTR mode for data encryption.
Our primary objective is to explore and evaluate the feasibility of applying these algorithms to programmable hardware devices. To accomplish this, we will first conduct a preliminary study of the different AES modes available. The approach to solving this problem involves a ground-up implementation of the algorithms in Python, followed by their subsequent migration to the selected hardware description language (VHDL).
Through a series of tests, the performance of the algorithm implementations will be compared across three stages: custom implementations, cryptographic libraries, and dedicated hardware.
By the end of the project, we expect the results to show that the combination of ECDH and AES-128 effectively ensures secure communication, and that the FPGA implementation delivers superior performance compared to software-only solutions.

​Este proyecto pretende abordar la implementación de un criptosistema utilizando algoritmos de criptografía modernos altamente empleados en la industria para garantizar la integridad y seguridad de la información. En particular, se ha desarrollado un sistema que combina el algoritmo de Diffie-Hellman con curvas elípticas (Elliptic Curve Diffie-Hellman, ECDH), para el intercambio de claves, y el algoritmo AES-128 en su modo CTR para el cifrado de datos.
El objetivo principal es explorar y comprobar la viabilidad de aplicar estos algoritmos en dispositivos hardware programables (Programmable Logic Devices, PLDs), aunque para ello se realizará un estudio previo de los distintos modos que posee AES. El abordamiento de este problema se llevará a cabo a través de una implementación desde cero de los algoritmos en el lenguaje de programación Python, para su posterior migración al lenguaje de descripción de hardware elegido (Very High Speed Integrated Circuits Hardware Description Language, VHDL).
A través de una serie de pruebas, se comparará el rendimiento obtenido de la implementación de los algoritmos en tres etapas: la implementación realizada y librerías criptográficas vs hardware dedicado.
Al final del proyecto se demostrará que los resultados obtenidos demuestran que la combinación de ECDH y AES-128 es efectiva para garantizar una comunicación segura, y que la implementación en FPGA proporciona un rendimiento superior comparado con soluciones basadas únicamente en software.
Abstract:
The following project aims to implement a cryptosystem using modern cryptographic algorithms that are widely used in the industry to ensure information integrity and security. Specifically, we have developed a system that combines the Diffie-Hellman algorithm with elliptic curves (ECDH) for the key exchange, and the AES-128 algorithm in CTR mode for data encryption.
Our primary objective is to explore and evaluate the feasibility of applying these algorithms to programmable hardware devices. To accomplish this, we will first conduct a preliminary study of the different AES modes available. The approach to solving this problem involves a ground-up implementation of the algorithms in Python, followed by their subsequent migration to the selected hardware description language (VHDL).
Through a series of tests, the performance of the algorithm implementations will be compared across three stages: custom implementations, cryptographic libraries, and dedicated hardware.
By the end of the project, we expect the results to show that the combination of ECDH and AES-128 effectively ensures secure communication, and that the FPGA implementation delivers superior performance compared to software-only solutions. Read More