Diseño e implementación eficiente del emparejamiento etaT en dispositivos móviles y arquitecturas multinúcleo

Luis Martínez Ramos

            
Texto completo de la Tesis    



Resumen

Los emparejamientos bilineales se han utilizado recientemente para la construcción de esquemas criptográficos con nuevas y novedosas propiedades. Desde su introducción en una aplicación criptográfica constructiva en el año 2000 por Joux, un número creciente de protocolos basados en los emparejamientos de Weil y Tate ha aparecido en la literatura, el ejemplo más significativo es el esquema de Criptografía Basada en la Identidad propuesto por Boneh y Franklin. Sin embargo, el cálculo de emparejamientos es computacionalmente muy costoso para ser utilizado en cualquier criptosistema basado en emparejamientos, por esta razón, numerosas aportaciones han aparecido, donde varias mejoras son propuestas para el cálculo de emparejamientos. Barreto et al. propusieron una variante del emparejamiento de Tate llamada nT que hasta hoy es considerado el emparejamiento más eficiente. En esta tesis, presentamos una implementación eficiente en software para el cálculo del emparejamiento nT sobre campos finitos binarios y ternarios. La implementación presentada en este trabajo logra una eficiencia competitiva con las implementaciones reportadas en la literatura abierta. Nosotros realizamos esta implementación sobre dos arquitecturas diferentes, la primera de ellas es un dispositivo móvil con recursos limitados, la segunda es una arquitectura multinúcleo que nos permite calcular el emparejamiento nT en paralelo. También se presenta una aplicación criptográfica basada en emparejamientos que hace uso de otras primitivas, como el cifrador por bloques AES, la función picadillo SHA-256 y funciones picadillo llamadas map-to-points.


        Abstract

Bilinear pairings have been recently used to construct cryptographic schemes with new and novel properties. Since its introduction in a constructive cryptographic application in 2000 by Joux, an increasing number of protocols based on Weil or Tate pairings have appeared in the literature, the most significant example is the Identity Based Encryption scheme proposed by Boneh and Franklin. However, the computing pairings is computationally very expensive to be used in any pairing-based cryptosystem, for this reason, many contributions have appeared, where several improvements are proposed to compute pairings. Barreto et al. proposed a variant of the Tate pairing called nT which until today is considered the most efficient pairing. In this thesis, we present an efficient software implementation to compute the nT pairing over binary and ternary finite fields. The implementation presented in this work achieves a competitive performance with implementations reported in the open literature. We made the implementation on two different architectures, the first one of them it is a mobile device with limited resources, the second one is a multicore architecture that allows us to compute the nT pairing in parallel. Also one presents a cryptographic application based on pairings which it uses of others cryptographic primitives as the AES block cipher, SHA-256 and map-to-points hash functions.