Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen:
Las técnicas que se requieren para proteger datos, en la actualidad,
corresponden al campo de la criptografía basada en modelación
matemática, que asegura confidencialidad en la transmisión y al-
macenamiento de la información. En este artículo, se presentan los
resultados parciales del desarrollo de una infraestructura de clave
pública, utilizando una plataforma reconfigurable basada en disposi-
tivos FPGA. La arquitectura se soporta en el criptosistema de curvas
elípticas (ECC Elliptic curve cryptosystem), además integrada por
el algoritmo Rijndael (AES) para cifrado simétrico y SHA como algo-
ritmo de integridad de la información. Se especifican los resultados
alcanzados en el desarrollo del algoritmo AES y la implementación de
1 Ingeniero Electró- criptografía de curvas elípticas en FPGA.
nico. M. Sc. (c) en
Matemática Apli-
cada. Grupo de Palabras clave: rable platform based on FPGA devices. The
Investigación Ma-
crypt, Universidad
Infraestructura de clave pública, criptografía architecture is based on the elliptic curve
de los Llanos. Co- de curvas elípticas, AES, hardware reconfi- cryptosystem (ECC), including the Rijndael
rreo: fvelasquez@ gurable. algorithm (AES) for symmetric encryption
unilla and the SHA as the data integrity algorithm.
nos.edu.co
Abstract: The results achieved when implementing
2 Ingeniero Electróni- At present, the techniques required to pro- both the AES algorithm and the elliptic cur-
co. Esp (c) en Solu- ve cryptography with FPGA are presented.
tect data correspond to the field of cryptogra-
ciones Telemáticas.
Grupo de Investiga- phy based on mathematical modeling, which
ción Macrypt, Uni- ensures confidentiality when transmitting Keywords:
versidad de los and storing information. In this article, we Public-key infrastructure PKI, elliptic cur-
Llanos. Correo: jf-
castano@unillanos. present the partial results of public-key in- ve cryptography, AES, reconfigurable
edu.co frastructure development using a reconfigu- hardware.
Se puede establecer la siguiente correspon- El otro enfoque toma como base el polino-
dencia lineal de F en K mediante la función mio irreductible, al calcular las expresiones
traza TrF/K (α): sea K un campo finito y sea que generan cada uno de los coeficientes
TrF/K (α) una extensión finita de K , la base del resultado de la multiplicación, la cual,
polinomial (1, α, α2,.... αm–1) se construye con por tanto, se puede implementar en paralelo.
las potencias de un elemento definitorio α de Por esto, se denomina multiplicadores para-
F sobre K , donde el elemento α es un ele- lelos a este tipo de enfoques.
mento primitivo de F . Con esta base se re-
presentan los elementos de un campo finito 2.1.3. Adición en base polinomial
mediante polinomios con coeficientes ai, que
pertenecen al campo K y las potencias de Dados dos elementos:
los elementos de la base. Cada polinomio que A = a 0 + a1 x + a 2 x 2 + ... + a m x m −1
representa un término es una clase residual B = b0 + b1 x + b2 x 2 + ... + bm x m −1
módulo el polinomio irreductible, es decir en el campo finito GF(2m), entonces A + B
{
Fq m = a0 + a1 x + a 2 x + ... + a m x / ai ∈ Fq
2 m
}. = C = c 0 + c1 x + c 2 x 2 + ... + c m x m −1 , donde
ci = (ai + bi ) mod 2 , lo que equivale a la
2.1.2. Multiplicación en base polinomial operación XOR bit a bit.
Los puntos que satisfacen (1) se denominan 2.2.2. Problema del logaritmo discreto en curvas
puntos racionales y forman una estructura elípticas (ECDLP)
de grupo abeliano con respecto a la suma de
puntos, con el punto Ο , llamado punto al in- Sea E una curva elíptica definida sobre un
finito como elemento neutro. campo finito GF(2m) y sea G ∈E(Fq) un pun-
La suma de puntos sobre la curva Ea,b se de- to sobre E de orden n (n un número primo y
fine de la siguiente manera: grande). El ECDLP, se plantea así: dados E
a. O + O = O. y un múltiplo escalar Q de G, determinar un
entero a tal que Q = aG.
b. P + O = O + P = P, para todo P∈E(F2m).
c. Si P = (x, y)∈E(F2m), entonces (x, y) + 2.2.3. Multiplicación de puntos
(x, x + y) = O. El punto (x, x + y) se de- La fundamental y más costosa operación en
nota –P y se llama el negativo de P. –P es el criptosistema de curvas elípticas es la mul-
un punto de la curva. tiplicación de puntos o multiplicación escalar
kP, donde k es un entero y P es un punto de
d. Sean P1 = (x1, y1) y P2 = (x2, y2) dos puntos la curva elíptica. La multiplicación escalar se
de la curva E(Zp), donde x1≠x 2, se tiene define en términos de la suma:
que P1 + P2 = (xs, ys) es:
kP = P + P + ... + P (2)
xs = λ2 + λ+ x1 + x2 + a
k veces
ys = λ(x1 – xs ) + xs + y1,
y 2 + y1 Para realizar esta operación se usa el méto-
donde λ = do de López-Dahab [5], el cual realiza el mis-
x 2 + x1
e. Sea P1 = (x1, y1) un punto de la curva, con mo tipo de operaciones (multiplicaciones y
y1 ≠ 0. Entonces P1 + P1 = (xs, ys), sumas) en cada ciclo, lo que permite que sea
resistente a ataques por análisis de potencia.
donde xs = λ2 + λ+ a, ys = x12 + (λ + 1)xs En términos de las operaciones en el campo
y finito, el costo aproximado del método es de
donde λ = x1 + 1
x1 6 m + 20 s para calcular kP.
La suma y duplicación de puntos se imple-
mentan en términos de la aritmética de cam- 3. AES (Advanced Encryption Standard)
pos finitos. Las curvas elípticas
La estructura del algoritmo Rijndael está for- son una impor-
En algunas aplicaciones es conveniente mada por un conjunto de rondas (conjunto
tante familia de
representar los puntos racionales en co- de iteraciones de cuatro funciones matemá-
ordenadas proyectivas, lo cual provee una ticas diferentes e invertibles). El algoritmo
funciones que
disminución en el número de inversiones re- se basa en la aplicación de un número de se originan al
queridas, lo que se traduce en mayor facili- rondas a una información en claro para pro- solucionar cierto
dad de implementación. el National Institute ducir una información cifrada. tipo de ecuaciones
of Standards and Technology (NIST), estan-
darizó las condiciones de las curvas elípticas Cada ronda está compuesta por cuatro ope-
en dos variables
para que sean eficientes en aplicaciones co- raciones basadas en transformaciones uni- y otras funciones
merciales, en cuanto a la seguridad. formes e invertibles llamadas “capas” –que especiales.
han sido diseñadas para resistir a los criptoa- vo byte. Esta transformación consiste en la
nálisis lineal y diferencial–, las cuales son: sustitución de cada byte por el resultado de
aplicarle la tabla de sustitución S-Box. Esta
• Capa de mezcla lineal: Garantiza un alto tabla lógicamente es invertible.
nivel de difusión a lo largo de las múlti-
ples rondas.
3.2. Shiftrow: Desplazamiento de filas
• Capa no lineal: Consiste en la aplicación
de S-Cajas en paralelo que tiene propie- En esta transformación se rotan cíclicamente
dades óptimas de no linealidad. las filas del estado intermedio varios lugares
a la izquierda, dependiendo de la posición de
• Capa de adición de clave: Se trata de una la fila y el tamaño de bloque cifrado. Cuando
operación OR exclusivo entre el estado. son bloques de 128 o 196 bits, la primera fila
(fila 0) no se desplaza, la fila 1 se desplaza
3.1. Bytesub: Sustitución de Byte cíclicamente un lugar, la fila 2 dos lugares
y la fila 3 tres lugares. Cuando los bloques
Consiste en una sustitución no lineal que son de 256 bits, estos desplazamientos son
se aplica a cada byte de la matriz de estado algo diferentes: 0, 1, 3 y 4 lugares, respecti-
de forma independiente, generando un nue- vamente.
El boque Round es modular, totalmente de- Este proceso se repite para las 10 rondas,
sarrollado en VHDL lenguaje para descrip- con una diferencia fundamental en la última,
ción y modelado de circuitos, junto con el en la cual coloca un 0 en el habilitador de
módulo InvRound, que implementa las ron- MixColumns, con lo que no se realiza esta
das en el proceso de descifrado. El boque transformación.
Round recibe un bloque de 128 bits corres-
pondiente al estado del proceso, junto con la Figura 2. Arquitectura para el cifrado AES.
clave de ronda correspondiente y un bit que
indica la realización de la transformación
MixColumns, si está en 1, o la ausencia de
esta transformación, en caso contrario.
Para el proceso de descifrado se diseñó una Es posible considerar algunos factores que
arquitectura semejante, con las siguientes influyen en los resultados obtenidos. Existen
consideraciones: ventajas inherentes a los dispositivos FPGA,
dadas su arquitectura paralela y la posibili-
• La entrada del bloque es el texto cifrado dad de procesamiento concurrente. Este he-
y la clave de cifrado original. A partir de cho se evidenció en la implementación del
esta se calcula la décima subclave (10), prototipo, en el cual predominan los bloques
con la cual se inicia un proceso similar al paralelos y las conexiones masivas de ele-
del cifrado, hasta llegar a la clave inicial. mentos en cascada, logrando flujo de datos
Este proceso se implementa conectando sin retardos significativos. De igual manera,
en cascada 10 bloques KeySch y almace- se debe tener en cuenta la optimización lo-
nando la salida en el registro correspon- grada en el bloque KeySch, el cual se imple-
diente. mentó completamente en paralelo, logrando
la generación de la subclave directamente y
• El proceso interno del bloque Ronda, en
sin retardos. Otro punto importante de op-
el caso del descifrado, en inverso al del
timización es el uso de multiplicadores pa-
cifrado.
ralelos en la transformación mixcolumns del
• La FSM de control es similar a la de ci- descifrado, logrando también reducir el área
frado, con excepción de la generación de ocupada por dicho bloque. Estos multiplica-
la señal Rcon, que va en orden inverso, y dores se desarrollan teniendo en cuenta las
del uso del bit de habilitación de MixCo- características del campo finito empleado.
lumns, que también se maneja en orden
inverso, ya que en la primera ronda no se 4.2. Curvas elípticas
realiza dicha operación.
Se ha implementado en primer lugar la aritmé-
La Tabla 1 presenta la comparación de los tica de campos finitos, específicamente sobre
resultados obtenidos con otras implementa- el campo GF(2163). Este campo está estan-
ciones reportadas. darizado por NIST y se considera aún seguro
Cifrado Descifrado
Autor Through-
CLs Throughput CLs
put Mbps
Liberatori [7] 637,24 1.584 500,28 2.506
Standaert et al. [8] 1450 542 No implementa NI
Segredo et al. [9] 417 496 NI NI
López [10] 6,8 2.500 4,5 2.400
J. López et al. [11] 1067,62 633
Este trabajo 660 410 660 840