Por favor, use este identificador para citar o enlazar este ítem:
http://inaoe.repositorioinstitucional.mx/jspui/handle/1009/2643
Generadores de números aleatorios y su aplicación para cifrar y autenticar datos digitales | |
José David Rodríguez-Muñoz | |
Esteban Tlelo-Cuautle Luis Gerardo de la Fraga | |
Acceso Abierto | |
Atribución-NoComercial-SinDerivadas | |
Chaotic system Time series Attractors Pseudo-random number generator Statistical tests Encryption Authentication Hash function Authentication tag FPGA Raspberry Pi MQTT | |
Actualmente, el mundo ha experimentado un incremento en el número de dispositivos electrónicos conectados a las redes inalámbricas. Por esta razón, los investigadores buscan desarrollar algoritmos criptográficos más robustos que garanticen privacidad y seguridad en el proceso de comunicación. Un componente con aplicaciones generales en el campo de la criptografía es el generador de números aleatorios (RNG), el cual proporciona una secuencia de números sin patrón predecible que se emplean en algoritmos de cifrado y autenticación de datos. Sin embargo, el reto actual consiste en garantizar la mejor aleatoriedad de las secuencias, la cual es medida mediante pruebas estadísticas como las NIST y TestU01. Una opción en el diseño de estos generadores es el uso de sistemas caóticos de tiempo continuo y discreto, debido a las propiedades de estos modelos matemáticos. Estos sistemas tienen como ventaja un bajo consumo de elementos de hardware digital que pueden describirse en Verilog y llevarse a layout para su fabricación en tecnologías de circuitos integrados CMOS. Por otra parte, son fáciles de codificar en un lenguaje de programación de alto nivel, como Python, para diversas aplicaciones en sistemas embebidos. Debido a lo anterior, en esta tesis se diseñan generadores de números pseudoaleatorios (PRNGs) basados en sistemas caóticos, los cuales se sintetizan en un arreglo de compuertas programables en campo (FPGA) usando aritmética de 64-bit y también se implementan en una Raspberry Pi. Además, se verifica la aleatoriedad de las secuencias generadas por cada PRNG y se aplican en un sistema de comunicación con etapas de cifrado y de autenticación de datos mediante un algoritmo de función hash, que permite generar etiquetas para corroborar la integridad de la información que se envía o almacena, como imágenes en tono de grises, imágenes RGB y texto. En el caso del sistema sintetizado en la FPGA, la comunicación se realiza entre la FPGA y una computadora utilizando el protocolo RS232. Por otro lado, en el sistema implementado en Raspberry Pi se emplea el protocolo de comunicación MQTT entre tres de estos dispositivos. Nowadays, there has been a significant increase in the number of electronic devices connected to wireless networks. As a result, researchers are seeking to develop more robust cryptographic algorithms that ensure privacy and security in the communication process. A component with general applications in cryptography is the Random Number Generator (RNG). This generator produces a sequence of numbers without a predictable pattern, and it can be used in encryption and data authentication algorithms. However, the current challenge is how to ensure the best possible randomness of the binary sequences, which can be measured by statistical tests such as NIST and TestU01. Due to the properties of these mathematical models, continuous and discrete-time chaotic systems are an option in the design of these generators. These systems offer the advantage of low consumption of digital hardware elements, which could be described using Verilog and are suitable for manufacturing in CMOS integrated circuit technologies. Moreover, they are easy to code in a high-level programming language, such as Python, for various applications in embedded systems. Due to the above, in this thesis, Pseudo-Random Number Generators (PRNGs) based on chaotic systems are designed and synthesized in a Field-Programmable Gate Array (FPGA) using 64-bit arithmetic and also implemented on a Raspberry Pi. In addition, the randomness of the sequences generated by each PRNG is verified and applied in encryption and authentication stages using a hash function algorithm, which allows the generating of authentication tags for the information that is sent or stored, such as grayscale images, RGB images, and text. In the case of the chaos-based system synthesized in the FPGA, the communication occurs between the FPGA and a computer using the RS232 protocol. On the other hand, in the system implemented in Raspberry Pi the communication uses the MQTT communication protocol among three of these devices. | |
Instituto Nacional de Astrofísica, Óptica y Electrónica | |
2024-11 | |
Tesis de maestría | |
Español | |
Estudiantes Investigadores Público en general | |
Rodríguez Muñoz, J. D., (2024), Generadores de números aleatorios y su aplicación para cifrar y autenticar datos digitales, Tesis de Maestría, Instituto Nacional de Astrofísica, Óptica y Electrónica. | |
ELECTRÓNICA | |
Versión aceptada | |
acceptedVersion - Versión aceptada | |
Aparece en las colecciones: | Maestría en Electrónica |
Cargar archivos:
Fichero | Tamaño | Formato | |
---|---|---|---|
RODRIGUEZMJD_ME.pdf | 4.19 MB | Adobe PDF | Visualizar/Abrir |