Implementación en Hardware de multiplicadores modulares orientados a emparejamientos bilineales

 

Implementación en Hardware de multiplicadores modulares orientados a emparejamientos bilineales

Cuahtémoc Chávez Corona
 

Tesis completo de la tesis     

 



Resumen

 

En la actualidad es cada vez mas frecuente el uso cotidiano de la criptografía de llave ppública, ejemplo de ello son los certificados digitales, los esquemas de votaciones electrónicas y el dinero electrónico entre otros. Estas aplicaciones tienen su sustento en algoritmos como RSA y ElGamal, o en estructuras matemáticas como las cada vez mas usadas Curvas Elípticas o los relativamente recientes emparejamientos bilineales. Todos los anteriores a su vez tienen una base comun, que es el producto en campos finitos, o producto modular. Debido a su mportancia, mejorar esta operación es una tarea constante, que se vale de nuevos algoritmos y tecnologías para hacerla mas eficiente. En este trabajo se aborda la implementación de una arquitectura para realizar el producto en campos finitos utilizando variaciones del ya famoso algoritmo de Montgomery para multiplicación modular sobre dispositivos de hardware reconfigurable de la familia Virtex 6 de Xilinx. Esta familia en particular cuenta con módulos empotrados conocidos como P48Slices , los cuales poseen multiplicadores muy rápidos dedicados al procesamiento de señales que son explotados para realizar productos de números grandes de manera muy rápida y obtener arquitecturas que trabajan a frecuencias superiores a los 220 Mhz, para el cálculo de productos en los campos Fp y Fp2 , tomando 15 y 4 ciclos de reloj respectivamente,lo que las hace competitivas con las implementaciones publicadas mas recientemente.

 

Abstract

Today is becoming often a daily use of public key cryptography, example of this are the digital certificates, electronic voting schemes and electronic money inter alia. These applications have their own basis in algorithms such as RSA and ElGamal, or mathematical structures as used increasingly elliptic curves or the relatively recent bilinear pairings. All of the above in turn have a common base, which is the product in finite feliz, or modular product. Due to this importance, improve this operation is an ongoing task, which uses new algorithms and technologies by make it more eficient.This work discusses the implementation architecture for the product in finite fields using variations of the famous Montgomery algorithm for modular multiplication on reconfigurable hardware device family Virtex 6 from Xilinx. This particular family has built modules known as DSP48Slices, which have very fast multipliers dedicated to signal processing and are exploited for products of large numbers very quickly and get architectures working at frequencies above 220 MHz, for the calculation of products in the fieles Fp and Fp2 , taking 15 clock cycles and 4 respectively, making them competitive with more recently published implementations.