Paralelización de los algoritmos de cifrado simétrico AES-CTR y AES-OTR sobre un kit de desarrollo NVIDIA Jetson TK1



Paralelización de los algoritmos de cifrado simétrico AES-CTR y AES-OTR sobre un kit de desarrollo NVIDIA Jetson TK1

Daniel Alberto Torres González
 

Texto completo de la Tesis               Video del evento          

 

Resumen

 

Actualmente muchas corporaciones y agencias gubernamentales se encuentran investigando nuevas formas de asegurar grandes volúmenes de información considerada sensible en intervalos de tiempo cortos. Para lograr esta tarea se requiere cifrar la información con un algoritmo criptográfico, el cual puede requerir de operaciones computacionales bastante costosas y por ende degradar el desempeño del equipo de cómputo en el que se ejecuta. La constante demanda de soluciones criptográficas eficientes ha crecido continuamente en diversas áreas durante la última década, como consecuencia del uso del Internet. En esta tesis se discuten implementaciones paralelas eficientes de los algoritmos criptográficos AES-CTR y AES-OTR. También se discute una optimización del modo de operación OTR. Las implementaciones se realizaron sobre un equipo móvil, el kit de desarrollo NVIDIA Jetson TK1, que cuenta con una arquitectura para una versión multinúcleo y una versión en muchos núcleos. Los resultados obtenidos en la arquitectura móvil muestran una aceleración de 3,92 y un rendimiento de 2,67 Gb/s en el modo de operación CTR, una aceleración de 2,32 y un rendimiento de 1,41 Gb/s en el modo de operación OTR, y una aceleración de 2,91 y un rendimiento de 1,68 Gb/s en la optimización propuesta al modo de operación OTR. Además, con la finalidad de demostrar que las implementaciones de los algoritmos paralelos son eficientes, se muestran pruebas realizadas sobre un servidor que incluye un microprocesador Intel I7 una tarjeta gráfica Tesla C2070. Los resultados obtenidos en el servidor muestran una aceleración de 21,105 y un rendimiento de 12,89 Gb/s en el modo de operación CTR, una aceleración de 2,303 y un rendimiento de 2,86 Gb/s en el modo de operación OTR, y una aceleración de 8,86 y un rendimiento de 11,01 Gb/s en la optimización propuesta al modo de operación OTR. Al contar con estas nuevas implementaciones los dispositivos que incluyan en sus arquitecturas componentes multinúcleo y GPU serán capaces de cifrar de una manera más eficiente una entrada de bytes proporcionados. Por consiguiente, AES-CTR y/o AES-OTR podrán realizar el cifrado de datos considerados sensibles en intervalos de tiempo cortos, permitiendo a otras aplicaciones aprovechar mayormente el uso de CPU como también de GPU, incrementando así la cantidad de información que puede ser cifrada/descifrada y ser transferida a través de un canal de comunicación si así se desea.

 

Abstract

Nowadays many corporations and government agencies are investigating new ways to protect big amounts of information considered really sensitive in short time intervals. To achieve this task it is required to encrypt the information with a cryptographic algorithm, which may need really expensive computational operations and thus degrade the computer equipment performance in which it is executed. The constant demand for efficient cryptographic solutions has increased continuouslly in many diverse areas during the last decade, as consequence of using the Internet. The main motivation of this thesis is to discuss efficient parallel implementations of the cryptographic algorithms AES-CTR and AES-OTR. It is also discussed an optimization for the operation mode OTR. The implementations were done on a mobile device, the development kit NVIDIA Jetson TK1, which includes an architecture for a multicore version and a manycore version. The results obtained on the mobile architecture show a speedup of 3,92 and a throughput of 2,67 Gb/s in the operation mode CTR, a speedup of 2,32 and a throughput of 1,41 Gb/s in the operation mode OTR, and a speedup of 2,91 and a throughput of 1,68 Gb/s in the proposed optimization to the operation mode OTR. Besides, in order to show that the parallel implementations are efficient, we show tests made on a server which includes an Intel I7 microprocessor and a graphic card Tesla C2070. The results obtained on the server show a speedup of 21,105 and a throughput of 12,89 Gb/s in the operation mode CTR, a speedup of 2,303 and a throughput of 2,86 Gb/s in the operation mode OTR, and a speedup of 8,86 and a throughput of 11,01 Gb/s in the proposed optimization to the operation mode OTR. By having these new implementations the devices that include components multicore and GPU in their architectures will be able to encrypt in a most efficient way the provided byte input. Consequently, AES-CTR and/or AES-OTR will be able to encrypt the information considered sentitive in short time intervals, allowing other applications to take advantage of the CPU platform as well of GPU, thus increasing the amount of information that can be encrypted/decrypted and transfer through a communication channel.