CENTRO DE INVESTIGACIO´N Y DE ESTUDIOS AVANZADOS DEL INSTITUTO POLITE´CNICO NACIONAL UNIDAD ZACATENCO DEPARTAMENTO DE COMPUTACIO´N Paralelizacio´n de los algoritmos de cifrado sim´etrico AES-CTR y AES-OTR sobre un kit de desarrollo NVIDIA Jetson TK1 Tesis que presenta Daniel Alberto Torres Gonz´alez Para obtener el grado de Maestro en Ciencias de la Computaci´on Director de la Tesis: Dr. Amilcar Meneses Viveros Co-director de la Tesis: Dr. Cuauht´emoc Mancillas L´opez Ciudad de M´exico Noviembre 2016 CENTRO DE INVESTIGACIO´N Y DE ESTUDIOS AVANZADOS DEL INSTITUTO POLITE´CNICO NACIONAL ZACATENCO CAMPUS COMPUTER SCIENCE DEPARTMENT Parallelization of the symmetric cipher algorithms AES-CTR and AES-OTR on a development kit NVIDIA Jetson TK1 Submitted by Daniel Alberto Torres Gonz´alez as the fulfillment of the requirement for the degree of Master in Computer Science Advisor: Dr. Amilcar Meneses Viveros Co-advisor: Dr. Cuauht´emoc Mancillas L´opez Mexico City November 2016 Resumen Actualmente muchas corporaciones y agencias gubernamentales se encuentran investigando nuevas formas de asegurar grandes volu´menes de informaci´on considerada sensible en in- tervalos de tiempo cortos. Para lograr esta tarea se requiere cifrar la informaci´on con un algoritmo criptogr´afico, el cual puede requerir de operaciones computacionales bastante cos- tosas y por ende degradar el desempen˜o del equipo de co´mputo en el que se ejecuta. La constante demanda de soluciones criptogra´ficas eficientes ha crecido continuamente en di- versas a´reas durante la u´ltima d´ecada, como consecuencia del uso del Internet. En esta tesis se discuten implementaciones paralelas eficientes de los algoritmos criptogra´ficos AES-CTR y AES-OTR. Tambi´en se discute una optimizacio´n del modo de operaci´on OTR. Las imple- mentaciones se realizaron sobre un equipo mo´vil, el kit de desarrollo NVIDIA Jetson TK1, que cuenta con una arquitectura para una versi´on multinu´cleo y una versi´on en muchos nu´cleos. Los resultados obtenidos en la arquitectura mo´vil muestran una aceleraci´on de 3,92 y un rendimiento de 2,67 Gb/s en el modo de operaci´on CTR, una aceleracio´n de 2,32 y un rendimiento de 1,41 Gb/s en el modo de operaci´on OTR, y una aceleraci´on de 2,91 y un rendimiento de 1,68 Gb/s en la optimizacio´n propuesta al modo de operaci´on OTR. Adem´as, con la finalidad de demostrar que las implementaciones de los algoritmos paralelos son efi- cientes, se muestran pruebas realizadas sobre un servidor que incluye un microprocesador Intel I7 una tarjeta gra´fica Tesla C2070. Los resultados obtenidos en el servidor muestran una aceleraci´on de 21,105 y un rendimiento de 12,89 Gb/s en el modo de operacio´n CTR, una aceleracio´n de 2,303 y un rendimiento de 2,86 Gb/s en el modo de operacio´n OTR, y una aceleraci´on de 8,86 y un rendimiento de 11,01 Gb/s en la optimizacio´n propuesta al modo de operacio´n OTR. Al contar con estas nuevas implementaciones los dispositivos que incluyanensusarquitecturascomponentesmultinu´cleoyGPUsera´ncapacesdecifrardeuna manera ma´s eficiente una entrada de bytes proporcionados. Por consiguiente, AES-CTR y/o AES-OTR podra´n realizar el cifrado de datos considerados sensibles en intervalos de tiempo cortos, permitiendo a otras aplicaciones aprovechar mayormente el uso de CPU como tam- bi´en de GPU, incrementando as´ı la cantidad de informacio´n que puede ser cifrada/descifrada y ser transferida a trav´es de un canal de comunicacio´n si as´ı se desea. i ii 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 taskitisrequiredtoencrypttheinformationwithacryptographicalgorithm,whichmayneed really expensive computational operations and thus degrade the computer equipment per- formance 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 imple- mentations 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 mul- ticore 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 ma- de 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 inter- vals, 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. iii iv Agradecimientos - A mi familia (padre, madre, hermano, hermanas, neveu et beau-fr`ere) - A los amigos de generaci´on, del Laboratorio de Idiomas y a Reyna - Al Dr. Amilcar Meneses Viveros por sus recomendaciones en el desarrollo y escritura de la tesis - Al Dr. Cuauht´emoc Mancillas Lo´pez por recibirme en Francia y brindarme las asesor´ıas necesarias para el pleno desarrollo y escritura de la tesis - A mis sinodales, Dr. Francisco Rodr´ıguez Henr´ıquez y Dr. Luis Gerardo de la Fraga - Al Departamento de Computacio´n del CINVESTAV-IPN - Al Laboratorio de Idiomas del CINVESTAV-IPN - Al CONACyT por el apoyo otorgado v vi
Description: