Por favor, use este identificador para citar o enlazar este ítem:
http://inaoe.repositorioinstitucional.mx/jspui/handle/1009/540
A reconfigurable and interoperable hardware architecture for elliptic curve cryptography | |
MIGUEL MORALES SANDOVAL | |
CLAUDIA FEREGRINO URIBE | |
Acceso Abierto | |
Atribución-NoComercial-SinDerivadas | |
Cryptography Public key cryptography Hardware description languages | |
Elliptic curve cryptography (ECC) is a kind of Public Key Cryptography founded in the theory of groups. ECC's main advantage is the short length of the keys used compared to the key used by traditional public key cryptosystems like RSA (163bits vs 1024bits) without decreasing the security level. The use of shorter length keys implies less space for key storage, time saving when keys are transmitted and less costly arithmetic computations. An ECC cryptosystem is defined as the tuple T = (GF(q); a; b; G; n; h), where GF(q) is a finite field, a and b define an elliptic curve on GF(q), G is a generator
point of the elliptic curve, n is the order of G, that is, the smaller integer such that nG = O (identity point in the additive group). h is called the co-factor and it is equal to the total number of points in the curve divided by n. Two entities that implement security services like confidentiality, integrity or authentication must agree previously the same set of parameters T in order to interoperate. ECC-based cryptographic algorithms such as encryption or digital signatures are computationally expensive because several finite field and elliptic curve operation with long number must be carried out. Although a software implementation of ECC could provide interoperability, the resulting processing time will be unacceptable. Proposed work in the literature is for efficient implementation of ECC in
hardware, however, most of those works are custom implementations for specific tuples T.
This thesis deals with the interoperability problems of ECC and presents the results of the development of a hardware architecture that allows to adapt dynamically its organization to operate with different parameters T. The development of such architecture is hard due the diversity of parameters T and the complexity of the underlaying algorithms. Although some reported works allow some flexibility in the choice of the ECC parameters, a reconfigurable architecture that provides interoperability with another implementation is not explored at all. An immediate application of the architecture developed is for IPSec, a security protocol where the cryptographic algorithms and its parameters are negotiated at run time.
Criptografía de curvas elípticas (ECC) es un tipo de criptografía de llave pública fundada en la teoría de campos finitos y el problema del logaritmo discreto. La principal ventaja de este tipo de criptografía frente a otros tipos como RSA, es el uso de llaves más cortas, con una reducción de hasta 7 veces. El uso de llaves cortas tiene las ventajas de utilizar menos requerimientos de memoria, de realizar operaciones aritméticas con operandos más cortos, de utilizar menos recursos de área si la implementación se realiza en hardware, de requerir menores tiempos de transferencia, entre otras. Los parámetros de implementación de ECC son de la forma T = (q;E; G; n; h), donde q es un campo finito, E es una curva elíptica definida en q, G es un generador de la curva elíptica, n es el orden de G y h es el co-factor de la curva E. ECC es demandante computacionalmente ya que requiere de varias operaciones aritméticas en campos finitos y curvas elípticas para implementar los esquemas de seguridad, tales como el cifrado y la firma digital. Aunque una implementación de ECC en software podría proveer interoperabilidad, el tiempo de procesamiento es inaceptable. Para acelerar los tiempos de procesamiento de ECC se han propuesto en la literatura varias implementaciones de ECC en hardware, pero optimizadas para un conjunto de parámetros T particulares, incrementando así los problemas de interoperabilidad. Esta investigación aborda el problema de interoperabilidad en ECC desarrollando una arquitectura hardware que permita una adaptacin dinámica de su estructura para poder operar con diferentes parámetros T y que al mismo tiempo mantenga el alto desempeñno de una implementación en hardware. Una implementación ECC interoperable es difícil debido a la diversidad de parámetros T que existen y a la complejidad de los algoritmos subyacentes. Aunque algunos trabajos reportados permiten cierta flexibilidad en la elección de los parámetros, una arquitectura hardware reconfigurable que provea interoperabilidad con otras implementaciones no se ha explorado aún. Una aplicación inmediata de esta nueva arquitectura es en el protocolo IPSec, donde los algoritmos criptograficos como ECC y sus parámetros de implementación se negocian en tiempo de ejecución. | |
Instituto Nacional de Astrofísica, Óptica y Electrónica | |
2008-12 | |
Tesis de doctorado | |
Inglés | |
Estudiantes Investigadores Público en general | |
Morales-Sandoval M | |
LENGUAJES DE PROGRAMACIÓN | |
Versión aceptada | |
acceptedVersion - Versión aceptada | |
Aparece en las colecciones: | Doctorado en Ciencias Computacionales |
Cargar archivos:
Fichero | Tamaño | Formato | |
---|---|---|---|
MoralesSaM.pdf | 1.07 MB | Adobe PDF | Visualizar/Abrir |