Ingeniería Electrónica
Permanent URI for this collectionhttp://98.81.228.127/handle/20.500.12404/12
Browse
5 results
Search Results
Item Diseño de un procesador criptográfico de curvas elípticas para el dispositivo WISP(Pontificia Universidad Católica del Perú, 2023-03-02) Mendez Cabana, Igor Ivan; Silva Cárdenas, Carlos BernardinoEl internet de las cosas (IoT) está creciendo a un ritmo acelerado y con ello las redes de sensores están tomando una mayor importancia. Los nuevos avances se enfocan en disminuir los costos, facilitar la implementación y la escalabilidad de estas redes. En este sentido, la tecnología RFID es una alternativa que brinda mejoras en estos aspectos. Esto se debe a que al no usar baterías para la implementación de los nodos permite que sean más baratos y brinda más capacidad de conectividad. La plataforma WISP (Wireless Identification Sensing Platform) es una etiqueta RFID programable que facilita el desarrollo de nodos RFID y que ha facilitado la investigación de nuevos protocolos de comunicación y de seguridad en RFID. Por otro lado, un problema que afecta la adopción de esta tecnología es el gran incremento de ciberataques a nodos IoT en los últimos años. Esto se debe principalmente a su baja seguridad ya que con sus limitaciones en recursos de hardware y energía se dificulta desarrollar criptografías en software óptimas. En este trabajo se presenta la arquitectura de un procesador criptográfico de Curvas elípticas (ECC) de bajo consumo energético para un FPGA y que cumple con las limitaciones energéticas para ser utilizado con la etiqueta WISP. Además, el procesador propuesto soporta operaciones sobre GF(p) en curvas Weierstrass. Por otro lado, la operación de multiplicación modular se realiza utilizando el algoritmo Multiple Word Radix-2 Montgomery Multiplication (MWR2MM). De esta manera se puede implementar una arquitectura con forma de matriz sistólica lo que permite un alto nivel de paralelización y pipelining. Finalmente, se disminuyen las transiciones de señales y se eliminan los glitches que generan consumo energético innecesario. Se realizó la simulación utilizando un campo de 192 bits en el FPGA igloo AGL1000V2. Como resultado se obtuvo una latencia de 4,157,358 ciclos de reloj. Además, a una frecuencia de 6MHz se obtuvo una potencia de 5.74 mW lo cual implica que, a medio metro de distancia de la antena, la etiqueta WISP necesitará 1.6 segundos para completar una operación de multiplicación de punto.Item Diseño de una arquitectura de codificación/decodificación de acuerdo al estándar de encriptación AES(Pontificia Universidad Católica del Perú, 2020-12-09) Madera Vivar, Carlo Santiago; Raffo Jara, Mario AndrésEl presente trabajo consiste en el diseño de un circuito digital para codificación y decodificación del algoritmo de encriptación AES (Advanced Encryption Standard) 1 para la implementación en FPGA de tecnología 90 nm como el Cyclone II y Virtex IV de las compañías Altera y Xilinx respectivamente. Este algoritmo consta de cuatro bloques, los cuales son AddRoundKey, SubBytes e InvSubBytes, ShiftRows e InvShiftRows y MixColumns e InvMixColumns. El diseño del bloque SubBytes e InvSubBytes fue adaptado del diseño propuesto por Wolkerstorfer [1] usando la descomposición aritmética de GF ((24)2). De igual manera, el diseño del bloque MixColumns e InvMixColumns fue adaptado del diseño propuesto por Satoh [2] usando la técnica de descomposición matricial. Los bloques AddRoundKey, ShiftRows e InvShiftRows y el bloque completo AES fueron diseñados usando diversas técnicas de optimización como paralelismo de operaciones (pipeline), FSMD y ASMD. El presente trabajo compara dos arquitecturas propuestas para algoritmo AES utilizando cero, una y dos etapas de pipeline en el bloque SubBytes e InvSubBytes. Referente a las arquitecturas, la primera se realizó usando la técnica de FSMD, mientras que la segunda se realizó usando la técnica de ASMD. Se realizó la verificación funcional del circuito usando la herramienta de simulación ModelSim de la empresa MentorGraphics. Posteriormente se comparó los resultados con el documento del estándar de encriptación AES del NIST [3] obteniendo resultados exitosos. Los requerimientos más importantes para este diseño son la alta velocidad de transmisión de datos (throughput) y el menor consumo de ´área. En base a esto, se realizó el análisis de síntesis y se obtuvieron los siguientes resultados. Para una arquitectura en ASMD se obtuvo hasta 0.382 Mbits/LUT y 182.538 MHz usando la plataforma Virtex IV; mientras que para una plataforma Cyclone II se obtuvo 0.162 Mbits/LE y 122.9 MHz. Respecto a la arquitectura FSMD se obtuvo hasta 0.305 Mbits/LUT y 185.895 MHz usando la plataforma Virtex IV; mientras que para una plataforma Cyclone II se obtuvo 0.159 Mbits/LE y 122.26 MHz. De acuerdo a estos resultados, se comprueba que la mejor técnica para realizar el diseño del algoritmo AES es la de ASMD.Item Functional verification framework of an AES encryption module(Pontificia Universidad Católica del Perú, 2018-08-06) Plasencia Balabarca, Frank Pedro; Mitacc Meza, Edward Máximo; Raffo Jara, Mario AndrésOver the time, the development of the digital design has increased dramatically and nowadays many different circuits and systems are designed for multiple purposes in short time lapses. However, this development has not been based only in the enhancement of the design tools, but also in the improvement of the verification tools, due to the outstanding role of the verification process that certifies the adequate performance and the fulfillment of the requirements. In the verification industry, robust methodologies such as the Universal Verification Methodology (UVM) are used, an example of this is [1], but they have not been implemented yet in countries such as Peru and they seem inconvenient for educational purposes. This research propose an alternative methodology for the verification process of designs at the industry scale with a modular structure that contributes to the development of more complex and elaborated designs in countries with little or none verification background and limited verification tools. This methodology is a functional verification methodology described in SystemVerilog and its effectiveness is evaluated in the verification of an AES (Advance Encryption Standard) encryption module obtained from [2]. The verification framework is based on a verification plan (developed in this research as well) with high quality standards as it is defined in the industry. This verification plan evaluates synchronization, data validity, signal stability, signal timing and behavior consistency using Assertions, functional coverage and code coverage. An analysis of the outcomes obtained shows that the AES encryption module was completely verified obtaining 100% of the Assertions evaluation, 100% of functional verification and over 95% of code coverage in all approaches (fsm, block, expression, toggle). Besides, the modular structure defines the intercommunication with the Design only in the bottom most level, which facilitates the reuse of the verification framework with different bus interfaces. Nonetheless, this unit level verification framework can be easily instantiated by a system level verification facilitating the scalability. Finally, the documentation, tutorials and verification plan templates were generated successfully and are aimed to the development of future projects in the GuE PUCP (Research group in Microelectronics). In conclusion, the methodology proposed for the verification framework of the AES encryption module is in fact capable of verifying designs at the industry scale with high level of reliability, defining a very detailed and standardized verification plan and containing a suitable structure for reuse and scalability.Item Diseño de un generador de números aleatorios para aplicaciones de criptografía en tarjetas inteligentes(Pontificia Universidad Católica del Perú, 2015-06-26) Bejar Espejo, Eduardo Alberto Martín; Saldaña Pumarica, Julio César; Raygada Vargas, Erick LeonardoLa generación de números aleatorios es un punto clave en los sistemas criptográficos,su desempeño depende del nivel de aleatoriedad que son capaces de generar. Particularmente, en aplicaciones móviles estos generadores de números aleatorios están sujetos a fuertes restricciones a nivel de diseño de circuito integrado. En la presente tesis se realizó el diseño y simulación de un circuito generador de números aleatorios en tecnología CMOS 0.35 m para el procesador criptográfico de una tarjeta inteligente (Smart Card). El método de generación consiste en el muestreo de un oscilador con jitter elevado, el cual permite dividir al circuito en tres bloques principales. El primero de ellos es el oscilador que fija la frecuencia de muestreo cuyo periodo debe ser mucho más pequeño, en promedio, que el del oscilador con jitter elevado. El segundo bloque consiste en el circuito muestreador, implementado mediante un flip flop tipo T. El tercer bloque es el oscilador afectado por jitter del cual depende, en gran medida, la calidad de los números aleatorios generados. Este consiste en un oscilador triangular donde el ruido térmico, introducido por un par de resistencias, es amplificado. Estos tres bloques, trabajando de manera conjunta, generan los números aleatorios cuya calidad se analizó mediante los algoritmos propuestos por el National Institute of Standards and Technology (NIST) para verificar si el generador es lo suficientemente aleatorio como para ser utilizado en aplicaciones criptográficas. La estructura del presente documento se detalla a continuación. En el primer capítulo se definió el problema a resolver. En el segundo capítulo, se revisaron los conceptos teóricos fundamentales relacionados a los números aleatorios y tecnología CMOS, asimismo, se presentaron diferentes metodologías actuales de generación de números aleatorios en circuitos integrados. En el tercer capítulo, se analizó con detalle la topología a usar y se realizó su diseño respectivo. En el cuarto capítulo se hicieron las simulaciones necesarias para verificar el correcto funcionamiento del circuito y se analizaron las secuencias de números obtenidas usando los algoritmos propuestos por el NIST. Finalmente, se presentan las conclusiones y recomendaciones.Item Diseño y simulación de un scrambler digital de voz(Pontificia Universidad Católica del Perú, 2012-10-15) Montoya Limón, Roberto Isaac; Rodríguez Valderrama, Paúl AntonioUn primer acercamiento a la definición de comunicación puede realizarse desde su etimología. La palabra deriva del latín communicare, que significa “compartir algo, poner en común”. Por lo tanto, la comunicación es el proceso mediante el cual el emisor y el receptor establecen una conexión en un momento y espacio determinados para compartir ideas, transmitir e intercambiar información o significados que son comprensibles para ambos. Desde un punto de vista técnico se entiende por comunicación al hecho que un determinado mensaje originado por el emisor llegue a un receptor, distante en el espacio o en el tiempo. La comunicación implica transmitir y recepcionar una determinada información que en la actualidad se encuentra muy vulnerable e insegura debido a las interceptaciones, la existencia de intereses personales, empresariales o de terceros. Este problema ha motivado la presente tesis a diseñar una alternativa de solución mediante el cual se mejora la confidencialidad de las comunicaciones que en su mayoría de casos se requiere. En tal sentido, la presente tesis tiene como objetivo presentar un Diseño y Simulación de un Scrambler Digital de Voz, el cual permitirá codificar la señal de voz a fin de transmitirla por el canal. La transmisión permitirá la comunicación exclusiva entre el emisor y receptor. Sólo el receptor podrá decodificar el mensaje y a su vez recibirá del emisor una contraseña que será establecida aleatoriamente en cada transmisión. Para la recepción, se decodificará la señal de voz con la contraseña recibida aleatoriamente garantizando de esta manera una comunicación segura.