123 Elme
123 Elme
Coordinado por:
Josep Domingo Ferrer
Antoni Martínez Ballesté
Jordi Castellà Roca
Agustí Solanas Gómez
Tarragona, 2010
Edita:
Publicacions URV
Los grandes avances realizados en las tecnologías de la información y de las comunicaciones (TIC) han ele-
vado nuestra capacidad de generar y compartir información hasta límites insospechados, y con esta capacidad
también han aumentado los riesgos que ello supone.
El mundo electrónico-digital tiende a reemplazar a los antiguos sistemas, más lentos e ineficientes. Algunos
ejemplos cotidianos los encontramos en el correo electrónico, el comercio electrónico, la votación electrónica,
la administración digital, la televisión digital, etc. El mundo de lo electrónico y lo digital está llamado a ser
el dominante y es por ello que resulta de vital importancia el estudio de teorías y métodos que permitan
garantizar la privacidad y la seguridad de los usuarios en este nuevo contexto.
Con esta idea en mente, y con el objetivo de servir de foro de intercambio de conocimientos para los inves-
tigadores, en 1991 nació la Reunión Española sobre Criptología y Seguridad de la Información (RECSI), la cual
en aquel entonces vino a llamarse Primera Jornada Española sobre Criptografía.
Este año, Tarragona acoge en septiembre la undécima edición de la RECSI, el congreso científico español de
referencia en el ámbito de la seguridad en las tecnologías de la información. Las pasadas ediciones se realizaron
en Palma de Mallorca (1991), Madrid (1992), Barcelona (1994), Valladolid (1996), Torremolinos (1998), Santa
Cruz de Tenerife (2000), Oviedo (2002), Leganés (2004), Barcelona (2006) y Salamanca (2008).
La ciudad de Tarragona ha sido testigo de generaciones cuyas huellas han merecido el reconocimiento
mundial. Como elemento representativo de esta RECSI hemos elegido la muralla, símbolo de los vestigios de
la Tarragona Romana y uno de los muchos elementos patrimoniales que recomendamos visitar.
Estas actas contienen las 72 contribuciones de la RECSI 2010, cuyas sesiones se organizan en los siguientes
ámbitos temáticos: cifrado de flujo, clave pública, criptoanálisis, firmas digitales, privacidad, protocolos, RFID,
seguridad, seguridad de redes, watermarking y fingerprinting. Como conferenciantes invitados contamos con
Ronald Cramer (Centrum Wiskunde & Informatica, Amsterdam) y Paulo Veríssimo (Universidad de Lisboa).
Desde la organización queremos expresar nuestro agradecimiento a todos los patrocinadores y colabo-
radores del evento, así como también a todos los ponentes, asistentes, miembros de los comités y revisores.
La compilación de las actas se realizado con LATEX y el paquete ‘confproc’.
Tarragona, septiembre de 2010
i
ii
Comité de organización
Presidente
• Josep Domingo Ferrer (Universitat Rovira i Virgili)
Vicepresidentes
• Jordi Castellà Roca (Universitat Rovira i Virgili)
• Antoni Martínez Ballesté (Universitat Rovira i Virgili)
• Agusti Solanas Gómez (Universitat Rovira i Virgili)
Secretaría
• Jesús Manjón Paniagua (Universitat Rovira i Virgili)
• Gloria Pujol Crespo (Universitat Rovira i Virgili)
Comité científico
• Abascal Fuentes, Policarpo (Universidad de Oviedo)
• Álvarez Marañón, Gonzalo (C.S.I.C.)
• Amigó García, José María (Universidad Miguel Hernández)
• Areitio Bertolín, Javier (Universidad de Deusto)
• Borrell Viader, Joan (Universitat Autónoma de Barcelona)
• Bras Amorós, Maria (Universitat Rovira i Virgili)
• Caballero Gil, Pino (Universidad de La Laguna)
• Castellà Roca, Jordi (Universitat Rovira i Virgili)
• Climent, Joan-Josep (Universitat d’Alacant)
• Domingo Ferrer, Josep (Universitat Rovira i Virgili)
• Durán Díaz, Raúl (Universidad de Alcalá de Henares)
• Fernández-Medina Patón, Eduardo (Universidad de Castilla La Macha)
• Ferrer Gomila, Josep Lluís (Universitat de les Illes Balears)
• Fúster Sabater, Amparo (C.S.I.C.)
• González Vasco, Ma Isabel (Universidad Rey Juan Carlos)
• Gutiérrez Gutiérrez, Jaime (Universidad de Cantabria)
• Hernández Encinas, Luis (C.S.I.C.)
• Hernández Goya, Candelaria (Universidad de La Laguna)
• Herrera Joancomartí, Jordi (Universitat Autònoma de Barcelona)
• Huguet Rotger, Llorenç (Universitat de les Illes Balears)
iii
• López Muñoz, Javier (Universidad de Málaga)
iv
Programa de las sesiones
Cifrado de flujo
Clave pública
Criptoanálisis
v
Firmas digitales
91 Envío de información con soporte de firma digital y cifrado desde un dispositivo móvil a un servi-
dor web
J. Bühler Olivé, M. Mut Puigserver, M. Payeras Capellà, L. Huguet Rotger
Privacidad
129 Un criterio de privacidad basado en teoría de la información para la generación de consultas falsas
D. Rebollo-Monedero, J. Parra-Arnau, J. Forné
153 Ofuscación del perfil del usuario de un motor de búsqueda mediante una red social y protocolos
criptográficos
A. Erola, J. Domingo-Ferrer, J. Castellà-Roca
Protocolos
vi
183 Gestión de grupos en VANETs: descripción de fases
C. Caballero Gil, P. Caballero Gil, J. Molina Gil, C. Hernández Goya, A. Fúster Sabater
189 Adaptación de una prueba de mezcla de votos para su uso con la cifra ElGamal
V. Mateu, J. M. Miret, F. Sebé
RFID
223 Criptografía basada en identidad aplicada a los sistemas RFID para mejorar la seguridad vial
J. Munilla Fajardo, A. Ortiz García, A. Peinado Domínguez
Seguridad
235 An operational research approach to feature selection for network-based intrusion detection
H. Nguyen, S. Petrovic
241 Control de acceso interoperable para la mejora en la cooperación entre grupos de emergencias
C. Martínez-García, A. Martín-Campillo, G. Navarro-Arribas, R. Martí, J. Borrell
vii
289 Euskalert: Red Vasca de Honeypots
U. Zurutuza, E. Ezpeleta, I. Arenaza, I. Vélez de Mendizábal, J. Lizarraga, R. Uribeetxeberria, M. Fernández
295 A real-time stress detection system based on GMM for intrusion detection
A. Santos Sierra, C. Sánchez Ávila, G. Bailador del Pozo, J. Guerra Casanova, V. Jara Vera
333 High-speed free-space quantum key distribution system for urban applications
M. J. García, D. Soto, N. Denisenko, A. B. Orúe, V. Fernández
343 A threat model approach to attacks and countermeasures in on-line social networks
B. Sanz, C. Laorden, G. Alvarez, P. G. Bringas
Seguridad de redes
371 Detección robusta por grupos de señales primarias en redes de radio cognitiva
M. Jiménez Blasco, J. Mut Rojas, H. Rifà-Pous
viii
395 Implementación de Ipsec en una arquitectura TCP splitting
J. Caubet, J. L. Muñoz, J. Alins, J. Mata-Díaz, O. Esparza
Watermarking y fingerprinting
413 Propiedades de trazabilidad de los códigos de Reed-Solomon para ciertos tamaños de coalición
J. Moreira, M. Fernández Muñoz, M. Soriano
ix
x
Criptografı́a de alta velocidad:
Cifrando en condiciones extremas
(grandes cantidades de datos en tiempo escaso)
Vicente Jara Vera Gonzalo Bailador del Pozo
Carmen Sánchez Ávila Javier Guerra Casanova
Grupo de Biometrı́a, Bioseñales y Seguridad (GB2S) Alberto de Santos Sierra
Centro de Domótica Integral (CeDInt) Grupo de Biometrı́a, Bioseñales y Seguridad (GB2S)
Universidad Politécnica de Madrid, Madrid, España Centro de Domótica Integral (CeDInt)
Email: {vjara,csa}@[Link] Universidad Politécnica de Madrid, Madrid, España
Email: {gbailador,jguerra,alberto}@[Link]
Abstract—Inicialmente al cifrado se le pide seguridad, pero de Claude Shannon sobre Teorı́a de la Información y Crip-
hay entornos en los que además se precisa cifrar una gran tologı́a, “A mathematical Theory of Communications” [1]:
cantidad de datos en un tiempo aceptable. La gran cantidad es el comienzo de la consideración de la Criptologı́a no ya
de datos que cada vez se van manejando en las redes actuales,
servidores, sistemas de comunicación, puntos de routing, e incluso como un Arte apartado y misterioso, sino como una rama de
ordenadores y máquinas individuales hace preciso contar con la Matemática. El segundo acontecimiento es la publicación
sistemas que permitan cifrar volúmenes tan grandes como los en el año 1.976 de un artı́culo por Whitfield Diffie y Martin
Gygabytes en tiempos tan cortos o escasos como uno o dos Hellman, “New Directions in Cryptography” [2], en el que
segundos. Ofrecemos en este estudio la situación actual (2010) proponen un nuevo sistema de cifrado, el de clave pública.
en cuanto a la existencia, o no, de criptosistemas que permitan
realizar esta tarea, ası́ como la sugerencia de cuáles usar en los Este segundo artı́culo supuso la división de los criptosistemas
distintos entornos que pudieran presentársenos. en sistemas de clave secreta o simétrica y sistemas de clave
pública o asimétrica.
I. I NTRODUCCI ÓN 1) Criptosistemas asimétricos: Los cifradores más rápidos
Cifrar gran cantidad de datos en condiciones donde el son los cifradores simétricos, ya que los asimétricos descansan
tiempo es reducido es una situación que en algunos entornos en la ejecución de procedimientos y algoritmos matemáticos
puede ser necesario realizar e incluso hacerlo de manera basados en problemas de complejidad difı́ciles de resolver, que
habitual, lo que hace preciso el disponer de criptosistemas hacen que sean más lentos en ejecutarse que los simétricos,
que se adecuen a estas necesidades. basados en operaciones matemáticas más rápidas, a veces
Este es precisamente el caso que estamos considerando en repetitivas, que añaden confusión y difusión -como especi-
este trabajo, buscar los cifradores más rápidos existentes en ficaba Claude Shannon [1]- a los datos en claro de entrada.
la actualidad sin perder, claro esta, la inherente capacidad Los sistemas simétricos o de clave secreta a su vez pueden
de seguridad que se espera de un criptosistema, ya que la catalogarse como cifradores de bloque y de flujo o “stream”,
velocidad en las operaciones del cifrador no ha de ser óbice según cifren un conjunto de bits a la vez o bien vayan cifrando
para rebajar la dificultad de ruptura del sistema criptográfico. bit a bit, respectivamente.
El entorno es sumamente restrictivo, ya que si hablamos No obstante, y debido a que el cifrado de los datos se hace
de velocidad alta de cifrado estamos pensando en cifrar simétricamente, y sólo se usa el cifrado asimétrico para la
volúmenes hoy en dı́a considerados grandes (Gigabytes) en clave de aquel, no será su lentitud un problema y no serán
tiempos pequeños (segundos). Este intento, ya lo decimos, objeto de nuestro estudio, aunque haremos seguidamente una
no tenı́a solución hace alrededor de 6–8 años, pero hoy sı́ somera mención de sus capacidades de ejecución.
existen sistemas capaces de lograr tales cotas de eficiencia. Ası́, entre los más conocidos criptosistemas asimétricos y
Nuestro propósito es mostrar un elenco de la situación actual que se consideran seguros, indiquemos que McEliece [3] no
en base a los mejores criptosistemas existentes en sus distintas siendo lento ofrece unos tamaños de claves sumamente gigan-
variantes (asimétricos y simétricos) para trabajar en situaciones tescos; RSA [4] o ElGamal [5], que se basan en el Problema
o entornos como el planteado. de la Factorización el primero, y en el Problema del Logaritmo
Discreto el segundo, son más lentos ( [6], [7], [8], [9] ), que
II. C RIPTOSISTEMAS SIM ÉTRICOS Y ASIM ÉTRICOS el cifrado de Curvas Elı́pticas, basado en el Problema del
La división de la Criptografı́a como una Ciencia puede Logaritmo Discreto en este Grupo algebraico ( [10], [11] ). Los
hacerse en base a dos hechos significativos que son punto sistemas Benaloh [12], Goldwasser-Micali [13], Damgaard-
de inflexión en la misma. Primeramente, el artı́culo de 1.948 Jurik [14], Naccache-Stern [15], Okamoto-Uchiyama [16] o el
1
de Paillier [17], se basan en el Problema de la Residuosidad manipula bit a bit (o dı́gito a dı́gito, entendiendo “dı́gito”
Cuadrática o la Compuesta y son como mucho problemas en sentido amplio) en cada momento, variando el cifrado en
similares al de la Factorización, lo que los convierte en simi- función del estado actual del sistema, por lo que también se
lares a RSA en velocidad por la ejecutoria de las operaciones denomina a este tipo de cifrado “cifrado de estados” (lo que
matemáticas de los algoritmos involucrados; otros sistemas no ocurre jamás en el cifrado en bloques, que es invariante).
son el de Blum-Goldwasser [18], que a pesar de ser de tipo Intentan asemejarse al cifrado perfecto o de Vernam [40],
“stream”, no llega a obtener tan buenos resultados en velocidad consistente en un chorro de dı́gitos aleatorios combinado
como el de Curva Elı́ptica [19]; por otro lado, los que se basan mediante xor con el texto claro, uno tras otro, el cual fue
en el Problema del Logaritmo Discreto, y citamos entre otros demostrado ser imposible de romper por Claude Shannon en
a CEILIDH [20], Cramer-Shoup [21], y XTR [22], no son el año 1.949 [41]. La dificultad en el uso de este sistema
tan seguros como el de Curva Elı́ptica [23] y son siempre está en que la longitud de la clave secreta ha de ser tan
inferiores a éste en velocidad ( [24], [25] ), aunque el último larga como el texto a cifrar y que el generador aleatorio ha
se acerca a él [22]. de serlo realmente. En la realidad los cifrados simétricos de
2) Criptosistemas simétricos en bloque: El criptosistema flujo se adaptan a usar claves secretas menores que los de
simétrico en bloque por excelencia hasta la aparición de Vernam, como por ejemplo 128 bits pseudoaleatorios. Los
AES [26] en el año 2.002 ha sido DES [27], el cual es criptosistemas de “stream” son más rápidos que los de bloques
alrededor del doble de lento que el nuevo cifrado simétrico y presentan una menor complejidad cuando se implementan
estándar. Siguiendo el único estudio de velocidades realizado tanto en hardware -sobretodo- como en software.
sobre los 15 candidatos a mejor cifrado simétrico en los Nos centraremos en el siguiente listado -numeralmente muy
[Link] por el NIST [28] podemos concluir que si se im- amplio, lo que nos dará una completa idea de la realidad
plementa en software el cifrado en microprocesadores de 32 de este tipo de cifradores- de criptosistemas simétricos de
bits los mejores candidatos para cifrar grandes cantidades flujo, sobre los que indicaremos su capacidad en eficiencia
de datos son Twofish [29], Rijndael [30] (el original AES, de velocidad cifrante de altas cantidades de datos:
antes de ser redefinido por el estándar), CRYPTON [31], A5/1: 1.987 [42], A5/2: 1.989 [42], A5/3 (KASUMI):
RC6 [32] y MARS [33], y para pequeñas cantidades Rijndael, 2.007 [43], BMGL: 2.001 [44], Chamaleon: 1.997 [45],
CRYPTON y E2 [34]. Para procesadores de 64 bits los más Dragon: 2.005 [46], FISH: 1.993 [47], Grain: 2.004 [48], HC-
veloces son Rijndael, Twofish, DFC [35], MARS y E2. Para 128: 2.008 [49], HC-256: 2.004 [50], ISAAC: 1.996 [51],
el caso de implementaciones hardware, si bien es sumamente Leviathan: 2.000 [52], LILI-128: 2.000 [53], MICKEY:
complejo de comparar unos con otros por la cantidad de 2.008 [54], MUGI: 2.002 [55], MULTI-s01: 2.002 [56],
variables constructivas a considerar [28], podemos anotar del Panama: 1.998 [57], Phelix: 2.004 [58], Pike: 1.994 [59],
mismo artı́culo que los mejores son CRYPTON, Serpent [36], Py: 2.005 [60], (TPy, TPypy y TPy6, 2.007, [61]), Rabbit:
Twofish, Rijndael y Safer+ [37]. 2.003 [62], RC4: 1.987 [63], RCR32/64: 2.007 [64], Salsa20:
Debido a que los concursos de selección del mejor cripto- 2.004 [65], Scream: 2.002 [66], SEAL: 1.994 ( [67], [68] ),
sistema simétrico tanto en EEUU (NIST, 1.997-2.001, [26]), SNOW: 2.000 [69], SOBER: 1.997 ( [70], [71] ), Sosemanuk:
Europa (NESSIE, 2.000-2.003, [38]) y Japón (CRYPTREC, 2.005 [72], Trivium: 2.005 [73], Turing: 2.003 [74], VEST:
2.000-2.003, [39]) consideraron siempre al cifrado Rijndael 2.005 [75].
como seleccionado en la serie finalista, podemos considerarlo Muchos de ellos fueron presentados al concurso de
como un candidato acertado en cuanto a seguridad e imple- cifradores de flujo convocados por Europa al descartar
mentación, y como hemos podido ver, también el mejor, en NESSIE en el año 2.003 a todos los cifradores presentados.
general, en referencia a la velocidad de cifrado. Ası́ pues, Europa creó le Proyecto eSTREAM [76], que entre
Anotemos, no obstante, que nos estamos moviendo dentro los años 2.004 y 2.008 seleccionó en el perfil de hardware
de los órdenes de magnitud de los cifrados simétricos de (para condiciones restrictivas de almacenamiento, potencia y
bloque, en las decenas y centenas de ciclos de reloj por byte espacio) los criptosistemas Grain v.1, MICKEY v.2 y Trivium.
cifrado, lo que supone un orden de 10–100 veces más de media En el perfil de software los elegidos fueron HC-128, Rabbit,
de lo que podemos encontrar en los cifrados simétricos de Salsa20/12 (es la versión Salsa 12 con 12 rondas) y Sose-
“stream” o de flujo, que serán los que veremos en la siguiente manuk. Indiquemos que los cifradores de software tienden
sección, y que constituirán el núcleo más grueso de nuestro a ser más veloces que los de hardware, si bien cuando se
estudio, y de entre los cuales acabaremos eligiendo el mejor implementan en software estos últimos resultan ser todavı́a
cifrado para condiciones extremas de velocidad. más lentos que sus implementaciones hardware; siempre hay
excepciones como Trivium (cifrador hardware), entre otros,
III. C RIPTOSISTEMAS SIM ÉTRICOS DE FLUJO O DE comparativamente similar en velocidad a los más rápidos de
“ STREAM ” los cifrados software ( [77], [73] ).
Los cifrados de “stream” o de flujo son cifrados simétricos Tras repasar la anterior lista de cifrados, si quitamos a la
donde el texto claro se combina con la clave, expresada hora de optar por los que podrı́an sernos de interés, los orien-
también como un flujo de bits, en general mezclada por la tados a hardware elegidos por eSTREAM (Grain, MICKEY,
función xor. Este tipo de cifrado toma el texto claro y lo Trivium, VEST), los que son versiones anteriores de otros que
2
los mejoran (SEAL) [66], los multicanales, que no es el caso además el Benchmarck del europeo ECRYPT II [103], pode-
que nos ocupa por no ser de propósito general (HC-128, HC- mos sacar algunas tablas adicionales de interés para nuestra
256), los que se usan para la protección de derechos de autor búsqueda que ya nos dan valores de cifrado del entorno de los
y usan de marcados, que lo ralentizan para nuestros propósitos Gigabytes de datos por segundo, como muestra la figura 3.
(Chamaleon), y los que no son seguros, ası́ considerados hoy
en dı́a (año 2.010), aunque a veces solamente a nivel teórico,
(A5/1 ( [78], [79] ), A5/2 [80], A5/3 [81], Dragon [82],
FISH [59], Leviathan [83], LILI-128 [84], Phelix [85], Py
( [86], [85] ), TPy ( [86], [87], [85], [88], [89] ), TPy6
( [90], [85] ), RC4 ( [91], [92] ), Trivium ( [93], [94], [95], [96]
), Turing [97]), nuestra lista de los mejores representantes de
cifrados de flujo, dando la referencia de la velocidad de cada
uno de ellos, queda de la siguiente manera:
BMGL ( [44], [52] ), ISAAC [98], MUGI [99], Multi-
s01 [100], Panama [57], Pike [59], Rabbit [62], RCR-32 [64],
RCR-64 [64], Salsa20/12 [101], Scream [66], SNOW2 [69],
SOBER [102], Sosemanuk [72], TPypy [64].
Si ahora los clasificamos anotando su velocidad en ciclos de
reloj por byte y si han sido o no elegidos en los dos Proyectos
de cifradores de flujo, CRYPTREC o eSTREAM, tenemos el
siguiente gráfico de la figura 1 y 2.
IV. C ONCLUSIONES
De entre todos los cifradores simétricos, tanto de bloque
como de flujo, recordar que los últimos son de orden de 10
a 100 veces superiores en prestaciones de velocidad a los de
bloque, aunque algunos de los más rápidos de entre éstos como
Blowfish están en el orden de los 18 ciclos/byte [104], o AES-
128 en modo CTR alcanza en el Opteron, como hemos visto
en la figura 3, un valor de 9,86 ciclos/byte.
No obstante, tras nuestro estudio, hemos de concluir que
Fig. 2. Representación comparativa de los cifradores mostrados en la Fig. 1. la elección final para cifradores simétricos -y cifradores de
cualquier tipo, en definitiva, simétricos o asimétricos- está en
Si tomamos de la lista los mejor situados y analizamos usar cifradores de flujo o “stream”, tomando en cada caso
3
[18] M. Blum, S. Goldwasser, “An Efficient Probabilistic Public Key En-
cryption Scheme which Hides All Partial Information”, en Proceedings
of Advances in Cryptology - CRYPTO 84, pp.289–299, 1985.
[19] R. Shanmugalakshmi, M. Prabu, “Research Issues on Elliptic Curve
Cryptography and Its applications”, en International Journal of Com-
puter Sciencie and Network Security, vol. 9, no. 6, pp.19–22, 2005.
[20] K. Rubin, A. Silverberg, “Torus-Based Cryptography”, en CRYPTO
03, pp.349–365, 2003.
[21] R. Cramer, V. Shoup, “A Practical Public Key Cryptosystem Provably
Secure Against Adaptive Chosen Ciphertext Attack”, en Proceedings
of Crypto LNCS, 1998.
[22] A. K. Lenstra, E. R. Verheul, “An Overview of the XTR Public Key
System”, en Lectures. Notes in Computer Sciences, pp.1–19. 2000.
[23] V. Jara Vera, C. Sánchez Ávila, “Análisis comparativo entre métodos
de ataque a los criptosistemas RSA, ElGamal y Curvas Elı́pticas”, en
II Simposio sobre Seguridad Informática, CEDI 07, 2007.
Fig. 3. Algunas tablas comparativas de los más rápidos cifradores en [24] B. Schneier, “Applied Cryptography”, Second Edition, Wiley, 1996.
diferentes procesadores. [25] L. Ertaul, N. Chavan, “RSA and Elliptic Curve- ElGamal Threshold
Cryptography (ECCEG-TC) Implementations for Secure Data Forward-
ing in MANETs”, en Security and Management, pp.142–146, 2007.
[26] NIST, “Advanced Encryption Standard”, en FIPS PUB 197, National
particular, sobre la lista final mostrada en la figura 1, el que Bureau of Standards, U.S. Department of Commerce, 2001.
más se adecue a las caracterı́sticas de procesador de la apli- [27] NIST, “Data Encryption Standard”, en FIPS PUB 46, National Bureau
of Standards, U.S. Department of Commerce, 1977.
cación considerada en cada escenario, con lo que obtendremos [28] B. Schneier, J. Kelsey, D. Whiting, D. Wagner, Ch. Hall, N. Ferguson,
unos valores de cifrado del orden de los Gigabytes de datos “Performance Comparison of the AES Submissions”, en Proceedings
por segundo en un ordenador usuario medio, cumpliendo de Second AES Candidate Conference, NIST, pp.15–34, 1999.
[29] B. Schneier, J. Kelsey, D. Whiting, D. Wagner, Ch. Hall, N. Ferguson,
manera adecuada los requerimietos de poder cifrar cantidades “The Twofish Encryption Algorithm”, 1998.
enormes, del orden de los Gygabytes, en tiempos tan cortos [30] L. R. Knudsen, V. Rijmen, R. L. Rivest, M. J. B. Robshaw, “On the
como un segundo, algo impensable hace sólo 6 ó 8 años. Design and Security of RC2”, en Fast Software Encryption, pp.206–
221. 1998.
[31] E. Hong, J. Chung, “Hardware Design and Performance Estimation of
R EFERENCES The 128-bit Block Cipher CRYPTON”, en Proceedings of the First
International Workshop on Cryptographic Hardware and Embedded
[1] C. E. Shannon, “A Mathematical Theory of Communication”, en Bell Systems, 1717, pp.49–60, 1999.
System Technical Journal, 27, pp.379–423, 1948. [32] R. L. Rivest, M. J. B. Robshaw, R. Sidney, Y. L. Yin, “The RC6 Block
[2] W. Diffie, M. E. Hellman, “New Directions in Cryptography”, en IEEE Cipher”, 1998.
Transactions on Information Theory, vol. 22, no. 6, pp.644–654, 1976. [33] C. Burwick, D. Coppersmith, E. D´Avignon, R. Gennaro, S. Halevi,
[3] R. J. McEliece, “A Public-Key Cryptosystem Based On Algebraic Ch. Jutla, S. M. Matyas Jr., L. O´Connor, M. Peyravian, D. Safford, N.
Coding Theory”, en DSN Progress Report, pp.42–44, 1978. Zunic, “MARS: A Candidate Cipher for AES”, en Proceedings from
[4] R. Rivest, A. Shamir, L. Adleman, “A Method for Obtaining Digital the First Advanced Encryption Standard Candidate Conference, NIST,
Signatures and Public-Key Cryptosystems”, en Communications of the 1998.
ACM, vol. 21, no. 2, pp.120–126, 1978. [34] K. Masayuki, M. Shiho, A. Kazumaru, U. Hiroki, “The E2 Block
[5] T. ElGamal, “A Public-Key Cryptosystem and a Signature Scheme Cipher (AES Proposed Version)”, en NTT R D, vol. 48, no. 10, pp.723–
Based on Discrete Logarithms”, en IEEE Transactions on Information 733, 1999.
Theory, vol. 31, no. 4, pp.469–472, 1985. [35] H. Gilbert, M. Girault, P. Hoogvorst, F. Noilhan, T. Pornin, G. Poupard,
[6] B. Kalisky, “TWIRL and RSA Key Size”, en Available online: J. Stern, S. Vaudenay, “Decorrelated Fast Cipher: an AES candidate”,
[Link] 2003. en Proceedings from the First Advanced Encryption Standard Candi-
[7] NIST, “The Case for Elliptic Curve Cryptography”, en Available online: date Conference, NIST, 1998.
[Link] [Link], 2009. [36] R. Anderson, E. Biham, L. Knudsen, “Serpent: A Candidate Block
[8] V. Gupta, D. Stebila, S. Fung, S. Ch. Shantz, N. Gura, H. Eberle, Cipher for the Advanced Encryption Standard”, en Proceedings from
“Speeding Up Secure Web Transactions Using Elliptic Curve Cryptog- the First Advanced Encryption Standard Candidate Conference, NIST,
raphy”, en NDSS, 2004. 1998.
[9] Certicom, Available online: [Link] [37] J. L. Massey, “SAFER K-64: A Byte-Oriented Block-Ciphering Algo-
action=company,press archive&view=307. rithm”, en Fast Software Encryption, pp.1–17, 1993.
[10] V. Miller, “Use of Elliptic Curves in Cryptography”, en CRYPTO 85, [38] NESSIE, New European Schemes for Signatures, Integrity,
pp.417–426, 1985. and Encryption, IST-1999-12324, en Available online:
[11] N. Koblitz, “Elliptic Curve Cryptosystems”, en Mathematics of Com- [Link] 2003.
putation, vol. 48, pp.203–209, 1987. [39] CRYPTREC, Available online: [Link]
[12] J. Benaloh, “Dense Probabilistic Encryption´´ en Proceedings. SAC ’9# 2003.
- Workshop on Selected Areas of Cryptography, 1994. [40] G. S. Vernam, “Secret Signaling System”, en US Patent 1310719, 1919.
[13] S. Goldwasser. S. Micali, “Probabilistic Encryption”, en Journal of [41] C. Shannon, “Communication Theory of Secrecy Systems”, en Bell
Computer and System Sciences, vol. 28, no. 2, pp.270–299, 1984. System Technical Journal, vol. 28, no. 4, pp.656–715, 1949.
[14] I. Damgard, M. Jurik, “A Generalisation, a Simplification and Some [42] M. Briceno, I. Goldberg, D. Wagner, “A Pedagogical Implementation
Applications of Paillier’s Probabilistic Public-Key System”, en Public of the GSM A5/1 and A5/2 “Voice Privacy” Encryption Algorithms”,
Key Cryptography 2001, pp.119–136, 2001. 1998.
[15] D. Naccache , J. Stern, “A New Public Key Cryptosystem Based on [43] ETSI, “Universal Mobile Telecommunications System (UMTS)”, en
Higher Residues”, en Proceedings of the 5th ACM Conference on Specification of the 3GPP confidentiality and integrity algorithms,
Computer and Communications Security, pp.59–66, 1998. Document 2: Kasumi specification, 2007.
[16] T. Okamoto, S. Uchiyama, “A New Public-Key Cryptosystem as Secure [44] J. Hastad, M. Naslund, “BMGL, Synchronous Key–stream Generator
as Factoring”, en Advances in Cryptology, pp.308–318, 1998. with Provable Security”, en Project NESSIE, 2000.
[17] P. Paillier, “Public-Key Cryptosystems Based on Composite Degree [45] R. Anderson, Ch. Manifavas, “Chamaleon, A New Kind of Stream
Residuosity Classes”, en EUROCRYPT 1999, pp.223–238, 1999. Cipher”, en Fast Software Encryption, vol. 1267, pp.107–113, 1997.
4
[46] E. Dawson, K. Chen, M. Henricksen, W. Millan, L. Simpson, H. Lee, [77] D. Gligoroski, S. Markovski, S. J. Knapskog, “The Stream Cipher
S. Moon, “Dragon: A Fast Word Based Stream Cipher Dragon”, en Edon80”, en Lecture Notes in Computer Science, vol. 4986, pp.152–
Project eSTREAM, 2005. 169, 2008.
[47] U. Blöcher, M. Dichtl, “Fish: A Fast Software Stream Cipher”, en Fast [78] A. Maximov, T. Johansson, S. Babbage, “An Improved Correlation
Software Encryption, pp.41–44, 1993. Attack on A5/1”, en Selected Areas in Cryptography, pp. 1–18, 2004.
[48] M. Hell, T. Johansson, W. Meier, “Grain, A Stream Cipher for [79] E. Barkan, E. Biham, “Conditional Estimators: An Effective Attack on
Constrained Environments”, en Project eSTREAM, 2004. A5/1”, en Selected Areas in Cryptography, pp.1–19, 2005.
[49] H. Wu, “The Stream Cipher HC-128”, en Project eSTREAM, 2008. [80] E. Barkan, E. Biham, N. Keller, “Instant Ciphertext-only Cryptanalysis
[50] H. Wu, “Stream Cipher HC-256”, en Project eSTREAM, 2004. of GSM Encrypted Communication”, en Journal of Cryptology, vol.
[51] R. J. Jenkins Jr., “ISAAC”, en Fast Software Encryption, pp.41–49, 21, no. 3, pp.392–429, 2008.
1996. [81] O. Dunkelman, N. Keller, A. Shamir, “A Practical-Time Attack on the
[52] D. A. McGrew, S. R. Fluhrer, “The Stream Cipher LEVIATHAN: A5/3 Cryptosystem Used in Third Generation GSM Telephony”, en
Specification and Supporting Documentation”, en Project NESSIE, IACR-ePrint report, 2010.
2000. [82] J. Y. Cho, J. Pieprzyk, “An Improved Distinguisher for Dragon”, en
[53] E. Dawson, A. Clark, J. Golic, W. Millan, L. Penna, L. Simpson, “The Coding Theory and Cryptology, Proceedings of the First International
LILI–128 Keystream Generator”, en Project NESSIE, 2000. Workshop Wuyi Mountain, Fujian, China, vol. 4, pp.249–265, 2007.
[54] S. Babbage, M. Dodd, “The MICKEY stream ciphers”, en Lecture [83] P. Crowley, S. Lucks, “Bias in the LEVIATHAN stream cipher”,
Notes in Computer Science, vol. 4986, pp.191–209, 2008. en Fast Software Encryption, 8th International Workshop Yokohama,
[55] D. Watanabe, S. Furuya, K. Takaragi, B. Preneel, “A New Keystream Japan, 2001.
Generator MUGI”, en Fast Software Encryption, pp.179–194, 2002. [84] X. Huang, W. Huang, X. Liu, C. Wang, Z. J. Wang, T.
[56] S. Furuya, K. Sakurai, “Single–path Authenticated–encryption Scheme Wang, “Reconstructing the Nonlinear Filter Function of LILI-
Based on Universal Hashing”, en Selected Areas in Cryptography, 9th 128 Stream Cipher Based on Complexity”, en Available online:
Annual Workshop, SAC 02, vol. 2595, pp.94–109, 2002. [Link] 2007.
[85] H. Wu, B. Preneel, “Differential-Linear Attacks against the Stream
[57] J. Daemen, C. S. K. Clapp, “Fast Hashing and Stream Encryption with
Cipher Phelix”, en 14th International Workshop on Fast Software
PANAMA”, en Fast Software Encryption, pp.60–74, 1998.
Encryption, Luxembourg, 2007.
[58] D. Whiting, B. Schneier, S. Lucks, F. Muller, “Phelix: Fast Encryption
[86] H. Wu, B. Preneel, “Key Recovery Attack on Py and Pypy with Chosen
and Authentication in a Single Cryptographic Primitive”, en Project
IVs”, en Project eSTREAM, 2006.
eSTREAM, 2003.
[87] G. Sekar, S. Paul, B. Preneel, “Weaknesses in the Pseudorandom Bit
[59] R. Anderson, “On Fibonacci Keystream Generators”, en Fast Software Generation Algorithms of the Stream Ciphers TPypy and TPy”, en
Encryption, pp.346–352, 1994. IACR-ePrint report, 2007.
[60] E. Biham, J. Seberry, “Py Roo: A Fast and Secure Stream Cipher using [88] H. Wu, B. Preneel, “Differential Cryptanalysis of the Stream Ciphers
Rolling Arrays”, en Project eSTREAM, 2005. Py, Py6 and Pypy”, en Advances in Cryptology - EUROCRYPT 2007,
[61] E. Biham, J. Seberry, “Tweaking the IV Setup of the Py Family of vol. 4515, pp.276–290, 2007.
Stream Ciphers, The Ciphers TPy, TPypy, and TPy6”, en Project [89] P. Crowley, “Improved Cryptanalysis of Py”, en Available online:
eSTREAM, 2007. [Link] [Link]/stream/papersdir/2006/[Link], 2006.
[62] M. Boesgaard, M. Vesterager, T. Pedersen, J. Christiansen, O. Scave- [90] G. Sekar, S. Paul, B. Preneel, “New Attacks on the Stream Cipher TPy6
nius, “Rabbit: A High–Performance Stream Cipher”, en Fast Software and Design of New Ciphers the TPy6-A and the TPy6-B”, en Research
Encryption, pp.307–329, 2003. in Cryptology: Second Western European Workshop, WEWoRC 2007,
[63] H. Finney, “An RC4 cycle that Can’t Happen”, en [Link], 1994. Bochum, Germany, pp.127–141, 2007.
[64] S. Gautham, P. Souradyuti, B. Preneel, “Related–key Attacks on the [91] A. Klein, “Attacks on the RC4 stream cipher” en Designs, Codes and
Py–family of Ciphers and an Approach to Repair the Weaknesses”, en Cryptography, vol. 48, pp.269–286, 2008.
Indocrypt 07, 2007. [92] E. Tews, R. P. Weinmann, A. Pyshkin, “Breaking 104-bit WEP in under
[65] D. J. Bernstein, “The Salsa20 Family of Stream Ciphers”, en Project a minute”, en IACR-ePrint report, 2007.
eSTREAM, 2007. [93] I. Dinur, A. Shamir, “Cube Attacks on Tweakable Black Box Polyno-
[66] D. Coppersmith, S. Halevi, C. Jutla, “Scream: A Software–Efficient mials”, en Proceedings of the 28th Annual International Conference on
Stream Cipher”, en Fast Software Encryption, pp.195–209, 2002. Advances in Cryptology: the Theory and Applications of Cryptographic
[67] P. Rogaway, D. Coppersmith, “Software–efficient Pseudorandom Func- Techniques - EUROCRYPT 2009, vol. 5479, pp.278–299, 2009.
tion and the Use Thereof for Encryption”, en U.S. Patent 5,454,039, [94] M. Vielhaber, “Breaking [Link] by AIDA an Algebraic IV
1994. Differential Attack”, en IACR-ePrint report, 2007.
[68] P. Rogaway, D. Coppersmith, “Computer Readable Device Implement- [95] M. Vielhaber, “Shamir’s cube attack: A Remake of AIDA,
ing a Software–efficient Pseudorandom Function Encryption”, en U.S. The Algebraic IV Differential Attack”, en Available online:
Patent 5,675,652, 1997. [Link] [Link]?
[69] P. Ekdahl, T. Johansson, “SNOW, a New Stream Cipher”, en SID=846650329488c36272d2aa88efcd870b, 2009.
Proceedings of first NESSIE Workshop, 2000. [96] A. Maximov, A. Biryukov, “Two Trivial Attacks on Trivium”. en
[70] P. Hawkes, G. Rose, “Primitive Specification and Supporting Docu- Selected Areas in Cryptography, pp.36–55, 2007.
mentation for SOBER–t16 Submission to NESSIE”, en Proceedings [97] A. Joux, F. Muller, “A Chosen IV Attack Against Turing” en Selected
of first NESSIE Workshop, 2000. Areas in Cryptography, pp.194–207, 2003.
[71] P. Hawkes, G. Rose, “Primitive Specification and Supporting Docu- [98] R. J. Jenkins Jr., “ISAAC: a fast cryptographic random number genera-
mentation for SOBER–t32 Submission to NESSIE”, en Proceedings tor”, en Available online: [Link]
of first NESSIE Workshop, 2000. 2008.
[72] C. Berbain, O. Billet, A. Canteaut, N. Courtios, H. Gilbert, L. Goubin, [99] HITACHI, “MUGI Pseudorandom Number Generator. Self-evaluation
A. Gouget, L. Granboulan, C. Lauradoux, M. Minier, T. Ptonin, H. Report, v1.1”, en Technical Report, 2001.
Sibert, “Sosemanuk, a Fast Software–oriented Stream Cipher”, en [100] HITACHI, “MULTI-S01. Self-evaluation Report, Technical Report”,
Project eSTREAM, 2005. 2001.
[73] Ch. De Cannière, B. Preneel, “Trivium, A Stream Cipher Construction [101] D. J. Bernstein, “Salsa20. Software Speed”, en Available online:
Inspired by Block Cipher Design Principles”, en Project eSTREAM, [Link] 2008.
2005. [102] P. Hawkes, M. Paddon, G. G. Rose, “Primitive Specification for
[74] G. G. Rose, P. Hawkes, “Turing: A Fast Stream Cipher”, en Fast SOBER-128”, en Technical Report, Qualcomm Australia, 2003.
Software Encryption, pp.290–306, 2003. [103] ECRYPT II, “eBACS: ECRYPT Benchmarking of Cryptographic Sys-
[75] S. O’Neil, B. Gittins, H. Landman, “VEST, Hardware–Dedicated tems”, en Available online: [Link]
Stream Ciphers”, en Project eSTREAM, 2005. 2010.
[76] ECRYPT, “The eSTREAM Project” Available online: [104] B. Schneier, “Speed Comparisons of Block Ciphers on a Pentium“, en
[Link] 2008. Available online: [Link] 2007.
5
6
Cálculo del grado de una función booleana a partir
de su soporte
Joan-Josep Climent Francisco J. García Verónica Requena
Departament d’Estadística i Investigació Departament de Fonaments de l’Anàlisi Departament d’Estadística i Investigació
Operativa. Universitat d’Alacant Econòmica. Universitat d’Alacant Operativa. Universitat d’Alacant
Email: jcliment@[Link] Email: [Link]@[Link] Email: jcliment@[Link]
Resumen—En este artículo establecemos algunas propiedades u = (u1 , u2 , . . . , un ) ∈ Fn2 , llamamos peso de u, y escribimos
de la forma normal algebraica de una función booleana a partir w(u), al número de componentes iguales a 1 y si consideramos
de su soporte y proponemos un método para determinar el grado n
0 y 1 como elementos de Z, claramente w(u) = j=1 uj . Si
de la misma a partir del soporte.
para i = 0, 1, 2, . . . , 2n − 1, denotamos por i la expansión
I. I NTRODUCCIÓN binaria de i de n dígitos, entonces Fn2 = {i | 0 ≤ i ≤ 2n − 1}.
Las funciones booleanas se utilizan en distintas aplicaciones Una función booleana de n variables es una aplicación
criptográficas tales como cifrado en bloque, cifrado en flujo y f : Fn2 −→ F2 . Denotamos por Bn el conjunto de todas las
funciones hash [2], [4], [7], [9] y en teoría de códigos [3], [6], funciones booleanas de n variables; es bien conocido que Bn ,
entre otras. Las propiedades más importantes de las funciones con la adición usual de funciones (que seguimos denotando
booleanas son la no linealidad, la inmunidad a la correlación por ⊕), es un espacio vectorial de dimensión 2n sobre F2 .
y su grado. Por ejemplo, la implementación de una caja de Si f ∈ Bn , llamamos tabla de verdad de f (véase, por
sustitución o S-box necesita funciones booleanas no lineales ejemplo [11], [12]) a la secuencia binaria de longitud 2n dada
que garanticen su efectividad criptográfica con el fin de resistir por
ataques tales como el criptoanálisis lineal o el criptoanálisis ξ f = (f (0), f (1), . . . , f (2n − 1)).
diferencial [1], [5], [8], [10].
Una de las exigencias más básica relativa a las funciones Llamamos soporte de f , y escribimos Sop (f ), al conjunto de
booleanas utilizadas en cifradores en flujo es que permitan vectores de Fn2 cuya imagen por f es 1, es decir
incrementar la complejidad lineal [9], [15], [16], lo cual se
consigue si éstas tienen un alto grado algebraico. Sop (f ) = {a ∈ Fn2 | f (a) = 1} .
La determinación completa de la forma normal algebraica
Si f ∈ Bn , llamamos peso de f , y escribimos w(f ), al número
de una función booleana de la que se conoce su tabla de
de 1 de la tabla de verdad de f , por tanto, w(f ) = |Sop (f )|
verdad o su soporte requiere computar simultáneamente todos
y claramente
los coeficientes del polinomio correspondiente, pero si se desea
conocer solamente el grado de la función, es posible reducir w(f ) = f (a).
sustancialmente el número de operaciones necesarias mediante a∈Fn
2
7
y, por tanto, III. R ESULTADOS PRINCIPALES
⎛ ⎞ En todo este artículo denotamos por Sn , como es habitual,
m
m
el conjunto formado por las permutaciones de {1, 2, . . . , n}.
w⎝ fj ⎠ ≡ w(fj ) (mod 2).
Además, si σ ∈ Sn , x = (x 1 , x2 , . . . , xn ) ∈ F2 , M ⊆ Z2 y
n n
j=1 j=1
f ∈ Bn , escribimos x = xσ(1) , xσ(2) , . . . , xσ(n) ,
σ
μf = (μf (0), μf (1), . . . , μf (2n − 1)), Lema 1: Supongamos que 1 ≤ i1 < i2 < · · · < ik ≤ n. Si
f (x) = xi1 xi2 · · · xik y 1 ≤ k ≤ n − 2, entonces
entonces (véase por ejemplo [13])
a = 0.
a∈Sop(f )
μ f = ξ f An
Demostración: Supongamos que u = (1, 1, . . . , 1) ∈ Fk2 .
donde Claramente
An−1 An−1 a= (u, v)
An = para n ≥ 1, con A0 = [1].
O An−1 a∈{u}×Fn−k v∈Fn−k
2
2
Ahora, si
= u, v = (0k , 0n−k ) = 0
u = (u1 , u2 , . . . , un ) v∈Fn−k
2 v∈Fn−k
2
8
Notemos que la condición 1 ≤ k ≤ n − 2 del lema anterior Teorema 4: Si f ∈ Bn , entonces gr (f ) = n si y sólo si w(f )
es necesaria, ya que si k = n, entonces es un número impar.
Sop (f ) = {u} ⊆ Fn2 Demostración: Claramente f = g ⊕ h, con g, h ∈ Bn
tales que
mientras que si k = n−1, y f (x) es el monomio de grado n−1
que no contiene la variable xj , entonces, por el teorema 2, gr (g) ≤ n − 1 y h(x) = ax1 x2 · · · xn con a ∈ Z2 .
Sop (f ) = {u, uj } con uj = u ⊕ 2 n−j
Notemos que w(h) = a y que gr (f ) = n si y sólo si a = 1.
m
Además, si g(x) = j=1 gj (x), con gj (x) un monomio
y claramente u ⊕ uj
= 0.
tal que gr (gj ) ≤ n − 1, para j = 1, 2, . . . , m, entonces, por
Teorema 3: Si f ∈ Bn y gr (f ) ≤ n − 2, entonces la expresión (1) y el teorema 2 tenemos que
a = 0.
m
w(f ) ≡ w(gj ) + w(h) (mod 2) ≡ a (mod 2)
a∈Sop(f )
j=1
Demostración: Supongamos que y así, gr (f ) = n si y sólo si w(f ) es impar.
m
Este resultado permite probar, como habíamos anunciado
f (x) = fj (x) antes, que el recíproco del teorema 3 no es cierto.
j=1
Ejemplo 1: Si f ∈ B3 y Sop (f ) = {3, 5, 6}, por el teore-
con fj (x), para j = 1, 2, . . . , m, un monomio de grado menor
ma 4 tenemos que gr (f ) = 3 y sin embargo 3 ⊕ 5 ⊕ 6 = 0.
o igual que n − 2.
Procederemos por inducción sobre m. Para m = 1 el El resultado siguiente pone de manifiesto que la situación
resultado es cierto por el lema 1. que describe el ejemplo anterior sólo se puede presentar
Supongamos que el resultado es cierto para m−1 y veamos cuando |Sop (f )| es impar, es decir, cuando gr (f ) = n.
que también lo es para m. Notemos en primer lugar que
Teorema 5: Supongamos que f ∈ Bn tal que |Sop (f )| es un
m m−1 número par. Si
Sop (f ) = Δ Sop (fj ) = j=1
j=1
Δ Sop (fj ) Δ Sop (fm ) . a=0
a∈Sop(f )
Por comodidad en la notación, sean
entonces 1 ≤ gr (f ) ≤ n − 2.
m−1
A = Sop (f ) , B= Δ
j=1
Sop (fj ) y C = Sop (fm ) . Demostración: Como |Sop (f )| es par, por el teorema 4,
tenemos que gr (f ) ≤ n − 1.
De las propiedades de la unión, intersección y diferencia Si gr (f ) = n − 1, entonces f tiene al menos un monomio
simétrica de conjuntos tenemos, por la hipótesis de inducción, de grado n − 1. Supongamos que
0= b= b⊕ d
m
9
Corolario 1: Sea f ∈ Bn tal que |Sop (f )| es un número par. Supongamos ahora que
Entonces gr (f ) ≤ n − 2 si y sólo si
v = (v1 , v2 , . . . , vn )
a = 0. ∈ Sop (f ) ∩ Env 2n−i1 , 2n−i2 , . . . , 2n−ik
a∈Sop(f )
entonces f (v) = 1 y vl = 0 si l ∈
/ {i1 , i2 , . . . , ik }. Claramente
Antes de continuar, veamos cómo podemos utilizar los
resultados vistos hasta ahora para obtener el grado de una u = (v1 , v2 , . . . , vk ) ∈ Fk2 y ϕ(u) = v,
función booleana a partir de su soporte. por tanto h(u) = f (ϕ(u)) = f (v) = 1, con lo que u ∈
Ejemplo 2: Sea f ∈ B4 tal que Sop (h) y así v = ϕ(u) ∈ ϕ(Sop (h)). En consecuencia
Sop (f ) = {0, 5, 6, 7, 9, 10, 11, 13, 14, 15} . Sop (f ) ∩ Env 2n−i1 , 2n−i2 , . . . , 2n−ik ⊆ ϕ(Sop (h)).
De esta inclusión y de la anterior tenemos que
Puesto que |Sop (f )| = 10 es un número par y
ϕ(Sop (h)) = Sop (f ) ∩ Env 2n−i1 , 2n−i2 , . . . , 2n−ik .
0 ⊕ 5 ⊕ 6 ⊕ 7 ⊕ 9 ⊕ 10 ⊕ 11 ⊕ 13 ⊕ 14 ⊕ 15 = 0
El resultado se sigue ahora del hecho de que |ϕ(Sop (h))| =
por el corolario 1 tenemos que gr (f ) ≤ 4 − 2 = 2. |Sop (h)| por ser ϕ inyectiva.
Por otro lado, como w(f ) = |Sop (f )|
= 8, tenemos que
f (x) no es equilibrada y, por tanto, f (x) no es lineal ni afín. Teorema 6: Supongamos que conocemos Sop (f ) para f ∈
Como tampoco es constante, necesariamente, gr (f ) > 1. Bn . La FNA de f (x) contiene el monomio xi1 xi2 · · · xik con
En consecuencia, gr (f ) = 2. 1 ≤ k < n si y sólo si
Sop (f ) ∩ Env 2n−i1 , 2n−i2 , . . . , 2n−ik
Como acabamos de ver, es posible determinar el grado
de una función booleana f ∈ Bn a partir de su soporte es un número impar.
sin necesidad de conocer su FNA. Veremos seguidamente
que, es posible también determinar, de forma sencilla, si un Demostración: Con la notación del lema 2 tenemos que
determinado monomio forma parte de la FNA de f . la FNA de f (x) contiene el monomio xi1 xi2 · · · xik si y
Sea f ∈ Bn y supongamos que conocemos Sop (f ). Puesto sólo si la FNA de h(y) contiene el monomio y1 y2 · · · yk .
que w(f ) = |Sop (f )| el teorema 4 permite afirmar que en Ahora bien, por el teorema 4, la FNA de h(y) con-
la FNA de f (x) está el monomio x1 x2 · · · xn si y sólo si tiene el monomio y1 y2 · · · yk si y sólo si |Sop (h)| es
|Sop (f )| es un número impar. El teorema siguiente establece un número impar. Finalmente, por el lema 2, la FNA
una condición necesaria y suficiente para que la FNA de f (x) el monomio xi1 xi2 · · ·
de f (x) contiene xik si y sólo si
Sop (f ) ∩ Env 2n−i1 , 2n−i2 , . . . , 2n−ik es un número
contenga cualquier monomio de grado k con 1 ≤ k < n.
Antes, sin embargo, necesitamos el resultado siguiente que impar.
facilitará la demostración de dicho teorema. Notemos que el teorema anterior permite afirmar que
gr (f ) ≥ k si y sólo si existen k números enteros tales que
Lema 2: Supongamos que 1 ≤ i1 < i2 < · · · < ik ≤ n 1 ≤ i 1 < i2 < · · · < i k ≤ n y
y consideremos la aplicación ϕ : Fk2 → Fn2 dada por
Sop (f ) ∩ Env 2n−i1 , 2n−i2 , . . . , 2n−ik
ϕ(y1 , y2 , . . . , yk ) = (x1 , x2 , . . . , xn ) con
es un número impar, o equivalentemente,
0, si l ∈/ {i1 , i2 , . . . , ik }, ˛ n o˛
xl = ˛ ˛
yj , si l = ij , para j = 1, 2, . . . , k. μf (u) = ˛Sop (f ) ∩ Env 2n−i 1 , 2n−i 2 , . . . , 2n−i k ˛ mod 2
10
Que alguno de dichos monomios esté en la FNA de f (x) Teorema 8: Con la notación del teorema 7,
depende, de acuerdo con el teorema 6, de que alguno de los
cardinales de los conjuntos Sop (fa ) = {v ∈ Fn−k
2 | (a, v) ∈ Sop (f )}
y
S1 = Sop (f ) ∩ Env 24−1 , 24−2 , ⎛ ⎞
S2 = Sop (f ) ∩ Env 24−1 , 24−3 ,
Sop ⎝ fa ⎠ = Δ
a∈E(b)
Sop (fa ) .
S3 = Sop (f ) ∩ Env 24−1 , 24−4 , a∈E(b)
S4 = Sop (f ) ∩ Env 24−2 , 24−3 , Antes de continuar, veamos un ejemplo que nos ayudará a
S5 = Sop (f ) ∩ Env 24−2 , 24−4 , entender el proceso a seguir.
4−3 4−4
S6 = Sop (f ) ∩ Env 2 ,2 , Ejemplo 4: Sea f ∈ B5 tal que
sea impar. Puesto que Sop (f )
S1 = {0}, S2 = {0, 10}, S3 = {0, 9}, = {6, 7, 12, 13, 16, 17, 18, 20, 21, 23, 24, 25, 26, 30}.
S4 = {0, 6}, S5 = {0, 5} y S6 = {0}, Puesto que |Sop (f )| es par y
podemos afirmar que la FNA de f (x) contiene los monomios 6 ⊕ 7 ⊕ 12 ⊕ 13 ⊕ 16 ⊕ 17 ⊕ 18
x1 x2 y x3 x4 . ⊕ 20 ⊕ 21 ⊕ 23 ⊕ 24 ⊕ 25 ⊕ 26 ⊕ 30 = 0
Para determinar los monomios de grado 1 de la FNA de x
procedemos de la misma forma. Puesto que por el corolario 1, tenemos que gr (f ) ≤ 5 − 2 = 3.
n o n o
4−1 4−2 Ahora, de acuerdo con el teorema 7, tenemos que
Sop (f ) ∩ Env 2 = {0}, Sop (f ) ∩ Env 2 = {0},
n o n o gr (f ) = max{gr (f0 ) , gr (f0 ⊕ f1 ) + 1}
Sop (f ) ∩ Env 24−3 = {0}, Sop (f ) ∩ Env 24−4 = {0},
con f0 , f1 ∈ B4 tales que
tenemos, de acuerdo con el teorema 6, que los monomios x1 ,
x2 , x3 y x4 forman parte de la FNA de f (x). f0 (x2 , x3 , x4 , x5 ) = f (0, x2 , x3 , x4 , x5 ),
Finalmente, como 0 ∈ Sop (f ), tenemos que el término f1 (x2 , x3 , x4 , x5 ) = f (1, x2 , x3 , x4 , x5 ),
constante 1, forma parte de la FNA de f (x).
En consecuencia, la FNA de f (x) es y por el teorema 8,
f (x) = 1 ⊕ x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ x1 x2 ⊕ x3 x4 . Sop (f0 ) = {6, 7, 12, 13}
Sop (f1 ) = {0, 1, 2, 4, 5, 7, 8, 9, 10, 14}.
Como acabamos de ver en el ejemplo anterior, para deter-
minar completamente la FNA de f (x) a partir de Sop (f ) Por tanto
necesitamos calcular el cardinal de una serie de conjuntos
obtenidos a partir de Sop (f ), por lo que el procedimiento, Sop (f0 ⊕ f1 ) = Sop (f0 ) Δ Sop (f1 )
en general, no constituye de por sí un algoritmo eficiente. = {0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14}.
Sin embargo, si 1 ≤ k < n, mediante un razonamiento
Además, como 6 ⊕ 7 ⊕ 12 ⊕ 13 = 0 y
análogo al seguido para obtener la expresión (3), podemos
separar las n variables en dos conjuntos formados por k y 0⊕1⊕2⊕4⊕5⊕6⊕8
n − k variables, respectivamente, tal como describimos en el ⊕ 9 ⊕ 10 ⊕ 12 ⊕ 13 ⊕ 14 = 0
resultado siguiente. La demostración es fácil pero larga y, por
tanto, la omitimos. por el corolario 1 tenemos que
Teorema 7: Supongamos que f ∈ Bn . Si 1 ≤ k < n entonces gr (f0 ) ≤ 4 − 2 = 2 y gr (f0 ⊕ f1 ) ≤ 4 − 2 = 2
y así gr (f ) ≤ max{2, 2 + 1} = 3.
f (y, x) = fa (x) y b
Ahora, de nuevo por el teorema 7 tenemos que
b∈Fk
2
a∈E(b)
gr (f ) = max{gr (f0 ) , gr (f0 ⊕ f1 ) + 1,
donde fa ∈ Bk , para a ∈ Fk2 , satisface fa (x) = f (a, x).
Además, gr (f0 ⊕ f2 ) + 1, gr (f0 ⊕ f1 ⊕ f2 ⊕ f3 ) + 2}
⎛ ⎞ con f0 , f1 , f2 , f3 ∈ B3 tales que
gr (f ) = max gr ⎝ fa ⎠ + w(b) . f0 (x3 , x4 , x5 ) = f (0, 0, x3 , x4 , x5 ),
b∈Fk
2
a∈E(b)
f1 (x3 , x4 , x5 ) = f (0, 1, x3 , x4 , x5 ),
El resultado siguiente, cuya demostración es inmediata,
f2 (x3 , x4 , x5 ) = f (1, 0, x3 , x4 , x5 ),
establece la relación entre Sop (f ) y Sop (fa ), para todo
a ∈ Fk2 . f3 (x3 , x4 , x5 ) = f (1, 1, x3 , x4 , x5 )
11
y, por el teorema 8, AGRADECIMIENTOS
Este trabajo ha sido parcialmente subvencionado por los
Sop (f0 ) = {6, 7}, Sop (f1 ) = {4, 5} proyectos MTM2008-06674-C02-01 del Ministerio de Ciencia
Sop (f2 ) = {0, 1, 2, 4, 5, 7} y Sop (f3 ) = {0, 1, 2, 6} e Innovación del Gobierno de España y ACOMP/2010/039
de la Generalitat Valenciana. La investigación de Verónica
con lo que Requena también ha sido financiada con una ayuda del Vi-
cerrectorado de Investigación, Desarrollo e Innovación de la
Sop (f0 ⊕ f1 ) = Sop (f0 ) Δ Sop (f1 ) = {4, 5, 6, 7} Universitat d’Alacant destinada a la formación de doctores.
Sop (f0 ⊕ f2 ) = Sop (f0 ) Δ Sop (f2 ) = {0, 1, 2, 4, 5, 6}
R EFERENCIAS
y [1] C. M. Adams, “Constructing symmetric ciphers using the CAST design
procedure,” Designs, Codes and Cryptography, vol. 12, pp. 283–316,
Sop (f0 ⊕ f1 ⊕ f2 ⊕ f3 ) 1997.
[2] A. Braeken, V. Nikov, S. Nikova, and B. Preneel, “On Boolean functions
= Sop (f0 ) Δ Sop (f1 ) Δ Sop (f2 ) Δ Sop (f3 ) = ∅. with generalized cryptographic properties,” in Progress in Cryptology –
INDOCRYPT 2004, ser. Lecture Notes in Computer Science, A. Canteaut
and K. Viswanathan, Eds. Berlin: Springer-Verlag, 2004, vol. 3348, pp.
Además, como 6 ⊕ 7 = 1
= 0, 4 ⊕ 5 ⊕ 6 ⊕ 7 = 0 y 120–135.
[3] Y. Borissov, A. Braeken, S. Nikova, and B. Preneel, “On the covering
0 ⊕ 1 ⊕ 2 ⊕ 4 ⊕ 5 ⊕ 6 = 4
= 0 radii of binary Reed-Muller codes in the set of resilient Boolean
functions,” IEEE Transactions on Information Theory, vol. 51, no. 3,
pp. 1182–1189, 2005.
por el corolario 1 tenemos que [4] C. Carlet and Y. Tarannikov, “Covering sequences of Boolean functions
and their cryptographic significance,” Designs, Codes and Cryptography,
gr (f0 ) = 2, gr (f0 ⊕ f1 ) ≤ 1, gr (f0 ⊕ f2 ) = 2 vol. 25, pp. 263–279, 2002.
[5] K. C. Gupta and P. Sarkar, “Improved construction of nonlinear resilient
S-boxes,” IEEE Transactions on Information Theory, vol. 51, no. 1, pp.
y f0 ⊕ f1 ⊕ f2 ⊕ f3 = 0, con lo que gr (f ) = 3. 339–348, 2005.
[6] K. Kurosawa, T. Iwata, and T. Yoshiwara, “New covering radius of
Los resultados anteriores permiten establecer el algoritmo Reed-Muller codes for t-resilient functions,” IEEE Transactions on
siguiente para determinar el grado de cualquier f ∈ Bn a partir Information Theory, vol. 50, no. 3, pp. 468–475, 2004.
de Sop (f ). [7] K. Kurosawa and R. Matsumoto, “Almost security of cryptographic
Boolean functions,” IEEE Transactions on Information Theory, vol. 50,
Algoritmo: Obtención de gr (f ), para f ∈ Bn , a partir de no. 11, pp. 2752–2761, 2004.
Sop (f ). [8] M. Matsui, “Linear cryptanalysis method for DES cipher,” in Advances
in Cryptology – EUROCRYPT ’93, ser. Lecture Notes in Computer
1) Si |Sop (f )| es impar, entonces gr (f ) = n. Science, T. Helleseth, Ed. Berlin: Springer-Verlag, 1994, vol. 765,
2) En otro caso, sea s = a∈Sop(f ) a. pp. 386–397.
[9] W. Meier and O. Staffelbach, “Nonlinearity criteria for cryptographic
3) Si s
= 0, entonces gr (f ) = n − 1. functions,” in Advances in Cryptology – EUROCRYPT’89, ser. Lecture
4) En otro caso, sea maxgr (f ) = n − 2 el máximo valor Notes in Computer Science, J. Quisquater and J. Vandewalle, Eds.
que puede tomar gr (f ) y suponer que k = 1. Berlin: Springer-Verlag, 1990, vol. 434, pp. 549–562.
[10] K. Nyberg, “Perfect nonlinear S-boxes,” in Advances in Cryptology
a) Para b ∈ Fk2 : – EUROCRYPT ’91, ser. Lecture Notes in Computer Science, D. W.
Davies, Ed. Berlin: Springer-Verlag, 1991, vol. 547, pp. 378–386.
i) Obtener gb = a∈E(b) fa .
[11] D. Olejár and M. Stanek, “On cryptographic properties of random
ii) Si |Sop (gb )| es impar, entonces gr (gb ) = n − Boolean functions,” Journal of Universal Computer Science, vol. 4,
k.
no. 8, pp. 705–717, 1998.
[12] E. Pasalic and T. Johansson, “Further results on the relation between
iii) En otro caso, sea sb = a∈Sop(gb ) a. nonlinearity and resiliency for Boolean functions,” in Crytography and
iv) Si sb
= 0, entonces gr (gb ) = n − k − 1. En Coding, ser. Lecture Notes in Computer Science, M. Walker, Ed. Berlin:
otro caso, gr (gb ) ≤ n − k − 2. Springer-Verlag, 1999, vol. 1746, pp. 35–44.
[13] B. Preneel, W. Van Leekwijck, L. Van Linden, R. Govaerts, and J. Vande-
b) Si maxgr (f ) = maxb∈Fk2 {gr (gb ) + w(b)}, el pro- walle, “Propagation characteristics of Boolean functions,” in Advances in
ceso termina y gr (f ) = maxgr (f ). En otro caso, Cryptology – EUROCRYPT’90, ser. Lecture Notes in Computer Science,
I. B. Damgard, Ed. Berlin: Springer-Verlag, 1991, vol. 473, pp. 161–
hacer maxgr (f ) = maxb∈Fk2 {gr (gb ) + w(b)}, 173.
aumentar k en una unidad e ir al paso 4a). [14] C. Qu, J. Seberry, and J. Pieprzyk, “On the symmetric property of
homogeneous Boolean functions,” in Proceedings of the Australasian
Conference on Information Security and Privacy – ACISP’99, ser.
IV. C ONCLUSIONES Y LINEAS FUTURAS Lecture Notes in Computer Science, J. Pieprzyk, R. Safavi-Naini, and
J. Seberry, Eds. Berlin: Springer-Verlag, 1999, vol. 1587, pp. 26–35.
En este artículo presentamos una serie de propiedades de [15] R. A. Rueppel, Analysis and Design of Stream Ciphers. New York,
una función booleana que relacionan el soporte y la FNA de NY: Springer Verlag, 1986.
[16] R. A. Rueppel and O. J. Staffelbach, “Products of linear recurring se-
la misma. Estas propiedades nos han permitido establecer un quences with maximum complexity,” IEEE Transactions on Information
algoritmo para determinar el grado de una función booleana Theory, vol. 33, no. 1, pp. 124–131, 1987.
cuando conocemos el soporte de la misma (y obviamente no
conocemos su FNA). En un trabajo futuro abordaremos los
aspectos computacionales del algoritmo propuesto.
12
Construcción de funciones bent de n variables a
partir de una base de Fn2
Joan-Josep Climent Francisco J. García Verónica Requena
Departament d’Estadística i Investigació Departament de Fonaments de l’Anàlisi Departament d’Estadística i Investigació
Operativa. Universitat d’Alacant Econòmica. Universitat d’Alacant Operativa. Universitat d’Alacant
Email: jcliment@[Link] Email: [Link]@[Link] Email: jcliment@[Link]
Resumen—Utilizando una base de Fn 2 (con n un número par) práctico para la obtención del soporte de una función bent del
y la matriz asociada de un polinomio primitivo de grado n/2 y tipo PS, mostrando algunos ejemplos; además establecemos
coeficientes en F2 , construimos los soportes de algunas funciones el número de dichos soportes que podemos construir con una
bent de n variables.
base y un polinomio primitivo fijo; dicho número constituye,
I. I NTRODUCCIÓN en definitiva, una cota inferior del número de funciones bent
de n variables. Finalmente, en la sección V, presentamos
Las funciones booleanas se utilizan en distintas aplicacio- algunos problemas abiertos relacionados con la construcción
nes criptográficas tales como cifrado en bloque, cifrado en introducida en este artículo.
flujo y funciones hash [5], [10], [18], [23]. Por ejemplo, la
implementación de una caja de sustitución o S-box necesita II. P RELIMINARES
funciones booleanas no lineales para resistir ataques tales Sea F2 el cuerpo binario con la adición denotada por ⊕ y
como el criptoanálisis lineal o el criptoanálisis diferencial [3], la multiplicación denotada por yuxtaposición. Para cualquier
[16], [21], [25]. entero positivo n, es bien conocido que Fn2 es un espacio
Para un número par de variables, las funciones booleanas vectorial sobre F2 con la adición usual (denotada también
de máxima no linealidad son las llamadas funciones bent [11], por ⊕). Para una matriz cualquiera A de tamaño n × k con
[29], [31]. El nombre bent para dichas funciones se debe elementos en F2 , denotamos por col (A) el espacio columna de
a Rothaus [28], aunque su origen se remonta a un artículo A; por tanto, col (A) es un subespacio vectorial de Fn2 . En este
de McFarland [22] sobre conjuntos de diferencias en grupos artículo, los vectores de Fn2 son vectores columna. Recordemos
no cíclicos; posteriormente Dillon [12] sistematizó y extendió que la matriz de control de paridad H del [2k − 1, k]-código
las ideas de McFarland proporcionando una gran cantidad de binario de Hamming es la matriz cuya i-ésima columna de k
propiedades. Desde entonces estas funciones han sido objeto dígitos del entero i para 1 ≤ i ≤ 2k −1 (véase [27]); por tanto,
de un intenso estudio como se desprende de la abundante es evidente que los vectores de col (A) son las columnas de
literatura al respecto (véase por ejemplo [1], [2], [4], [6], [8], la matriz AH.
[9], [14], [15], [17], [19], [24], [26] y las referencias en ellas Una función booleana de n variables es una aplicación
incluidas). f : Fn2 −→ F2 . El conjunto de todas las funciones booleanas
En estos momentos, se desconoce la existencia de un de n variables se denota por Bn y es un espacio vectorial con
método que permita obtener todas las funciones bent y so- la adición (denotada también por ⊕) de dimensión 2n sobre
lamente se conoce su número para algunos casos particulares F2 . Para f ∈ Bn , llamamos soporte de f al conjunto
(n = 2, 4, 6, 8 con n el número de variables); la clasificación, Sop (f ) = {a ∈ Fn2 | f (a) = 1}.
y por tanto el número de tales funciones, para n > 8 continúa
siendo un problema abierto. El peso de Hamming de f ∈ Bn , que denotamos por w(f ),
Hay muchos métodos para construir funciones bent [7], es el cardinal de Sop (f ).
[12], [13], [17], [22], [25], [28] los cuales han dado lugar a di- Decimos que f ∈ Bn es una función afín si
ferentes clases de funciones: Maiorana-McFarland, Rothauss,
f (x) = a, x
⊕ b,
Partial Spread (PS), etc. En este artículo nos centramos en la
construcción de funciones bent que pertenecen a la clase PS. donde a ∈ Fn2 , b ∈ F2 y a, x
es el producto escalar usual de
El resto del artículo está organizado de la siguiente manera: los vectores a y x. Si b = 0, decimos que f es una función
En la sección II, introducimos algunas definiciones básicas y lineal.
la notación utilizada. En la sección III, presentamos un método Definimos la no linealidad de una función f ∈ Bn como
general para caracterizar la construcción de funciones bent de
NL(f ) = min{d(f, ϕ) | ϕ ∈ An }
n variables (con n un número par) de la clase PS utilizando
una base de Fn2 y un polinomio primitivo de grado n/2 donde An es el conjunto de todas las funciones afines y la
en F2 [X]. En la sección IV, introducimos un procedimiento distancia d(f, g) entre dos funciones booleanas f, g ∈ Bn se
13
define como d(f, g) = w(f ⊕ g). La no linealidad de f está 1, 2, . . . , t con i
= j. Entonces,
acotada superiormente (véase [31]) por ⎧ t
⎪
⎪ ∗
⎪
⎪ G⊥ , si t = 2k−1 ,
2 −1
n ⎨ i
NL(f ) ≤ 2 n−1
−2 . (⊥) i=1
B =
⎪
⎪ t
⊥ ∗
⎪
⎪ {0} ∪ Gi , si t = 2k−1 + 1,
Llamamos funciones bent a las funciones booleanas que ⎩
i=1
alcanzan la máxima no linealidad (véase [31]). Por tanto, las
funciones bent solamente existen para n par. Demostración: Para i = 1, 2, . . . , 2k−1 + 1 tenemos que
Finalmente, es bien conocido (véase por ejemplo [30]) que
dim G⊥
i = n − dim Gi = k.
si f (x) es una función bent, entonces su función complemen-
taria, 1 ⊕ f (x), es también una función bent. Además, si x ∈ G⊥ ⊥
i ∩ Gj , entonces
A partir de ahora suponemos que n = 2k y nos centramos
x, u
= x, v
= 0, para todo u ∈ Gi , v ∈ Gj ,
en la obtención de funciones bent de la clase PS. El teorema
siguiente, al que haremos referencia en diversas ocasiones, es decir,
introduce dicha clase de funciones bent (véase [12]).
x, u ⊕ v
= 0, para todo u ∈ Gi , v ∈ Gj ,
Teorema 1: Supongamos que G1 , G2 , . . . , Gt son subespa-
cios vectoriales de Fn2 de dimensión k tales que Gi ∩Gj = {0} y por el lema 1,
para i, j = 1, 2, . . . , t con i
= j, y consideremos el conjunto x, w
= 0, para todo w ∈ Fn2 .
⎧ t
⎪ Por tanto, x = 0 y, en consecuencia G⊥ ⊥
i ∩ Gj = {0}.
⎪
⎪ ∗
⎪
⎨ Gi , si t = 2k−1 , Ahora, por el teorema 1 tenemos que B (⊥)
es el soporte de
B = i=1 una función bent de n variables.
⎪
⎪
t
⎪
⎪ {0} ∪ G∗i , si t = 2k−1 + 1,
⎩ III. R ESULTADOS PRINCIPALES
i=1
Ya estamos en condiciones de construir, de forma explícita,
con G∗i = Gi \ {0}. Entonces B es el soporte de una función los subespacios Gi del teorema 1. Para ello, primero consi-
bent de n variables. deramos algunas bases del espacio columna de las matrices
obtenidas a partir de dos matrices de tamaño n × k con
Dillon [12] denotó por PS − (respectivamente, PS + ), la coeficientes en F2 y cuyo rango es k; y la matriz asociada
clase de funciones bent para la que t = 2k−1 (respectivamente, a un polinomio primitivo de grado k en F2 [X].
t = 2k−1 + 1). La demostración del siguiente lema es directa y por ello la
Ahora, construimos funciones bent basadas en la clase PS omitimos.
utilizando los complementos ortogonales de los subespacios
Lema 2: Supongamos que C es la matriz asociada al poli-
vectoriales en lugar de los propios subespacios. Pero primero
nomio primitivo
recordemos que el complemento ortogonal de un subespacio
vectorial G de Fn2 , denotado por G⊥ , es el subespacio vectorial c0 + c1 X + c2 X2 + · · · + ck−1 Xk−1 + Xk ∈ F2 [X].
Supongamos también que la matriz U = u1 u2 · · · uk
G⊥ = {y ∈ Fn2 | x, y
= 0, para todo x ∈ G}.
de tamaño n × k tiene rango k, y consideremos, para j =
1, 2, . . . , 2k − 2, el vector
El siguiente resultado, cuya demostración se puede en-
contrar en cualquier libro de álgebra lineal, será necesario uj+k = c0 uj ⊕ c1 uj+1 ⊕ · · · ⊕ ck−1 uj+k−1 ∈ Fn2 .
para probar el corolario 1, el cual establece que los comple-
Entonces, para i = 1, 2, . . . , 2k − 1,
mentos ortogonales de los subespacios vectoriales satisfacen
las condiciones necesarias para que los soportes que definen U C i−1 = ui ui+1 · · · ui+k−1
correspondan a funciones bent de la clase PS.
y
Lema 1: Si G y H son dos subespacios vectoriales de Fn2 col (U ) = col U C i−1 .
tales que G ∩ H = {0} y dim G = dim H = k, entonces
Notemos que como consecuencia de este resultado, tenemos
G ∩H⊥ ⊥
= {0} y ⊥
dim G = dim H ⊥
= k. que
rg U C i−1 = k, para i = 1, 2, . . . , 2k − 1
Ahora, como consecuencia inmediata del lema anterior,
tenemos el siguiente resultado. y, por tanto, las columnas de la matriz U C i−1 constituyen
también una base de col (U ).
Corolario 1: Sean G1 , G2 , . . . , Gt subespacios vectoriales de El teorema siguiente nos permite construir una familia de
Fn2 de dimensión k, tales que Gi ∩ Gj = {0} para i, j = subespacios Gi que satisfacen las condiciones del teorema 1.
14
Teorema
2: Sean U y V matrices de tamaño n × k tales a = 0. Por tanto, sustituyendo dicho valor en la expresión (2),
que U V es invertible y supongamos que C es la matriz tenemos que w = 0 y así, Gi ∩ Gj = {0}.
asociada a un polinomio primitivo de grado k en F2 [X]. Si Finalmente, supongamos que w ∈ G2k ∩ Gi para algún
G0 = col (V ), G2k = col (U ) y i ∈ {1, 2, 3, . . . , 2k − 1}. Entonces, procediendo como en el
caso anterior, tenemos que
Gi = col U C i−1 ⊕ V , para i = 1, 2, . . . , 2k − 1,
w = U b y w = U C i−1 ⊕ V a, (3)
entonces dim Gr = k, y Gr ∩ Gs = {0} para r, s =
0, 1, 2, . . . , 2k con r
= s. para algunos a, b ∈ Fk2 . Por tanto, de acuerdo con el lema 2,
tenemos que
Demostración: Claramente rg (U ) = rg (V ) = k. Por
tanto, dim G0 = dim G2k = k. 0 = U C i−1 ⊕ V a ⊕ U b = U d ⊕ V a
Si dim Gi < k para algún i ∈ {1, 2, . . . , 2k − 1}, entonces,
d ∈ F2 . Otra vez, como
k
existe a ∈ Fk2 \ {0} tal que para algún las columnas de la matriz
U V forman una base de Fn2 , necesariamente d = a = 0,
U C i−1 ⊕ V a = U C i−1 a ⊕ V a = 0 y, sustituyendo en la expresión (3), obtenemos que w = 0.
Por tanto, G2k ∩ Gi = {0} para i = 1, 2, . . . , 2k − 1.
pero esto
es una contradicción
ya que las columnas de la En el teorema 2, podríamos haber considerado también los
matriz U C i−1 V forman una base de Fn2 de acuerdo con la subespacios vectoriales
elección de las matrices U y V y el lema 2. En consecuencia,
dim Gi = k para i = 1, 2, . . . , 2k − 1. Fj = col U ⊕ V C j−1 para j = 1, 2, . . . , 2k − 1,
Evidentemente, G0 ∩ G2k = {0}.
ya que satisfacen todas las condiciones necesarias siempre que
Supongamos en primer lugar que w ∈ G0 ∩ Gi para algún i+j
= 2k +1. Sin embargo, esto no es posible ya que cada uno
i ∈ {1, 2, 3, . . . , 2k−1 −1}. Entonces, de acuerdo con el lema 2 de estos subespacios coincide con alguno de los subespacios
w = U C i−1 ⊕ V a y w = V b Gi definidos en dicho teorema, como ponemos de manifiesto
en el siguiente resultado.
para algunos a, b ∈ Fk2 . Por tanto,
Teorema
3: Sean U y V matrices de tamaño n × k tales
U C i−1 a ⊕ V (a ⊕ b) = 0 (1) que U V es invertible, supongamos que C es la matriz
asociada a un polinomio primitivo de grado k en F2 [X] y
y otra vez, como las columnas de la matriz U C i−1 V consideremos, para i, j ∈ {1, 2, . . . , 2k − 1}, los subespacios
forman una base de Fn2 , de la expresión (1) podemos decir vectoriales
que
a = 0 y a ⊕ b = 0; Gi = col U C i−1 ⊕ V y Fj = col U ⊕ V C j−1 .
así que, b = 0 con lo que w = 0. Por tanto, G0 ∩ Gi = {0} Entonces para todo i ∈ {1, 2, . . . , 2k − 1} existe un único
para i ∈ {1, 2, 3, . . . , 2k − 1}. j ∈ {1, 2, . . . , 2k − 1} tal que Gi = Fj .
Supongamos ahora que w ∈ Gi ∩ Gj para algunos i, j tales Demostración: Claramente F1 = G1 .
que 1 ≤ i < j ≤ 2k −1. Procediendo como en el caso anterior, Supongamos que w ∈ Gi , para algún i ∈ {2, 3, . . . , 2k −1}.
tenemos que Por el lema 2, tenemos que
w = U C i−1 ⊕ V a = U C j−1 ⊕ V b, (2) w = U C i−1 ⊕ V a (4)
por tanto, de acuerdo con el lema 2, tenemos que para algún a ∈ Fk2 . Sea b = C i−1 a, entonces, por ser C la
matriz asociada a un polinomio primitivo de grado k, tenemos
0 = U C i−1 ⊕ V a ⊕ U C j−1 ⊕ V b
que
= U d ⊕ V (a ⊕ b)
a = C 2 −1 a = C 2 −i C i−1 a = C 2 −i b.
k k k
d ∈
F2 . Sin embargo, como
k
para algún las columnas de la Sustituyendo el valor de a, obtenido anteriormente, en la
matriz U V forman una base de Fn2 , necesariamente expresión (4) tenemos que
k
d = a ⊕ b = 0.
w = U C i−1 ⊕ V C 2 −i b = U ⊕ V C 2 −i b
k
15
soporte de una función bent a partir de una base de Fn2 y la Aquí
matriz asociada a un polinomio primitivo de grado k en F2 [X]. ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
0 0 0
Corolario 2: Supongamos que ⎢ 0⎥ ⎢0⎥ ⎢ 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ 0⎥ ⎢0⎥ ⎢ 0⎥
A = {u1 , u2 , . . . , uk , v 1 , v 2 , . . . , v k } 1=⎢ ⎥
⎢ 0⎥ , 2=⎢ ⎥
⎢0⎥ , 3=⎢ ⎥
⎢ 0⎥ , ...
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
es una base de Fn2 y consideremos las matrices ⎣ 0⎦ ⎣1⎦ ⎣ 1⎦
1 0 1
U = u1 u2 · · · uk y V = v1 v2 · · · vk .
y así sucesivamente; es decir, denotamos por i el vector
Supongamos también que C es una matriz asociada a un columna correspondiente a la expansión binaria de 6 bits del
polinomio primitivo de grado k en F2 [X], y definamos los entero i, para i = 0, 1, 2, . . . , 26 − 1.
subespacios vectoriales Gi , para i = 0, 1, 2, . . . , 2k , como Consideremos el polinomio primitivo p(X) = 1 + X + X3 ∈
en el teorema 2. Si I ⊆ {0, 1, 2, . . . , 2k } con |I| = 2k−1 F2 [X] y su matriz asociada
(respectivamente, |I| = 2k−1 + 1), entonces ⎡ ⎤
0 0 1
B= ∗
Gi respectivamente, B = {0} ∪ Gi∗ C = ⎣ 1 0 1⎦ .
i∈I i∈I 0 1 0
es el soporte de una función bent de n variables. Finalmente, consideremos la matriz de control de paridad
⎡ ⎤
Ahora, con la notación del corolario 2, si |I| = 2k−1 y 0 0 0 1 1 1 1
J = {0, 1, 2, . . . , 2k } \ I, y denotamos por f (x) y g(x) las H = ⎣0 1 1 0 0 1 1⎦
funciones bent cuyos soportes son los conjuntos 1 0 1 0 1 0 1
BI = G∗i y BJ = {0} ∪ G∗j , del [7, 3]-código binario de Hamming.
i∈I j∈J De acuerdo con el proceso anteriormente descrito, tenemos
respectivamente, entonces g(x) = 1 ⊕ f (x). que
⎡ ⎤
IV. P ROCEDIMIENTO PRÁCTICO 0 0 0 1 1 1 1
V0 = V H = 8 16 32 ⎣0 1 1 0 0 1 1⎦
A continuación, describimos un procedimiento práctico para
1 0 1 0 1 0 1
obtener los subespacios Gi del teorema 2 a partir de una base
A de Fn2 y la matriz C asociada a un polinomio primitivo de = 32 16 48 8 40 24 56 ,
grado k en F2 [X]. Supongamos pues, como en el corolario 2, V1 = (U ⊕ V )H = 9 18 36 H
que agrupamos los vectores de A en dos matrices U y V de = 36 18 54 9 45 27 63 ,
tamaño n × k. Así, de acuerdo con lo dicho en la sección II,
V2 = (U C ⊕ V )H = 10 20 35 H
los vectores no nulos de G0 , Gi para i = 1, 2, 3, . . . , 2k − 1 y
G2k son, respectivamente, las columnas de las matrices = 35 20 55 10 41 30 61 ,
V3 = (U C 2 ⊕ V )H = 12 19 38 H
V0 = V H, Vi = (U C i−1 ⊕ V )H y V2k = U H
= 38 19 53 12 42 31 57 .
donde H es la matriz de control de paridad del [2k − 1, k]-
código binario de Hamming. Por tanto, si consideramos, por Por tanto, las columnas de la matriz
ejemplo, el conjunto I = {0, 1, 2, 3, . . . , 2k−1 − 1}, entonces,
B = V0 V 1 V 2 V 3
de acuerdo con los teoremas 1 y 2 y lo dicho anteriormente, te-
nemos que las columnas de la matriz B siguiente, constituyen son los elementos del soporte de una función bent de 6
el soporte de una función bent de n variables. variables.
las 23 +1 = 9 matrices Vi , podemos construir
B = V0 V1 V2 V3 · · · V2k−1 −1 23Si obtenemos
−
23−1 = 126 funciones bent pertenecientes a la clase PS
+1
= V H (U ⊕ V )H (U C ⊕ V )H
y 126 funciones bent pertenecientes a la clase PS , siendo
+
(U C 2 ⊕ V )H · · · (U C 2 −2 ⊕ V )H
k−1
todas ellas distintas.
El siguiente ejemplo nos ayudará a entender el proceso Fijada una base A de Fn2 y un polinomio primitivo de
k +1
anterior. grado k y coeficientes en F2 , podemos considerar 22k−1
subconjuntos I de {0, 1, 2, . . . , 2k } de 2k−1 elementos y la
Ejemplo 1: Supongamos que n = 6 (y, por tanto, k = 3) y
misma cantidad de subconjuntos de 2k−1 + 1 elementos. Por
k +1
consideremos, por ejemplo, la base A = {1, 2, 4, 8, 16, 32}
tanto, de acuerdo con el teorema 2, podemos construir 2 22k−1
y las matrices
soportes de funciones bent, que serán distintos dos a dos ya
U= 1 2 4 y V = 8 16 32 . que si i, j ∈ {0, 1, 2, . . . , 2k } con i
= j, entonces Vi
= Vj .
16
V. P ROBLEMAS ABIERTOS Consideremos ahora la base A = {9, 11, 12, 4} y las
Ya hemos comentado al final de la sección anterior, que matrices U = 9 11 y V = 12 4 .
fijada una base de Fn2 y un polinomio primitivo de grado k Procediendo como en el caso anterior, tenemos que
y coeficientes en F2 , de acuerdo con el teorema 2, podemos
k +1 V0 = 4 12 8 , V1 = 15 5 10 ,
construir 2 22k−1 soportes de funciones bent, que son distintos
V2 = 6 7 1 , V3 = 13 14 3 ,
dos a dos.Surge ahora, de modo natural, la pregunta siguien-
k
te: ¿los 2 22k−1
+1
soportes de funciones bent construidos de V4 = 11 9 2
acuerdo con el corolario 1 son distintos de los anteriores? El
y, por tanto, cada uno de los conjuntos
ejemplo siguiente pone de manifiesto que la respuesta no es
necesariamente afirmativa. B1 = {1, 2, 6, 7, 9, 11}, B2 = {1, 3, 6, 7, 13, 14},
Ejemplo 2: Supongamos que n = 4 (y, por tanto, k = 2) B3 = {1, 4, 6, 7, 8, 12}, B4 = {1, 5, 6, 7, 10, 15},
y consideremos, por ejemplo,
A = {1, 2, 4, 8} y las
la base B5 = {2, 3, 9, 11, 13, 14}, B6 = {2, 4, 8, 9, 11, 12},
matrices U = 1 2 y V = 4 8 . Consideremos el B7 = {2, 5, 9, 10, 11, 15}, B8 = {3, 4, 8, 12, 13, 14},
polinomio primitivo p(X) = 1 + X + X2 ∈ F2 [X], su matriz
asociada C, y la matriz de control de paridad H del [3, 2]- B9 = {3, 5, 10, 13, 14, 15},
B10 = {4, 5, 8, 10, 12, 15},
código binario de Hamming. es el soporte de una función bent de la clase PS − de 4
De acuerdo con lo dicho al inicio de la sección IV, tenemos variables.
que Ahora, si calculamos, como antes, los complementos or-
0 1 1 togonales de los subespacios vectoriales cuyos vectores no
V0 = V H = 4 8 = 8 4 12 ,
1 0 1 nulos son las columnas de las matrices Vi , es decir, de los
subespacios Gi del teorema 2, obtenemos los subespacios
V1 = (U ⊕ V )H = 10 5 15 ,
ortogonales
V2 = (U C ⊕ V )H = 11 6 13 ,
V3 = (U C 2 ⊕ V )H = 9 7 14 , (G0 )(⊥) = {0, 1, 2, 3}, (G1 )(⊥) = {0, 5, 10, 15},
V4 = U H = 2 1 3 . (G2 )(⊥) = {0, 6, 8, 14}, (G3 )(⊥) = {0, 7, 11, 12},
Por tanto, al aplicar el corolario 2 a cada uno de los (G4 )(⊥) = {0, 4, 9, 13},
subconjuntos I de {0, 1, 2, 3, 4} de 2 elementos (análogamente que proporcionan los siguientes soportes de funciones bent de
para los de 3 elementos), obtenemos que cada uno de los la clase PS − de 4 variables:
conjuntos
B1 = {1, 2, 3, 4, 8, 12}, B2 = {1, 2, 3, 5, 10, 15}, (B1 )(⊥) = {1, 2, 3, 4, 9, 13},
B3 = {1, 2, 3, 6, 11, 13}, B4 = {1, 2, 3, 7, 9, 14}, (B2 )(⊥) = {1, 2, 3, 5, 10, 15},
B5 = {4, 5, 8, 10, 12, 15}, B6 = {4, 6, 8, 11, 12, 13}, (B3 )(⊥) = {1, 2, 3, 6, 8, 14},
B7 = {4, 7, 8, 9, 12, 14}, B8 = {5, 6, 10, 11, 13, 15}, (B4 )(⊥) = {1, 2, 3, 7, 11, 12},
B9 = {5, 7, 9, 10, 14, 15}, B10 = {6, 7, 9, 11, 13, 14}, (B5 )(⊥) = {4, 5, 9, 10, 13, 15},
es el soporte de una función bent de la clase PS − de 4 (B6 )(⊥) = {4, 6, 8, 9, 13, 14},
variables. (B7 )(⊥) = {4, 7, 9, 11, 12, 13},
Ahora, si calculamos los complementos ortogonales de
(B8 )(⊥) = {5, 7, 10, 11, 12, 15},
los subespacios vectoriales cuyos vectores no nulos son las
columnas de las matrices Vi , es decir, de los subespacios Gi (B9 )(⊥) = {5, 6, 8, 10, 14, 15},
(⊥)
del teorema 2, obtenemos los subespacios ortogonales (B10 ) = {6, 7, 8, 11, 12, 14}.
(⊥) (⊥)
G0 = {0, 1, 2, 3}, G1 = {0, 5, 10, 15}, Notemos que en este caso, a diferencia de lo que ocurría en
(⊥)
G2 = {0, 7, 9, 14},
(⊥)
G3 = {0, 6, 11, 13}, el caso anterior, ninguno de los conjuntos (Bj )(⊥) coincide
(⊥) con ninguno de los conjuntos Bi .
G4 = {0, 4, 8, 12}.
Tal como se desprende del ejemplo anterior, y en todos los
Puesto que
ejemplos que hemos comprobado, existen bases para las que
(⊥) (⊥) (⊥)
G0 = G4 , G1 = G1 , G2 = G3 , cada uno de los soportes B coincide con alguno de los soportes
(⊥) (⊥) B (⊥) y existen bases para las que ninguno de los soportes B
G3 = G2 y G4 = G0 ,
coincide con ninguno de los soportes B (⊥) . Este hecho sugiere
es evidente que cada uno de los soportes construidos de los problemas siguientes: ¿Fijada una base cualquiera, son
acuerdo con el corolario 1 coincide con alguno de los soportes estas las dos únicas situaciones posibles? En caso afirmativo,
construidos de acuerdo con el teorema 1. ¿bajo qué condiciones se da cada una de dichas situaciones?
17
Además, si observamos de nuevo el ejemplo 2, vemos que [11] C. Charnes, M. Rötteler, and T. Beth, “Homogeneous bent functions,
invariants, and designs,” Designs, Codes and Cryptography, vol. 26, pp.
B5 = B10 , es decir, solamente uno de los soportes obtenidos
139–154, 2002.
con la base A coincide con uno de los soportes obtenidos con [12] J. F. Dillon, “Elementary Hadamard difference sets,” Ph.D. dissertation,
la base A . No ocurre lo mismo si consideramos las bases University of Maryland, 1974.
A y A = {1, 2, 5, 10}, ya que en este caso, todos los [13] H. Dobbertin, “Construction of bent functions and balanced Boolean
functions with high nonlinearity,” in Fast Sofware Encription, ser.
soportes obtenidos con la base A coinciden con los soportes Lecture Notes in Computer Science, B. Preneel, Ed. Berlin: Springer-
obtenidos con la base A . De nuevo, en todos los ejemplos Verlag, 1995, vol. 1008, pp. 61–74.
que hemos comprobado se da alguna de estas dos situaciones, [14] H. Dobbertin, G. Leander, A. Canteaut, C. Carlet, P. Felke, and P. Gabo-
rit, “Construction of bent functions via Niho power functions,” Journal
lo cual sugiere los problemas siguientes: ¿Dadas dos bases of Combinatorial Theory (Series A), vol. 113, no. 5, pp. 779–798, 2004.
cualquieras, son estas las dos únicas situaciones posibles? En [15] J. Fuller, E. Dawson, and W. Millan, “Evolutionary generation of bent
caso afirmativo, ¿bajo qué condiciones se da cada una de functions for cryptography,” in Proceedings of the 2003 Congress on
Evolutionary Computation, vol. 2. IEEE, 2003, pp. 1655–1661.
dichas situaciones? [16] K. C. Gupta and P. Sarkar, “Improved construction of nonlinear resilient
Otro problema que aparece en esta construcción es si influye S-boxes,” IEEE Transactions on Information Theory, vol. 51, no. 1, pp.
o no el polinomio primitivo considerado. Es decir, ¿para 339–348, 2005.
[17] P. V. Kumar, R. A. Scholtz, and L. R. Welch, “Generalized bent functions
una misma base y polinomios primitivos diferentes, podemos and their properties,” Journal of Combinatorial Theory (Series A),
obtener idénticas funciones bent? ¿y si consideramos bases y vol. 40, pp. 90–107, 1985.
polinomios diferentes? [18] K. Kurosawa and R. Matsumoto, “Almost security of cryptographic
Boolean functions,” IEEE Transactions on Information Theory, vol. 50,
Estos y otros problemas que puedan surgir de esta construc- no. 11, pp. 2752–2761, 2004.
ción se abordarán en futuros trabajos. [19] A. Lempel and M. Cohn, “Maximal families of bent sequences,” IEEE
Transactions on Information Theory, vol. 28, no. 6, pp. 865–868, 1982.
[20] R. Lidl and H. Niederreiter, Introduction to Finite Fields and Their
AGRADECIMIENTOS Applications. New York, NY: Cambridge University Press, 1997.
[21] M. Matsui, “Linear cryptanalysis method for DES cipher,” in Advances
Este trabajo ha sido parcialmente subvencionado por los in Cryptology – EUROCRYPT ’93, ser. Lecture Notes in Computer
proyectos MTM2008-06674-C02-01 del Ministerio de Ciencia Science, T. Helleseth, Ed. Berlin: Springer-Verlag, 1994, vol. 765,
e Innovación del Gobierno de España y ACOMP/2010/039 pp. 386–397.
[22] R. L. McFarland, “A family of difference sets in non-cyclic groups,”
de la Generalitat Valenciana. La investigación de Verónica Journal of Combinatorial Theory (Series A), vol. 15, pp. 1–10, 1973.
Requena también ha sido financiada con una ayuda del Vi- [23] W. Meier and O. Staffelbach, “Nonlinearity criteria for cryptographic
cerrectorado de Investigación, Desarrollo e Innovación de la functions,” in Advances in Cryptology – EUROCRYPT’89, ser. Lecture
Notes in Computer Science, J. Quisquater and J. Vandewalle, Eds.
Universitat d’Alacant destinada a la formación de doctores. Berlin: Springer-Verlag, 1990, vol. 434, pp. 549–562.
[24] K. Nyberg, “Constructions of bent functions and difference sets,” in
R EFERENCIAS Advances in Cryptology – EUROCRYPT ’90, ser. Lecture Notes in
Computer Science, I. B. Damgård, Ed. Berlin: Springer-Verlag, 1991,
[1] C. M. Adams and S. E. Tavares, “Generating and counting binary bent vol. 473, pp. 151–160.
sequences,” IEEE Transactions on Information Theory, vol. 35, no. 6, [25] ——, “Perfect nonlinear S-boxes,” in Advances in Cryptology – EURO-
pp. 1170–1173, 1990. CRYPT ’91, ser. Lecture Notes in Computer Science, D. W. Davies, Ed.
[2] ——, “Generating bent sequences,” Discrete Applied Mathematics, Berlin: Springer-Verlag, 1991, vol. 547, pp. 378–386.
vol. 39, pp. 155–159, 1992. [26] J. D. Olsen, R. A. Scholtz, and L. R. Welch, “Bent-function sequences,”
[3] C. M. Adams, “Constructing symmetric ciphers using the CAST design IEEE Transactions on Information Theory, vol. 28, no. 6, pp. 858–864,
procedure,” Designs, Codes and Cryptography, vol. 12, pp. 283–316, 1982.
1997. [27] S. Roman, Introduction to Coding and Information Theory. New York,
[4] T. P. Berger, A. Canteaut, P. Charpin, and Y. Laigle-Chapuy, “On almost NY: Springer, 1997.
perfect nonlinear functions over Fn2 ,” IEEE Transactions on Information
[28] O. S. Rothaus, “On “bent” functions,” Journal of Combinatorial Theory
Theory, vol. 52, no. 9, pp. 4160–4170, 2006. (Series A), vol. 20, pp. 300–305, 1976.
[5] A. Braeken, V. Nikov, S. Nikova, and B. Preneel, “On Boolean functions [29] P. Sarkar and S. Maitra, “Construction of nonlinear Boolean functions
with generalized cryptographic properties,” in Progress in Cryptology – with important cryptographic properties,” in Advances in Cryptology –
INDOCRYPT 2004, ser. Lecture Notes in Computer Science, A. Canteaut EUROCRYPT 2000, ser. Lecture Notes in Computer Science, B. Preneel,
and K. Viswanathan, Eds. Berlin: Springer-Verlag, 2004, vol. 3348, pp. Ed. Berlin: Springer-Verlag, 2000, vol. 1807, pp. 485–506.
120–135. [30] J. Seberry and X.-M. Zhang, “Highly nonlinear 0-1 balanced Boolean
[6] A. Canteaut and P. Charpin, “Decomposing bent functions,” IEEE functions satisfying strict avalanche criterion (extended abstract),” in Ad-
Transactions on Information Theory, vol. 49, no. 8, pp. 2004–2019, vances in Cryptology – ASIACRYPT’92, ser. Lecture Notes in Computer
2003. Science, J. Seberry and Y. Zheng, Eds. Berlin: Springer-Verlag, 1992,
[7] C. Carlet, “On the secondary constructions of resilient and bent fun- vol. 718, pp. 145–155.
ctions,” Progress in Computer Science and Applied Logic, vol. 23, pp. [31] J. Seberry, X.-M. Zhang, and Y. Zheng, “Nonlinearity and propagation
3–28, 2004. characteristics of balanced Boolean functions,” Information and Compu-
[8] ——, “On bent and highly nonlinear balanced/resilient functions and tation, vol. 119, pp. 1–13, 1995.
their algebraic immunities,” in Applied Algebra, Algebraic Algorithms
and Error-Correcting Codes (AAECC-16), ser. Lecture Notes in Com-
puter Science, M. Fossorier, H. Imai, S. Lin, and A. Poli, Eds. Berlin:
Springer-Verlag, 2006, vol. 3857, pp. 1–28.
[9] C. Carlet and P. Guillot, “An alternate characterization of the bentness of
binary functions, with uniqueness,” Designs, Codes and Cryptography,
vol. 14, pp. 133–140, 1998.
[10] C. Carlet and Y. Tarannikov, “Covering sequences of Boolean functions
and their cryptographic significance,” Designs, Codes and Cryptography,
vol. 25, pp. 263–279, 2002.
18
Caracterı́sticas de Linealidad en Generadores de
Secuencia Cifrante
A. Fúster Sabater P. Caballero Gil
Instituto de Fı́sica Aplicada DEIOC, Facultad de Matemáticas
C.S.I.C. Universidad de La Laguna
Serrano 144, 28006 Madrid 38271 Tenerife, Islas Canarias
Email: amparo@[Link] Email: pcaballe@[Link]
Abstract—En este trabajo se muestra que las secuencias determinen los bits de otra. El resultado de esa decimación es
obtenidas a partir de un generador de secuencia cifrante, el la secuencia cifrante. Entre los criptoanálisis más destacados
Generalized Self-Shrinking Generator (GSSG), son soluciones de generadores basados en decimación pueden reseñarse [3],
particulares de una ecuación en diferencias lineal homogénea
con coeficientes constantes. Además de las secuencias producidas [4], [7], [14], [15] y [16].
por el GSSG, la clase completa de soluciones de dicha ecuación El trabajo aquı́ realizado se resume en dos ideas básicas:
incluye otras secuencias equilibradas muy adecuadas para crip- 1) Se muestra que las secuencias generadas por un GSSG
tografı́a, pues tienen el mismo periodo e incluso mayor com-
plejidad lineal que las producidas por el GSSG. Los parámetros
son soluciones particulares de un tipo de ecuación lineal
criptográficos de todas las secuencias anteriormente mencionadas en diferencias.
pueden analizarse en términos de soluciones de ecuaciones en 2) Se muestra que algunas secuencias soluciones de la
diferencias lineales. ecuación, aunque no estén incluidas en la familia pro-
ducida por el GSSG, sı́ presentan buenas propiedades
I. I NTRODUCCI ÓN
criptográficas. En general, las soluciones de las ecua-
Los generadores de secuencias pseudoaleatorias tiene nu- ciones lineales en diferencias proporcionan un método
merosas aplicaciones en comunicaciones seguras, por ejemplo sencillo para la generación de secuencias pseudoaleato-
en redes inalámbricas, debido a ventajas prácticas tales como rias.
facilidad de implementación, alta velocidad y fiabilidad. A
partir de una clave corta, un generador de secuencia binaria II. E L G ENERALIZED S ELF -S HRINKING G ENERATOR
produce una serie larga de bits pseudoaleatorios denominada (GSSG)
secuencia cifrante. La mayor parte de los generadores de
El GSSG es un generador de secuencia binaria que puede
secuencia cifrante están basados en Linear Feedback Shift
describirse tal y como sigue:
Registers (LFSRs) [5] cuyas secuencias de salida, las PN-
secuencias, se combinan de forma no lineal para producir una 1) Hace uso de dos secuencias: una PN-secuencia {an } y
secuencia pseudoaleatoria de aplicación criptográfica. Gener- una versión desplazada de la misma denotada por {vn }.
adores combinacionales, filtros no-lineales, generadores con- 2) Relaciona ambas secuencias mediante una simple regla
trolados por reloj o decimados de forma irregular son algunos de decimación para generar la secuencia de salida.
de los ejemplos más conocidos que pueden encontrarse en la El resultado de los pasos anteriores es una familia de
literatura [9], [13]. secuencias generalizadas que puede definirse de una manera
Coppersmith, Krawczyk y Mansour [1] propusieron el más formal [8] como:
Shrinking Generator, luego Meier y Staffelbach [12] diseñaron Definición 1: Sea {an } una PN-secuencia de periodo 2L −1
el Self-Shrinking Generator, finalmente Hu y Xiao [8] generada a partir de un LFSR con polinomio caracterı́stico
definieron el Generalized Self-Shrinking Generator (GSSG) primitivo y grado L. Sea G un vector binario de dimensión L
que genera una familia de secuencias pseudoaleatorias (que de- definido como:
nominaremos secuencias generalizadas) muy adecuadas para
uso criptográfico por tener largos periodos, buena correlación, G = (g0 , g1 , g2 , . . . , gL−1 ) ∈ GF (2)L . (1)
excelente distribución de rachas, equilibrio entre ceros y El n-ésimo elemento de la secuencia {vn } se define como:
unos, simplicidad de implementación etc. El GSSG puede
considerarse como una especialización del generador shrinking vn = g0 an ⊕ g1 an−1 ⊕ g2 an−2 ⊕ . . . ⊕ gL−1 an−L+1 , (2)
a la vez que una generalización del generador self-shrinking.
De hecho, la secuencia de salida del generador self-shrinking donde los subı́ndices de la secuencia {an } se calculan mod
es un elemento de la familia de secuencias producidas por 2L − 1 y el sı́mbolo ⊕ representa la operación lógica OR-
el GSSG. La idea fundamental de los generadores de este exclusiva. Para n ≥ 0 la regla de decimación es muy sencilla:
tipo es la decimación irregular de una PN-secuencia según 1) Si an = 1, entonces vn es bit de la secuencia de salida.
19
2) Si an = 0, entonces vn se descarta y no hay bit de coeficientes cj son valores binarios cj ∈ GF (2) y r es un
salida. número entero. El polinomio caracterı́stico de grado r de la
De esta forma, se genera la secuencia de salida b0 b1 b2 . . . ecuación (3) es:
notada {bn } ó {b(G)}. Dicha secuencia es una secuencia
r
desplazada de la secuencia {an }. Cuando G recorre el con- y especifica la relación de recurrencia lineal en {zn }. Es
junto GF (2)L − (0, . . . , 0), entonces {vn } corresponde a los decir, el n-ésimo término, zn , puede escribirse como una
2L −1 posibles desplazamientos de {an }. Además, el conjunto combinación lineal de los r términos precedentes:
de secuencias denotado por B(a) = {{b(G)}, G ∈ GF (2)L }
r
es la familia de secuencias generalizadas basadas en la PN- zn ⊕ cj zn−j = 0, n ≥ r. (5)
secuencia {an }. j=1
Ejemplo 1. Para la PN-secuencia {an } = {11110101100
1000} con polinomio de realimentación x4 +x+1, se obtienen Si P (x) es un polinomio primitivo [10] y α es una de sus
16 secuencias generalizadas basadas en la PN-secuencia {an } raı́ces, entonces
2 (r−1)
(véase [8]): α, α2 , α2 , . . . , α2 ∈ GF (2)r (6)
1. G = (0000), {b(G)} = 00000000 ∼ son las r raı́ces diferentes de dicho polinomio (véase [11]).
2. G = (1000), {b(G)} = 11111111 ∼ En este caso, se demuestra en [10] que la solución de (3) es
3. G = (0100), {b(G)} = 01110010 ∼ una secuencia de la forma:
4. G = (1100), {b(G)} = 10001101 ∼
r−1
5. G = (0010), {b(G)} = 00111100 ∼ zn =
j j
A2 α 2 n , n≥0 (7)
6. G = (1010), {b(G)} = 11000011 ∼ j=0
7. G = (0110), {b(G)} = 01001110 ∼
8. G = (1110), {b(G)} = 10110001 ∼ donde A es un elemento arbitrario de GF (2)r . Es decir,
9. G = (0001), {b(G)} = 00011011 ∼ {zn } es una PN-secuencia de polinomio caracterı́stico P (x)
10. G = (1001), {b(G)} = 11100100 ∼ y periodo 2r − 1 cuyo inicio está determinado por el valor de
11. G = (0101), {b(G)} = 01101001 ∼ A.
12. G = (1101), {b(G)} = 10010110 ∼ Las ecuaciones en diferencias consideradas anteriormente
13. G = (0011), {b(G)} = 00100111 ∼ pueden generalizarse a un tipo más complejo de ecuaciones
14. G = (1011), {b(G)} = 11011000 ∼ cuyas raı́ces tengan una multiplicidad mayor que 1. De hecho,
15. G = (0111), {b(G)} = 01010101 ∼ se consideran ecuaciones de la forma:
16. G = (1111), {b(G)} = 10101010 ∼ r
(E ⊕r
cj E r−j )p zn = 0, n≥0 (8)
Es importante señalar que las secuencias generadas no son j=1
16 secuencias diferentes. De hecho, las secuencias 5 y 6 son
siendo p un entero p > 1. El polinomio caracterı́stico de
versiones desplazadas de una misma secuencia y lo mismo
este tipo de ecuación es:
sucede con las secuencias 11 y 12 y con la 15 y 16. Al
mismo tiempo, las secuencias 3, 7, 10 y 13 corresponden
r
a una única secuencia al igual que las secuencias 4, 8, 9 PM (x) = P (x)p = (xr + cj xr−j )p . (9)
j=1
y 14. Diferentes parámetros critográficos de estas secuencias
tales como periodo o complejidad lineal se analizan en las Ahora las raı́ces de PM (x) son las mismas que las del
2 (r−1)
siguientes secciones en términos de soluciones de ecuaciones polinomio P (x), es decir, (α, α2 , α2 , . . . , α2 ), pero con
en diferencias lineales. multiplicidad p. Entonces las soluciones de (8) son [2]:
p−1 % &
r−1
III. E CUACIONES EN D IFERENCIAS L INEALES CON n j j
zn = ( A2i α2 n ), n≥0 (10)
C OEFICIENTES C ONSTANTES i j=0
i=0
En este trabajo se considera el siguiente tipo de ecuación
en diferencias con coeficientes binarios: donde Ai ∈ GF (2)r y los números combinatorios ni se
calculan mod 2.
r
En resumen, el n-ésimo término {zn } de una secuencia
(E ⊕
r
cj E r−j ) zn = 0, n≥0 (3)
solución es la suma bit a bit del n-ésimo término de p
j=1
r−1 j j
secuencias { A2i α2 n } (0 ≤ i < p) ponderadas por
donde zn ∈ GF (2) es el n-ésimo término de una secuencia j=0
binaria {zn } que verifica la ecuación anterior. El sı́mbolo E coeficientes que son números combinatorios.
es el operador desplazamiento que actúa sobre los elementos De hecho, cuando n va tomando sucesivos valores cada
zn de la secuencia solución, es decir E j zn = zn+j . Los número combinatorio ni (n ≥ i ≥ 0) define una secuencia
20
TABLE I
N ÚMEROS COMBINATORIOS , SECUENCIAS PRIMARIAS Y PERIODOS Ti soluciones particulares de dicha ecuación lineal en diferencias.
Núm. combinator. Secuencias primarias Ti
n Ahora podemos pues analizar al detalle las caracterı́sticas de
S0 = {1, 1, 1, 1, 1, 1, 1, 1 ∼} las secuencias que verifican la ecuación en diferencias previa.
n0 T0 = 1
Según (10), las soluciones de la ecuación dada en (11) son
S1 = {0, 1, 0, 1, 0, 1, 0, 1 ∼}
n1 T1 = 2
ahora de la forma:
S2 = {0, 0, 1, 1, 0, 0, 1, 1 ∼}
n2 T2 = 4
(siendo m un entero no negativo) tienen periodo Ti = 2m+1 A. Periodos de las Secuencias Solución
y sus dı́gitos son:
Según la sección 3, los periodos de las secuencias primarias
1) Los primeros 2m bits son ceros.
m m son potencias de 2. Más aún, según (13) la secuencia {zn } es
n 2 bits son los primeros 2 bits de la
2) Los siguientes
la suma lógica bit a bit de secuencias de diferentes periodos.
secuencia i−2m .
Luego, el periodo de {zn } es el máximo periodo de las
Lo vemos con un simple ejemplo. De acuerdo con la Tabla I
secuencias que aparecen en (13). De hecho, el period de {zn }
y para m = 2, tenemos 22 secuencias primarias Si con (22 ≤
es el Ti correspondiente a la secuencia primaria con el mayor
i < 23 ). La secuencia S4 tiene 22 ceros y los 22 primeros
ı́ndice i tal que Ai
= 0.
dı́gitos de S0 . De la misma forma, la secuencia S5 tiene 22
ceros y los 22 primeros dı́gitos de S1 . Igualmente, la secuencia B. Complejidad Lineal de las Secuencias Solución
S6 tiene 22 ceros y los 22 primeros dı́gitos de S2 mientras que
S7 tiene 22 ceros y los 22 primeros dı́gitos de S3 . Por tanto, la Según [10], la complejidad lineal de una secuencia coincide
generación y manipulación de tales secuencias en muy fácil. con el número de raı́ces de su polinomio caracterı́stico que
aparecen en su relación de recurrencia lineal. Según esto y
IV. P RINCIPAL R ESULTADO analizando los coeficientes Ai en (13), se puede calcular el
Ahora se presenta el resultado fundamental que relaciona valor de la complejidad lineal. De hecho, tenemos una única
secuencias generalizadas con ecuaciones en diferencias. raı́z con multiplicidad p. Luego, si i es el mayor ı́ndice (0 ≤
Teorema 1: La familia de secuencias generalizadas B(a) i < p) para el que Ai
= 0, entonces la complejidad lineal es
basada en la PN-secuencia {an } son soluciones particulares LC de la secuencia {zn } será:
de la ecuación en diferencias lineal homogénea:
LC = i + 1 (14)
(E ⊕ 1)p zn = 0, p = 2L−1 , (11)
con polinomio caracterı́stico (x + 1)p . puesto que será la multiplicidad de la raı́z 1.
Idea de la demostración: Como los periodos de las secuen-
cias B(a) son T ∈ {1, 2, 2L−1 } [8], entonces el periodo T de C. Número de Diferentes Secuencias Solución
cualquier secuencia es divisor de 2L−1 , por tanto xT + 1 = Para contar el número de secuencias diferentes {zn } que
(x + 1)T . Por otro lado, si f (x) es el polinomio caracterı́stico son soluciones de (11), volvemos igualmente a considerar los
de la menor relación de recurrencia verificada por la secuencia coeficientes Ai en (13). Si i (0 ≤ i < p) es el mayor subı́ndice
generalizada, entonces la condición f (x)|xT + 1 implica que para el que Ai
= 0, entonces hay 2i posibles elecciones de la i-
f (x) es de la forma: tupla (A0 , A1 , A2 , , Ai−1 ) para la secuencia {zn } en (13). Por
f (x) = (x + 1)LC (12) otro lado, como el periodo de tal secuencia es Ti , el número
de secuencias diferentes Ni será:
donde LC es la complejidad lineal de dicha secuencia.
Por tanto las secuencias generalizadas verifican (11) y son Ni = 2i /Ti (0 ≤ i < p). (15)
21
El número total Ntotal de secuencias solución de la ecuación 1, A3 = 0, A4 = 1) genera {bn } = {00111100 ∼} que
lineal en diferencias (11) será: corresponde a la secuencia generalizada:
p−1 G = (0010), {b(G)} = 00111100 ∼ .
Ntotal = Ni . (16) Mientras que la 5-tupla (A0 = 0, A1 = 1, A2 =
i=0 1, A3 = 0, A4 = 1) genera {bn } = {01101001 ∼} que
En resumen, la elección de los coeficientes Ai permite corresponde a la secuencia generalizada:
generar secuencias binarias con periodo y complejidad lineal G = (0101), {b(G)} = 01101001 ∼ .
controlables. 7) Para A5
= 0, Ai = 0 ∀ i > 5, hay 4 secuencias
V. U N E JEMPLO I LUSTRATIVO diferentes no todas equilibradas con periodo T5 = 8
y LC5 = 6. Por ejemplo, la 6-tupla (A0 = 0, A1 =
Volvemos al GSSG presentado en la sección 2. Para la 1, A2 = 1, A3 = 1, A4 = 0, A5 = 1) genera
PN-secuencia {an } = {111101011001000} con polinomio {bn } = {01110010 ∼} que corresponde a la secuencia
primitivo de grado 4, la familia de secuencias generalizadas generalizada:
B(a) son soluciones de:
G = (0100), {b(G)} = 01110010 ∼ .
(E ⊕ 1)p bn = 0, p = 23 , (17) 8) Para A6
= 0, Ai = 0 ∀ i > 6, hay 8 secuencias
diferentes no todas equilibradas con periodo T6 = 8 y
cuya forma general es:
LC6 = 7. Ninguna de ellas corresponde a secuencias
% & % & % & generalizadas.
n n n Sin embargo existen 4 secuencias solución equilibradas
bn = A0 ⊕ A1 ⊕ . . . ⊕ A7 , n ≥ 0 (18)
0 1 7 {bn } = {01010110 ∼}, {bn } = {10101001 ∼},
Podemos considerar diferentes elecciones de la 8-tupla {bn } = {01011100 ∼} and {bn } = {10100011 ∼} con
(A0 , A1 , . . . , A7 ): el mismo periodo, autocorrelación y mayor complejidad
lineal que las secuencias generalizadas descritas en los
1) Para Ai = 0 ∀ i, la secuencia solución {bn } = {0} es
pasos 6 y 7.
la secuencia idénticamente nula incluı́da ya en la familia
9) Finalmente para A7
= 0, Ai = 0 ∀ i > 7, hay 16
de secuencias generalizadas.
secuencias diferentes no equilibradas con periodo T7 =
G = (0000), {b(G)} = 00000000 ∼ . 8 y LC7 = 8. Ninguna de ellas corresponde a secuencias
2) Para A0
= 0, Ai = 0 ∀ i > 0, la secuencia solución generalizadas.
{bn } = {1111 ∼} es la secuencia idénticamente 1 que En resumen, podemos concluir:
está incluı́da en la familia de secuencias generalizadas:
1) La selección de coeficientes Ai permite controlar el
G = (1000), {b(G)} = 11111111 ∼ . periodo, la complejidad y el equilibrio entre ceros y unos
Una secuencia con T0 = 1 y LC0 = 1. de las secuencias solución.
3) Para A1
= 0, Ai = 0 ∀ i > 1, existe una única 2) Todas las secuencias generalizadas, las 7 secuencias
secuencia solución {bn } con period T1 = 2 y LC1 = 2. distintas del ejemplo anterior, aparecen como soluciones
El par (A0 = 0, A1 = 1) genera {bn } = {01 ∼} que de la ecuación lineal en diferencias (17).
corresponde a la secuencia generalizada:
G = (0111), {b(G)} = 01010101 ∼ . VI. C ONCLUSIONES
El par (A0 = 1, A1 = 1) genera {bn } = {10 ∼} que En este trabajo se muestra que la familia de secuen-
corresponde a la secuencia generalizada: cias generalizadas, y por tanto las secuencia producida por
G = (1111), {b(G)} = 10101010 ∼ . el generador auto-shrinking, son soluciones particulares de
4) Para A2
= 0, Ai = 0 ∀ i > 2, existe una única y ecuaciones en diferencias lineales. Al mismo tiempo, existen
equilibrada secuencia solución {bn } con periodo T2 = 4 otras muchas secuencias solución no incluı́das en la familia
y LC2 = 3. Por ejemplo, la terna (A0 = 0, A1 = anterior que presentan las mismas o incluso mejores carac-
0, A2 = 1) genera {bn } = {0011 ∼}. Otras ternas terı́sticas criptográficas. Más aún, la elección de la p-tupla
con A2 = 1 dan lugar a versiones desplazadas de la (A0 , A1 , A2 , . . . , Ap−1 ) de coeficientes binarios permite:
misma secuencia pero ninguna de ellas es una secuencia 1) Obtener todas las soluciones de la ecuación en difer-
generalizada. encias referenciada anteriormente (13), entre las que se
5) Para A3
= 0, Ai = 0 ∀ i > 3, existen 2 secuencias encuentran secuencias con aplicación en cifrado en flujo.
no equilibradas con periodo T3 = 4 y LC3 = 4. Al ser 2) Generar secuencias cuyo periodo, complejidad lineal y
secuencias no equilibradas, ninguna de ellas pertenece a equilibrio entre ceros y unos sea controlable.
la familia de secuencias generalizadas. Hay que notar que aunque las secuencias generalizadas se
6) Para A4
= 0, Ai = 0 ∀ i > 4, hay 2 secuencias obtienen por decimación irregular a partir de LFSRs, en la
equilibradas diferentes con periodo T4 = 8 y LC4 = 5. práctica son simples soluciones de ecuaciones lineales. Este
Por ejemplo, la 5-tupla (A0 = 0, A1 = 0, A2 = hecho establece una sutil relación entre decimación irregular
22
y linealidad que puede ser convenientemente explotada en el
criptanálisis de tales generadores de secuencia. Una prolon-
gación natural de este trabajo es la generalización de estos
resultados a las llamadas secuencias interleaved [6], puesto
que presentan una estructura muy similar a las secuencias
obtenidas mediante decimación irregular.
AGRADECIMIENTOS
Este trabajo ha sido financiado parcialmente por el CDTI
y las empresas INDRA, Unión Fenosa, Tecnobit, Visual Tool,
Brainstorm, SAC y Technosafe en el marco del Proyecto Cenit-
HESPERIA; también ha sido financiado por el Ministerio de
Ciencia e Innovación y el fondo europeo FEDER en el marco
del Proyecto TIN2008-02236/TSI.
R EFERENCES
[1] D. Coppersmith, H. Krawczyk and Y. Mansour, The Shrinking Generator.
Proc. of CRYPTO’93. Lecture Notes in Computer Science, Springer
Verlag, Vol. 773, pp. 22-39, 1994.
[2] L. E. Dickson, Linear Groups with an Exposition of the Galois Field
Theory. New York: Dover, 1958, pp. 3-71. An updated reprint can be
found at [Link] wcherowi/courses/finfl[Link]
[3] A. Fúster-Sabater and P. Caballero-Gil, Strategic Attack on the Shrinking
Generator, Theoretical Computer Science, Vol. 409, No. 3, pp. 530-536,
December 2008.
[4] A. Fúster-Sabater and P. Caballero-Gil, Cryptanalytic Attack on Crypto-
graphic Sequence Generators: The Class of Clock-Controlled Shrinking
Generators. Proc. of ICCSA 2008, Part II. Lecture Notes on Computer
Science, Springer-Verlag, Vol. 5073, pp. 668-679, 2008.
[5] S.W. Golomb, Shift Register-Sequences, Aegean Park Press, Laguna Hill,
1982.
[6] G. Gong, Theory and Applications of q-ary Interleaved Sequences, IEEE
Trans. Information Theory, Vol. 41, No. 2, pp. 400-411, 1995.
[7] M. Gomulkiewicz, M. Kutylowski and P. Wlaz, Fault Jumping At-
tacks against Shrinking Generator, Dagstuhl Seminar, 2006, Pro-
ceedings 06111, Complexity of Boolean Functions, available at
[Link]
[8] Y. Hu and G. Xiao, Generalized Self-Shrinking Generator, IEEE Trans.
Inform. Theory, Vol. 50, pp. 714-719, April 2004.
[9] S.M. Jennings, Multiplexed Sequences: Some Properties, in Proc. EURO-
CRYPT’83. Lecture Notes in Computer Science, Springer Verlag, Vol.
149, 1983.
[10] E.L. Key, An Analysis of the Structure and Complexity of Nonlinear
Binary Sequence Generators, IEEE Trans. Informat. Theory, Vol. 22, No.
6, pp. 732-736, 1976.
[11] R. Lidl and H. Niederreiter, Introduction to Finite Fields and Their
Applications, Cambridge, England: Cambridge University Press, 1986.
[12] W. Meier and O. Staffelbach, The Self-Shrinking Generator, in Proc.
EUROCRYPT94. Lecture Notes in Computer Science, Springer Verlag,
Vol. 950, pp. 205-214, 1995.
[13] A.J. Menezes et al., Handbook of Applied Cryptography, New
York:CRC Press, 1997.
[14] M. J. Mihaljevic, A Faster Cryptanalysis of the Self-Shrinking Generator,
in Proc. ACISP96. Lecture Notes in Computer Science, Springer Verlag,
Vol. 1172, pp. 182-189, 1996.
[15] E. Zenner, M. Krause and S. Lucks, Improved cryptanalysis of the
self-shrinking generator, in Proc. ACISP01. Lecture Notes in Computer
Science, Springer Verlag, Vol. 2119, pp. 21-35, 2001.
[16] B. Zhang and D. Feng, New Guess-and-Determine Attack on the
Self-Shrinking Generator, in Proc. ASIACRYPT06. Lecture Notes in
Computer Science, Springer Verlag, Vol. 4284, pp. 54-68, 2006.
23
24
Estudio de las Propiedades de Propagación de la
Divergencia de los Autómatas Celulares Elementales
Ángel Martı́n del Rey Araceli Queiruga Dios Gerardo Rodrı́guez Sánchez
Departamento de Matemática Aplicada Departamento de Matemática Aplicada Departamento de Matemática Aplicada
E.P.S. de Ávila E.T.S.I.I. de Béjar E.P.S. de Zamora
Universidad de Salamanca Universidad de Salamanca Universidad de Salamanca
Email: delrey@[Link] Email: queirugadios@[Link] Email: gerardo@[Link]
Abstract—Como es bien conocido, los autómatas celulares la sección 4. Finalmente, en la sección 5 se presentan las
elementales no cumplen de manera satisfactoria muchas de las conclusiones.
propiedades criptográficas requeridas para su uso directo en
el desarrollo de criptosistemas de clave secreta. Ello es debido II. P RELIMINARES M ATEM ÁTICOS
fundamentalmente a la sencillez de las funciones booleanas en las
que se basan sus reglas de transición local. En el presente trabajo A. Funciones booleanas
se muestra cómo construir a partir de los autómatas celulares
elementales autómatas más complejos mediante la introducción Sea Fn2 el espacio vectorial n-dimensional sobre el cuerpo
del concepto de divergencia del autómata celular elemental. Se de Galois F2 = {0, 1}, y sea {e1 , . . . , en } su base canónica.
estudian además las principales propiedades de propagación de Una función booleana (en n variables) es una aplicación de la
la divergencia. forma f : Fn2 → F2 , siendo BF n el conjunto de las mismas;
n
obsérvese que su cardinal es |BF n | = 22 .
I. I NTRODUCCI ÓN Se denomina peso de Hamming del vector u =
Han sido numerosos los trabajos publicados sobre los usos (u1 , . . . , un ) ∈ Fn2 y se denota por wt (u) al número de sus
criptográficos de los autómatas celulares tanto en la crip- coordenadas no nulas. Por otra parte, el peso de Hamming de
tografı́a de clave secreta como en la criptografı́a de clave la función booleana f ∈ BF n se define como
pública (véase, por ejemplo, [1], [2], [7], [8]). Los autómatas
wt (f ) = |{u ∈ Fn2 tal que f (u)
= 0}| . (1)
celulares (AC para abreviar) están ı́ntimamente relacionados
con las funciones booleanas ya que son dichas funciones las Es más, la distancia de Hamming entre dos funciones
que rigen su evolución cuando el conjunto de estados es F2 . booleanas f, g ∈ BF n se define como d (f, g) = wt (f ⊕ g),
En consecuencia, el estudio de las aplicaciones criptográficas donde (f ⊕ g) (u) = f (u) ⊕ g (u) .
de los AC está muy ligado al estudio de las propiedades La representación más común de las funciones boolenas es
criptográficas de las funciones booleanas que definen sus mediante su Forma Normal Algebraica (FNA), que no es más
funciones de transición local (equilibrio, caracterı́sticas de que su representación polinómica sobre F2 , es decir:
propagación, no linealidad, resistencia, etc.).
Un tipo particularmente interesante de AC son los autómatas f (u1 , . . . , un ) = a0 ⊕ ai1 i2 ...ik ui1 ui2 . . . uik ,
celulares elementales. Se trata de AC cuyo conjunto de estados 1≤k≤n
1≤i1 ,i2 ,...,ik ≤n
es F2 y cuya función de transición local viene definida por una (2)
función booleana de 3 variables. Debido a la simplicidad de donde a0 , ai1 ...ik ∈ F2 . Se llama grado de la FNA al grado
estas funciones, las aplicaciones criptográficas de este tipo de algebraico del polinomio.
AC son limitadas.
Una función vectorial booleana es una aplicación de la
El objetivo principal de este trabajo es la búsqueda de un forma:
método simple que nos permita construir AC más complejos
a partir de los autómatas celulares elementales y que posean F : Fn2 → Fm
2
mejores propiedades de carácter criptográfico. En este sentido u → F (u) = (F1 (u) , . . . , Fm (u)) (3)
se introduce la noción de divergencia de un autómata celular
elemental y se estudian algunas de sus propiedades crip- donde Fi : Fn2 → F2 son funciones booleanas en n variables.
tográficas: el equilibrio y las caracterı́sticas de propagación. La derivada parcial de una función booleana f ∈ BF n con
El resto del trabajo se organiza como sigue: en la sección respecto a la i-ésima variable ui es otra función booleana
2 se introduce la teorı́a básica sobre las funciones booleanas Di f ∈ BF n definida como sigue:
y los autómatas celulares elementales; la divergencia de los
autómatas celulares elementales se define en la sección 3, y Di f : Fn2 → F2
algunas de sus propiedades criptográficas son analizadas en u → Di f (u) = f (u) ⊕ f (u ⊕ ei ) (4)
25
El concepto de derivada parcial se puede extender al Obsérvese que Φ viene definida por la siguiente función
concepto de derivada direccional de la siguiente manera: la vectorial booleana:
derivada direccional de f ∈ BF n con respecto al vector
Φ (u) = (Φ1 (u) , . . . , Φm (u)) , (10)
b ∈ Fn2 es
donde
Db f : Fn2 → F2 (5)
u → Db f (u) = f (u) ⊕ f (u ⊕ b) Φi (u) = f (ui+α1 , . . . , ui+αk ) , 1 ≤ i ≤ m, (11)
Obsérvese que la derivada parcial respecto a la variable ui es una función booleana en k variables.
no es más que la derivada direccional con respecto al vector Un tipo particular y muy interesante de AC lo forman los
ei ∈ Fn2 , esto es Di f = Dei f . Además se verifica el siguiente Autómatas Celulares Elementales (ACE para abreviar). Estos
importante resultado (véase [5]): autómatas poseen vecindades simétricas de radio q = 1, con
3
Teorema 1: Sea f ∈ BF n una función booleana y consid- lo que existen 22 = 256 de los mismos. Cada uno de ellos
eremos 1 ≤ i1 < i2 < . . . < ik ≤ n con k ≤ n, entonces: tiene asociado un número w que se puede calcular como sigue
(véase [10]):
D e i 1 ◦ . . . ◦ D ei k f = Dej1 ⊕...⊕ejl f. (6)
7
1≤l≤k
j1 <...<jl
0≤w= αi · 2i ≤ 255, (12)
j1 ,...,jl ∈{i1 ,...,ik } i=0
26
TABLE I
es E XPRESIONES DE LAS DIVERGENCIAS CUANDO m ES IMPAR
r
Parámetros Divergencia
div (Φ) xti−r . . . , xti+r = a2 ⊕ (a12 ⊕ a23 ) xti+j Clase I
j=−r a2 = 0
0
a12 ⊕ a23 = 0
⊕ a123 xti−r xti+r−1 a123 = 0
⊕ a123 xti−r+1 xti+r Clase II xti−r xti+r−1 ⊕ xti−r+1 xti+r
a2 = 0 L t
r−2
r−2
a12 ⊕ a23 = 0 ⊕ xi+j xti+j+2
⊕ a123 xti+j xti+j+2 . (17) a123 = 1 j=−r
27
TABLE III
C LASIFICACI ÓN DE LOS ACE DE ACUERDO A SU DIVERGENCIA CUANDO B. Propiedades de propagación
m ES IMPAR
En esta sección estudiaremos el Criterio Estricto de Avalan-
Clase ACE cha (Strict Avalanche Criterion en inglés) y su generalización:
Clase I 0,5,10,15,18,23,24,29,66,71,72,77,80,85,90,95,160, el Criterio de Propagación (Propagation Criterion en inglés).
165,170,175,178,183,184,189,226,231,232,237,240,
245,250,255 1) Criterio Estricto de Avalancha: Se dice que una función
Clase II 32,37,42,47,50,55,56,61,98,103,104,109,112,117, booleana satisface el Criterio Estricto de Avalancha (utilizare-
122,127,128,133,138,143,146,151,152,157,194,199, mos su acrónimo en inglés para abreviarlo: SAC) cuando la
200,205,208,213,218,223
Clase III 34,39,40,45,48,53,58,63,96,101,106,111,114,119, salida de la función cambia con una probabilidad de 0.5 siem-
120,125,130,135,136,141,144,149,154,159,192,197, pre que se complemente un sólo bit de la entrada. Este criterio
202,207,210,215,216,221 se puede caracterizar en términos de la derivada booleana
Clase IV 2,7,8,13,16,21,26,31,64,69,74,79,82,87,88,93,162,
167,168,173,176,181,186,191,224,229,234,239,242, como sigue (véase [9]): la función booleana f satisface el
247,248,253 SAC si Dj f es una función equilibrada para toda j. En el
Clase V 33,36,43,46,51,54,57,60,99,102,105,108,113,116, caso de la divergencia, se verifica lo siguiente:
123,126,129,132,139,142,147,150,153,156,195,198,
201,204,209,212,219,222 Si m es par:
Clase VI 1,4,11,14,19,22,25,28,67,70,73,76,81,84,91,94,161, • Las derivadas parciales de las divergencias correspondi-
164,171,174,179,182,185,188,227,230,233,236,241,
244,251,254 entes a las clases I y III no son equilibradas puesto que
Clase VII 3,6,9,12,17,20,27,30,65,68,75,78,83,86,89,92,163, se trata de las funciones booleanas constantes respectiva-
166,169,172,177,180,187,190,225,228,235,238,243, mente:
246,249,252
Clase VIII 35,38,41,44,49,52,59,62,97,100,107,110,115,118,
121,124,131,134,137,140,145,148,155,158,193,196, Dej div (Φ) = 0, (19)
203,206,211,214,217,220
Dej div (Φ) = 1. (20)
Clase ACE
Dej div (Φ) = uj−2 ⊕ uj+2 , (21)
Clase I 0,5,10,15,18,23,24,29,33,36,43,46,51,54,57,60, Dej div (Φ) = 1 ⊕ uj−2 ⊕ uj+2 , (22)
66,71,72,77,80,85,90,95,99,102,105,108,113,116,
123,126,129,132,139,142,147,150,153,156,160,
165,170,175,178,183,184,189,195,198,201,204, respectivamente (los subı́ndices se toman módulo m).
209,212,219,222,226,231,232,237,240,245,250,255 Consecuentemente son equilibradas.
Clase II 1,4,11,14,19,22,25,28,32,37,42,47,50,55,56,61,
67,70,73,76,81,84,91,94,98,103,104,109,112,117, Si m es impar:
122,127,128,133,138,143,146,151,152,157,161,
164,171,174,179,182,185,188,194,199,200,205,
• Las derivadas parciales de las divergencias de las clases
208,213,218,223,227,230,233,236,241,244,251,254 I y V no son equilibradas ya que se trata de la función
Clase III 3,6,9,12,17,20,27,30,34,39,40,45,48,53,58,63, constante nula:
65,68,75,78,83,86,89,92,96,101,106,111,114,119,
120,125,130,135,136,141,144,149,154,159,163, Dej div (Φ) = 0. (23)
166,169,172,177,180,187,190,192,197,202,207,
210,215,216,221,225,228,235,238,243,246,249,252 • Las derivadas parciales de las divergencias de las clases
Clase IV 2,7,8,13,16,21,26,31,35,38,41,44,49,52,59,62,
64,69,74,79,82,87,88,93,97,100,107,110,115,118, III y VII tampoco son balanceadas puesto que se trata
121,124,131,134,137,140,145,148,155,158,162, también de funciones booleanas constantes:
167,168,173,176,181,186,191,193,196,203,206,
211,214,217,220,224,229,234,239,242,247,248,253
Dej div (Φ) = 1, (24)
28
2) Criterio de Propagación: Para asegurar unas buenas Aplicando la recurrencia sabemos que cada sumando de
propiedades de difusión, las funciones booleanas con apli- la forma Dej1 ⊕...⊕e
jl f es una funciónbooleana afı́n no
cación en la criptografı́a deben satisfacer el Criterio de Propa- constante. Además Dei1 ◦ . . . ◦ Deik f = 0 para k >
gación (utilizaremos su acrónimo en inglés, PC -Propagation
2; en consecuencia Dei1 ⊕...⊕eik f es el sumatorio XOR
Criterion- para hacer referencia a él a partir de ahora). Este
de funciones booleanas afines no constantes y , por lo
criterio fue introducido por B. Preneel et al. (véase [6]) y
tanto, es equilibrado y satisface pues el PC(k).
está basado en las propiedades de las derivadas booleanas
que muestran el comportamiento de las funciones estudiadas Un argumento similar prueba que las clases IV y VIII con
cuando algunas variables de la entrada son complementadas. m impar, y la clase IV con m par satisfacen el PC.
Ası́, una función booleana de n variables, f , satisface el PC V. C ONCLUSIONES
con respecto al subconjunto B ⊂ Fn2 si para todo b ∈ B la
derivada direccional Db f es equilibrada. Es más, la función Como es bien sabido, la evolución de los autómatas celu-
booleana f satisface el PC de grado k (f es PC(k)) si dicha lares elementales viene regida, en último extremo, por una
función satisface el PC respecto al siguiente conjunto: función booleana de 3 variables. La simplicidad de estas
funciones es uno de los principales motivos que hacen que
W (k) = {b ∈ Fn2 − {0} tal que wt (b) ≤ k} no se utilicen directamente los ACE en el desarrollo de crip-
tosistemas de clave secreta. No obstante, es posible construir
= ei1 ⊕ . . . ⊕ eij , 1 ≤ i1 < . . . < ij ≤ n, 1 ≤ j ≤ k .
autómatas celulares más complejos a partir de los ACE. En
(27)
este sentido se ha introducido en este trabajo el concepto de
Obsérvese que el SAC no es más que el PC(1). divergencia de un ACE (con un espacio celular formado por
En el caso que nos ocupa en este trabajo, se verifica lo m células), cuya función de transición local viene definida
siguiente: por una función booleana de m variables. De manera más
Las clases I y V cuando m es impar y la clase I cuando concreta, las funciones booleanas que definen las divergencias
es par no satisfacen el PC ya que sus derivadas direccionales son las siguientes:
son la función booleana constante nula.
f (u1 , . . . , um ) = β, (30)
Las clases III y VII cuando m es impar y la clase III cuando
m
m es par tampoco satisfacen el PC ya que las divergencias cor- f (u1 , . . . , um ) = β⊕ ui ui+2 , (31)
respondientes son funciones booleanas afines (no constantes) y i=1
sus derivadas direccionales son funciones booleanas constantes m
(y consiguientemente, no equilibradas). f (u1 , . . . , um ) = β⊕ ui , (32)
Las clases II y VI cuando m es impar, y la clase II cuando i=1
m es par satisfacen el PC, lo cual puede ser demostrado por m
f (u1 , . . . , um ) = β⊕ (ui ⊕ ui ui+2 ) , (33)
recurrencia sobre k:
i=1
• Si k = 1: Dado que las clases II y VI son SAC, entonces
son PC(1). donde los subı́ndices se toman módulo m, y β = 0, 1 para m
• Si k = 2: Teniendo en cuenta el Teorema 1, se verifica: impar, y β = 0 para m par.
Se ha demostrado que las clases de divergencias derivadas
de las funciones booleanas (30) son no equilibradas y no
Dei1 ⊕ei2 f = Dei1 ◦ Dei2 f ⊕ Dei1 f ⊕ Dei2 f
satisfacen los criterios de propagación. Las clases que se
= Dei1 (ui2 −2 ⊕ ui2 +2 ) obtienen de las funciones de la forma (31) son equilibradas
⊕ ui1 −2 ⊕ ui1 +2 ⊕ ui2 −2 ⊕ ui2 +2 (con la excepción que se produce cuando m es múltiplo de
⎧
⎪ 4) y satisfacen también el criterio de propagación. Aunque
⎨1 ⊕ ui1 −4 ⊕ ui1 −2 ⊕ ui1 ⊕ ui1 +2 , si i1 = i2 − 2
las clases cuya función booleana es (32) son equilibradas,
= 1 ⊕ ui1 −2 ⊕ ui1 ⊕ ui1 +2 ⊕ ui1 +4 , si i1 = i2 + 2
⎪
⎩ ellas no satisfacen los criterios de propagación. Finalmente,
ui1 −2 ⊕ ui1 +2 ⊕ ui2 −2 ⊕ ui2 +2 , en otro caso los autómatas celulares definidos por la función booleana (33)
(28)son equilibrados para m = 4, 12, 20, . . . y satisfacen el criterio
para todo 1 ≤ i1 < i2 ≤ n. Entonces Dei1 ⊕ei2 f es una de propagación.
función booleana afı́n no constante y consecuentemente En consecuencia, los ACE equilibrados cuyas divergencias
es equilibrada y es PC(2). son también equilibradas son los siguientes: 27, 30, 39, 45,53,
• Supongamos que la función es PC(k − 1), entonces: 58, 75, 78, 83, 86, 89, 92, 101, 106, 114, 120, 135, 141, 149,
154, 163, 166, 169, 172, 177, 180, 197, 202, 210, 216, 225,
Dei1 ⊕...⊕eik f = Dei1 ◦ . . . ◦ Deik f (29) 228. Obsérvese que todos ellos pertenecen a las clases II y
VII para m impar y a la clase III para m par.
⊕ Dej1 ⊕...⊕ejl f. Además, si m no es múltiplo de 4 los ACE cuyas divergen-
1≤l≤k−1 cias son equilibradas y satisfacen el criterio de propagación
j1 <...<jl
j1 ,...,jl ∈{i1 ,...,ik } son los siguientes: 1, 4, 11, 14, 19, 22, 25, 28, 32, 37, 42, 47,
29
50, 55, 56, 61, 67, 70, 73, 76, 81, 84, 91, 94, 98, 103, 104,
109, 112, 117, 122, 127, 128, 133, 138, 143, 146, 151, 152,
157, 161, 164, 171, 174, 179, 182, 185, 188, 194, 199, 200,
205, 208, 213, 218, 223, 227, 230, 233, 236, 241, 244, 251 y
254.
AGRADECIMIENTOS
Este trabajo ha sido subvencionado por el Ministerio
de Ciencia e Innovación (España) a través del proyecto
MTM2008-02773.
R EFERENCES
[1] R. Alonso-Sanz, L. Bull, “Random number generation by cellular au-
tomata with memory” en Internat. J. Mod. Phys. C vol. 19, no. 2, pp.
351-367, 2008.
[2] P.P. Chaudhuri, D.R. Chowdhury, S. Nandi, [Link], “Additive
Cellular Automata: Theory and Applications, Volume 1”, Wiley-IEEE
Computer Society Press, Los Alamitos, CA, 1997.
[3] T.W. Cusick ,P. Stănică, “Cryptographic Boolean Functions and Applica-
tions”, Academic Press, 2009.
[4] J. Escuadra Burrieza, A. Martı́n del Rey, J.L. Pérez Iglesias, A. Queiruga
Dios, G. Rodrı́guez Sánchez, A. de la Villa Cuenca, “Cryptographic
properties of boolean functions defining elementary cellular automata”,
en Int. J. Comput. Math. (en prensa)
[5] A. Martı́n del Rey, G. Rodrı́guez Sánchez, “Boolean Differential Opera-
tors”, en Inform. Comput. (Enviado).
[6] B. Preneel, W. Van Leekwijck, L. Van Linden, R. Govaerts, J. Vande-
valle, “Propagation characteristic of boolean functions”, en Advances in
Cryptology, Proc. of Eurocrypt’90, Lect. Notes Comput. Sci. vol. 473, pp.
161-173, 1991.
[7] A. Fúster Sabater, “Cellular Automata in Stream Ciphers”, en Commun.
Contemp. Math., vol. 477, no. 1, pp. 1-20, 2009.
[8] P. Sarkar, “A brief history of cellular automata”, en ACM Comput. Surv.,
vol. 32, no. 1, pp. 80-107, 2000.
[9] A.F. Webster, S.E. Tavares, “On the design of S-boxes”, en Advances in
Cryptology, Proc. of Crypto’85, Lect. Notes Comput. Sci., vol. 219, pp.
523-534, 1985.
[10] S. Wolfram, “Cellular Automata and Complexity: Collected Papers”,
Addison-Wesley, 1994.
[11] S. Wolfram, “A New Kind of Science”, Wolfram Media Inc., Champaign,
IL, 2002.
30
1
Abstract—Se describe una familia de generadores pseu- II. FAMILIA DE GENERADORES PSEUDOALEATORIOS
doaleatorios criptográficamente seguros basados en la combi- BASADOS EN LA COMBINACI ÓN DE MAPAS CA ÓTICOS
nación unidireccional de dos o más secuencias, generadas me-
diante mapas caóticos lineales a trozos con coeficientes variables
dinámicamente y rotación de bits variable dinámicamente. Se
describen los conceptos y principios empleados en el diseño de La familia de generadores pseudoaleatorios propuesta se
los mismos. basa en la combinación de las secuencias generadas por varios
generadores pseudoaleatorios básicos, mediante una función
unidireccional. Cada uno de ellos está constituido por un mapa
caótico, criptográficamente seguro por sı́ mismo, que tiene una
I. I NTRODUCCI ÓN entropı́a elevada.
La combinación de varias secuencias mediante la función
Los generadores pseudoaleatorios son fundamentales en
unidireccional tiene dos objetivos. El primero es conseguir
criptologı́a ya que la seguridad de muchos sistemas crip-
aumentar el número de estados del sistema, con el consiguiente
tográficos depende de la generación de secuencias pseu-
aumento del periodo de repetición, de la entropı́a y del número
doaleatorias bien sea en la criptografı́a de clave simétrica para
de claves. El segundo objetivo es el aumento de la seguridad.
cifrado en flujo [1], o en la criptografı́a de clave asimétrica
En efecto, al mezclar varias secuencias de forma que el tamaño
para la generación de claves, vectores de inicialización o
de la palabra de salida sea menor que la suma de los tamaños
números primos. Sin embargo, generar una buena secuencia
de las palabras de entrada, resulta imposible hacer un análisis
de números pseudoaleatorios no es una tarea fácil y sigue
individualizado de las secuencias generadas por cada mapa
siendo un tema importante de investigación en ciencias de la
caótico, dificultando en extremo un ataque criptoanalı́tico.
computación y criptografı́a.
El diseño de generadores pseudoaleatorios fiables sigue Cada mapa tiene un número limitado de estados —y por
siendo un punto crı́tico en criptologı́a. Algunos estándares tanto su perı́odo de repetición también es limitado— en
de facto que se creı́an seguros han fracasado [2], [3], otros función de la longitud de palabra del lenguaje con que se
generadores que sı́ son seguros resultan poco útiles por su programe, que a su vez depende de la longitud de palabra del
lentitud, como el BBS [4]. En 2000 comenzó el proyecto hardware que se utilice. El método de combinación elegido
europeo NESSIE (New European Schemes for Signatures, consiste en la suma módulo 2 bit a bit de los números
Integrity and Encryption) que convocó un concurso, para el generados por cada mapa caótico. El número de mapas debe
diseño de primitivas criptográficas. Lamentablemente, los seis elegirse en dependencia de la aplicación esperada y del número
cifradores en flujo presentados fallaron frente al criptoanálisis. de bits que tengan las palabras del software con que se
En 2004 el proyecto europeo eSTREAM convocó el concurso programe; dos configuraciones tı́picas equivalentes serı́an la
para seleccionar un estándar de cifrador en flujo. Como resul- combinación de dos mapas caóticos programados con 64 bits
tado, en 2008 se seleccionaron siete finalistas del concurso (4 o de cuatro mapas caóticos programados con 32 bits.
en software y 3 en hardware) pero actualmente aún no se ha Se ha utilizado la mezcla de operaciones aritméticas y
podido decidir cuál de ellos merece ser un estándar. operaciones orientadas a bit, porque ello sirve para evitar
El vı́nculo entre la criptografı́a y los sistemas caóticos está los ataques puramente algebraicos y los ataques puramente
siendo objeto de un intenso estudio. Muchos investigadores orientados a bits. El uso de la mezcla de una variedad de
están de acuerdo en que la interacción de estas áreas puede dominios en una forma no lineal y no algebraica, dificulta
ser mutuamente beneficiosa. Muchas herramientas de análisis en extremo la posibilidad de modelizar el comportamiento
de los sistemas caóticos han servido igualmente como he- matemático del esquema.
rramientas en el criptoanálisis de muchos sistemas y para el Los procesadores modernos —cuando se opera con
estudio y perfeccionamiento del diseño de otros [5], [6], [7]. números de igual cantidad de bits que el tamaño de palabra de
En este trabajo se presenta una familia de generadores la máquina— pueden hacer de forma muy eficaz operaciones
pseudoaleatorios que servirán como secuencia cifrante en un aritméticas módulo el tamaño de la palabra de la máquina,
cifrador en flujo, partiendo de una aplicación caótica. Para operaciones booleanas bit a bit y desplazamientos de bits. To-
evaluar la aleatoriedad de la secuencia pseudoaleatoria, su das estas operaciones se combinan en el generador propuesto,
salida se compara con la salida de una secuencia realmente logrando ası́ una gran complejidad matemática junto con una
aleatoria, mediante pruebas estadı́sticas. elevada eficiencia computacional.
31
2
32
3
xt xt
xt−1 xt−1
Fig. 3. Mapa de retorno la función xt = ((5xt−1 + 1) mod m) ≫ r Fig. 4. Mapa de retorno la función xt = ((5xt−1 + 1) mod m) ≫ rt
para r = 3 y m = 216 . para r0 = 0, rt = rt−1 + 1 y m = 216 .
minista y la función xt = ((at xt−1 +ct ) mod m) ≫ rt , para repetición de la secuencia, se observan ocurrencias de periodos
estos valores de parámetro, es biyectiva y por tanto invertible, comprendidos entre el 20% y el 1600% del periodo sin
siempre será posible calcular el valor de los parámetros a rotación p = 2n . Los periodos más cortos se originan para
partir del estudio de los sucesivos valores de xt , resolviendo los valores de Δr que tienen más factores primos comunes
un sencillo sistema de ecuaciones lineales. Por ello la mejora con n.
de la seguridad es limitada. La función F (x) = ((at xt−1 + ct ) mod m) ≫ rt , para
3) Supuesto con rotación constante: Una alternativa dife- Δr
= 0 no es inyectiva ni sobreyectiva, ya que a cada
rente consiste en aplicar una rotación al mapa lineal a trozos. elemento del conjunto de llegada le puede corresponder más
La rotación es una operación que se hace de forma eficiente de un elemento del conjunto de partida.
tanto en software como en hardware, pero que es no lineal 5) Supuesto con rotación dinámica y variación dinámica
y resulta compleja de modelizar algebraicamente, ası́ se tiene de coeficientes: Finalmente, en la versión completa del MLT-
que su expresión algebraica es: CDRD se consigue la entropı́a óptima combinando todos los
mecanismos anteriormente descritos.
x ≫ r = x/2r + (x 2n−r ) mod 2n .
La Fig. 5 ilustra el mapa de retorno para los valores de
En la Fig. 3 se ilustra el mapa de retorno de la función parámetro: a0 = 5, c0 = 1, r0 = 0, Δa = 4 × 3, Δc = 4 × 1,
para los valores de parámetro Δa = Δc = Δr = 0, a0 = 5, Δr = 3 y n = 16. Nótese que el mapa de retorno contiene
c0 = 1 y n = 16, valores que sólo difieren de los del supuesto muchos más puntos que cualquiera de los sistemas anteriores,
primero en que ahora hay una rotación fija r0 = 3. debido a que el perı́odo es mucho más largo y a una mayor
Se puede comprobar que cada uno de los tramos a0 del entropı́a.
diente de sierra de la Fig. 1 se ha desdoblado en 2r tramos Los valores de los coeficientes han de cumplir las siguien-
paralelos con una pendiente 2r veces menor; resultando aún tes condiciones para maximizar el periodo de repetición: a0
posible deducir el valor de los parámetros mediante la inspec- mod 4 = c0 mod 2 = 1, Δa mod 4 = Δc mod 2 = 0, tal
ción del mapa de retorno. como se demuestra en [8]§[Link], Teo. A, cuando se estudia
La función F (x) = ((at xt−1 + ct ) mod m) ≫ rt , sigue el generador lineal congruencial. Nótese que estas condiciones
siendo biyectiva; pero la novedad importante es que el periodo han de cumplirse aunque el valor de los parámetros varı́e
de repetición de la secuencia generada es imprevisible y dinámicamente.
depende de los valores de los parámetros y de la rotación. Los valores r0 y Δr han de elegirse de tal forma que se
Experimentalmente se han encontrado periodos comprendidos maximice el periodo de repetición de la sucesión de los valores
entre el 1% y el 80% del periodo sin rotación p = 2n . El efecto de la rotación, para conseguir el máximo de entropı́a; lo que
es que se ha producido un avance hacia la impredecibilidad conduce a que Δr sea relativamente primo con n; r0 puede
de la secuencia, al precio de una reducción del periodo. ser cualquier valor 0 ≤ r0 < n.
4) Supuesto con rotación dinámica: Otra mejora de la En la Fig. 5 se ha representado un número de puntos
entropı́a consiste en modificar el caso anterior variando N = 4m = 218 de la órbita del generador. Naturalmente,
cı́clicamente el valor de la rotación. si se siguiesen representando más puntos se rellenarı́a toda
En la Fig. 4 se ilustra un caso igual al anterior con la sola la superficie del mapa de retorno, es decir que el mapa es
diferencia de que ahora se hace r0 = 0 y Δr = 1. Se puede completamente uniforme. Este hecho no ocurrı́a en ninguno de
observar que el mapa de retorno es extremadamente complejo, los supuestos anteriores ya que cuando los puntos se agrupaban
aunque aún se puede intentar alguna estimación del valor de en rectas era evidente que la uniformidad era inexistente. En
los parámetros. el caso (aparentemente mejor) de la Fig. 2, la uniformidad
El resultado importante es que no sólo ha aumentado la es limitada ya que si se dibujase más de un periodo los
confusión del mapa de retorno, sino también el periodo de puntos de los periodos sucesivos caerı́an sobre los dibujados
33
4
B. Coeficiente de Lyapunov
anteriormente (el periodo de la órbita era p = m = 2 ). 16 Para que exista caos en un sistema determinı́stico debe
En la versión completa con n = 16 bits hemos observado haber dependencia sensible a las condiciones iniciales. Ello
ocurrencias de periodos comprendidos entre 132 y 66000 significa que las órbitas de dos puntos iniciales próximos
veces la longitud del periodo sin rotación p = 2n , para divergerán exponencialmente. Siguiendo a Moon [12], si d0
diferentes valores de los parámetros, manteniéndose estas es una medida de la distancia inicial entre dos órbitas, y dk
proporciones cuando se codifica con mayor cantidad de bits. es una medida de la distancia entre las mismas órbitas al cabo
Es decir, que se consiguen perı́odos notablemente más largos de k iteraciones, se define,
que los esperables con el sencillo generador del supuesto dk 1 dk
primero. = 2Λk , Λ = log10 ,
d0 k d0
La función F (x) = ((at xt−1 + ct ) mod m) ≫ rt , para siendo Λ el exponente de Lyapunov correspondiente a k
Δr
= 0 no es inyectiva ni sobreyectiva ya que a cada elemento iteraciones. La base sobre la que se aplica el exponente puede
del conjunto de llegada le puede corresponder más de un elegirse según convenga. Se ha tomado la base 10 porque se
elemento del conjunto de partida. El número M de elementos trabaja con números enteros.
diferentes entre sı́ del conjunto de llegada obedece a la fórmula El exponente de Lyapunov sirve para medir el caos de un
del problema del cumpleaños: sistema. Si Λ = 0, la distancia se mantiene y no se puede
% &N −1 afirmar que exista caos. Si Λ < 0, la distancia disminuye, el
m−1
M =m , (2) sistema converge y no es en absoluto caótico. Si Λ > 0, la
m
distancia aumenta, hay dependencia sensible a las condiciones
siendo N el número de muestras generadas. Para una precisión iniciales, se produce una divergencia exponencial de la órbita
n = 16 bits, el número máximo de muestras diferentes es y ésta es tanto más caótica cuanto mayor sea el valor de Λ.
m = 216 . Si se prueban exactamente los m valores posibles En la mayorı́a de los problemas fı́sicos la órbita está acotada
del conjunto de partida, sólo aparece un 63, 22% de valores y, por tanto, dk no tiende a infinito al aumentar el número
diferentes del conjunto de llegada, es decir el 36, 78% de los de iteraciones. La divergencia de las órbitas debe entenderse
elementos de llegada están repetidos. Por tanto, no es posible sólo como localmente exponencial; por ello, se han calculado
invertir la función, ya que aproximadamente un tercio de los sucesivamente los exponentes de Lyapunov cada n iteraciones
elementos del conjunto de llegada tiene más de una preimagen. (que serı́a el periodo de las rotaciones) y se ha tomado la
Las muestras generadas por el mapa xt = ((at xt−1 + ct ) media al cabo de un número K de iteraciones suficientemente
mod m) ≫ rt , también están de acuerdo con la Ec. 2; es grande
1
decir, para un número de muestras generadas igual a N = K
dn
216 , las muestras diferentes son M = 0, 63 N , para N = 217 Λ = lim log10 k ,
K→∞ K d0k
las muestras diferentes son M = 0, 86 N , para N = 218 las k=1
muestras diferentes son M = 0, 98 N y para para N = 219 donde d0k y dnk son las distancias inicial y final en la iteración
las muestras diferentes son M = N . k.
Este comportamiento estadı́stico es exactamente igual al En la Fig. 6 se ilustra la variación del exponente de
que se podrı́a esperar de una fuente de números totalmente Lyapunov en función los valores posibles de a0 , para el mismo
aleatoria, lo que confirma la perfecta pseudoaleatoriedad de la ejemplo del supuesto quinto (para su cálculo se ha tomado
secuencia generada. K = n). La media de los valores de los coeficientes de
Las secuencias de números generados por el MLT-CDRD, Lyapunov alcanza el valor 0, 2605, para todos los valores
(en su versión con n = 64 bits) pasan con éxito todas las de a0 que cumplen, a0 mod 4 = 1. Nótese que todos los
pruebas de la baterı́a de tests de aleatoriedad del American exponentes están agrupados en una estrecha franja de valores,
34
5
a0
!!!UW !!!U
W !!!V
W !!!VW
Fig. 6. Exponentes de Lyapunov en función de a0 de la versión completa
del MLT-CDRD.
{[t} {['t} {\'t} {\t}
de los mapas caóticos y las semillas x0 e y0 y los valores IV. C ONCLUSI ÓN
iniciales de los contadores pueden también formar parte de Se ha descrito el diseño de una familia de generadores
la clave o bien ser conocidos. Debido a las limitaciones pseudoaleatorios criptográficamente seguros basados en la
impuestas en el supuesto quinto, el número de bits con que se combinación unidireccional de dos o más secuencias, gene-
codifican los coeficientes es: n − 2 bits para a0 , b0 , Δa, Δb; radas mediante mapas caóticos lineales a trozos con coefi-
n− 1 bits para c0 , d0 , Δc, Δd; (log2 n)− 1 bits para Δr y Δs; cientes variables dinámicamente y rotación de bits variable
y log2 n bits para r0 y s0 . Si se trabaja con palabras de 64 dinámicamente. El generador es impredecible, de periodo de
bits, el número total de bits de clave serı́a 4 × 62 + 4 × 63 + repetición mı́nimo garantizado, y satisface los test de aleato-
2 × 5 + 2 × 6 = 522. Ahora bien, dado que los coeficientes riedad actualmente más exigentes. La velocidad de generación
utilizados por un MLT-CDRD no deberı́an repetirse en el otro alcanzada es de un bit por ciclo de reloj en un PC con
MLT-CDRD (para generar secuencias radicálmente diferentes procesador Intel y SO Windows32.
en cada uno), se puede considerar que el número total efectivo La caracterı́stica destacada es la combinación de opera-
de bits de los coeficientes ha de reducirse a unos 521. Si se ciones algebraicas con operaciones booleanas y desplazamien-
suman los bits de las semillas (haciendo conocido los valores tos circulares, cuya asociación maximiza la seguridad y la
iniciales de los contadores) el número final de bits de la clave entropı́a del sistema.
serı́a 649 y el número final de claves 2649 .
1) Seguridad: La forma evidente de atacar el sistema, AGRADECIMIENTOS
cuando se conoce la secuencia de números de salida y el estado
de los contadores, es la prueba exhaustiva de claves; pero dada Los autores agradecen su ayuda al Ministerio de Educación
su cantidad la operación es prohibitiva. Existe la posibilidad y Ciencia proyectos CUCO MTM(2008-02194) y TEC2009-
de un ataque por encuentro a medio camino; pero ello exigirı́a 13964-C04-02; al CDTI (Ministerio de Industria, Turismo
generar y almacenar un promedio de 2325 conjuntos de al y Comercio) en colaboración con Telefónica I+D, proyecto
menos 10 muestras de salida, lo que también es inviable. SEGUR@ (CENIT 2007-2010).
2) Aleatoriedad: Las secuencias de números generados por
el generador combinado también pasan con éxito todas las R EFERENCIAS
pruebas de la baterı́a de tests de aleatoriedad SP 800-22 [10], [1] G. S. Vernam, “Cipher printing telegraph systems for secret wire and
las Diehard de Marsaglia ası́ como los Tuftests de Marsaglia radio telegraphic communications,” J. Am. Inst. [Link]., vol. 45, pp.
109–115, 1926.
y Tsang [11]. [2] A. Klein, “Attacks on the RC4 stream cipher,” Designs, Codes and
3) Velocidad: El precio pagado por la combinación de dos Cryptography, vol. 48, no. 3, pp. 269–286, 2008.
MLT-CDRD —igualmente programada en C99 con enteros [3] I. Goldberg and I. Wagner, “Randomness and the netscape browser,” Dr.
Dobb’s Journal, pp. 66–70, 1996.
con precisión extendida de 64 bits significativos—, ha sido [4] L. Blum, M. Blum, and M. Shub, “A simple unpredictable pseudo-
que el rendimiento se ha reducido a 1 bit por ciclo de reloj random number generator,” SIAM Journal on Computing, vol. 15, pp.
en un ordenador de tipo PC con procesador Intel y SO 364–383, 1986.
[5] G. Alvarez, F. Montoya, M. Romera, and G. Pastor, “Cryptanalysis of a
Windows32. Hay que señalar que esta velocidad está al nivel chaotic encryption system,” Phys. Lett. A, vol. 276, no. 1-4, pp. 191–196,
de la conseguida por los finalistas del concurso eSTREAM. 2000.
[6] G. Alvarez and S. Li, “Some basic cryptographic requirements for chaos-
based cryptosystems,” International Journal of Bifurcation and Chaos,
III. A PLICACIONES vol. 16, no. 8, pp. 2129–2151, August 2006.
[7] A. B. Orue, V. Fernandez, G. Alvarez, G. Pastor, , M. Romera, S. Li, and
La familia de generadores descrita es apropiada para usarse F. Montoya, “Determination of the parameters for a Lorenz system and
en aplicaciones criptográficas especialmente exigentes, como application to break the security of two-channel chaotic cryptosystems,”
la generación de claves y el cifrado en flujo. Phys. Lett. A, vol. 372, pp. 5588–5592, 2008.
[8] D. E. Knuth, The Art of Computer Programming, 3rd ed. Addison-
Dentro del proyecto CENIT SEGUR@ encargado por Wesley, 1997, vol. 2, Seminumerical Algorithms.
Telefónica I+D al CSIC, se han realizado varios desarrollos [9] M. Bellare, S. Goldwasser, and D. Micciancio, “Pseudo-random number
basados en este generador, entre ellos un cifrador en flujo generation within cryptographic algorithms: The dds case,” in Advances
in Cryptology - CRYPT0 ’97, B. Kaliski, Ed. Springer Verlag, 1997,
sı́ncrono, un cifrador en flujo autosincronizante, un generador vol. LNCS 1294, pp. 277–291.
de claves y un generador de MAC’s de archivos. Estos [10] A. Rukhin, J. Soto, J. Nechvatal, M. Smid, E. Barker, S. Leigh,
desarrollos se han aplicado en telefonı́a móvil al cifrado M. Levenson, M. Vangel, D. Banks, A. Heckert, J. Dray, and S. Vo, A
Statistical Test Suite for Random and Pseudorandom Number Generators
de SMS para móviles con SO Windows Mobile 6.0/6.5 y for Cryptographic Applications, revision-1 ed., National Institute of
Symbian y para cifrado de correo electrónico y archivos Standards and Technology (NIST), U.S. Department of Commerce,
en Windows Mobile 6.0/6.5 en móviles 3G; funcionando August 2008.
[11] G. Marsaglia and W. W. Tsang, “Some difficult-to-pass tests of ran-
satisfactoriamente en tiempo real. domness,” Journal of Statistical Software, vol. 7, no. 3, pp. 1–9, Jan
Se ha solicitado la concesión de una patente internacional 2002.
a nombre de Telefónica S.A. [12] F. C. Moon, Chaotic and fractal dynamics, Jhon Wiley and Sons, 1992.
36
On the inadequacy of unimodal maps for
cryptographic applications
David Arroyo ∗ § , José Marı́a Amigó† , Shujun Li‡ and Gonzalo Alvarez∗
∗ Instituto
de Fı́sica Aplicada, Consejo Superior de Investigaciones Cientı́ficas
Email: {[Link], gonzalo}@[Link]
† Centro de Investigación Operativa, Universidad Miguel Hernández
Email: [Link]@[Link]
‡ Department of Computer and Information Science, University of Konstanz
Abstract—The security of chaos-based cryptosystems is closely of the chaotic systems; (ii) the possibility of reconstructing
related to the possibility of recovering control parameters and/or the dynamics of the chaotic system(s) from the information
initial conditions from partial information on the associated leaked, in different cryptanalysis contexts associated to a given
chaotic orbits. In this paper we analyze this possibility for the case
of unimodal maps. We show a meaningful set of contexts where encryption architecture.
the dynamics of unimodal maps can be reconstructed, which The complexity of the underlying chaotic systems depends
means a relevant reduction of the scope where this kind of chaotic on both their dimensionality and their physical implementa-
maps can be applied to build up new encryption procedures. tion. According to Poincaré-Bendixson Theorem [2, p. 101],
chaotic dynamical systems in continuous time have a phase
I. I NTRODUCTION space of dimension greater than 2. Conversely, dynamical
Chaos-based cryptography uses chaotic systems to guide the systems in discrete time can be chaotic even when the phase
encryption procedure inside an encryption architecture. The space is of dimension 1, if the rule of evolution is a non-
examination of the adequacy of a specific chaotic map for invertible function. On the other hand, chaotic systems can
an encryption architecture is a very complex problem, and be implemented in analog (i.e., upon some circuitry) or in
we have the feeling that a general solution to this problem digital form. The first option is generally associated to the
cannot be found. As a matter of fact, even for non-chaos-based use of chaos synchronization techniques [3], [4], which is
encryption systems, it is not possible to establish a general not the case in the second option. The digital alternative
security evaluation procedure. Therefore, the evaluation of the demands an analytical description of the chaotic system. If
security of a cryptosystem is generally an ad hoc procedure, the chaotic system is described in continuous time, then its
and the starting point should be the set of strategies used by analytical definition is a set of differential equations, and the
cryptanalysts. The first step in either the design or the security determination of its temporal evolution requires the use of
analysis of a cryptosystem is to detect the components which numerical methods. The use of such methods informs about
could be examined or studied using previous cryptanalysis an extra burden (in terms of computation) when calculating
techniques. In other words, it is necessary to identify the the orbits of the chaotic systems. Moreover, it incorporates
critical components of a cryptosystem before starting its design an extra problem, since numerical methods are defined in
or cryptanalysis. dependence of configuration parameters. These parameters
In the case of chaos-based cryptosystems, the identification must be selected carefully, otherwise the dynamics of the
of these critical components must focus in a first approxima- resulting orbits can be modified resulting in a non-chaotic
tion on three points: the selection of the encryption architec- behavior (this is the case of the cryptosystem that we have
ture, the selection of the chaotic system(s) and the procedure analyzed in [5]). Contrariwise, chaotic systems in discrete time
that determines the association between the chaotic system(s) are given by a set of difference equations, and their orbits can
and the encryption architecture. With respect to the selection be derived straightforwardly.
of the encryption architecture, if we assume symmetric cryp- With respect to the security of chaos-based cryptosystems,
tography, it is necessary to discern between stream ciphers the synchronization techniques entail some critical problems.
and block ciphers. In [1, Chapters 3 and 4] a detailed analysis The conditions required for the synchronization of different
of various attacks on conventional stream and block ciphers chaotic systems are too demanding and amount to weakening
can be found. For chaos-based cryptography, it is natural that the security requirements of an encryption procedure. Cer-
those attacks should anyway be considered, by considering tainly, if synchronization is used as the bearer of an encryption
that now the cryptosystems under study are driven by chaos. architecture, then the chaotic systems at both sides will work
Concerning the selection of the chaotic system(s), we have using a subset of the control parameters space. Assuming that
to examine thoroughly two critical aspects: (i) the complexity the control parameters are the key or part of the key of a
37
chaos-based cryptosystem, the matching sensitivity leads to a defined the backward orbits in a similar way. In this paper
narrowing of the key space, thus lessening the computational the focus is a specific class of maps, namely, the unimodal
complexity of a brute force attack [6]–[17]. As a result, chaotic maps, which are denoted by F. A map fλ : U → U , where
systems in discrete time (also known as chaotic maps) are U = [a, b] ⊂ R, is unimodal if it is continuous, has a single
better choices when designing new encryption procedures, turning point (usually called the critical point) xc in U, and
since they possess less computational complexity and can be is monotonically increasing (or decreasing) on the left side of
used to construct cryptosystems without synchronization. xc and decreasing (or increasing) on the right side.
Having as aim the concretion of efficient (and secure) chaos- Two different situations are considered in this paper:
based cryptosystems, it seems that the best option is to select 1) The control parameter determines the maximum value
the simplest chaotic maps. This being the case, the logistic of the map, being the critical point independent of the
map in particular, and unimodal maps in general have been control parameter. In this case, the parametric function
broadly used in the context of chaos-based cryptography [18]– fλ is given by
[36]. Nevertheless, we point out that unimodal maps cannot fλ (x) = λF (x), (3)
be applied to cryptography straightforwardly. Indeed, it is
necessary to examine their potentiality to build up secure cryp- where F ∈ F and F (xc ) = Fmax . The subclass of maps
tosystems. This analysis is performed through the evaluation fλ ∈ F complying with this description will be denoted
of chaotic orbits as the kernel of confusion and diffusion of by F1 .
the encryption procedure. In this regard a quantification of the As representatives of the map class F1 we consider the
level of “chaoticity” is required, and we also need to identify following three maps: a) the logistic map, defined by the
those situations enabling the estimation of control parameters rule of evolution
and/or initial conditions from observed information about the xn+1 = fλ (xn ) = λ · xn · (1 − xn )
orbits.
λ ∈ [0, 4], U = [0, 1] (4)
The rest of the paper is organized towards the above-
described goals as follows. First, we introduce the basic b) the Mandelbrot map, given by
notations used in the following sections. In Sec. III the
potentiality of achieving information diffusion by concealing xn+1 = fλ (xn ) = x2n + λ,
initial conditions of unimodal maps is studied. The analysis of λ ∈ [−2, 0.25], U = [−2, 2] (5)
the potentiality for information diffusion also requires to study
and c) the (symmetric) tent map, whose difference
the dependency of the orbits on control parameters, which is
equation is
discussed in Sec. IV. Furthermore, the information confusion )
property is studied in Sec. V by means of different measures of λ · xn , if 0 ≤ xn < 1/2,
xn+1 = fλ (xn ) =
entropy for unimodal maps. Finally, the ergodicity of unimodal λ · (1 − xn ), if 1/2 ≤ xn ≤ 1,
maps is analyzed in Sec. VI, which leads to the final comments (6)
and conclusions in the last section. with λ ∈ [1, 2], and U = [0, 1]. Strictly speaking,
the Mandelbrot map is not included in the map class
II. M ATHEMATICAL DEFINITION OF THE SCOPE UNDER F. Nevertheless, the Mandelbrot map is topological
CONSIDERATION conjugate with the logistic map [37, p. 529], which
Since we are mainly interested in families of (unimodal) implies their equivalency by means of their dynamics.
maps, we define an m-dimensional discrete-time dynamical 2) The critical point is given as a function of the control
system as a triple (Λ, U, f ), where Λ ⊂ Rd is the set of parameter, i.e., xc = f (λ). This leads to a new subclass
parameters, U ⊂ Rm is the state space, and f : Λ × U → U of maps F2 .
is the map that updates the states x ∈ U according to the In this paper we consider the skew (full) tent map as a
rule x → f (λ, x). Since the parameter λ is held fixed when representative of the map class F2 . This map is defined as
studying the dynamical aspects, the notation f (λ, x) ≡ fλ (x) )
xn /λ, if 0 ≤ xn < λ,
will be used. Hence, the rule that transforms an state xn ∈ U xn+1 = fλ (xn ) =
(1 − xn )/(1 − λ), if λ ≤ xn ≤ 1,
into an state xn+1 ∈ U will be written as the difference (7)
equation xn+1 = fλ (xn ). Accordingly, the forward orbit with λ ∈ (0, 1), and U = [0, 1].
generated from an initial condition x0 ∈ U is
' ( III. M EASURING THE SENSITIVITY TO INITIAL
(0) (1) (i)
γf+λ (x0 ) = fλ (x0 ), fλ (x0 ), . . . , fλ (x0 ), . . . , (1) CONDITIONS
38
0.7 of statistical distance. Here, we give an example based on
the Wootters’ distance
' [43]. Let us consider
( two probability
0.6 (i)
distributions Pi = pj , j = 1, . . . , N with i = 1, 2. The
Wootters’ statistical distance is given by
Lyapunov exponent
0.5
⎛ ⎞
N *
0.4
DW (P1 , P2 ) = cos−1 ⎝ pj · pj ⎠ .
(1) (2)
(8)
0.3 j=1
39
1.6
1.4
1.5
1.2
1 1
0.8
0.5
0.6
0 0.4
1 0.2
x0 1
x0
0.5
0.5
0 0
1 1.2 1.4 λ 1.6 1.8 2 1 1.2 1.4 λ 1.6 1.8 2
(a) (b)
Fig. 2. Wootters’ distance of the tent map with respect to the tent map. The length of the binary sequences is M = 104 , whereas the words are of width
w = 10.
[49, Sec. 2.4] we show a set of measures of entropy, and we orbits show peaks located at different images of the critical
analyze unimodal maps by means of those measures. In that point xc [52]. This means a leak of information about λ
work we show that some measures of entropy show a 1-to-1 that can be used for its estimation, which implies a serious
or 2-to-1 relationship with respect to the control parameter, security flaw in the context of chaos-based cryptosystems with
which could represent a security flaw in the context of chaos- ciphertext obtained by sampling chaotic orbits [53], [54]. A
based cryptography. way to avoid this critical context is to select chaotic maps with
a fixed range for chaotic orbits, which is the case of the skew
VI. A NALYSIS OF ERGODICITY tent map.
In this section we point out several different critical contexts The third critical context is derived from the study of
of chaos-based cryptography where the ergodic behavior of ergodicity by means of order patterns. Suppose that the state
unimodal maps causes security problems. space U is endowed with a total order <. Then, the elements
The first critical context is given by the application of of the orbits γf+λ (x0 ) can be arranged from the “smallest”
unimodal maps to the design of searching-based chaotic to the “largest” according to the relation <. We say that
cryptosystems. The efficiency of searching-based chaotic cryp- x ∈ U defines the order ν-pattern π = [π0 , π1 , . . . , πν−1 ]
π
tosystems is critically dependent on the invariant probability if fλπ0 (x) < fλπ1 (x) < . . . < fλ ν−1 (x). We also say that x
density function (PDF) of the orbits of the selected chaotic is of type π. Observe that [π0 , π1 , . . . , πν−1 ] is a permutation
map. The orbits of maps, like the logistic map, the Mandelbrot of the numbers {0, 1, ..., ν − 1}. Order patterns can be used
map, and the tent map, possess a non-uniform PDF, which to detect determinism [55] and, consequently, to distinguish
implies an important increment of the encryption/decryption random systems from chaotic systems. This being the case,
time. Furthermore, the shape of the PDF of these maps the isomorphism between the symbolic dynamics of a chaotic
depends on the control parameter(s). In some cryptosystems, map and a random process does not mean an equivalence by
as the one described in [36], the diffusion property is com- means of order patterns. Actually, there always exist order ν-
promised by the dependency of the PDF on the control patterns with sufficiently large ν that are not realized in any
parameter(s). In this sense, we think that the best alternative orbit of f ∈ F [56]. In Fig. 3 the allowed order-4 patterns
is the skew tent map, which is a robust chaotic system, i.e., for the logistic map with λ = 4 are shown. For this value of
which has a uniform PDF for all the values of the control the control parameter there exist twelve allowed order patterns,
parameter. Nevertheless, schemes like the one in [36] demand which means a divergence from the twenty-four order patterns
not only a uniform PDF, but also a high LE. of a random system.
The second critical context is the one drawn by encryption Another important application of order patterns is parameter
architectures where the ciphertext is obtained by sampling estimation [57]. In general, if fλ is a family of self-maps of
chaotic orbits [26], [50]. In this setting, maps such as the the closed interval U ⊂ R parameterized by λ ∈ Λ ⊂ R (as it
logistic map, the Mandelbrot map, and the tent map should not occurs for fλ ∈ F1 , F2 ), and the set Pπ is defined as
be used. Indeed, after a transient time all the values derived Pπ = {x ∈ U : x is of type π} , (10)
from the iteration of those maps are inside the interval defined
by [fλ (fλ (xc )), fλ (xc )] [51], and the histograms of the chaotic where π is an order ν−pattern, then Pπ depends on fλ and,
40
[0,1,2,3] [0,3,1,2] [2,3,0,1] [1,3,2,0]
[0,1,3,2] [0,2,1,3] [2,0,3,1] [1,2,3,0]
[0,3,1,2] [2,0,3,1] [2,0,1,3] [1,2,0,3]
1 ?? ? ? ?
?? [3,0,1,2]
? ?? ? ?
??
[3,1,0,2]
? [1,2,3,0] sequence was derived from the skew tent map, then the method
f(2)(x)
described in [57] can be used to first determine the order
0.9
patterns and second to estimate the control parameter.
0.8
VII. C ONCLUSION
0.7 (1)
f(0)(x) f (x)
According to the different analysis shown in this paper,
0.6 we conclude that unimodal maps possess a large set of
vulnerabilities when considering their applications to chaos-
f (x)
0.5
(k)
λ
41
[15] A. B. Orúe, G. Alvarez, D. Arroyo, J. Nunez, F. Montoya, Determinacin [43] A. P. Majtey, P. W. Lamberti, M. T. Martin, A. Plastino, Wootters’
del valor de los parmetros del sistema de Lorenz y aplicacin al distance revisited: a new distinguishability criterium, Eur. Phys. J. D
criptoanlisis de criptosistemas caticos, in: NoLineal 2007, 2007, p. 85. 32 (2005) 413–419.
[16] A. Orúe, V. Fernandez, G. Alvarez, G. Pastor, M. Romera, F. Montoya, [44] D. Arroyo, G. Alvarez, J. M. Amigó, S. Li, Cryptanalysis of a family of
Determination of the parameters for a Lorenz system and application to self-synchronizing chaotic stream ciphers, Communications in Nonlinear
break the security of two-channel chaotic cryptosystems, Physics Letters Science and Numerical Simulation, Accepted April 23.
A 372 (34) (2008) 5588–5592. [45] N. Metropolis, M. Stein, P. Stein, On the limit sets for transformations
[17] A. Orúe, V. Fernandez, G. Alvarez, G. Pastor, M. Romera, F. Montoya, on the unit interval, Journal of Combinatorial Theory (A) 15 (1973)
S. Li, Breaking a SC-CNN-based chaotic masking secure communica- 25–44.
tion system, International Journal of Bifurcation and Chaos 19 (4) (2009) [46] G. Alvarez, F. Montoya, M. Romera, G. Pastor, Cryptanalysis of an
1329–1338. ergodic chaotic cipher, Physics Letters A 311 (2003) 172–179.
[18] M. S. Baptista, Cryptography with chaos, Phys. Lett. A 240 (1-2) (1998) [47] X. Wu, H. Hu, B. Zhang, Parameter estimation only from the symbolic
50–54. sequences generated by chaos system, Chaos, solitons and Fractals 22
[19] L. Kocarev, G. Jakimoski, Logistic map as a block encryption algorithm, (2004) 359–366.
Physics Letters A 289 (2001) 199–206. [48] D. Arroyo, G. Alvarez, S. Li, C. Li, V. Fernandez, Cryptanalysis of a
[20] G. Jakimoski, L. Kocarev, Chaos and Cryptography: Block Encryption new chaotic cryptosystem based on ergodicity, International Journal of
Ciphers Based on Chaotic Maps, IEEE Transactions on Circuits and Modern Physics B 23 (5) (2009) 651–659.
Systems-I: Fundamental Theory and Applications 48 (2) (2001) 163– [49] D. Arroyo, Framework for the analysis and design of encryption strate-
169. gies based on discrete-time chaotic dynamical systems, Ph.D. thesis,
ETSIA of the Polytechnic University of Madrid, Madrid, Spain, avalaible
[21] W. Wong, L. Lee, K. Wong, A modified chaotic cryptographic method,
online at [Link]
Comput. Phys. Comm. 138 (2001) 234–236.
(July 2009).
[22] K. W. Wong, A fast chaotic cryptographic scheme with dynamic look-up [50] E. Alvarez, A. Fernández, P. Garcı́a, J. Jiménez, A. Marcano, New
table, Physics Letters A 298 (2002) 238–242. approach to chaotic encryption, Physics Letters A 263 (1999) 373–375.
[23] N. K. Pareek, V. Patidar, K. Sud, Image encryption using chaotic logistic [51] J. Guckenheimer, Sensitive dependence to initial conditions for one
map, Image and Vision Computing 24 (9) (2006) 926–934. dimensional maps, Communications in Mathematical Physics 70 (2)
[24] J. Wei, X. Liao, K. Wong, T. Zhou, Y. Deng, Analysis and improvement (1979) 133–160.
for the performance of Baptista’s cryptographic scheme, Physics Letters [52] R. V. Jensen, C. R. Myers, Images of the critical point of nonlinear
A 354 (2006) 101–109. maps, Physical Review A 32 (2) (1985) 1222–1224.
[25] J. Wei, X. Liao, K. Wong, T. Xiang, A new chaotic cryptosystem, Chaos, [53] G. Alvarez, F. Montoya, M. Romera, G. Pastor, Cryptanalysis of a
Solitons and Fractals 30 (2006) 1143–1152. chaotic encryption system, Physics Letters A 276 (2000) 191–196.
[26] A. N. Pisarchik, N. J. Flores-Carmona, M. Carpio-Valadez, Encryption [54] D. Arroyo, R. Rhouma, G. Alvarez, S. Li, V. Fernandez, On the security
and decryption of images with chaotic map lattices, Chaos 16 (3) (2006) of a new image encryption scheme based on chaotic map lattices, Chaos:
art. no. 033118. An Interdisciplinary Journal of Nonlinear Science 18 (2008) 033112, 7
[27] T. Xiang, X. Liao, G. Tang, Y. Chen, K. wo Wong, A novel block pages.
cryptosystem based on iterating a chaotic map, Physics Letters A 349 [55] J. M. Amigó, L. Kocarev, J. Szczepanski, Order patterns and chaos,
(2006) 109–115. Physics Letters, Section A: General, Atomic and Solid State Physics
[28] T. Gao, Q. Gu, Z. Chen, A new image encryption algorithm based on 355 (1) (2006) 27–31.
hyer-chaos, Physics Letters A 372 (4) (2008) 394–400. [56] J. M. Amigó, S. Elizalde, M. B. Kennel, Forbidden patterns and shift
[29] Y. Wang, X. Liao, T. Xiang, K.-W. Wong, D. Yang, Cryptanalysis and systems, Journal of Combinatorial Theory, Series A 115 (2008) 485–
improvement on a block cryptosystem based on iteration a chaotic map, 504.
Physics Letters A 363 (2007) 277–281. [57] D. Arroyo, G. Alvarez, J. M. Amigó, Estimation of the control parameter
[30] B. W.-K. Ling, C. Y.-F. Ho, P. K.-S. Tam, Chaotic filter bank for from symbolic sequences: Unimodal maps with variable critical point,
computer cryptography, Chaos, Solitons and Fractals 34 (2007) 817– Chaos: An Interdisciplinary Journal of Nonlinear Science 19 (2009)
824. 023125, 9 pages.
[31] B. Mi, X. Liao, Y. Chen, A novel chaotic encryption scheme based on [58] P. Walters, An Introduction to Ergodic Theory, Vol. 79 of Graduate Texts
arithmetic coding 38 (5) (2008) 1523–1531. in Mathematics, Springer-Verlag, New York, 1982.
[59] L. Billings, E. M. Bollt, Probability density functions of some skew tent
[32] H. Yang, X. Lia, K. wo Wong, W. Zhang, P. Wei, A new cryptosystem
maps, Chaos, solitons and fractals 12 (2) (2001) 365–376.
based on chaotic map and operations algebraic, Chaos, Solitons and
Fractals 40 (5) (2009) 2520–2531.
[33] T. Xiang, S. Wang, H. L, G. Hu, A novel symmetrical cryptosystem
based on discretized two-dimensional chaotic map, Physics Letters A
364 (2007) 252–258.
[34] X. Wang, Q. Yu, A block encryption algorithm based on dynamic
sequences of multiple chaotic systems 14 (2) (2009) 574–581.
[35] A. P. Kurian, S. Puthusserypady, Self-synchronizing chaotic stream
ciphers, Signal Processing 88 (2008) 2442–2452.
[36] A. N. Pisarchik, M. Zanin, Image encryption with chaotically coupled
chaotic maps, Physica D 237 (2008) 2638–2648.
[37] H.-O. Peitgen, H. Jurgens, D. Saupe, Chaos and Fractals, SpringerVerlag,
1992.
[38] C. Abraham, G. Biau, B. Cadre, On Lyapunov exponent and sensitivity,
Journal of Mathematical Analysis and Applications 290 (2004) 395–404.
[39] W. Tucker, D. Wilczak, A rigorous lower bound for the stability regions
of the quadratic map, Physica D: Nonlinear Phenomena 238 (18) (2009)
1923–1936.
[40] S. Banerjee, J. A. Yorke, C. Grebogi, Robust chaos, Physical Review
Letters 80 (1998) 3049–3052.
[41] J. M. Aguirregabiria, Robust chaos with variable Lyapunov exponent in
smooth one-dimensional maps, Chaos, Solitons and Fractals 42 (2009)
2531–2539.
[42] J. M. Amigó, L. Kocarev, J. Szczepanski, On some properties of the
discrete Lyapunov exponent, Physics Letters A (2008) 6265–6268.
42
Cifrado de flujo con autómatas celulares difusos
Francisco José Navarro-Ríos
Computer and Communications Service Center, University of Granada, 18071 Granada, Spain
Email: francisco@[Link]
Resumen—Este trabajo propone, por primera vez en la li- como, por ejemplo, la expansión del fuego en un bosque,
teratura, la utilización del modelo de cálculo teórico conocido y también en aplicaciones para la simulación de sistemas
como “autómatas celulares difusos” para realizar cifrados de artificiales, como, por ejemplo, el desarrollo del tráfico en una
información. Para ello, creamos nuevos operadores difusos, dise-
ñamos nuevas funciones locales de transición para los autómatas, ciudad, y en otras aplicaciones similares, por autores como
desarrollamos un software que haga evolucionar los autómatas, Mingarelli en 2007 [15], Zhang, Li y Zhao en 2007 [16], Maji
que realice cifrados de flujo, que cifre y descifre utilizando una y Chaudhuri en 2007 [17], Mandelas, Hatzichristos y Prastacos
nueva función real con carácter involutivo, y que compruebe la en 2007 [18], Maji en 2008 [19], Basu y Basu en 2008
bondad de este nuevo sistema de cifrado mediante diversos tests [20], Yacoubi y Mingarelli en 2008 [21], etc. Sin embargo,
de pseudoaleatoriedad sobre las secuencias cifrantes generadas
con las evoluciones de los autómatas, y sobre los criptogramas la aplicación del modelo difuso al ámbito del desarrollo de
obtenidos, y mediante análisis de la correlación entre textos en protocolos criptográficos es una cuestión aún no tratada en la
claro y sus criptogramas. comunidad científica.
I. I NTRODUCCIÓN II. D EFINICIÓN DE NUEVOS OPERADORES DIFUSOS
El campo del conocimiento que trata la Criptología es Desde que se definieron por primera vez los autómatas
prácticamente tan antiguo como la escritura, y ha evolucionado celulares difusos por W.G. Wee y K.S. Fu, a finales de los
junto con el resto de los desarrollos teóricos y de ingeniería años 60 [14], y hasta nuestros días, con investigadores como
que el hombre ha ido realizando ([1], [2]). La búsqueda de Mingarelli, Zhang, Maji, etc. ([15]–[21]), se han utilizado ha-
sistemas de cifrado criptográficamente seguros es uno de los bitualmente tres operadores difusos en los autómatas celulares:
problemas más interesantes y abiertos que tienen planteados la suma difusa ( ), el producto difuso ( ) y el complemento
conjuntamente las Ciencias de la Computación, el Álgebra difuso ( ), según se definen en el Cuadro I mediante los
y la Matemática Aplicada. El enfoque orientado al modelo operadores aritméticos convencionales de suma ( ), resta ( )
matemático de los autómatas celulares convencionales (no y producto ( ), donde y son números difusos: números
difusos) es relativamente novedoso, y proporciona un espacio reales del intervalo cerrado .
de desarrollo amplio y de múltiples posibilidades.
Cuadro I
Los autómatas celulares son introducidos por John von D EFINICIÓN DE OPERADORES DIFUSOS CON OPERADORES ARITMÉTICOS
Neumann en los años 60 [3], y reciben un gran impulso en los
años 80, cuando Stephen Wolfram los utiliza sistemáticamente Operadores difusos Operadores aritméticos
como modelos representativos de sistemas dinámicos ([4],
[5], [6]). La literatura recoge un autómata celular concreto,
presentado por Stephen Wolfram en 1986 [5], con el cual se
implementa un sistema de cifrado muy simple. Durante los Sin embargo, para nuestros propósitos criptográficos, vamos
años 90 y, hasta ahora, se publican multitud de trabajos que a definir dos nuevos operadores difusos, sobre los números
implementan cifrados basados en autómatas celulares: Howard reales del intervalo abierto : la suma difusa módulo uno
Gutowitz (1993) [7], Nandi, Kar y Chaudhuri (1994) [8], ( ), y el complemento difuso módulo uno ( ), mediante las
Lafe (1996) [9], Sen, Shaw, Chowdhuri, Ganguly y Chaudhuri Funciones (1) y (2), respectivamente:
(2002) [10], Amparo Fúster y Dolores de la Guía (2007) [11],
etc. si
(1)
Por otra parte, la teoría de conjuntos difusos o borrosos se si
introduce en 1965 [12], con el célebre trabajo llamado “Fuzzy
si
Sets”, de Lotfi Zadeh. Los números difusos empiezan a tener (2)
si
importancia con el trabajo de D. Dubois y H. Prade [13], sobre
variables difusas y el manejo de cantidades imprecisas. Los Utilizaremos estos nuevos operadores difusos tanto en el
conjuntos difusos fueron aplicados por primera vez en la teoría diseño de funciones locales de transición para la evolución
de autómatas por W.G. Wee y K.S. Fu, a finales de los años de autómatas, como en el diseño de una función real con
60 [14], dando lugar a los autómatas celulares difusos. carácter involutivo para el cifrado y descifrado de información,
Los autómatas celulares difusos ya han sido utilizados con que tenga un comportamiento similar a la XOR clásica de los
éxito en aplicaciones para la simulación de sistemas naturales, criptosistemas de flujo.
43
III. D ISEÑO DE UNA NUEVA FUNCIÓN REAL INVOLUTIVA
En 1917, J. Mauborgne y G. Vernam inventaron el cifrado
de flujo. Desde entonces, se ha utilizado la función XOR
(la suma binaria módulo dos) como algoritmo de cifrado y
descifrado de información. En los años 90 [8], también se ha
estado usando la función XNOR (su complementaria). Estos
operadores trabajan sobre números binarios, o sea, se aplican
bit a bit sobre la secuencia del mensaje (texto en claro), la
clave (secuencia cifrante) y el criptograma (texto cifrado), y
tienen la característica de ser involutivas.
Los operadores XOR y XNOR funcionan muy bien con
autómatas celulares booleanos [8], pero, en este artículo,
pretendemos trabajar con autómatas celulares difusos, así que
uno de nuestros objetivos es encontrar o diseñar una función Figura 1. Diagrama descriptivo de los procesos de cifrado y de análisis
que se aplique en el intervalo real y que tenga este
comportamiento involutivo:
(3) V. D ISEÑO DE AUTÓMATAS CELULARES DIFUSOS
donde . Finalmente, diseñamos la siguiente Vamos a trabajar con autómatas celulares unidimensionales,
función de cifrado y de descifrado, y comprobamos su buen y con condición de frontera cilíndrica. Para hacer las pruebas
funcionamiento: iniciales de pseudoaleatoriedad y de correlación, en principio
hemos parametrizado una longitud del autómata de 128 celdas,
(4) un tamaño del mensaje de 1000 caracteres (ó 1000 evoluciones
del autómata), y un radio igual a uno para el vecindario, para
donde es cada número difuso del texto en claro, es cada
varias (trece) funciones locales de transición diferentes que
número difuso de la secuencia cifrante, es cada número
hemos diseñado y que exponemos en el Cuadro II, donde ,
difuso del criptograma, es la suma difusa módulo uno,
y son la celda anterior, la celda actual y la celda
y es el complemento difuso módulo uno, definidos en las
siguiente, respectivamente.
Funciones (1) y (2), respectivamente.
IV. D ISEÑO DE UNA FUNCIÓN DE CONVERSIÓN DIFUSA Cuadro II
D ISEÑO DE FUNCIONES LOCALES DE TRANSICIÓN
Los mensajes, las secuencias cifrantes y los criptogramas
van a ser cadenas de números difusos. Para convertir un Función Diseño con operadores difusos
1
texto en claro (formado por caracteres ) en una secuencia 2 0
de números difusos, calculamos el grado de pertenencia de 3 0
cada carácter al conjunto difuso de los 256 caracteres ASCII 4
5 0
mediante la siguiente función que hemos diseñado: 6 0
7
(5) 8 0
9 0
donde es la función que devuelve el valor decimal del código 10
11 0
ASCII del carácter . Los valores que tiene son los números 12 0
naturales que van desde 0 hasta 255. 13 0
De esta forma, adquiere valores de números reales equi-
distantes en el intervalo abierto . Decidimos evitar que Los cuatro operadores que se utilizan en estas funciones lo-
sea 1, porque ese valor no está definido para la función de cales de transición son los cuatro operadores difusos descritos
cifrado descrita en (4). Tampoco vamos a utilizar el 0, ya en el Cuadro I y en la Función (1). El orden de preferencia
que la función de cifrado devuelve el criptograma 0 cuando de los operadores es: primero el complemento ( ), después el
se usa la clave 0 para cifrar el número difuso 0 (clave débil). producto ( ) y, por último, las sumas ( , ). Estas dos sumas
Por otra parte, cuando hayamos realizado el descifrado del tienen la misma preferencia.
criptograma, y queramos obtener el texto en claro original
Observaremos, por ejemplo, la primera de las dos celdas
a partir del texto difuso descifrado, aplicaremos la siguiente
centrales, para la creación de la secuencia cifrante (hay dos
fórmula para calcular el valor decimal del código ASCII de
celdas centrales, puesto que el autómata tiene longitud par).
cada carácter del texto en claro original:
Si no hay presencia de pseudoaleatoriedad en la evolución de
(6) una de las celdas, difícilmente habrá pseudoaleatoriedad en las
demás celdas del autómata, debido a las dependencias.
44
Cuadro III
VI. A NÁLISIS DE ALEATORIEDAD Y DE CORRELACIÓN T ESTS DE ALEATORIEDAD SOBRE LA SECUENCIA CIFRANTE PARA LAS
TRECE FUNCIONES DE TRANSICIÓN DISEÑADAS
Para comprobar la bondad del nuevo criptosistema, vamos
a pasar varios tests de aleatoriedad a las secuencias cifrantes Función Test 1 Test 2 Test 3 Test 5 Test 6
y a los criptogramas obtenidos: 1 1000 2992 8980 1997 2331
2 1000 2992 8980 1997 2331
Test 1. Chi-Cuadrado para muestras del 50 %: 3 1000 3000 8980 1997 2331
[0, 0.5[ y [0.5, 1]. 4 1000 3000 9000 1997 2331
Test 2. Chi-Cuadrado para muestras del 25 %: 5 1000 2992 8980 1997 2331
[0, 0.25[, [0.25, 0.5[, [0.5, 0.75[ y [0.75, 1]. 6 1000 3000 9000 1997 2331
7 0 1000 4000 999 999
Test 3. Chi-Cuadrado para muestras del 10 %: 8 1.6 842 3213 847 810
[0.0, 0.1[, [0.1, 0.2[, [0.2, 0.3[, [0.3, 0.4[, [0.4, 0.5], 9 0.68 870 3483 898 879
[0.5, 0.6[, [0.6, 0.7[, [0.7, 0.8[, [0.8, 0.9[, [0.9, 1.0]. 10 0.58 2.51 4.24 0.60 3.75
11 3.36 7.98 13.26 3.49 7.40
Test 4. Frecuencias de los números difusos y . 12 0.68 1.27 10.74 0.58 4.03
Test 5. Frecuencias de series de dos números difusos: 13 1.44 2.47 5.44 2.67 2.02
, , y .
Test 6. Frecuencias de series de tres números difusos:
, , , , tienden al estado difuso cero en el caso de las tres primeras
, , y . funciones (que operan con el producto difuso) y al estado
En los tres últimos tests, denotamos a los números difuso uno en el caso de las tres funciones siguientes (que
difusos del intervalo [0, 0.5[, y a los números difusos del operan con la suma difusa).
intervalo [0.5, 1] de la secuencia cifrante y de la cifrada. Las siguientes tres funciones de transición (7, 8, y 9)
No vamos a mostrar los resultados del Test 4, porque trabajan con el complemento difuso, y podemos observar, en
coinciden con los del Test 1, puesto que se cumple la igualdad el programa, que producen una secuencia cifrante que alterna
donde se define el cálculo de cada test de aleatoriedad: entre ceros y unos, por eso superan el primer test, pero ninguno
de los demás tests, así que estas funciones no nos sirven.
(7) Las únicas funciones de transición que superan todos los
donde es la longitud de la secuencia cifrante, es la canti- tests de aleatoriedad son precisamente las cuatro últimas
dad esperada, y donde se cumplen las siguientes ecuaciones: del Cuadro II, que trabajan con el nuevo operador difuso
que hemos diseñado en este artículo. Por consiguiente,
(8) acabamos de lograr otro de los objetivos del trabajo: diseñar
alguna función de transición que genere una secuencia cifrante
Por otra parte, para calcular la posible dependencia entre que supere los tests de aleatoriedad. De las cuatro, vamos
textos en claro y sus criptogramas, usaremos el coeficiente de a elegir, por ejemplo, para seguir con la investigación, la
correlación de Spearman ( ). Función 10, que tiene todos los estadísticos por debajo de
cinco. Para asegurarnos más de la bondad de esta función
VII. R ESULTADOS Y DISCUSIÓN de transición, ejecutamos el software varias (dieciséis) veces,
Para probar cada una de las trece funciones locales de utilizando la Función 10 para hacer evolucionar autómatas, que
transición diseñadas, el software (desarrollado en lenguaje se inicializan aleatoriamente en cada ejecución del programa,
C++) va mostrando en la pantalla del ordenador todo el pro- y obtenemos buenos resultados: todos por debajo de cinco para
ceso paso a paso: inicialización pseudoaleatoria del autómata el Test 1, por debajo de ocho para el Test 2, por debajo de
celular difuso (con números reales generados por el programa), veintitrés para el Test 3, por debajo de siete para el Test 5, y
evolución del autómata mil veces, creación de la secuencia por debajo de quince para el Test 6, según el Cuadro IV.
cifrante, y tests de aleatoriedad sobre la secuencia cifrante, con El siguiente paso consiste en utilizar las secuencias cifrantes
los resultados que se muestran en el Cuadro III, redondeados que genera el autómata celular difuso con la nueva función de
a dos decimales. transición que hemos diseñado (la Función 10) para cifrar una
Interesa que los resultados de todos los tests de aleatoriedad batería de textos en claro, a través de la función real involutiva
estén próximos a cero para que haya pseudoaleatoriedad. Para que diseñamos, con la intención de medir la correlación entre
una secuencia cifrante de 1000 números difusos, el valor los mensajes y los criptogramas producidos, y también com-
máximo de cada test es 1000 para el Test 1, 3000 para el probar la aleatoriedad de dichos criptogramas, aplicándoles
Test 2, 9000 para el Test 3, 1998 para el Test 5, y 2331 para los mismos tests de aleatoriedad que usamos anteriormente
el Test 6. para las secuencias cifrantes. Para medir la correlación, hemos
En el Cuadro III, se observa que las seis primeras funciones utilizado el coeficiente de correlación de Spearman ( ), y
de transición no superan ningún test de aleatoriedad, porque hemos seleccionado siete textos en claro diferentes en español
tienen estadísticos muy elevados (igual o por encima de mil). (filtrados y truncados a mil caracteres). Se trata de los primeros
Esto tiene una explicación lógica: si observamos la evolución mil caracteres de los primeros siete capítulos de la tesis
del autómata en el programa, veremos que todas las celdas doctoral del autor de este artículo. El software que hemos
45
Cuadro IV Cuadro VI
T ESTS DE ALEATORIEDAD SOBRE LA SECUENCIA CIFRANTE PARA LA C ORRELACIÓN , Y TESTS DE ALEATORIEDAD SOBRE EL CRIPTOGRAMA ,
F UNCIÓN DE T RANSICIÓN 10 SELECCIONADA PARA EL T EXTO 1, CON LAS NUEVE PRIMERAS FUNCIONES
Ejecución Test 1 Test 2 Test 3 Test 5 Test 6 Función Correlación Test 1 Test 2 Test 3 Test 5 Test 6
1 1.44 2.22 18.36 6.94 14.12 1 –0.980174 996 1782 2747 1993 2315
2 0.78 1.08 7.14 3.60 5.43 2 –0.977292 996 1782 2747 1993 2315
3 0.48 1.27 9.68 1.02 6.58 3 –0.980032 1000 1789 2758 1997 2331
4 0.02 4.4 5.04 0.10 3.17 4 –0.984420 1000 1789 2743 1997 2331
5 0.48 2.42 6.72 0.49 9.37 5 –0.984200 1000 1784 2743 1997 2331
6 4.62 5.79 22.86 6.16 9.85 6 –0.984420 1000 1784 2743 1997 2331
7 0.02 3.34 9.42 0.10 7.35 7 –0.986696 1000 1789 2743 1997 2331
8 0.68 1.14 13.26 0.69 5.38 8 –0.825714 810 1473 2275 1560 1725
9 0.26 0.74 7.74 0.26 7.59 9 –0.848751 872 1604 2426 1687 1906
10 1.94 1.98 16.06 2.67 7.64
11 0.1 2.89 15.38 0.37 4.42
12 0.26 0.54 1.46 0.64 4.47
13 1.16 1.88 8.14 3.05 2.59 Un aspecto fundamental en los cifrados simétricos es la
14 4.62 7.73 16.24 4.37 8.45 longitud de la clave privada. Hasta ahora, hemos estado
15 0.00 1.94 9.12 0.09 2.26
16 0.06 2.78 1.28 3.06 4.42 utilizando 128 números difusos para inicializar los autómatas,
pero debemos investigar si se pueden obtener secuencias
cifrantes pseudoaleatorias a partir de claves de menor tamaño.
desarrollado se encarga de ir contando los caracteres de un
Cuadro VII
texto mayor hasta alcanzar los mil caracteres que tenemos M EDIAS DE LOS TESTS DE ALEATORIEDAD PARA 2000 EJECUCIONES
como parámetro, y también de ir realizando un filtrado para
eliminar caracteres especiales que vayan a causar problemas Clave Secuencia Test 1 Test 2 Test 3 Test 5 Test 6
(debido a que no se corresponden con ningún valor ASCII 128 28000 1.00 3.00 9.01 2.01 6.97
128 18000 1.06 3.10 9.13 2.01 7.19
entre 0 y 255). Los resultados se muestran en el Cuadro V. 128 8000 0.99 2.99 8.93 1.94 6.94
128 1000 1.06 3.04 9.15 2.03 7.13
Cuadro V 64 28000 0.98 2.91 8.94 1.96 6.95
C ORRELACIÓN , Y TESTS DE ALEATORIEDAD SOBRE EL CRIPTOGRAMA , 64 18000 1.02 3.14 9.37 2.03 6.97
PARA SIETE TEXTOS DISTINTOS , CON LA F UNCIÓN DE T RANSICIÓN 10
64 8000 0.98 3.10 9.12 2.00 7.00
64 1000 0.97 2.97 8.83 1.98 6.99
Mensaje Correlación Test 1 Test 2 Test 3 Test 5 Test 6 32 28000 0.93 2.90 8.88 1.89 6.93
Texto 1 –0.020697 7.40 8.70 10.74 8.60 19.22 32 18000 1.03 3.05 9.18 2.05 7.12
Texto 2 –0.020510 1.44 3.48 14.28 1.81 13.02 32 8000 0.99 2.96 8.90 2.00 6.97
Texto 3 –0.036655 0.9 4.94 10.92 2.88 5.81 32 1000 1.02 3.10 9.14 2.01 7.03
Texto 4 –0.036660 0.9 2.98 5.42 0.91 6.96 16 28000 0.98 2.97 8.97 1.97 6.96
Texto 5 –0.030538 0.4 3.99 8.5 6.73 15.18 16 18000 1.04 3.08 9.06 2.00 6.96
Texto 6 –0.000387 0.9 4.97 12.44 1.39 7.30 16 8000 1.04 3.12 9.07 2.08 7.10
Texto 7 0.038301 0.58 4.17 13.18 1.31 6.00 16 1000 1.00 3.01 9.08 1.99 6.91
8 28000 0.99 3.00 8.88 2.02 7.14
Los resultados del Cuadro V son buenos, porque, para todos 8 18000 1.02 2.98 8.99 2.03 7.14
8 8000 1.06 3.15 9.18 2.06 6.94
los textos, el coeficiente de correlación es próximo a cero, y 8 1000 1.00 3.03 9.05 2.01 7.12
todos los tests de aleatoriedad están por debajo de 20, así 7 28000 0.98 2.94 9.03 2.00 6.93
que hemos obtenido otro de los objetivos del trabajo: que no 7 18000 1.01 3.03 9.04 1.99 6.95
hubiera correlación entre mensajes y criptogramas con nuestro 7 8000 0.98 3.04 8.94 2.00 6.97
7 1000 1.00 2.94 8.86 1.98 7.01
nuevo cifrado, y que los criptogramas superen los tests. 6 28000 1.06 3.09 9.07 1052.60 746.74
Finalmente, el software muestra cómo desciframos cada uno 6 18000 1.01 3.03 9.06 664.25 473.66
de los siete criptogramas con la función real involutiva que 6 8000 0.97 2.97 8.95 294.61 213.56
diseñamos y con la misma secuencia cifrante, obteniendo de 6 1000 0.97 2.95 8.85 34.75 30.07
5 28000 0.98 2.94 8.99 2.02 7.00
nuevo los siete textos en claro originales. 5 18000 1.01 2.97 8.85 2.00 7.06
A modo de ejemplo de lo que serían unos malos estadísticos 5 8000 1.00 3.05 9.24 1.93 6.99
en este caso, comprobamos los resultados de cifrar el Texto 5 1000 0.99 3.01 8.99 2.00 7.07
4 28000 1.01 3.08 9.22 520.24 371.89
1 con todas las funciones de transición que desechamos, pero 4 18000 1.04 3.06 9.21 334.53 240.79
hay que tener en cuenta que realmente jamás se debe cifrar 4 8000 1.01 3.03 9.02 150.43 111.03
con este tipo de funciones (cuyas secuencias cifrantes no 4 1000 0.98 2.99 8.99 20.63 19.87
superaron los tests de aleatoriedad), sino que esto es sólo 3 28000 2.06 4.68 10.28 3113.34 2195.32
3 18000 2.06 4.55 10.23 2001.53 1415.05
para observar qué pasaría si lo hiciésemos, y que veamos 3 8000 2.01 4.51 10.17 891.23 633.65
la gran diferencia que hay en los estadísticos: coeficientes 3 1000 2.00 4.50 10.24 114.28 85.53
de correlación próximos a –1 (máximo valor de dependencia 2 28000 1.00 3.11 9.15 1037.07 735.18
negativa), y todos los tests de aleatoriedad por encima de 800, 1 28000 16.08 46.59 136.43 3138.50 2225.31
según se puede observar en el Cuadro VI.
46
Cuadro VIII Cuadro IX
M ÁXIMOS DE LOS TESTS DE ALEATORIEDAD PARA 2000 EJECUCIONES M ÍNIMOS DE LOS TESTS DE ALEATORIEDAD PARA 2000 EJECUCIONES
Clave Secuencia Test 1 Test 2 Test 3 Test 5 Test 6 Clave Secuencia Test 1 Test 2 Test 3 Test 5 Test 6
128 28000 16.22 19.69 27.48 16.78 25.32 128 28000 0 0.01 1.07 0.00 0.62
128 18000 16.81 26.93 30.61 19.33 29.84 128 18000 0 0.01 0.79 0.00 0.53
128 8000 11.40 21.32 35.27 17.91 28.92 128 8000 0 0.01 0.62 0.00 0.42
128 1000 11.24 16.34 30.08 19.47 27.34 128 1000 0 0.01 1.02 0.00 0.14
64 28000 11.85 21.27 31.78 13.78 25.53 64 28000 0 0.01 0.40 0.00 0.26
64 18000 15.02 17.76 31.16 16.92 34.64 64 18000 0 0.00 0.80 0.00 0.78
64 8000 11.70 22.49 31.96 14.66 24.92 64 8000 0 0.01 0.96 0.00 0.61
64 1000 11.66 18.14 28.48 12.70 26.38 64 1000 0 0 1.14 0.00 0.53
32 28000 13.38 17.15 30.62 13.40 25.55 32 28000 0 0.01 0.52 0.00 0.39
32 18000 12.59 16.85 29.24 15.30 27.04 32 18000 0 0.01 0.67 0.00 0.20
32 8000 11.55 20.09 29.79 14.12 30.17 32 8000 0 0.01 0.88 0.01 0.53
32 1000 12.1 20.78 34.68 14.82 25.41 32 1000 0 0.02 0.96 0.00 0.57
16 28000 14.00 18.07 30.85 15.27 29.16 16 28000 0 0.02 0.82 0.00 0.62
16 18000 13.01 17.80 40.13 13.57 24.61 16 18000 0 0.01 0.80 0.00 0.59
16 8000 14.96 24.88 31.76 17.47 23.30 16 8000 0 0.01 1.31 0.00 0.75
16 1000 12.1 21.32 29.46 16.73 26.18 16 1000 0 0.06 1.24 0.00 0.43
8 28000 11.93 17.94 28.99 15.70 33.35 8 28000 0 0.01 0.89 0.00 0.54
8 18000 13.78 15.58 26.73 17.51 28.01 8 18000 0 0.00 1.10 0.00 0.25
8 8000 15.66 23.15 32.82 16.13 27.71 8 8000 0 0.02 0.78 0.00 0.35
8 1000 10 14.90 30.72 14.39 29.45 8 1000 0 0.01 0.98 0.00 0.72
7 28000 13.20 14.18 26.82 13.75 23.50 7 28000 0 0.00 0.39 0.00 0.63
7 18000 13.23 21.53 31.54 13.79 23.76 7 18000 0 0.03 0.90 0.00 0.56
7 8000 14.96 23.81 28.60 15.39 23.87 7 8000 0 0.01 1.03 0.00 0.17
7 1000 10.82 16.49 33.08 15.12 26.66 7 1000 0 0.01 0.54 0.00 0.43
6 28000 15.00 20.15 34.64 3339.05 2312.48 6 28000 0 0.02 0.37 0.01 56.44
6 18000 18.95 23.00 34.75 2201.62 1534.32 6 18000 0 0.03 0.87 0.03 31.78
6 8000 20.40 24.89 42.78 1017.66 728.36 6 8000 0 0.01 0.85 0.04 11.73
6 1000 19.6 19.98 36.26 144.27 121.08 6 1000 0 0.02 1.04 0.00 0.96
5 28000 11.04 15.21 27.91 14.32 31.06 5 28000 0 0.01 0.95 0.00 0.60
5 18000 14.00 15.78 31.19 15.27 24.37 5 18000 0 0.00 0.79 0.00 0.49
5 8000 15.66 19.04 28.89 15.75 30.52 5 8000 0 0.01 0.89 0.00 0.22
5 1000 9.60 19.21 33.72 16.40 28.30 5 1000 0 0.01 1.2 0.00 0.48
4 28000 15.84 21.29 39.62 2918.62 2061.69 4 28000 0 0.02 1.20 0.02 3.65
4 18000 12.48 19.91 31.37 1970.24 1401.25 4 18000 0 0.03 1.17 0.01 1.22
4 8000 14.45 23.51 35.41 860.50 643.23 4 8000 0 0.00 1.01 0.00 1.62
4 1000 14.4 20.79 34.4 137.12 124.68 4 1000 0 0.02 0.7 0.01 0.72
3 28000 26.29 33.73 39.76 3560.70 2577.08 3 28000 0 0.01 0.81 2686.60 1844.76
3 18000 24.64 28.71 42.32 2247.75 1665.27 3 18000 0 0.01 0.60 1718.02 1180.92
3 8000 21.42 27.39 47.12 1066.71 813.25 3 8000 0 0.01 0.49 713.60 472.39
3 1000 24.34 31.78 42.98 189.62 167.92 3 1000 0 0.01 0.58 48.59 32.05
2 28000 12.43 24.96 33.53 3300.77 2470.18 2 28000 0 0.02 0.87 0.05 51.39
1 28000 28000 84000 252000 55997 65331 1 28000 0 0.04 0.66 2803.05 1920.97
47
de la secuencia cifrante, tests de aleatoriedad sobre la se- [18] E.A. Mandelas, T. Hatzichristos, P. Prastacos, “A Fuzzy Cellular Auto-
cuencia cifrante, carga del mensaje (texto en claro), filtro de mata Based Shell for Modeling Urban Growth – A Pilot Application in
Mesogia Area”, Proceedings of the 10th AGILE International Conference
eliminación de caracteres especiales, conversión del mensaje on Geographic Information Science, Aalborg University, Denmark, 2007.
a números difusos, comprobación del carácter involutivo de [19] P. Maji, “On Characterization of Attractor Basins of Fuzzy Multiple
funciones reales, cifrado del mensaje con la secuencia cifrante, Attractor Cellular Automata”, Fundamenta Informaticae, vol. 86, no. 1–
2, pp. 143–168, October 2008.
cálculo de correlación entre mensaje y criptograma, tests de [20] S. Basu, S. Basu, “Different Types of Linear Fuzzy Cellular Automata
aleatoriedad sobre el criptograma, descifrado del criptograma and their Applications”, Fundamenta Informaticae, vol. 87, no. 2, pp.
con la secuencia cifrante, y chequeo de la integridad entre el 185–205, November 2008.
[21] S. Yacoubi, A.B. Mingarelli, “Controlling the Dynamics of the Fuzzy
descifrado y el texto original. Cellular Automaton Rule 90, I.”, Proceedings of the 8th International
Así que hemos comprobado la utilidad de los autómatas Conference on Cellular Automata for Reseach and Industry, Yokohama,
celulares difusos en el cifrado de flujo, y la viabilidad técnica Japan, September 23–26, 2008, Lecture Notes in Computer Science, vol.
5191, pp. 174–183, 2008.
para su integración e implementación en protocolos criptográ-
ficos.
No obstante, deberemos continuar la investigación para
determinar qué ofrece este nuevo cifrado de flujo, frente al
habitual en términos binarios, en cuanto a rapidez, seguridad,
facilidad de implementación software y hardware, longitud
de la clave, mejores prestaciones, posibles problemas o in-
convenientes a la hora de su incorporación masiva al mundo
criptográfico, etc.
R EFERENCIAS
[1] A.J. Menezes, P.C. van Oorschot, S.A. Vanstone, “Handbook of Applied
Cryptography”, CRC Press, 1996.
[2] B. Schneier, “Applied Cryptography”, Second Edition, John Wiley & Sons,
1996.
[3] J. von Neumann, “Theory of Self-reproducing Automata”, Press Urbana,
University of Illinois, 1966.
[4] S. Wolfram, “Cellular Automata”, Los Alamos Science, 9, pp. 2–21, 1983.
[5] S. Wolfram, “Theory and Applications of Cellular Automata”, World
Scientific, 1986.
[6] S. Wolfram, “Cellular Automata and Complexity: Collected Papers”,
Perseus Publishing, 1993.
[7] H. Gutowitz, “A Massively Parallel Cryptosystem Based on Cellular
Automata”, ESPCI, Paris, France, 1993.
[8] S. Nandi, B.K. Kar, P.P. Chaudhuri. “Theory and Applications of Cellular
Automata in Cryptography”, Proceedings of the IEEE Transactions on
Computers, vol. 43, no. 12, pp. 1346–1357, December 1994.
[9] O. Lafe, “Data Compression and Encryption using Cellular Automata
Transforms”, Proceedings of the IEEE International Joint Symposia on
Intelligence and Systems (IJSIS), pp. 234–241, 1996.
[10] S. Sen, C. Shaw, D.R. Chowdhuri, N. Ganguly, P.P. Chaudhuri, “Ce-
llular Automata based Cryptosystem”, ICICS, pp. 303–314, Singapore,
December 2002.
[11] A. Fúster, D. de la Guía, “Modelling Nonlinear Sequence Generators in
Terms of Linear Cellular Automata”, Applied Mathematical Modelling,
vol. 31, no. 2, pp. 226–235, 2007.
[12] L.A. Zadeh, “Fuzzy Sets”, Information and Control, 83, pp. 338–353,
1965.
[13] D. Dubois, H. Prade, “Theorie des Possibilities”, Masson, Paris, France,
1985.
[14] W.G. Wee, K.S. Fu, “A Formulation of Fuzzy Automata and its Ap-
plication as a Model of Learning Systems”, Proceedings of the IEEE
Transactions on Systems Science and Cybernetic, vol. 5, no. 5, pp. 215–
223, July 1969.
[15] A.B. Mingarelli, “A Classification Scheme of Fuzzy Cellular Automata
with Applications to ECA”, Proceedings of the 13th International Works-
hop on Cellular Automata (Automata 2007), The Fields Institute, Toronto,
Canada, August 27–29, 2007.
[16] K. Zhang, Z. Li, X.O. Zhao, “Edge Detection of Images based on Fuzzy
Cellular Automata”, Proceedings of the 8th ACIS International Confe-
rence on Software Engineering, Artificial Intelligence, Networking, and
Parallel/Distributed Computing, pp. 289–294, IEEE Computer Society
Press, 2007.
[17] P. Maji, P.P. Chaudhuri, “RBFFCA: a Hybrid Pattern Classifier using
Radial Basis Function and Fuzzy Cellular Automata”, Fundamenta In-
formaticae, vol. 78, no. 3, pp. 369–396, 2007.
48
Curvas de Edwards y ataques basados en puntos de
valor cero (ZVP)
S. Martı́nez D. Sadornil
Dpto. Informatica i i Enginyeria Industrial. Dpto. Matemáticas, Estadı́stica y Computación.
U. Lleida. U. Cantabria.
Email: santi@[Link] Email: sadornild@[Link]
Resumen—El uso de las curvas elı́pticas en tarjetas inteligentes original (dado que se mantiene el mismo cardinal), y además
es vulnerable a los ataques denominados Zero Value Points será resistente a los ataques ZVP.
(ZVP), puntos de valor cero. Tales ataques se suelen evitar Recientemente, H.M. Edwards ha estudiado un nuevo mo-
empleando curvas resistentes a los mismos. Para ello, se pueden
tomar curvas isógenas a la dada inicialmente hasta hallar una delo para curvas elı́pticas, las denominadas curvas de Ed-
curva adecuada. En este artı́culo se plantea una alternativa a este wards [8], y que presentan una serie de propiedades intere-
método: el uso de curvas de Edwards. Demostramos que tales santes [4], [5], [6], [13], [14]. Por un lado, se puede demostrar
curvas son resistentes a los ataques ZVP. que cualquier curva elı́ptica sobre un cuerpo no binario es
birracionalmente equivalente (un cambio de variable dado
I. I NTRODUCCI ÓN
por funciones racionales) a una curva de Edwards sobre una
El uso de las curvas elı́pticas en sistemas criptográficos extensión del cuerpo y, en muchos casos, sobre el mismo
se planteó por primera vez en los años 80 [10], [11]. Desde cuerpo. Además, las expresiones para la suma de puntos en
entonces, han adquirido relevancia dado que permiten ofrecer estas curvas son mucho más simples y, en el caso que exista
altos niveles de seguridad, pero utilizando claves de reducido un único punto de orden 2, son completas y fuertemente
tamaño. Por ello, tienen especial interés en el diseño de unificadas (es decir, se pueden emplear para cualquier par de
protocolos criptográficos sobre tarjetas inteligentes u otros dis- puntos de la curva, y además la misma expresión se puede
positivos de capacidad computacional y de memoria limitadas. utilizar para el doblado de puntos).
De todos modos, su uso en tarjetas inteligentes no está ex- Posteriormente, D. Bernstein and T. Lange [5] han extendi-
ento de algún inconveniente: su vulnerabilidad a ciertos Side do la noción de curvas de Edwards, para abarcar una clase
Channel Attacks (SCA) [3], [7], cuyo objetivo radica en obten- mayor de curvas sobre el cuerpo original. En su estudio,
er información de las claves almacenadas en las tarjetas a partir han comparado el comportamiento de las operaciones de
de la observación del comportamiento de las mismas, bien sea grupo en estas curvas frente a otras formas y otros sistemas
por consumo de tiempo al efectuar operaciones, o consumo de coordenadas, concluyendo que las de Edwards ofrecen
energético, o incluso comportamiento electromagnético. Exis- mayor eficiencia computacional. Además, han mostrado que
ten en la literatura múltiples trabajos en los que se analizan las curvas de Edwards son también compatibles con medidas
medidas de seguridad para resistir este tipo de ataques [3], [7]. de prevención ante ataques SCA, como son la aleatorización
Goubin [9] fue el primero en describir un ataque SCA es- de escalares, de coordenadas, de puntos o de curvas.
pecı́fico para criptosistemas elı́pticos. En su trabajo, apuntaba En el presente trabajo, nos interesamos por el com-
ciertas caracterı́sticas que deberı́an tener las curvas elı́pticas portamiento de las curvas de Edwards ante ataques ZVP.
escogidas, para que fueran resistentes a estos ataques. Su Mostramos que tales curvas satisfacen ciertas condiciones que
trabajo fue posteriormente ampliado por Akishita and Takagi las hacen resistentes a los ataques ZVP y, por consiguiente,
[1], [2], describiendo un ataque (Zero Value Point Attack, utilizarlas resulta una medida preventiva eficiente ante estos
ZVP) que podrı́an sufrir aquellas curvas en los que existieran ataques.
cierto tipo de puntos. Hasta el momento, las técnicas em- El artı́culo está estructurado como sigue: la Sección II es una
pleadas para resistir estos ataques se basan en el uso de curvas introducción a las principales propiedades y resultados cono-
isógenas [2], [12], [16]: dada una curva que pueda contener cidos sobre curvas de Edwards; en la Sección III estudiamos
puntos vulnerables, se busca una curva isógena a la misma, las condiciones que deben satisfacer las curvas de Edwards
pero que cumpla las condiciones deseadas. La curva isógena para ser resistentes a ataques ZVP; finalmente, la Sección IV
presentará el mismo nivel de seguridad criptográfica que la recoge las conclusiones del trabajo.
49
II. C URVAS EL ÍPTICAS EN FORMA DE E DWARDS En el caso en que una curva elı́ptica sea birracionalmente
equivalente a una curva de Edwards, existe una corresponden-
En 2007, H.M. Edwards [8] definió un nuevo tipo de
cia entre la ley de grupo de la curva elı́ptica y la suma en la
ecuaciones para algunas curvas elı́pticas; más concretamente,
curva de Edwards (Teorema 3.2 en [5]).
toda curva elı́ptica definida sobre un cuerpo de caracterı́stica
distinta de 2 admite una ecuación en forma de Edwards, es Teorema 2. Sea k un cuerpo de caracterı́stica distinta de
decir, de la forma x2 + y 2 = c2 (1 + x2 y 2 ). La transformación 2 y sean c, d, e ∈ k ∗ con e = 1 − dc4 . Supongamos que
birracional de paso de la forma original a la de Edwards puede d no es un cuadrado y sea la curva de Edwards F : x2 +
realizarse en la clausura algebraica del cuerpo base. y 2 = c2 (1 + dx2 y 2 ). Sea E la curva elı́ptica de ecuación
Posteriormente, D. Bernstein y T. Lange [5], con el fin de (1/e)v 2 = u3 + (4/e − 2)u2 + u. Para cada i ∈ {1, 2, 3},
que dicha transformación pudiera realizarse sobre el cuerpo sean (xi , yi ) tres puntos de F tales que (x1 , y1 ) + (x2 , y2 ) =
base para una familia de curvas elı́pticas más amplia, ex- (x3 , y3 ). Se define Pi de la forma siguiente: Pi = O (punto del
tendieron esta idea admitiendo un nuevo tipo de ecuación, que infinito) si (xi , yi ) = (0, c); Pi = (0, 0) si (xi , yi ) = (0, −c);
por similitud también denominaremos de Edwards. Diremos y Pi = (ui , vi ) si xi
= 0, donde ui = (c + yi )/(c − yi ) y
que una curva E está en forma de Edwards si tiene por vi = 2c(c + yi )/((c − yi )xi ). Entonces
ecuación
Pi ∈ E(k) y P1 + P2 = P3 .
x2 + y 2 = c2 (1 + dx2 y 2 ) cd(1 − c4 d)
= 0.
Por tanto, operaciones sobre una curva elı́ptica dada pueden
Para una tal curva E se puede definir, de manera análoga trasladarse a operaciones sobre una curva de Edwards equiv-
a como se hace para una curva elı́ptica en forma de Weier- alente, donde las operaciones son computacionalmente mas
trass, una ley de composición. En ella, el elemento neutro eficientes. Finalmente, realizando la aplicación inversa, puede
es (0, c) y dado un par de puntos racionales de la curva obtenerse de manera fácil el resultado en la curva elı́ptica
(x1 , y1 ), (x2 , y2 ) ∈ E la suma se define como: original.
% &
x1 y2 + y1 x2 y 1 y 2 − x1 x2 II-A. Cálculo de la suma y el doblado en una curva de
(x1 , y1 )+(x2 , y2 ) = , Edwards
c(1 + dx1 x2 y1 y2 ) c(1 − dx1 x2 y1 y2 )
En su articulo [5], Bernstein y Lange determinan las fórmu-
Si d no es un residuo cuadrático, esta operación es completa
las de las operaciones de grupo en una curva de Edwards.
y unificada, es decir, las mismas ecuaciones se pueden aplicar
Dichas fórmulas, para evitar el cálculo de inversos modulares,
independientemente de los puntos que se desee sumar y sin
se realizan usando coordenadas proyectivas (X 2 + Y 2 )Z 2 =
hacer distinción para sumar dos puntos o calcular el doble de
c2 (Z 4 + dX 2 Y 2 ).
un punto (este hecho no ocurre para la suma de puntos en
El punto (X1 : Y1 : Z1 ), Z1
= 0, corresponde al punto
curvas elı́pticas en forma de Weierstrass).
(X1 /Z1 , Y1 /Z1 ). El elemento neutro es (0 : c : 1) y el opuesto
Además, en estas curvas existen siempre dos puntos de
de (X1 : Y1 : Z1 ) es (−X1 : Y1 : Z1 ).
orden 4, (c, 0) y su opuesto (−c, 0). De hecho, el hecho de
Dados dos puntos (X1 : Y1 : Z1 ) y (X2 : Y2 : Z2 ), su suma
poseer puntos de orden 4 es una condición necesaria para que
(X3 : Y3 : Z3 ) puede obtenerse de la forma siguiente:
una curva elı́ptica sea equivalente a una curva de Edwards.
Concretamente, más del 25 % de las clases de isomorfı́a de A = Z1 Z2 , B = A2 , C = X1 X2 , D = Y1 Y2 ,
curvas elı́pticas sobre un cuerpo finito pueden transformarse E = dCD, F = B − E, G = B + E,
a una curva en forma de Edwards sobre el mismo cuerpo.
X3 = AF ((X1 + Y1 )(X2 + Y2 ) − C − D),
El siguiente teorema [5] muestra qué curvas elı́pticas son
Y3 = AG(D − C),
birracionalmente equivalentes a una curva de Edwards.
Z3 = cF G.
Teorema 1. Sea k un cuerpo de caracterı́stica distinta de 2.
Análogamente se calcula el doble de un punto, (X3 : Y3 :
Sea E una curva elı́ptica sobre k tal que el grupo E(k) tiene
Z3 ) = 2(X1 : Y1 : Z1 ):
un elemento de orden 4.
1. Existe d ∈ k − {0, 1} tal que la curva x2 + y 2 = 1 + B = (X1 + Y1 )2 , C = X12 , D = Y12 ,
dx2 y 2 es birracionalmente equivalente sobre k a E o a E = C + D, H = (cZ1 ) ,2
J = E − 2H,
una entrelazada cuadrática suya (twist cuadrática). X3 = c(B − E)J, Y3 = cE(C − D), Z3 = EJ.
2. Si E(k) tiene un único punto de orden 2, entonces existe
un no cuadrado d ∈ k tal que la curva x2 + y 2 = III. ATAQUES BASADOS EN P UNTOS DE VALOR C ERO
1 + dx2 y 2 es birracionalmente equivalente sobre k a E Como se ha indicado en la introducción, el uso de crip-
o a su twist cuadrática. tografı́a con curvas elı́pticas en tarjetas inteligentes reveló un
3. Si k es un cuerpo finito y E(k) tiene un único punto nuevo tipo de vulnerabilidad. Goubin [9] mostró que un
de orden 2, entonces existe un no cuadrado d ∈ k tal atacante podrı́a generar puntos en la curva de manera que,
que la curva x2 + y 2 = 1 + dx2 y 2 es birracionalmente tras varios cálculos, alcanzase un punto con alguna coordenada
equivalente sobre k a la curva original E. nula. En esta situación, el atacante puede obtener información
50
de la clave secreta de la tarjeta e incluso todos los bits de la Y1 = 0, el punto es uno de los dos puntos de orden 4 de la
misma. Como contramedida, Smart [16] propuso buscar curvas curva: (c, 0) o su opuesto (−c, 0).
elı́pticas isógenas a la original en las que no existan puntos La condición B −E = 0 es equivalente a 0 = (X1 +Y1 )2 −
con estas caracterı́sticas. Entonces, los cálculos se realizan en X12 − Y12 = 2X1 Y1 , lo que se reduce a los casos anteriores.
la curva segura y, utilizando la isogenia dual, se trasladan los Si se cumple E − 2H = 0, tomando coordenadas afines, se
resultados a la curva original. tiene que x21 + y12 = 2c2 ; entonces, como el punto pertenece
Posteriormente, Akishita y Takagi [1], [2] mostraron que a la curva, se concluye que 1 = dx21 y12 , lo que contradice el
este tipo de ataques se pueden extender, no sólo para puntos hecho de que d es un no cuadrado. Similarmente, se alcanzarı́a
con coordenadas nulas, sino también para valores nulos de los la misma contradicción si se considerase X12 + Y12 = 0.
registros auxiliares (i.e. los cálculos intermedios necesarios El caso más interesante ocurre cuando (X1 + Y1 )2 o C −
para obtener 2P o P + Q). Este tipo de ataque se denomina D = X12 − Y12 son cero. En esa situación, el punto afı́n es o
Zero-Value Point attack (ZVP) . Para una explicación más bien (x1 , −x1 ) o (x1 , x1 ). Puesto que 2(x1 , −x1 ) = (−c, 0)
precisa véase [1]. y 2(x1 , x1 ) = (c, 0), éstos son puntos de orden 8.
De igual forma que en el ataque original, es posible encon- Nótese que existen puntos de orden 8 en la curva si y sólo si
trar curvas isógenas resistentes al ZVPA. Akishita y Takagi, 1 − c4 d es un residuo cuadrático (esta condición se concluye
en [2], determinan utilizando únicamente isogenias de grado fácilmente al verificar la existencia de puntos (x1 , −x1 ) o
primo, el grado mı́nimo de una isogenia para encontrar una (x1 , x1 ) en la curva).
curva isógena segura para las curvas del SECG [15]. En [12],
III-B. Posibles puntos de valor cero de la suma
los autores utilizan volcanes de isogenias para obtener curvas
idóneas empleando isogenias de grado mas bajo. De modo similar al caso del doblado, el resultado siguiente
Como contramedida alternativa, nos planteamos si las determina las condiciones necesarias y suficientes para que
curvas de Edwards también pueden usarse para evitar un punto P sea un punto de valor cero al calcular la suma
ataques ZVP. Por ese motivo, estudiamos cuando los pará- P + kP .
metros intermedios pueden anularse durante los procedimien- Teorema 4. Sea x2 + y 2 = c2 (1 + dx2 y 2 ) una curva
tos de suma y doblado. Concluimos que eso sólo sucede para de Edwards sobre un cuerpo finito, con d un no residuo
puntos que no son criptográficamente interesantes, por lo que cuadrático. Un punto P es un punto de valor cero para la
usar curvas de Edwards en tarjetas inteligentes resulta ser suma de P y kP = (x2 , y2 ) si y sólo si P es el elemento
seguro contra este tipo de ataques. neutro para la suma, o es un punto de orden 2, 4 u 8 o
Nótese que tomar curvas de Edwards (cuando esto sea su orden es un divisor de alguno de los números enteros
posible) será una contramedida más eficiente que buscar curvas {k, k + 1, 2k, 2(k + 1), 4k, 4(k + 1), 8k}.
isógenas ya que este proceso se puede realizar de forma más
rápida. Por desgracia, el inconveniente es que no todas las Demostración 2. Utilizando coordenadas proyectivas, sea
curvas elı́pticas tienen una curva equivalente en la forma de P = (X1 : Y1 : Z1 ) el punto sumado a kP = (X2 : Y2 : Z2 ).
Edwards. Los parámetros intermedios pueden ser cero si y sólo si alguno
de los valores siguientes (de las expresiones de la suma) se
III-A. Posibles puntos de valor cero del doblado anula:
A partir de las fórmulas dadas en la sección anterior para Z1 Z2 , X1 X2 , Y1 Y2 , B−E, B+E, (X1 +Y1 )(X2 +Y2 ), Y3 , X3 ,
el doblado de un punto en una curva de Edwards, el siguiente
donde (k + 1)P = (X3 : Y3 : Z3 ).
resultado determina las condiciones para que un punto sea un
Puesto que estamos sumando puntos afines, Z1 Z2 necesari-
punto de valor cero para el doblado.
amente será no nulo. Si X1 X2 = 0, entonces X1 o X2 son
Teorema 3. Sea x2 + y 2 = c2 (1 + dx2 y 2 ) una curva cero. En el primer caso, P es elemento neutro de la suma,
de Edwards sobre un cuerpo finito con d un no residuo o es el punto de orden 2 de la curva. En el segundo caso, o
cuadrático. Un punto P es un punto de valor cero para el bien kP = (0, c) o bien 2kP = 2(0, −c) = (0, c). Entonces
doblado si y sólo si P es el elemento neutro de la suma, o es el orden de P divide a k o a 2k. El caso Y1 Y2 = 0 se puede
un punto de orden 2, 4 u 8. tratar de forma similar, y se obtiene que P es de orden 4 o
su orden es un divisor de 4k.
Demostración 1. Usando coordenadas proyectivas, sea P =
Nótese que B − E y B + E nunca pueden ser 0, en caso
(X1 : Y1 : Z1 ) el punto a doblar. Los parámetros intermedios
contrario, tomando coordenadas afines, deberı́a pasar que
pueden ser cero si y sólo si alguno de los siguientes valores
dx1 x2 y1 y2 ∈ {−1, 1}, lo que contradice la propiedad de
(de las expresiones del doblado) se anulan:
completitud de la suma sobre la curva de Edwards (Teorema
(X1 + Y1 )2 , X12 , Y12 , X12 + Y12 , cZ1 , E − 2H, B − E, C − D 3.3 en [5]).
Si (X1 + Y1 )(X2 + Y2 ) = 0, procediendo de forma similar
Nótese que Z1
= 0 puesto que estamos tratando con puntos que en la demostración del teorema anterior, se obtiene que
afines. Si X1 = 0, el punto P serı́a o bien el elemento neutro P o kP tienen orden 8. En el último caso, el orden de P es
(0, c) o el punto de orden dos (0, −c). En el caso de que un divisor de 8k.
51
Si Y3 = 0, o bien nos encontramos en uno de los casos puntos de la curva con alguna coordenada nula, o más
anteriores o bien D − C = 0. En esta situación, se obtiene generalmente de expresiones que se anulan en los cálculos
que el orden de P es un divisor de 4(k + 1), ya que (k + 1)P intermedios necesarios para obtener la suma de dos puntos o
tiene orden 4. el doble de un punto, circunstancia que puede ser utilizada por
Finalmente, si X3 = 0, entonces o (k + 1)P = (0, c) o un adversario para obtener la clave privada de la tarjeta (Zero
(k + 1)P = (0, −c), ası́ que el orden de P es un divisor de Value Point Attacks). En el presente trabajo se ha estudiado
k + 1 o de 2(k + 1). la resistencia a los ZVPA de los criptosistemas basados en
curvas de Edwards, demostrando su inmunidad a los mismos.
Nótese que la última condición en el Teorema 4 es equiva-
En efecto, se ha probado que tales curvas poseen pocos puntos
lente al siguiente lema, donde r es el orden del punto P .
vulnerables, los cuales además no son criptográficamente útiles
Lema 1. Sea r un primo > 2 y k un entero no negativo y por tanto, por razones de seguridad, nunca serı́an tomados
menor que r. Entonces r es un divisor de alguno de los enteros en consideración para uso criptográfico.
{k, k+1, 2k, 2(k+1), 4k, 4(k+1), 8k} si y sólo si k = 0, r−1. En consecuencia, el uso de curvas de Edwards represen-
ta una buena alternativa, en la implementación de la crip-
Finalmente, a partir de los teoremas 3 y 4, podemos concluir
tografı́a elı́ptica en tarjetas inteligentes, a las actuales medidas
que:
defensivas contra los ZVPA (la búsqueda mencionada, vı́a
Corolario 1. Las curvas de Edwards son adecuadas para isogenias, de curvas elı́pticas resistentes). Esta estrategia es
implementarse en tarjetas inteligentes que usen criptografı́a incluso adaptable a protocolos utilizando modelos ‘clásicos’
de curvas elı́pticas, porque son resistentes a los ataques ZVP. de curvas elı́pticas: supuesto un protocolo basado en una tal
curva elı́ptica y siempre que esta admita una curva de Edwards
Demostración 3. En criptografı́a con curvas elı́pticas, se cal- equivalente (en particular posea puntos de orden cuatro) las
culan múltiplos de un punto (mP ), donde m es un parámetro operaciones criptográficas necesarias pueden realizarse en la
grande. Cuando se implementa en tarjetas inteligentes, es curva de Edwards asociada (cuya aritmética es además más
necesario garantizar que no aparecerán puntos de valor cero eficiente) y el resultado obtenido ser finalmente trasladado a
durante el cómputo de mP (lo cual se realiza por medio del la curva original.
algoritmo de suma y doblado).
Por motivos de seguridad (para garantizar que el logaritmo AGRADECIMIENTOS
discreto elı́ptico no se pueda resolver fácilmente), el punto P
tiene orden primo r (de hecho r se toma como el primo más Este trabajo está subvencionado por los proyectos
grande que divide al cardinal de la curva). De ahı́, que el MTM2007-66842-C02-01/02 y MTM2007-62799.
orden de P nunca será divisor de 8. Además, con respecto
R EFERENCIAS
a las condiciones indicadas en el lema anterior, nótese que
el caso k = 0 no aparecerá durante el cómputo de mP . Lo [1] T. Akishita, T. Takagi. Zero-Value Point attacks on elliptic curve cryp-
tosystem. Information Security, ISC 2003, LNCS 2851, 218–233. 2003.
mismo pasa para la segunda condición porque, en la práctica, [2] T. Akishita, T. Takagi. On the optimal parameter choice for elliptic curve
m será más pequeño que r. cryptosystems using isogeny. Public Key Cryptography, PKC 2004, LNCS
Ası́, durante el cálculo de mP , el procedimiento nunca se 2947, pp. 346-359, 2004.
[3] R. Avanzi, H. Cohen, C. Doche, G. Frey, T. Lange, K. Nguyen, F.
encontrará con un punto de valor cero, ni en la suma, ni en Vercauteren. Handbook of elliptic and hyperelliptic curve cryptography.
el doblado. Discrete Math. Appl. Chapman & Hall/CRC, 2006.
[4] D. J. Bernstein, P. Birkner, T. Lange, C. Peters. ECM using Edwards
IV. C ONCLUSION curves, Cryptology ePrint Archive, Report 2008/016, 2008.
[5] D. J. Bernstein, T. Lange. Faster addition and doubling on elliptic curves.
Se ha mostrado la idoneidad de las curvas de Edwards ASIACRYPT 2007. LNCS 4833, 29–50, Springer, 2007.
como base para implementar protocolos criptográficos en [6] B. Baldwin, A. Byrne, G. McGuire, R. Moloney, W. P. Marnane.
A hardware analysis of twisted Edwards curves for an elliptic curve
plataformas con memoria y capacidad de cálculo reducidas, cryptosystem. Reconfigurable Computing: Architectures, Tools and Ap-
como las tarjetas inteligentes, los dispositivos de identificación plications, ARC 2009, LNCS 5453, 355–361, Springer 2009.
por radiofrecuencia (RFID) o las redes de sensores. [7] I. F. Blake, G. Seroussi, N. P. Smart. Advances in elliptic curve cryptog-
raphy. London Math. Soc. Lecture Note Ser. vol. 265, Cambridge Univ.
Dotar a estas plataformas con capacidades criptográficas Press, Cambridge, 1999.
requiere soluciones especı́ficas, que se adapten a tales restric- [8] H. M. Edwards. A normal form for elliptic curves. Bulletin of the
ciones computacionales (lightweight cryptography). American Mathematical Society 44, 393-422. 2007
[9] L. Goubin. A refined power-analysis attack on elliptic curve cryptosys-
Las curvas de Edwards proporcionan un modelo alternativo tems. Public Key Cryptography, PKC 2003, LNCS 2567, pp. 199-211,
de curvas elı́pticas y los resultados de Bernstein y Lange 2003.
muestran que su aritmética (suma y doblado de puntos) es [10] N. Koblitz. Elliptic curve cryptosystems. Mathematics of Computation
48, 177, 203–209. 1987.
computacionalmente más eficiente que la de los modelos tradi- [11] V. Miller. Use of elliptic curves in cryptography. CRYPTO 85, 417–426,
cionales, lo que avala la propuesta de su uso en los dispositivos LNCS 218, Springer, Berlin, 1986.
mencionados, con recursos computacionales restringidos. [12] J. Miret, D. Sadornil, J. Tena, R. Tomàs, M. Valls. On avoiding ZVP–
attacks using isogeny volcanoes. Workshop on Information Security
Una vulnerabilidad, encontrada en el uso de la criptografı́a Applications, WISA 2008, Springer LNCS 5379, 266-277, 2009.
elı́ptica en tarjetas inteligentes, es la posible existencia de [13] F. Morain. Edwards curves and CM curves. arXiv:0904.2243, 2009.
52
[14] M.P. Das and P. Sarkar. Pairing computation on twisted Edwards form
elliptic curves. Pairing-Based Cryptography, Pairing 2008. Springer
LNCS 5209, 192–210, 2008.
[15] Standard for Efficient Cryptography (SECG). Recommended Elliptic
Curve Domain Parameters, 2000. [Link] [Link].
[16] N. Smart. An analysis of Goubin’s refined power analysis attack.
Workshop on Cryptographic Hardware and Embedded Systems, CHES
2003, LNCS 2779, pp. 281-290, 2003.
53
54
Grafos de Cayley como bases de protocolos de
identificación
Feliú Sagols Guillermo Morales-Luna
Departamento de Matemáticas, Cinvestav-IPN Departamento de Computación, Cinvestav-IPN
México, D. F., México México, D. F., México
CorreoE: fsagols@[Link] CorreoE: gmorales@[Link]
Resumen—Debido a la alta dificultad en resolver el Problema resolver el problema de la palabra en grupos de Coxeter.
de la Palabra en ciertos grupos de Coxeter, es posible utilizar En la sección II describimos el protocolo de manera general
a los respectivos grafos de Cayley para desarrollar protocolos refiriéndonos a un grafo en el que el problema de localizar
de identificación del tipo reto–respuesta. Un usuario, digamos
probador, busca, en efecto, probar ante un verificador que él caminos entre parejas arbitrarias de nodos sea intratable (para
es el titular de una cierta identidad digital. Considerando el esto es necesario que el número de nodos sea de crecimiento
grafo de Cayley de un grupo de Coxeter en el que el problema superpolinómico respecto a un parámetro de control).
de la palabra sea intratable, el probador construye su clave El problema de la palabra en grupos finitos es, natural-
pública como el conjunto de hojas de un árbol y éste es en
mente, resoluble y su complejidad es, en general, polinómica
sı́ una correspondiente clave privada. En un primer protocolo
de autenticación, el verificador elige como retos subconjuntos respecto al orden del grupo. En la sección III bosquejamos
de la clave pública y el probador presenta como respuestas la construcción de los grupos de Coxeter cuyos órdenes
a los subárboles de una clave privada que tienen a los retos son superpolinómicos respecto al número de generadores y,
como conjuntos de hojas. Cualquier tercera entidad que busque en consecuencia, sus grafos de Cayley son apropiados para
suplantar al probador ha de enfrentarse al problema de la
realizar el protocolo de identificación introducido.
palabra en el grupo elegido. Aunque este protocolo mantiene a la
totalidad de la clave privada en secreto, muestra una parte de ella Ya que durante el protocolo el probador está presentando
al verificador. Presentamos también un segundo protocolo, éste de soluciones al problema de la palabra correspondientes a por-
conocimiento nulo, consistente de una transcripción al presente ciones propias de su clave privada, dicho protocolo no puede
contexto del célebre protocolo de este tipo para reconocer parejas ser de conocimiento nulo. En la sección IV presentamos un
isomorfas de grafos.
protocolo de conocimiento nulo que permite verificar que el
Términos de ı́ndice—Grupos de Coxeter, procedimientos de
identificación, selección aleatoria de árboles generadores. probador conoce las respuestas del problema de la palabra
entre cualesquiera dos nodos en su clave pública sin tener que
I. I NTRODUCCI ÓN desvelar las soluciones correspondientes.
A manera de un brevı́simo recuento de la influencia de
Diversos procedimientos del tipo reto–respuesta han sido la Teorı́a de Grafos en Criptografı́a recordamos aquı́ que los
presentados en la literatura con el fin de autenticar e identificar grafos expansores han sido utilizados para reforzar funciones
usuarios. Un usuario, o probador, que ha de mostrar ante un de hash [3], ha habido esquemas de compartición de secretos
verificador que posee las credenciales que lo acreditan como usando grafos (el tamaño de los fragmentos es proporcional
titular de una identidad digital, puede generar parejas de ins- a la valencia de los nodos) [4], ası́ como esquemas de
tancias y soluciones de problemas computacionales difı́ciles. distribución de claves [5]. Una mención especial la merece el
Las instancias pueden ser asumidas como claves públicas uso que se ha hecho de grafos para protocolos de cifrado [6]:
y las correspondientes soluciones como claves privadas [1]. los nodos de ciertos grafos son mensajes y los cifrados son
El verificador elige instancias del problema, el probador le caminos que conectan nodos.
proporciona las correspondientes soluciones y este diálogo
se repite hasta la plena satisfacción, o convencimiento, del II. P ROTOCOLO DE IDENTIFICACI ÓN
verificador. Una tercera parte que busque suplantar al probador
ha de enfrentarse con el difı́cil problema de computar las A. Grafos de crecimiento rápido
soluciones de las instancias planteadas como retos. Entre Sea K
= ∅ un conjunto de cardinal k ∈ Z+ . Sea f : N → N
los protocolos de reto–respuesta están los de conocimiento una función de crecimiento al menos lineal, f (n) = Ω(n).
nulo [2], los cuales evitan que el verificador “aprenda más Para un entero n ∈ N, K f (n) es el conjunto de palabras con
de lo estrictamente necesario” para convencerse de que el sı́mbolos en K de longitud f (n). Su cardinal es Nkn = k f (n) .
probador posee, en efecto, una clave privada correspondiente Sea G = (K f (n) , A) un grafo sobre K f (n) . Entonces
a su propia clave pública.
Presentamos aquı́, primeramente, un protocolo de identi- 2 card(A) = val(x).
ficación del tipo reto–respuesta basado en la dificultad de x∈K f (n)
55
Por tanto, si la valencia de cada nodo fuera al menos d ∈ Z+ Debido a que el probador conoce T , podrá responder exito-
se tendrı́a card(A) ≤ d2 Nkn y la altura de cualquier árbol samente en cualquier ronda. Sin embargo, para mantener la
en un bosque generador de G es de orden O(log Nkn ) = robustez del protocolo, varias condiciones han de imponerse:
O(f (n) log k). En tal caso el problema de localizar caminos • el reto N debe plantear una instancia intratable del
entre pares de nodos en G puede ser intratable respecto a problema de localizar árboles generadores en G, y
n. Los algoritmos de Dijkstra (en grafos sin ponderación), • el reto N , o la unión de los retos en las rondas del
de Prim y de Kruskal (para localizar árboles generadores), protocolo, debe ser un conjunto propio de H(T ): de otra
por ejemplo, que permitirı́an establecer caminos entre nodos, forma el probador deberı́a desvelar su clave privada.
tendrı́an una complejidad temporal del orden
Por supuesto, cualquier agente que construya un árbol T1
O(card(A) + Nkn log Nkn ) = O (d + f (n)) k f (n) , tal que H(T1 ) coincida con la clave pública del probador
podrı́a superar exitosamente el protocolo de identificación. La
es decir, exponencial, y por tanto intratable, respecto a n. construcción de un tal árbol puede resolverse en tiempo lineal
B. Protocolo de identificación respecto al número NG de vértices en el grafo G, pero es un
procedimiento muy costoso en términos de G = O(log NG )
Consideremos el siguiente escenario de identificación: Un que es, a su vez, proporcional con el diámetro del grafo G.
probador procura convencer a un verificador de que es el
Aún cuando un intruso que escuche el diálogo entre el
titular de la identidad sintetizada, digamos, en una partı́cula de
probador y el verificador conocerá parcialmente la clave
identidad. El verificador le plantea diferentes preguntas como
privada del probador, no podrı́a contestar eficientemente de
retos y, en función de las respuestas que obtiene, decide si
manera correcta en una nueva ronda del protocolo debido a la
acaso el probador es el dueño de esa partı́cula de identidad.
dificultad en localizar caminos en G.
La partı́cula de identidad es en sı́ una clave pública del
probador y el conocimiento no desvelado que acredita la III. E L PROBLEMA DE LA PALABRA Y LA ROBUSTEZ DEL
titularidad de la identidad es la clave privada. PROTOCOLO
En un grafo de crecimiento rápido, sobre K f (n) con f (n) =
Ω(n), sea G un subgrafo en donde el problema de localizar Recordamos que una presentación de un grupo G es una
caminos entre pares de nodos sea intratable, respecto a n. Dado pareja (C, R), donde C es una colección de generadores y
un árbol T , es decir un subgrafo conexo sin ciclos, en G, sea R ⊂ {α = β| α, β ∈ C ∗ } es una colección de relaciones
H(T ) el conjunto de sus hojas, es decir de los nodos en T de tal que G ≈ F (C)/R
, donde F (C) es el grupo libre no-
valencia 1. Evidentemente, el problema de localizar caminos abeliano generado por C y R
es el subgrupo normal de
entre hojas es trivial para quien conoce el árbol, pero puede F (C) generado por los relatores, es decir, las palabras αβ −1 ,
ser intratable para quien lo desconozca, pues ese problema lo con (α = β) ∈ R. La presentación es finita si tanto C como R
es en G. lo son. Naturalmente, todo grupo finito posee una presentación
Ası́, el probador construye un árbol en la gráfica G y finita, pero el recı́proco no se cumple.
publica como su clave pública al conjunto de hojas. Cualquier Por ejemplo para un entero positivo n ∈ Z+ , una pre-
participante que quiera verificar que el probador conoce la sentación del grupo simétrico Sn , consistente de las permuta-
correspondiente clave privada elige un subconjunto de hojas ciones en el conjunto [[0, n − 1]] = {0, 1, . . . , n − 1} de n
n−2
en la clave pública y le requiere un árbol de G que tenga ı́ndices, se obtiene con n − 1 generadores (tin )i=0 y (n − 1)2
nij n−2
a ese subconjunto como hojas. Evidentemente, el probador relatores ((tin tjn ) )i,j=0 , donde
podrá cumplir de manera eficiente con el requerimiento pues ⎧
la respuesta es un subárbol de su clave privada. ⎨ 1 si |j − i| = 0,
nij = 3 si |j − i| = 1,
Protocolo de clave pública ⎩
2 si |j − i| > 2.
Precondición. El grafo G debe ser conocido por los parti-
cipantes en el esquema. De hecho, cada generador ti ha de corresponder a la trans-
Inicio. El probador escoge un árbol T como un subgrafo de posición (i, i + 1) de dos ı́ndices consecutivos. Ası́, el grupo
G. El árbol T es la clave privada del probador. El simétrico Sn de orden n! posee una presentación con (n − 1)
conjunto H(T ) de hojas de T es su clave pública. generadores y (n − 1)2 relatores.
Protocolo de identificación. Repı́tase Sea pues G un grupo dado mediante una presentación
1) el verificador escoge un conjunto propio N de (C, R). El Problema de la Palabra en G, puesto como un
H(T ) y lo presenta al probador como reto, problema de decisión, consiste en decidir para una palabra
2) el probador calcula el subárbol TN de T , tal σ ∈ (C ∪ C −1 )∗ si acaso está o no en el subgrupo normal
que H(TN ) = N , y le envı́a TN al verificador, R
generado por R en el grupo libre F (C). O, formulado
3) el verificador recibe TN y revisa que en efecto como un problema de búsqueda, consiste en que dado g ∈ G
H(TN ) = N . Si no se cumpliese esta identidad, se ha de localizar una palabra σ, acaso mı́nima de acuerdo
el verificador rechaza el protocolo, con un cierto orden “bien fundamentado” de (C ∪ C −1 )∗ , tal
hasta el pleno convencimiento del verificador. que g = σ en G.
56
Es bien sabido, desde la década de los 50 del siglo Supongamos por el momento que ya se haya construido el
pasado, que existen grupos (infinitos) con presentaciones grafo Gm = (Vr , A) con r = r(m) ∈ Z+ nodos. Para cada
finitas en donde el problema de la palabra es irresoluble nodo v ∈ Vr sea dv su valencia en Gm . Se va a construir
algorı́tmicamente (Teorema de Novikov). El grafo de Cayley un árbol generador siguiendo el procedimiento ya clásico
de un tal grupo puede servir para implementar el algoritmo de presentado originalmente por Broder [8] y por Aldous [9] de
identificación presentado en la sección anterior. Sin embargo, manera independiente.
tal grupo, al ser infinito, es demasiado grande para especificar Para cualesquiera dos vértices u, v ∈ Vr , sea puv igual a
de manera eficiente, desde el punto de vista computacional, el d−1
v si {v, u} ∈ A e igual a 0 en otro caso. Se tiene que P =
subgrafo G que aparece en el protocolo. (puv )u,v∈Vr es la matriz de transición de una cadena simple
Por otra parte, aunque el problema de la palabra es siempre de Markov en el grafo Gm . Un árbol generador seleccionado
resoluble algorı́tmicamente en grupos finitos, en la práctica uniformemente se obtiene de acuerdo con el procedimiento
puede ser intratable respecto al número n de generadores, siguiente [8]:
como es el caso de los llamados grupos de Artin [7]. Recorde-
ÁrbolGeneradorUniforme
mos brevemente su construcción.
Para dos sı́mbolos x, y y un entero ∈ Z+ , se denota por 1) A partir de un nodo inicial seleccionado aleatoriamente
(xy)[] al prefijo de longitud de la palabra (xy) , es decir v0 ∈ Vr , sea {xτ }tτe=0 un paseo aleatorio de una mı́nima
(xy)[] = (xy) 2
η donde η = x si es impar y η es la
longitud que recorra el grafo Gm . Ası́, para cada v ∈ Vr
palabra vacı́a en otro caso. existe un instante mı́nimo tv ≤ te tal que xtv = v.
Sea C un conjunto finito de generadores, es decir meros 2) Sea T el árbol cuyas aristas son las parejas {xtv −1 , v},
sı́mbolos, y M ∈ (N∪{+∞})C×C una matriz de orden C ×C con v ∈ V − {v0 }.
con entradas en N ∪ {+∞}. Las entradas de M son pues T es un árbol generador pues consta exactamente de r nodos
enteros no-negativos o el valor infinito. Sea RM la colección y r − 1 aristas. Se tiene [8] que te = O(r3 ) en peores casos
de relaciones (xy)[mxy ] = (yx)[myx ] , con {x, y} ∈ C (2) . en tanto que, por lo general, puede esperarse te = O(r log r).
Entonces (C, RM ) es el grupo de Artin determinado por la También, bajo ciertas condiciones de regularidad del grafo Gm ,
matriz M . El grupo de Coxeter correspondiente es el que se se puede esperar [9] que la razón entre el número de hojas
en él
obtiene al añadir las relaciones x2 = 1 (i.e. mxx = 2). y el de vértices queda acotada superiormente por √ exp − r−1
2r ,
El problema de la palabra en grupos de Coxeter tiene una ası́ como que el diámetro Δ(T ) del árbol es O( r).
complejidad temporal exponencial con respecto al número de En consecuencia, dado m ∈ N, el probador puede generar
generadores, n = card(C), y ha servido como base de diversos un árbol, con un número esperado de hojas m, como un
sistemas criptográficos de clave pública, v.g.: [7]. subgrafo de G√M seleccionando primeramente un grafo conexo
Sea G(n, M ) un grupo de Coxeter determinado por la de r(m) = e m vértices y luego seleccionando uniforme-
matriz M . Posee n generadores y d = 12 (n + 1)n = O(n2 ) mente en él un árbol generador:
relatores. Sea f (n) = logn (o(G(n, M ))) el logaritmo en
ÁrbolGeneradorConNúmeroEsperadoDeHojas
base n del orden del grupo, entonces f (n) = Ω(n). Asociando √
a cada elemento en el grupo su expresión mı́nima como 1) Selecciónese un subgrafo Gm de GM , con r = e m
una palabra sobre el alfabeto de los generadores, es posible vértices.
representar al grafo de Cayley del grupo G(n, M ) con nodos 2) Mediante ÁrbolGeneradorUniforme obténgase un
en K f (n) , con K = C, tal como se requerı́a en la sección árbol generador T de Gm .
anterior al presentar el protocolo de identificación. 3) Dése el árbol T como resultado.
De manera alternativa, sea HM = RM
el subgrupo En el paso 1) de este algoritmo se podrı́a instrumentar un
normal generado por RM en el grupo libre F (C) generado recorrido del tipo “primero-a-lo-ancho” para procurar selec-
a su vez por C. Sea GM el grafo cuyo conjunto de nodos cionar un mismo número de vecinos en cada nodo recién
es HM y las aristas son parejas de la forma (σατ, σβτ ) en “descubierto”, con el fin de satisfacer las condiciones de
donde bien (α = β) ∈ RM o bien (β = α) ∈ RM , es decir regularidad en [9] para esperar tener efectivamente alrededor
las reglas de reducción pueden ser aplicadas en uno y en otro de m hojas en el árbol producido T . Este árbol y su conjunto
sentido. El problema de la palabra, que es equivalente al de de hojas podrán entonces representarse por cadenas de bits
encontrar caminos entre cualesquiera dos nodos, sigue siendo de longitud O(m f (n) log n). Ası́ pues, ésta es la longitud de
de complejidad temporal exponencial respecto a n. los mensajes intercambiados en las rondas del protocolo de
Cualquier vértice en este grafo se expresa como una palabra identificación.
de longitud a lo sumo f (n) sobre el alfabeto C, por ende Es pertinente observar aquı́ que en la
puede ser representado por una cadena de bits de longitud anterior construcción podrı́a omitirse elabo-
O(f (n) log n). rar el grafo Gm mediante el procedimiento
Para utilizar el grafo GM en el protocolo de identificación, ÁrbolGeneradorConNúmeroEsperadoDeHojas.
un probador ha de construir un subgrafo adecuado Gm de GM A saber: para cada nodo v del grafo de Cayley
y un árbol generador de Gm , donde m ∈ N es propiamente un GM considérese una distribución de probabilidad
parámetro del protocolo. (puv | {v, u} es una arista en GM ), con lo cual GM viene a
57
ser una cadena simple de Markov. Dado el entero m ∈ N, el rondas en el protocolo queda restringido por el número de
árbol T se produce como en ÁrbolGeneradorUniforme hojas que formen una clave pública. Si el conjunto de retos
mediante un paseo
√ aleatorio que se suspende tan pronto se recubre la clave pública, el probador habrá de desvelar su
haya visitado e m nodos distintos a pares en GM . propia clave privada. Obviamente, en tal caso cualquier intruso
que la haya capturado podrá cumplir exitosamente con el
IV. P ROTOCOLO DE CONOCIMIENTO NULO
protocolo propuesto. El interés de este protocolo radica en el
Sea C un conjunto finito de generadores y sea M ∈ uso de la dificultad del problema de la palabra en gráficas de
(N ∪ {+∞})C×C . Sea GM la gráfica de Cayley del grupo Cayley. El segundo protocolo presentado es de conocimiento
de Coxeter determinado por M . De acuerdo con los proce- nulo y sólo calca procedimientos canónicos en este tema para
dimientos en la sección III, un probador construye un árbol proponer un mecanismo de identificación mediante grafos de
T en GM , lo asume como su clave privada, y anuncia el Cayley.
conjunto de hojas H(T ) como su clave pública. Para autenticar
al probador, un verificador toma un subconjunto J de H(T ) R EFERENCIAS
y se lo presenta como reto al probador quien responde con [1] R. J. Hartung and C.-P. Schnorr, “Public key identification based on the
el mı́nimo subárbol S de T que tiene a J como conjunto de equivalence of quadratic forms,” in MFCS, ser. Lecture Notes in Computer
Science, L. Kucera and A. Kucera, Eds., vol. 4708. Springer, 2007, pp.
hojas. Ası́ el verificador conoce una parte de la clave privada 333–345.
del probador, sin embargo esto no le permite al verificador [2] O. Goldreich, Computational Complexity: A Conceptual Perspective.
conocer la clave privada por completo. Las rondas reto- New York, NY, USA: Cambridge University Press, 2008.
[3] O. Goldreich, R. Impagliazzo, L. A. Levin, R. Venkatesan, and D. Zuck-
respuesta podrı́an reiterarse en tanto los retos no cubran el total erman, “Security preserving amplification of hardness,” in FOCS, vol. I.
de la clave pública el probador. Si acaso se recubriese ésta, ya IEEE, 1990, pp. 318–326.
sea mediante repeticiones sucesivas de rondas reto-respuesta [4] L. Csirmaz, “An impossibility result on graph secret sharing,” Des. Codes
Cryptography, vol. 53, no. 3, pp. 195–209, 2009.
o mediante la colusión de varios verificadores, entonces se [5] S. Sumathy and B. U. Kumar, “Secure key exchange and encryption
quebrantarı́a el esquema de autenticación. mechanism for group communication in wireless ad hoc networks,” CoRR,
Presentemos un protocolo modificado, éste de conocimiento vol. abs/1003.3564, 2010.
[6] V. Ustimenko, “Cryptim: Graphs as tools for symmetric encryption,”
nulo, similar al que reconoce parejas de grafos isomorfos [2]: in AAECC, ser. Lecture Notes in Computer Science, S. Boztas and
El probador tiene clave pública H(T ) y clave privada T . El I. Shparlinski, Eds., vol. 2227. Springer, 2001, pp. 278–286.
verificador conoce pues H(T ). [7] J. Hughes and A. Tannenbaum, “Length-based attacks for certain group
based encryption rewriting systems,” in Sécurité des Communications sur
IdentificaciónConConocimientoNulo Internet, SECI-02, 2002.
Repı́tase [8] A. Z. Broder, “Generating random spanning trees,” in FOCS. IEEE,
1989, pp. 442–447.
1) el verificador escoge dos nodos v0 , v1 ∈ H(T ) y se los [9] D. Aldous, “The random walk construction of uniform spanning trees
envı́a al probador, and uniform labelled trees,” SIAM J. Discrete Math., vol. 3, no. 4, pp.
2) el probador encuentra el camino h que va de v0 a v1 en 450–465, 1990.
T , y elige aleatoriamente un punto intermedio v2 sobre
h. Sea h0 el tramo de h que conecta a v0 con v2 y sea
h1 el tramo de h que conecta a v1 con v2 . Elige un
camino g en el grafo de Cayley que se inicie en v2 . Le
envı́a al verificador el nodo final u de ese camino,
3) el verificador escoge un bit b ∈ {0, 1} y se lo envı́a
al probador (con la intención de que éste le muestre el
camino que conecta al nodo vb con u),
4) el probador responde con f = g (hb ) [aquı́ es la
concatenación],
5) el verificador comprueba que, en efecto, f conecta a vb
con u,
hasta que falle el probador o el verificador quede convencido.
Con este protocolo ningún verificador recibe información
parcial de la clave privada del probador.
V. C ONCLUSIONES
El primer protocolo de identificación presentado es robusto
debido al rápido crecimiento de los grafos involucrados ha-
ciendo intratables los problemas de la palabra y de localización
de caminos en ellos. Ası́, las claves públicas no tienen que
ser demasiado largas, e incluso podrı́an consistir de un mero
par de vértices suficientemente alejados pues el problema de
conectarlos es bastante difı́cil. Sin embargo, el número de
58
Generación de primos:
una perspectiva computacional
R. Durán Dı́az L. Hernández Encinas J. Muñoz Masqué
Universidad de Alcalá, Instituto de Fı́sica Aplicada, CSIC, Instituto de Fı́sica Aplicada, CSIC,
Alcalá de Henares, España Madrid, España Madrid, España
e-mail: [Link]@[Link] e-mail: luis@[Link] e-mail: jaime@[Link]
Resumen—En este trabajo presentamos un resumen de los II. A LGORITMOS DE DETECCI ÓN DE PRIMALIDAD
principales métodos utilizados para la generación de primos
con particular énfasis en las optimizaciones desarrolladas para Es sabido que decidir sobre la primalidad de un número
dispositivos móviles, que suelen disponer de prestaciones com- es una tarea mucho más sencilla que factorizarlo, aunque
putacionales limitadas. Se presentan, además, los resultados de los métodos de comprobación de primalidad implican gran
una implementación en Maple del método que consideramos carga computacional. Ordinariamente se basan en comprobar
más optimizado junto con resultados experimentales de su
rendimiento.
el cumplimiento, por parte del candidato a primo, de ciertas
condiciones, cuya verificación implica su primalidad. Con
I. I NTRODUCCI ÓN frecuencia se recurre a métodos que exigen comprobaciones
menos costosas, pero que, por contra, no dan con toda segu-
En los últimos años hemos asistido a una expansión sin
ridad una respuesta correcta, es decir, pueden declarar que un
precedentes en el uso de la criptografı́a de clave pública,
número es primo cuando en realidad es compuesto.
incluso en el ámbito de las relaciones institucionales, como
Ası́ pues, se llama test de primalidad (resp. test de composi-
es el caso del DNI electrónico y del pasaporte electrónico.
ción) a un algoritmo que determina que un candidato es primo
Estos documentos y otros muchos necesitan utilizar números
(resp. compuesto). Un test de primalidad decide con total
primos (generalmente de gran tamaño) como elementos bási-
seguridad acerca de la primalidad del candidato. Sin embargo,
cos para generar las claves o para otros estadios del protocolo
el test de composición sólo es capaz de determinar con toda
criptográfico. Resulta, pues, de interés revisar el estado del
seguridad que el candidato es compuesto. Por esta razón,
arte en lo que se refiere a los métodos para generar primos.
a los primeros se les añade el calificativo de deterministas,
Es también un hecho notable la enorme difusión que han
mientras que los segundos se denominan tests de primalidad
conseguido dispositivos móviles o portátiles, pequeños pero
probabilı́sticos.
dotados de recursos computacionales más o menos amplios,
según los casos. Desde teléfonos móviles o PDAs, con alta II-A. Algoritmos deterministas
capacidad de cómputo y de memoria, hasta tarjetas inteli-
gentes, generalmente mucho más modestas en uno y otro El trabajo de Agrawal et al. ([1]) estableció que determinar
recursos, todos ellos son ejemplos de sistemas en donde encon- la primalidad de un número admite un algoritmo de primalidad
tramos con frecuencia capacidades criptográficas. Es necesario determinista de tiempo polinómico, es decir, el problema de
diseñar algoritmos de generación de primos apropiados a la primalidad es de tipo P. Sin embargo, el interés de este
estos dispositivos, en cuanto a demanda de computación y algoritmo es más bien
teórico, pues su tiempo de ejecución
de almacenamiento. es de Õ (log n)21/2 en el caso más pesimista, aunque puede
En este trabajo presentamos un resumen de los principales mejorar a Õ (log n)6 aceptando ciertas conjeturas habituales.
métodos utilizados para la generación de primos, en dos
La notación Õ (x) significa O (x · pol(log x)), donde pol(x) es
aplicaciones muy populares, GnuPG y OpenSSL, y en dis-
un polinomio en x.
positivos móviles con prestaciones computacionales limitadas.
Este algoritmo fue rápidamente mejorado por otros autores,
Incluimos, además, resultados experimentales.
entre
los que destacan Berrizbeitia ([2]) que baja ese tiempo a
El trabajo se estructura ası́. La sección II repasa los al- 4
goritmos de primalidad deterministas y probabilı́sticos, con Õ (log n) para aquellos números primos n para los cuales
especial énfasis en el algoritmo de Miller-Rabin. Las secciones n2 − 1 es divisible por una potencia de 2 cercana a (ln n)2 .
III y IV presentan y analizan datos experimentales sobre Cheng ([3], [4]) extendió ese resultado a una clase más amplia
la generación de primos en dos ámbitos diferenciados. Por de números primos n, aquellos tales que n − 1 es divisible por
un lado se consideran las aplicaciones GnuPG y OpenSSL, un primo e (log n)2 . Bernstein ([5]) generaliza el resultado a
sobre plataformas estándar; y por otro, se estudia el algoritmo valores e (log n)2 que dividan a nd − 1, con d ∈ no(1) (en la
de Joye-Paillier sobre plataformas móviles. Finalmente, las práctica, lo interesante es el caso d = 1). Independientemente,
conclusiones se presentan en la sección V. Avanzi y Mihailescu en [6] generalizaron totalmente el valor e.
59
Todos ellos son algoritmos de tipo aleatorio queproporcionan ENTRADA: n ∈ Z, parámetro de seguridad t ∈ N.
un tiempo de cómputo esperado de Õ (log n)4 . SALIDA: n es compuesto o primo probable
con probabilidad 1 − 2−2t .
Aunque obtener estos resultados ha supuesto un notable
esfuerzo, el tiempo de computación de tales algoritmos los 1. [Inicialización]
descarta de un uso práctico y hay que recurrir a los algoritmos Se eligen s, q ∈ Z tales que n − 1 = 2s q, q impar.
probabilı́sticos. 2. [Lazo]
while (t > 0)
II-B. Algoritmos probabilı́sticos: test de Miller-Rabin { Elegimos un entero a ∈ [2, n − 1] aleatoriamente.
El test de Miller-Rabin es el algoritmo universalmente b = aq (mód n);
utilizado para producir los llamados ((primos industriales)). if (b == 1 o bien b == n − 1) goto seguir;
Este algoritmo cae en la categorı́a de test de composición, por for ( j ∈ [1, s − 1])
lo que existe una probabilidad no nula de que el algoritmo { b = b2 (mód n);
califique de ((no compuesto)) un número que realmente lo es. if (b == n − 1) goto seguir;
Sin embargo, el test permite reducir esa probabilidad a un valor if (b == 1) return “n es compuesto”;
tan pequeño como se desee con una eficiencia computacional }
alta. return “n es compuesto”;
El teorema de Fermat es la base de éste y de otros algoritmos seguir:
probabilı́sticos de comprobación de primalidad y afirma que t = t − 1;
si n es primo y a es un entero tal que mcd(n, a) = 1, entonces }
an−1 ≡ 1 (mód n). Si se desea comprobar la primalidad de return “n es primo con probabilidad 1 − 2−2t ”;
n y se encuentra una base prima con n en que el teorema de Figura 1. Algoritmo de Miller-Rabin
Fermat no se verifica, se puede asegurar que n es compuesto.
Ahora bien, la recı́proca no es cierta: aunque todas las posibles
bases verifiquen el teorema, eso no garantiza que el número n llaron el test que lleva su nombre y podemos enunciar como
sea primo. A pesar de ello, el test de Fermat en sı́ mismo es sigue.
extraordinariamente útil por varias razones: Algoritmo 2: Dados n ∈ Z, candidato a comprobar, y t ∈ N,
1. La condición del teorema es sólo necesaria, pero el parámetro de seguridad, este algoritmo determina si n es primo
número de excepciones (pseudoprimos) es muy bajo. con una probabilidad de acierto de 1 − 2−2t . El algoritmo
2. Desde el punto de vista computacional depende casi está descrito en la figura 1.
totalmente de la exponenciación modular. Es importante ahora tratar del tiempo de ejecución de este
Los números n que satisfacen la congruencia an−1 ≡ 1 algoritmo, por estar en el corazón de los generadores de primos
(mód n) para toda base a ∈ [2, n − 1] tal que mcd(a, n) = 1 se utilizados en la práctica. De la observación del algoritmo,
conocen como números de Carmichael. Por desgracia, existen en la figura 1 queda claro que el tiempo de ejecución viene
infinitos de ellos (ver [7]), pero esto no impide seguir usando dominado por el necesario para llevar a cabo la operación
el teorema de Fermat como se verá ahora. de exponenciación modular. Existen muchos algoritmos para
Si n un número entero impar positivo y a otro entero, la exponenciación (véanse, por ejemplo, [12, §1.2], [13, Cap.
se escribe n − 1 = 2s q, con q otro entero impar. En estas 9], [14, §9.3]) que requieren ordinariamente O (log n) multi-
condiciones, se dice que n es un pseudoprimo robusto en la plicaciones en el grupo. Por tanto es fundamental tratar de
base a si o bien aq ≡ 1 (mód n) o bien existe un e tal que elegir el método de multiplicar que minimice el tiempo de
e
0 ≤ e < s y a2 q ≡ −1 (mód n). computación.
Observación 1: Si p es un primo impar, es fácil ver que Los algoritmos
de multiplicación más sencillos requieren
también p es un pseudoprimo robusto en cualquier base a tal O (log n)2 operaciones básicas, entendiendo por tales las que
que mcd(a, p) = 1. Recı́procamente, se puede probar (véase, involucran dı́gitos de un tamaño máximo, digamos B, en bits.
por ejemplo, [8]) que si p no es primo, existen menos de Existen otros métodos, sin embargo, que permiten reducir este
p/4 bases a tales que 1 < a < p para las cuales p es un número.
pseudoprimo robusto en la base a. 1. Método de Karatsuba ([15]). Divide los números a
Suponiendo que las probabilidades son independientes, es multiplicar en dos partes más pequeñas, reduciendo 4
claro que si un candidato resulta pseudoprimo robusto para t multiplicaciones a 3. Ası́, el número
de operaciones
bases aleatorias, la probabilidad de que sea realmente primo básicas pasa a ser O (log n)log 3 O (log n)1,585 .
será1 1 − 2−2t . Con esto, Miller ([10]) y Rabin ([11]) desarro- 2. Método de Toom-Cook ([14, §9.5]). Divide los números
a multiplicar en k partes más pequeñas (si k = 2, se
1 Esta probabilidad es demasiado pesimista, al no tener en cuenta la distri- convierte en Karatsuba). Cuando, por ejemplo, k = 3, el
bución de los primos. Puede verse un análisis más detallado en [9, §§4.48, número de multiplicaciones pasa de 9 a 5, con lo que el
4.49], que proporciona valores adecuados para el parámetro de seguridad de
acuerdo a la probabilidad deseada. En dicho análisis se demuestra también que número
de operaciones
básicas es O (log n)log 5/ log 3
el parámetro depende además de la longitud en bits del candidato analizado. O (log n) 1,465 .
60
3. Métodos que involucran transformadas de Fourier, como 1. Fase de generación del candidato:
el de Schönhage y Strassen ([16]) que necesita un a) Genera un número aleatorio. Para ello utiliza los re-
número de operaciones de O n log n log2 n . cursos del sistema operativo; en particular, para los
Todos los métodos citados necesitan realizar aparte las re- sistemas tipo Unix/Linux, el dispositivo urandom.
ducciones modulares, lo que implica costosas divisiones. Ello b) Asegura que los bits más y menos significativos
se evita usando la reducción de Montgomery ([17], [18]), un sean ‘1’. Ası́ garantiza un determinado número de
ingenioso método de realizar la reducción modular, que evita bits y que el candidato es impar.
las divisiones. Este método resulta de mucho interés para los 2. Fase de comprobación de primalidad:
dispositivos móviles por su economı́a, pero ha sido objeto de
a) Realiza un test de divisiones sobre la tabla de
intensos ataques de canal lateral como el timing attack (véase,
primos bajos.
por ejemplo, [19]). Se concluye con la siguiente
b) Realiza un test de Fermat.
Proposición 3: El tiempo de ejecución esperado para el c) Realiza un test de Miller-Rabin, con un parámetro
algoritmo de Miller-Rabin es O (log n)2+ε . de seguridad fijado en 5 para todos los candidatos.
El valor de ε depende del método de multiplicación empleado.
Si en alguno de los tests de la fase 2 el candidato resulta ser
III. G ENERADORES EN G NU PG Y O PEN SSL compuesto, se repiten los tests sobre el siguiente impar, hasta
En esta sección estudiamos los generadores utilizados en probar un total de 10.000. Si todos los candidatos resultan
dos importantes aplicaciones del mundo del software abierto: compuestos, se vuelve a la fase 1, se genera un nuevo número
GnuPG y OpenSSL. Hemos elegido estas dos aplicaciones por
aleatorio y se repite todo el proceso.
acogerse a las licencias de tipo GNU General Public License. El algoritmo de exponenciación usado es el clásico de
GnuPG es la implementación hecha por GNU de OpenPGP,
((potencia cuadrada y producto repetidos)) ([12, §1.2]) junto
tal como está definido en el RFC4880. Entre las operaciones con una reducción por simple división con resto. La multipli-
soportadas está, naturalmente, la generación de claves, que cación usa el método de Karatsuba si resulta más eficiente.
necesita como base una primitiva de generación de números
III-B. Generación en OpenSSL
primos. Obviamente, los algoritmos usados para la generación
impactan en la calidad de los primos generados y, por tanto, OpenSSL utiliza una biblioteca propia, incluida en el propio
en la seguridad básica del sistema. paquete, como biblioteca de multiprecisión. Esta biblioteca se
OpenSSL es un proyecto para desarrollar en código abierto denomina BIGNUM y está escrita en lenguaje C.
una implementación de los estándares Secure Sockets Layer En este caso, la generación de primos está centralizada en
(SSL) y Transport Layer Security (TLS), que constituyen la la función BN_generate_prime_ex, contenida en el fichero
base más usada actualmente para la comunicación segura a crypto/bn/bn_prime.c. Los clientes de esta función son,
través de internet. Protocolos como https, para navegación por ejemplo, el generador de parámetros para intercambio de
web con autenticación y cifrado, aplicaciones como ssh para claves de Diffie-Hellman, o la generación de claves para RSA.
comunicación serie (terminal serie) cifrada y autenticada, son En este caso, también la generación de primos comporta dos
clientes de tales estándares. También es interesante en este fases: la generación de un número aleatorio y la comprobación
caso estudiar y cualificar la calidad de las primitivas de posterior mediante un algoritmo de primalidad.
generación de primos, base para la generación de las claves. 1. Fase de generación del candidato:
III-A. Generación en GnuPG a) Genera un número aleatorio, utilizando funciones
de la propia biblioteca, basadas grosso modo en la
GnuPG usa GMP, GNU Multiple Precision Arithmetic Li- familia MD de funciones resumen (hash).
brary ([20]) como biblioteca de multiprecisión2 , modificada b) Dentro de la misma fase, comprueba también
ligeramente en cuanto al modo de almacenar los datos. que el número aleatorio ası́ generado no con-
La generación de números primos está centralizada en una tenga ningún factor común con alguno de los
sola función denominada gen_prime y contenida en el fichero primos de una tabla de primos estáticamente ge-
cipher/primegen.c de la distribución. nerada. Dicha tabla está prefijada en el fichero
El proceso de generación implica dos fases: la generación crypto/bn/bn_prime.h y alberga los 2048 pri-
de un número aleatorio candidato y la comprobación de pri- meros primos, desde 2 hasta e incluyendo 17863.
malidad mediante tests sucesivamente más fiables y costosos
2. Fase de comprobación de primalidad:
computacionalmente. En todo el proceso, se utiliza una lista
estática de números primos hasta e incluyendo 4999, que se a) Obtiene un parámetro de seguridad dependiente del
prepara antes de comenzar el proceso. tamaño del candidato, con el fin de garantizar una
probabilidad menor de 2−80 para cualquier número
2 Las bibliotecas de multiprecisión recogen rutinas que permiten utilizar de bits que tenga el candidato. Especı́ficamente, se
datos de precisión arbitraria (por ejemplo, enteros de tamaño arbitrariamente elige 3 para los candidatos de 1024 bits, 6 para los
grande, o números de coma flotante con precisión arbitrariamente pequeña)
para lenguajes de programación estándar, como C o C++. En particular, GMP de 512 bits y 12 para los de 256 bits (véase [9,
es una biblioteca de código abierto, avalada por una amplı́sima base instalada. Tabla 4.4]).
61
b)
Se realiza un test de Miller-Rabin con el parámetro 55
GnuPG
de seguridad seleccionado en el punto anterior. 50 OpenSSL
Como dato de interés, la biblioteca utiliza la exponenciación de 45
62
ENTRADA: v, w,t ∈ Z, y a ∈ Z∗m \ {1}. Proposición 4: Sean m > 1 y k ∈ Zm . Entonces, k ∈ Z∗m
SALIDA: primo aleatorio en el intervalo [qmin , qmax ]. si y sólo si kλ (m) ≡ 1 (mód m), donde λ es la función de
1. [Inicialización] Carmichael.
Calcular = vΠ, m = wΠ. Recordemos que la función de Carmichael de un número
Seleccionar aleatoriamente k ∈ Z∗m . n se define como el entero más pequeño, λ (n) tal que
q = [(k − t) (mód m)] + t + ; aλ (n) ≡ 1 (mód n) para todo a ∈ Zn tal que mcd(a, n) = 1.
2. [Lazo] Si n = ps11 · · · ptst , entonces se puede calcular recursivamente
while (T(q) == false) como λ (n) = mcm(λ (ps11 ), . . . , λ (ptst )). A su vez, si p ≥ 3, o
{ k = k · a (mód m); s ≤ 2, λ (ps ) = ϕ(ps ) = ps−1 (p − 1), y λ (2s ) = 2s−2 .
q = [(k − t) (mód m)] + t + ; Proposición 5: Sean k, r ∈ Zm , tales que mcd(r, k, m) = 1.
} Entonces k + r(1 − kλ (m) ) (mód m) ∈ Z∗m .
return q; Está claro que calcular la función de Carmichael de m,
λ (m), es fácil porque, por construcción, sabemos perfecta-
Figura 4. Generación de primos de Joye-Paillier
mente la factorización de m.
1. [Inicialización]
Seleccionar aleatoriamente k ∈ [1, m].
u = (1 − kλ (m) ) (mód m);
2. [Lazo] 0.01
while (u
= 0)
{ Seleccionar aleatoriamente r ∈ [1, m].
k = k + ru (mód m);
u = (1 − kλ (m) ) (mód m); 0.001
100 200 300 400 500 600 700 800 900 1000 1100
}
Número de bits
return k;
Figura 5. Generación de unidades de Joye-Paillier Figura 6. Tiempo de ejecución promediado frente a número de bits
63
60 Aunque no ha sido posible realizar una implementación so-
Joye-Paillier
55 bre dispositivos reales, los resultados experimentales aquı́ pre-
sentados parecen indicar que el algoritmo de Joye-Paillier
Número de ejecuciones del test
50
supone una optimización sobre tarjetas criptográficas, tanto en
45
tiempo como en recursos, en lı́nea con las aplicaciones GnuPG
40 y OpenSSL, destinadas a plataformas estándares.
35
AGRADECIMIENTOS
30
Los autores agradecen a los revisores sus sugerencias para
25
la mejora de este trabajo que ha sido parcialmente financiado
20 por el Ministerio de Ciencia e Innovación mediante el proyecto
15 TEC2009-13964-C04-02, y el Ministerio de Industria, Turismo
10 y Comercio, en colaboración con CDTI y Telefónica I+D
100 200 300 400 500 600 700 800 900 1000 1100 mediante el proyecto Segur@ CENIT-2007 2004.
Número de bits
R EFERENCIAS
Figura 7. Número promediado de invocaciones al algoritmo de primalidad
[1] M. Agrawal, N. Kayal y N. Saxena, “PRIMES Is in P”, en Ann. of
Math., vol. 160, no. 2, pp. 781–793, 2004.
[2] P. Berrizbeitia, “Sharpening ‘Primes is in P’ for a large family of
Los resultados pueden verse en las figuras 6-7. En la figura numbers”, en Math. Comp., vol. 74, no. 252, pp. 2043–2059, 2005.
[3] Q. Cheng, “Primality proving via one round in ECPP and one iteration
6 se presenta el tiempo medio de computación. Se observa in AKS”, en Lecture Notes in Comput. Sci., vol. 2729, pp. 338–348,
que, en términos relativos, el comportamiento es relativamente 2003.
similar al que se ha obtenido para las aplicaciones GnuPG y [4] ——, “Primality proving via one round in ECPP and one iteration in
AKS”, en J. Cryptology, vol. 20, no. 3, pp. 375–387, 2007.
OpenSSL. Como ya se ha indicado, no fue posible realizar [5] D. J. Bernstein, “Proving primality in essentially quartic random time”,
estas mediciones sobre dispositivos móviles reales, por lo que en Math. Comp., vol. 76, pp. 389–403, 2003.
nos hemos de limitar a señalar el aspecto de la curva. No obs- [6] P. Mihăilescu y R. Avanzi, “Efficient ‘quasi’-deterministic primality
test improving AKS”, preprint, [Link]
tante pensamos que no es atrevido esperar un comportamiento papers/[Link]
similar. [7] W. Alford, A. Granville y C. Pomerance, “There are infinitely many
En la figura 7 se puede observar que, en general, el número Carmichael numbers”, en Ann. of Math., vol. 140, pp. 703–722, 1994.
[8] D. Knuth, The Art of Computer Programming. Reading, MA, USA:
de llamadas al algoritmo de primalidad resulta ser más alto Addison-Wesley Publishing Co., 1968, 1980, 2nd edition, vol. 2 -
para todo el rango de tamaño en bits si se compara con los Seminumerical Algorithms.
resultados obtenidos en la figura 3. Esto resulta en detrimento [9] A. Menezes, P. van Oorschot y S. Vanstone, Handbook of Applied
Cryptography. Boca Raton, FL, USA: CRC Press, Inc., 1997.
de este algoritmo que precisamente buscaba minimizar el [10] G. Miller, “Riemann’s hypothesis and tests for primality”, en J. Comput.
número de tales llamadas. Ello parece indicar que el buen System Sci., vol. 13, pp. 300–317, 1976.
comportamiento del algoritmo resulta muy dependiente de una [11] M. Rabin, “Probabilistic algorithms for testing primality”, en J. Number
Theory, vol. 12, pp. 128–138, 1980.
correcta elección de los parámetros del sistema. [12] H. Cohen, A Course in Computational Algebraic Number Theory. Berlin:
Springer, 1993.
V. C ONCLUSIONES [13] R. M. Avanzi, H. Cohen, C. Doche, G. Frey, T. Lange, K. Nguyen y
F. Vercauteren, Handbook of Elliptic and Hyperelliptic Curve Crypto-
En este trabajo hemos presentado un resumen de los prin- graphy, H. Cohen, G. Frey y C. Doche, Eds. Boca Raton, FL, USA:
cipales métodos utilizados para la generación de primos en Chapman & Hall/CRC, 2005.
diferentes plataformas. Se ha analizado experimentalmente la [14] R. Crandall y C. Pomerance, Prime Numbers. A Computational Pers-
pective. New York: Springer, 2001.
eficiencia de los métodos utilizados por dos aplicaciones muy [15] A. Karatsuba, “The complexity of computations”, en Proc. Steklov Inst.
populares, GnuPG y OpenSSL, ası́ como por el algoritmo de Math., vol. 211, pp. 169–183, January 1995.
Joye-Paillier. Los primeros pueden considerarse de carácter [16] A. Schönhage y V. Strassen, “Schnelle Multiplikation großer Zahlen”,
en Computing (Arch. Elektron. Rechnen), vol. 7, pp. 281–292, 1971.
general, mientras que el último está especialmente diseñado [17] P. L. Montgomery, “Modular multiplication without trial division”, en
para tarjetas criptográficas con limitada capacidad de cómputo. Math. Comp., vol. 44, no. 170, pp. 519–521.
Hemos diseñado programas especı́ficos que aı́slan el proce- [18] Ç. K. Koç, T. Acar y B. S. Kaliski, Jr., “Analyzing and comparing
Montgomery multiplication algorithms”, en IEEE Micro, vol. 16, no. 3,
so de generación de primos para cada una de ellas y presen- pp. 26–33, June 1996.
tamos resultados experimentales acerca del tiempo necesario [19] H. Sato, D. Schepers y T. Takagi, “Exact analysis of Montgomery
y número de invocaciones al algoritmo de primalidad en multiplication”, en Lecture Notes in Comput. Sci., vol. 3348, pp. 290–
304, 2004.
cada caso, considerando la generación de primos con distintas [20] T. Granlun, “The GNU multiprecision arithmetic library”, http:
longitudes. //[Link], 2010.
Los procesos de generación de primos, en todos los casos, [21] M. Joye y P. Paillier, “Fast generation of prime numbers on portable
devices: An update”, en Lecture Notes in Comput. Sci., vol. 4249, pp.
pueden considerarse muy eficientes y los algoritmos emplea- 160–173, 2006.
dos garantizan una alta calidad en el proceso de generación de [22] M. Joye, P. Paillier y S. Vaudenay, “Efficient generation of prime
primos. Este resultado es especialmente destacable en el caso numbers”, en Lecture Notes in Comput. Sci., vol. 1965, pp. 340–354,
2000.
del OpenSSL.
64
Un esquema multiusuario de intercambio de clave
Clara Gallardo José Vicent Antonio Zamora
Departamento de Ciencia de la Departamento de Ciencia de la Departamento de Ciencia de la
Computación e Inteligencia Artificial Computación e Inteligencia Artificial Computación e Inteligencia Artificial
Universidad de Alicante Universidad de Alicante Universidad de Alicante
Email: cgallardo@[Link] Email: jvicent@[Link] Email: zamora@[Link]
Resumen—En este artı́culo se presenta un esquema de inter- dos usuarios. En la sección III se describe la notación utilizada
cambio de clave entre n usuarios que requiere n − 1 envı́os con la intención de clarificar la descripción del esquema y en la
entre los participantes. Es una generalización del intercambio de sección IV se presenta, a modo de ejemplo, el intercambio de
clave para dos usuarios, y está basado en potencias de matrices
triangulares superiores por bloques con elementos en Zp . La clave para tres usuarios y su generalización para n usuarios,
seguridad de este esquema queda garantizada puesto que se basa ası́ como la demostración de que finalmente comparten un
en un problema (bajo ciertas condiciones) intratable como es el secreto. Finalmente, en la sección V, se realiza un análisis de
problema del logaritmo discreto aplicado al grupo de matrices seguridad del algoritmo presentado, llegando a la conclusión
mencionado anteriormente. de que el esquema propuesto es seguro, puesto que basa su
Index Terms—Intercambio de clave, criptografı́a, matrices por
bloques, logaritmo discreto. seguridad en el DLP aplicado al grupo especial de matri-
ces triangulares superiores por bloques. Además, es eficiente
puesto que se utiliza en todos los cálculos un algoritmo de
I. I NTRODUCCI ÓN
exponenciación rápida (véase [2]) para el mencionado grupo.
Un protocolo de intercambio de clave es aquel por el cual
dos partes, comúnmente llamadas Alice y Bob, acuerdan una II. I NTERCAMBIO DE CLAVE PARA DOS USUARIOS
clave secreta para el uso en la subsiguiente comunicación Como se ha comentado, el DLP, elegido con un grupo
privada. El intercambio de clave es una parte esencial de un cı́clico G adecuado, proporciona un nivel de seguridad alto
sistema de clave pública (véanse [7], [10]). El primer esquema a los esquemas criptográficos que lo utilizan. En [3] se
de intercambio de clave publicado, fue introducido por Diffie presenta un intercambio de clave para dos usuarios que basa
y Hellman en 1976 (véase [8]), e independientemente por su seguridad en el DLP. El conjunto Θ sobre el que se aplica
Merkle en 1978 (véase [14]); en él, dos usuarios que quieren este intercambio es el siguiente:
intercambiar una clave, acuerdan dos valores de entrada del Sea p un número primo y r, s ∈ N; se denota por
algoritmo de intercambio de clave: un número primo grande Matr×s (Zp ) a las matrices de tamaño r × s con elementos
p y un elemento generador g. en Zp , y por GLr (Zp ) y GLs (Zp ) a las matrices invertibles
La seguridad del intercambio de clave de Diffie-Hellman de tamaño r×r y s×s respectivamente, también con elementos
se basa en la dificultad del problema del logaritmo discreto en Zp . Consideramos el conjunto Θ de las matrices
(DLP) sobre cuerpos finitos (véase [6], [11], [13]). Sea G un
grupo cı́clico de orden n y α un generador de G. Si β ∈ G, A X
M= ,
el logaritmo discreto de β con respecto a α es el elemento 0 B
x ∈ Zn tal que β = αx . Como bien es sabido, el DLP para donde A ∈ GLr (Zp ), B ∈ GLs (Zp ) y X ∈ Matr×s (Zp ).
G consiste en determinar x cuando G, α y β son conocidos. Se tiene, para h un entero no negativo, que
Para que el DLP sea útil en la construcción de primitivas
h
criptográficas es necesario que el problema sea intratable, A X (h)
Mh = ,
en otras palabras, no deberı́a tener una solución en tiempo 0 Bh
polinomial. La intratabilidad computacional del DLP depende siendo
del grupo cı́clico G en el que se esté trabajando [12]. ⎧
En este trabajo se presenta un esquema de intercambio ⎪
⎨ 0, si h = 0
de clave entre n usuarios, en el que son necesarios n − 1 X (h)
= h
.
⎪
⎩ Ah−i XB i−1 , si h ≥ 1
envı́os de información, de forma que éstos puedan compartir
i=1
un secreto común y utilizar éste como clave de sesión para
el cifrado de la información. El esquema presentado utiliza Se describe, para un par de números x, y ∈ N, la notación:
matrices triangulares superiores por bloques con elementos Axy = Ax1 Ay2 ,
en Zp (véase [4]) y basa su seguridad en el DLP que surge
cuando se trabaja con matrices de este grupo. En la sección II Bxy = B1x B2y ,
(y) (x)
y como introducción se recuerda el intercambio de clave para Cxy = Ax1 X2 + X1 B2y .
65
Se define, para i ∈ {1, . . . , n},
66
calcula A1,3 , B 1,3 y C 1,3 , agrupa estos valores como 3.2 El participante Ui envı́a esta matriz Cik al usuario
bloques en una nueva matriz siguiente, esto es, el usuario Ui envı́a Cik al usuario
1,3 Uj , siendo j = (i mod n) + 1.
1 A C 1,3
C3 = 4. Utilizando la última matriz recibida, cada participante
0 B 1,3
Ui calcula
y la envı́a al usuario U1 .
(si )
5. Utilizando los bloques de la matriz que ha recibido de KUi = Ar1i C n−1,i−1 B2si + Ar1i An−1,i−1 X2 +
U3 , el usuario U1 calcula A2,1 , B 2,1 y C 2,1 , agrupa estos (r )
X1 i B n−1,i−1 B2si = K,
valores como bloques en una nueva matriz
2,1 que es la clave compartida.
A C 2,1
C12 = El teorema siguiente muestra que la clave es común a todos
0 B 2,1
los participantes.
y envı́a esta matriz a U2 . Teorema 1: KUi = KUi−1 = K, i = 2 . . . n.
6. De manera análoga, el usuario U2 calcula A2,1 , B 2,2 y Proof: Para i = 2 . . . n, sea Pi = M1ri M2si , con
C 2,2 , agrupa estos valores como bloques en una nueva
r
s
(r ) (s )
matriz A1i X1 i A2i X2 i
2,2 M1ri = y M si
= ,
2 A C 2,2 0 B1ri 2
0 B2si
C2 =
0 B 2,2 y sea
y envı́a esta matriz a U3 . AUi KUi
7. El usuario U3 calcula A2,3 , B 2,3 y C 2,3 , agrupa estos M Ui = M1ri Pi−1 M2si = .
0 B Ui
valores como bloques en una nueva matriz
2,3 Con esto se tiene que
A C 2,3
C32 =
0 B 2,3 MUi = M1ri Pi−1 M2si
r s
y envı́a esta matriz a U1 . = M1ri M1 i−1 M2 i−1 M2si
r s
8. Los tres participantes U1 , U2 y U3 calculan = M1 i−1 M1ri M2si M2 i−1
r s
K U1 =
(s1 )
Ar11 C 2,3 B2s1 + Ar11 A2,3 X2 + = M1 i−1 Pui M2 i−1
(r )
X1 1 B 2,3 B2s1 , = MUi−1
y, consecuentemente, KUi = KUi−1 , i = 2 . . . n.
(s2 )
KU 2 = Ar12 C 2,1 B2s2 + Ar12 A2,1 X2 + El teorema que se muestra a continuación explicita la forma
X1
(r2 )
B 2,1 B2s2 de la clave compartida.
Teorema 2: La clave que se comparte con el intercambio
y descrito tiene la forma
(s3 )
KU3 = Ar13 C 2,2 B2s3 + Ar13 A2,2 X2 + K Ui = Ar1i C n−1,i−1 B2si + Ar1i An−1,i−1 X2
(si )
+
(r3 )
X1 B 2,2 B2s3 , (r )
X1 i B n−1,i−1 B2si .
ocurriendo que KU1 = KU2 = KU3 = K, que es la Proof: Se demuestra por inducción sobre k, siendo k el
clave compartida, como se demostrará más adelante. número de envı́o.
A continuación se generaliza el intercambio para el caso en Para k = 2. El usuario Uj−1 calcula A1,j−1 , B 1,j−1 ,
el que participen n usuarios. C 1,j−1
, agrupa los valores como en (1) (con k = 1) y envı́a
Sea n ∈ N, y sean Ui , i ∈ {1 . . . n}, interlocutores que esta matriz a Uj .
desean intercambiar una clave. Para ello ejecutan el protocolo Uj calcula
siguiente: r s
1
1. Acuerdan un número primo p y M1 , M2 ∈ Θ, con M1 j Cj−1 M2 j =
órdenes m1 y m2 respectivamente, ası́ cómo el ı́ndice
i ∈ {1 . . . n} correspondiente a cada participante. r
A1j
(r )
X1 j A1,j−1 C 1,j−1 s
A2j X2 j
(s )
r s =
2. Cada participante Ui genera dos números aleatorios ri 0 B1 j 0 B 1,j−1 0 B2 j
y si ∈ N tales que 1 ≤ ri ≤ m1 − 1, 1 ≤ si ≤ m2 − 1.
3. Repetir, desde k = 1 hasta k = n − 1
r r (r )
s (s )
A1j A1,j−1 A1j C 1,j−1 + X1 j B 1,j−1 A2j X2 j
3.1 Cada usuario Ui calcula Ak,i , B k,i y C k,i y agrupa r s =
0 B1j B 1,j−1 0 B2 j
estos valores como bloques en una nueva matriz
k,i
k A C k,i A2,j C 2,j
Ci = . (1) = Cj2 ,
0 B k,i 0 B 2,j
67
donde usan dos matrices M1 y M2 con polinomios caracteristicos
2,j r (s ) r (r ) s diferentes.
C = A1j A1,j−1 X2 j + (A1j C 1,j−1 + X1 j B 1,j−1 )B2j
González, Pérez y Taborda [9] realizan un análisis para
y, por tanto, para k = 2 el bloque superior derecho tiene la el intercambio de clave de dos usuarios habiendo realizado
forma indicada. una reducción del problema a una extensión del cuerpo base,
Supongamos ahora que el bloque superior derecho de las llegando a la conclusión de que el esquema matricial no
matrices que se mandan en el envı́o n − 1 tienen esa forma, presenta ventajas con respecto a la computación en dicho
y veamos que la que se forma a partir de ellas (cuyo bloque cuerpo. Esto último condiciona la elección del primo p de
superior derecho es la clave compartida) también la tiene. manera que el DLP sea lo suficientemente duro.
Sea entonces VI. C ONCLUSIONES
n−1,j−1
n−1 A C n−1,j−1 En este artı́culo se ha descrito un esquema de intercambio
Cj−1 =
0 B n−1,j−1 de clave entre n usuarios en el que son necesarios n − 1
la matriz calculada por el usuario Uj−1 para realizar la envı́os de información. El esquema presentado se basa en un
comunicación n − 1. Éste la envı́a al usuario siguiente, Uj , intercambio de clave para dos usuarios que utiliza un grupo
que calcula especial de matrices triangulares superiores por bloques (con
r n−1 s unas excelentes propiedades criptográficas). El intercambio de
M1 j Cj−1 M2 j = clave propuesto, basa su seguridad en el DLP aplicado al
rj (r )
n−1,j−1
sj (s )
citado grupo de matrices. Además es un protocolo eficiente,
A1 X1 j A C n−1,j−1 A2 X2 j puesto que se utiliza un algoritmo de exponenciación rápida
r s =
0 B1 j 0 B n−1,j−1 0 B2 j para matrices por bloques.
r s R EFERENCIAS
A1j An−1,j−1 A2j KUj
r s , [1] M. Abdalla, M. Bellare, P. Rogaway, “The Oracle Diffie-Hellman As-
0 B1j B n−1,j−1 B2j sumptions and an Analysis of DHIES”, CT-RSA 2001, LNCS, vol. 2020,
Springer, Berlin, pp. 143-158, 2001.
siendo [2] R. Alvarez, F. Ferrández, J. Vicent, A. Zamora, “Applying Quick Expo-
r (sj ) r nentiation for Block Upper Triangular Matrices”, Applied Mathematics
KUj = A1j An−1,j−1 X2 + (A1j C n−1,j−1 + and Computation, Vol. 183, 729-737, 2006.
(rj ) s [3] R. Alvarez, L. Tortosa, J. Vicent, A. Zamora, “Analysis and Design of
X1 B n−1,j−1 )B2j a Secure Key Exchange Scheme”, Information Sciences, Vol. 179, 2014-
2021, 2009.
la clave compartida, que tiene la forma indicada. [4] R. Alvarez, L. Tortosa, J. Vicent, A. Zamora, “A Non-Abelian Group
Based on Block Upper Triangular Matrices with Cryptographic Applica-
tions”, Lecture Notes in Computer Science, Vol. 5527, 117-126., 2009.
V. A N ÁLISIS DE S EGURIDAD [5] J.J. Climent, E. Gorla, J. Rosenthal, “Cryptanalysis of the CFVZ Cry-
ptosystem”, Advances in Mathematics of Communications (AMC), Vol.
Para evitar ataques por fuerza bruta, el orden de M1 y M2 1, 1-11, 2006.
tiene que escogerse suficientemente grande (del orden de 1024 [6] D. Coppersmith, A. Odlyzko, R. Schroeppel, “Discrete Logarithms in
GF(p)”, Algorithmica, 1-15, 1986.
bits). [7] R. Cramer, V. Shoup, “Design and Analysis of Practical Public-key
El algoritmo de Menezes y Wu [13] es una técnica común Encryption Schemes Secure Against Adaptive Chosen Ciphertext Attack”,
para analizar la seguridad de esquemas de clave pública en SIAM J. Comput. 33(1), 167-226, 2003.
[8] W. Diffie, M. E. Hellman, “New Directions in Cryptography”, IEEE
los que intervienen potencias de matrices. Básicamente, este Transactions on Information Theory, IT-22, 6, 664-654, 1976.
algoritmo establece la posibilidad de reducir el problema del [9] M.I. González, A. Pérez, P. Taborda, “Cryptanalysis of a Key Exchange
logaritmo discreto a una serie de logaritmos discretos sobre Scheme Based on Block Matrices”, Cryptology ePrint Archive (IACR),
2010.
un cuerpo finito de pequeño tamaño Fqmi , donde mi es el [10] G. Hanaoka, K. Kurosawa, “Efficient Chosen Ciphertext Secure Public
grado del polinomio irreducible, que es un factor del polinomio Key Encryption under the Computational Diffie-Hellman Assumption”,
caracterı́stico de la matriz A. La entrada de este algoritmo es ASIACRYPT 2008, pp. 308-325, 2008.
[11] K. McCurley, “The Discret Logarithm Problem”, Cryptology and
una matriz cuadrada, como A, B ∈ GLn (Zp ) con B = Al , y la Computational Number Theory, Proceedings of Symposia in Applied
salida es el exponente entero l. Ası́ pues, este algoritmo puede Mathematics, Vol. 42, 49-74, 1990.
ser efectivo contra esquemas que hacen públicas potencias de [12] A. Menezes, P.C. van Oorschot, S.A. Vanstone, “Handbook of Applied
Cryptography”, The CRC Press Series on Discrete Mathematics and Its
matrices cuadradas. Sin embargo en el esquema presentado Applications, Boca Raton, 1997.
sólo se hacen públicas las matrices Cik , lo que hace inviable [13] A. Menezes, Y.H. Wu, “The Discrete Logarithm Problem in GL(n, q)”,
este tipo de ataques. Ars Combinatoria, Vol. 47, 22-32, 1997.
[14] R. Merkle, “Secure Communications over Insecure Channels”, Commu-
Climent, Gorla y Rosenthal [5] proponen una técnica de nications of the ACM vol. 21, 4, 294-499, 1978.
ataque basada en el teorema de Cayley-Hamilton, que es
susceptible de ser usada en esquemas donde aparecen matrices
triangulares superiores por bloques. Este ataque está basado
en la existencia de un único polinomio caracterı́stico, lo cual
invalida su utilización en el esquema presentado, ya que se
68
Identity-based non-interactive key distribution
with forward security
Rainer Steinwandt Adriana Suárez Corona
Department of Mathematical Sciences Departamento de Matemáticas
Florida Atlantic University Universidad de Oviedo
Boca Raton, FL 33426, U.S.A. 33007 Oviedo, Spain
Email: rsteinwa@[Link] Email: adriana@[Link]
69
Experiment Expfsprg−0 (A)
Experiment Expfsprg−1
GEN (A) $
GEN
$ St0 ← [Link]
St0 ← [Link] i ← 0; h ←
i ← 0; h ← Repeat
Repeat i←i+1
i←i+1 (Outi , Sti ) ← [Link](Sti−1 )
(Outi , Sti ) ← [Link](Sti−1 ) $
$ Outi ← {0, 1}b
(d, h) ← A(find, Outi , h) $
Until (d = guess) or i = m (d, h) ← A(find, Outi , h)
$ Until (d = guess) or i = m
g ← A(guess, Sti , h) $
Return g g ← A(guess, Sti , h)
Return g
Fig. 1. Attacking forward security of a stateful generator
.
70
• Setup The challenger C runs the Setup and hands the resulting public parameters params to the
adversary A. The initial master secret key mk 0 remains private, i. e., C does not forward the value mk 0
to A.
• Phase 0 (Find) The adversary is allowed to make the following queries:
– Extract(ID, i): The challenger C responds by running the algorithm MasterKeyUpdate of the key-
evolving ID-NIKD scheme with input mk0 until the master key of time period i, mk i is obtained.
Then C runs the algorithm Extract with input (params, mk i , ID) and hands the resulting secret
i
key SID to A.
– Reveal(IDA , IDB , i): The challenger C responds by running algorithm MasterKeyUpdate of the
key-evolving ID-NIKD scheme with input mk0 until the master key of time period i, mk i is obtained.
Then C runs the algorithm Extract with input (params, mk i , IDA ) to get a secret key SID i
A
and
then SharedKey with input (params, SID i
A
, ID B ) to get a shared key K i
AB . Finally, C hands the
value KABi
to A.
– Test(IDA , IDB , i): The challenger C computes KAB i
in the same way as for answering a Reveal
$
query. Moreover, C chooses a random bit b ← {0, 1}. If b = 0, C hands KAB i
to A. Otherwise
(b = 1), the challenger C hands a uniformly at random chosen element from SHK to A.
The queries of A must satisfy the following restrictions:
– Only one Test query can be made.
– All inputs i of Reveal and Extract queries must satisfy i ≥ itest , i. e., only future keys may be
compromised.
– No Reveal query can be made on input (IDA , IDB , itest ), nor (IDB , IDA , itest ), if the Test query’s
input is (IDB , IDA , itest).
– No Extract query can be made on input (IDA , itest ), nor (IDB , itest ), if the Test query’s input is
(IDB , IDA , itest ).
• Phase 1 (Guess) The adversary outputs a value b ∈ {0, 1} and wins if and only if b = b .
Fig. 2. Attacking forward security of a key-evolving NIKD scheme.
Now, to capture the security of a key-evolving ID-NIKD, we be made on the same input (IDA , IDB ) as the Test query’s,
build on the security model used by Paterson and Srinivasan nor on input (IDB , IDA ), and no Extract query can be made
in [8], the main difference being the key evolution component on input IDA , nor IDB , as the Test query has the initial
in our model: In a scheme that is secure in the sense of (current) state as input.
Definition 6 below, an adversary cannot distinguish between a
IV. R EALIZING FORWARD - SECURE KEY- EVOLVING
past shared key established between two users and a random
IDENTITY- BASED NON - INTERACTIVE KEY DISTRIBUTION
element from SHK—even having the current secret keys of
these users. Forward security is therewith achieved in the sense In this section we describe a key-evolving ID-NIKD scheme
that shared keys will not be compromised, even if the private in the random oracle model. Our construction is based on
keys of users are compromised in the future. a proposal of Sakai et al. [9], incorporating key update
Definition 6 (forward-secure key-evolving ID-NIKD): algorithms as required in Definition 5. To so, in addition to a
A key-evolving non-interactive key distribution scheme generator algorithm PairingGen we need a forward-secure
is forward secure if the advantage of any probabilistic pseudorandom bit generator as described in Section II. For the
polynomial time adversary A in the game described in parameter m in Definition 1, we assume m ≥ N , i. e., that m
Figure 2 is negligible for all N ∈ N. Here the advantage of is not smaller than the total number of time periods N and
an adversary A is defined as for the parameter b we assume 2b ≥ q. Finally, we make use
of random oracles
1 H1 : {0, 1}∗ −→
Advfs (k) = Pr[b = b
] − G
A 2 H2 : GT −→ SHK = {0, 1}n
H3 : {0, 1}b −→ {0, . . . , q − 1}.
It is not hard to see that a scheme that is forward-secure
in the sense of Definition 6 meets security in the sense of The five comprising algorithms are as follows:
k
Paterson and Srinivasan’s indistinguishability of shared key • Setup: On input the security parameter 1 and the
(IND-SK) [8], as our model includes adversaries that play the total number of time periods N , PairingGen is used
game in the initial state (no key updates are made). to obtain (G, GT , e, q, P ). In addition, Setup chooses
$
Remark 1: Notice that the restrictions of the model in [8] an element s0 ← {0, . . . , q − 1} uniformly at ran-
hold, as only one Test query can be made, no Reveal query can dom, specifies a pseudorandom generator GEN =
71
([Link], [Link], b, m) and matching random oracles schemes. As a concrete example of a scheme that fulfills the
H1 , H2 , H3 . Let r0 ∈ {0, 1}∗ be the seed generated by proposed security requirement, we gave a construction in the
[Link] and SHK = {0, 1}n , where n ≥ k. random oracle model, using pairings, based on a proposal of
Setup outputs the public parameters params = Sakai et al. and a forward-secure pseudorandom bit generator.
(G, GT , e, P, P0 = s0 ·P, H1 , H2 , H3 , [Link], m, b, n)
ACKNOWLEDGMENTS
and the initial master secret key mk 0 = (s0 , r0 )
• MasterKeyUpdate: On input the previous master key We thank Ignacio Cascudo, Madeline González Muñiz and
mk i−1 = (si−1 , ri−1 ), MasterKeyUpdate computes Kashi Neupane for interesting discussions. The second author
[Link](ri−1 ) = (Outi , Sti ) and outputs the current acknowledges support of FICYT (project IB-08-147) and
master secret key Spanish MEC (project MEC-07-MTM2007-67884-C04-01 and
FPU grant AP2007-03141, cofinanced by the European Social
mk i = (H3 (Outi )si−1 , Sti ) = (si , ri ). Fund).
• KeyExtract: On input the current master secret key R EFERENCES
mk i = (si , ri ) and an identifier ID this algorithm outputs
[1] Mihir Bellare and Sara K. Miner. A Forward-Secure Digital Signature
the secret key Scheme. In M. Wiener, editor, Advances in Cryptology – CRYPTO ’99,
i volume 1666 of Lecture Notes in Computer Science, pages 431–448.
SID = (si H1 (ID), ri ). Springer-Verlag, 1999.
i−1 [2] Mihir Bellare and Bennet Yee. Forward-Security in Private-Key Cryp-
• KeyUpdate: On input a secret key SID = tography. In M. Joye, editor, Topics in Cryptology – CT-RSA 2003, The
(si−1 H1 (ID), ri−1 ), this algorithm computes Cryptographers’ Track at the RSA Conference 2003, volume 2612 of
[Link](ri−1 ) = (Outi , Sti ) and outputs the new Lecture Notes in Computer Science, pages 1–18. Springer-Verlag, 2003.
[3] Rolf Blom. Non-public key distribution. In D. Chaum, R.L. Rivest, and
secret key A.T. Sherman, editors, advances in Cryptology – CRYPTO ’82, pages
i 231–236. Plenum, 1983.
SID = (H3 (Outi )si−1 H1 (ID), Sti ) = (si H1 (ID), Sti ). [4] Régis Dupont and Andreas Enge. Provably secure non-interactive
i key distribution based on pairings. Discrete Applied Mathematics,
• SharedKey: On input a current private key SID A
and 154(2):270–276, 2006.
∗
an identifier IDB ∈ {0, 1} , where IDB
= IDA , this [5] Tsutomu Matsumoto and Hideki Imai. On the KEY PREDISTRIBU-
algorithm outputs TION SYSTEM: A Practical Solution to the Key Distribution Problem.
In C. Pomerance, editor, Advances in Cryptology – CRYPTO ’87, volume
i 293 of Lecture Notes in Computer Science, pages 185–193. Springer-
KAB = H2 (e(si H1 (IDA ), H1 (IDB ))). Verlag, 1988.
[6] Ueli M. Maurer and Yacov Yacobi. Non-interactive Public-Key Cryptog-
Making use of the bilinearity and symmetry of the map e, it is raphy. In D.W. Davies, editor, Advances in Cryptology – EUROCRYPT
not difficult to verify that the above collection of algorithms ’91, volume 547 of Lecture Notes in Computer Science, pages 498–507.
indeed consitutes a correct key-evolving ID-NIKD scheme in Springer-Verlag, 1991.
[7] Ueli M. Maurer and Yacov Yacobi. A Remark on a Non-interactive
the sense that users A and B will obtain identical keys when Public-Key Distribution System. In R.A. Rueppel, editor, Advances
i i
executing SharedKey with (SID A
, IDB ) and (SID B
, IDA ) in Cryptology – EUROCRYPT ’92, volume 658 of Lecture Notes in
respectively. Computer Science, pages 458–460. Springer-Verlag, 1993.
[8] Kenneth G. Paterson and Sriramkrishnan Srinivasan. On the relations
Moreover, the above scheme turns out to be secure in the between non-interactive key distribution, identity-based encryption and
sense of Definition 6, provided that the underlying pseudoran- trapdoor discrete log groups. Designs, Codes and Cryptography,
dom bit generator is forward-secure: 52:219–241, 2009.
[9] Ryuichi Sakai, Kiyoshi Ohgishi, and Masao Kasahara. Cryptosystems
Proposition 1: If GEN is a forward secure pseudorandom based on pairing. In The 2000 Symposium on Cryptography and
bit generator and the BDH assumption holds for the generator Information Security, pages 26–28, 2000.
algorithm PairingGen, the above key-evolving ID-NIKD is [10] Shigeo Tsujii, Kaoru Kurosawa, and Toshiya Itoh. New noninteractive
identity-based key distribution system. Electronic Letters, 24(22):1356–
forward-secure in the sense of Definition 6. 1357, October 1988.
A proof of this result will be given in the full version
of this paper, and here we restrict to saying that the proof
splits into two different cases: For an adversary not quering
Extract or Reveal for time periods i > iTest , the situation is
similar as in [8], and a successful adversary can be used to
attack the BDH problem for (G, GT , e). For the case where an
adversary queries Extract or Reveal for time periods i > iTest ,
a successful attacker can be used to mount an attack against
the forward security of GEN.
V. C ONCLUSION
In this contribution we introduced the notion of key-evolving
identity-based non-interactive key distribution which allows
to capture an intuitive form of forward security for ID-
NIKD schemes—in a spirit similar to forward-secure signature
72
PODER (PrOponer, DEterminar y Refinar) un
Criptoanálisis sobre el Generador Auto-Shrinking
M. E. Pazo Robles A. Fúster Sabater
I.T.B.A. Instituto de Fı́sica Aplicada
Instituto Tecnológico de Buenos Aires C.S.I.C.
Av. E. Madero 399, Buenos Aires, Argentina Serrano 144, 28006 Madrid, España
E-mail: eugepazorobles@[Link] E-mail: amparo@[Link]
Abstract—En este trabajo se presenta un ataque criptoanalı́tico presenta un técnica de criptoanálisis efectiva aplicada sobre
sobre el generador auto-shrinking, un generador de secuencia dicho generador, para distintas longitudes L de su registro
cifrante bien conocido por sus buenas propiedades criptográficas. de desplazamiento con L ≤ 120. Concretamente, se ha de-
Se propone un refinamiento de la técnica criptoanalt́ica de
Guess-and-Determine, con supuestos definidos y elaborados a lo sarrollado un método basado en trabajos anteriores realizados
largo del propio proceso. Se presentan resultados numéricos que sobre el generador auto-shrinking, en particular [14], logrando
mejoran otros criptoanálisis planteados sobre dicho generador. mejorar en varios órdenes de magnitud lo alcanzado en di-
Concretamente, se han logrado complejidades del orden de cho trabajo. Esta mejora permite asegurar que el generador
O(20.2L ) para la cantidad de secuencia interceptada, O(L) para puede romperse en tiempo real. La complejidad de memoria
memoria consumida y O(20.5L ) para tiempo de ejecución (siendo
L la longitud del registro del generador). Se propone asimismo necesaria es muy pequeña, concretamente de O(L2 ), mientras
un hardware especı́fico para un criptoanálisis de corte práctico. que la complejidad de secuencia interceptada (datos) tiene un
orden menor que O(20.2L ). Por otra parte, la complejidad en
I. I NTRODUCCI ÓN tiempo que hemos logrado es menor que O(20.5L ). De hecho,
Los sistemas de cifrado en flujo son los más rápidos dentro haber logrado disminuir este valor, en comparación con el de
de los métodos de cifrado actuales, de ahı́ que se utilicen otros autores, es lo que hace que nuestro criptoanálisis pueda
en numerosas aplicaciones prácticas como, por ejemplo, los realizarse en tiempo real con un hardware dedicado.
algoritmos A5 (en su doble versión A5/1 y A5/2) que se
emplean en telefonı́a móvil GSM [5], el algoritmo E0 usado II. E L G ENERADOR AUTO -S HRINKING
en especificaciones de Bluetooth [1] o el algoritmo RC4
El generador auto-shrinking fue diseñado por Meier y
utilizado en Microsoft Word y Excel [11]. Un sistema de
Staffelbach [7] para su uso en aplicaciones criptográficas. Este
cifrado en flujo está compuesto por un algoritmo o generador
generador es de fácil implementación y consiste en un único
de secuencia cifrante (conocido públicamente) y una clave de
LFSR de L etapas y polinomio de realimentación primitivo.
cifrado (conocida únicamente por los dos comunicantes). Para
Este registro genera una única secuencia pseudoaleatoria,
cifrar, el emisor realiza una operación OR-exclusiva bit a bit
{sn }, la cual se decima de forma irregular dando origen
entre la secuencia cifrante y el texto claro (mensaje original),
a la secuencia auto-shrunken, {zn }, o secuencia de salida
dando lugar al texto cifrado que es el que se va a enviar
del generador. La regla de decimación es extremadamente
por el canal de información. Para descifrar, el receptor genera
simple; se consideran pares (s2i , s2i+1 ) (i = 0, 1, 2, . . .) de
la misma secuencia cifrante que suma bit a bit con el texto
bits consecutivos de {sn } tales que:
cifrado recibido y recupera ası́ el texto claro original. Muchos
algoritmos de cifrado en flujo están basados en Registros 1) Si s2i = 1, entonces zj = s2i+1 .
de Desplazamiento con Realimentación Lineal (LFSRs) [4] 2) Si s2i = 0, entonces s2i+1 se rechaza.
cuyas secuencias de salida, las PN-secuencias, se combinan Es decir, si el primer bit del par considerado es un 1,
entre sı́ mediante algún procedimiento o función no lineal entonces el segundo bit se inserta en la secuencia de salida.
para producir una secuencia pseudoaleatoria de aplicación Por el contrario, si el primer bit del par considerado es un
criptográfica ([2], [3], [8]). 0, entonces el segundo bit se rechaza. De esta manera, se
Los procedimientos de cifrado de flujo se utilizan para van eliminando determinados bits de la secuencia {sn } y los
dar seguridad criptográfica a sistemas de comunicaciones con que quedan constituyen la secuencia {zn } o secuencia auto-
requerimientos de velocidad y sincronismo. Uno de estos shrunken. La clave de este generador es el estado inicial del
ejemplos de cifrador en flujo es el generador auto-shrinking. LFSR. De acuerdo con [7], el periodo, la complejidad lineal
La Unión Europea, a través del Proyecto Stork [12], propuso y las propiedades estadı́sticas de la secuencia {zn } son muy
a la comunidad cientı́fica internacional romper este generador adecuados para su aplicación en criptografı́a.
mediante alguna técnica criptoanalı́tica que mejorase el ataque La secuencia {sn }, generada por el LFSR, puede consid-
tipo TMTO (Time Memory Trade Off). En este trabajo, se erarse formada por dos secuencias diferentes {cn } y {bn }
73
TABLE I
h(x) PARA DIFERENTES POLINOMIOS Pc (x) DE GRADO L la secuencia {cn }, en concreto (c0 , c1 , . . . , cl−1 ), se plantea
un sistema de ecuaciones lineales vı́a la ecuación (3) para
L Pc (x) h(x) determinar:
36 x36 + x25 + 1 6, 13, 24 1) Los restantes bits de {cn }, notados (cl , cl+1 , . . . , cL−1 ).
40 x40 + x38 + x22 + x20 +1 11, 29, 30 2) Los correspondientes de la secuencia {bn }, notados
52 x52 + x49 + 1 2, 25, 28 (b0 , b1 , . . . , bL−1 ).
100 x100 + x37 + 1 19, 32, 69
Una vez conocidos los L primeros bits de cada secuencia se
278 x278 + x273 + 1 3, 137, 142
genera una cierta cantidad de secuencia auto-shrunken y se
455 x455 + x341 + x230 + x116 + 1 3, 4, 62, 118,
171, 176, 228,
compara con los bits de secuencia interceptada. Si el resultado
229, 287, 343, 401 coincide, entonces el generador está roto. Si el resultado no
coincide, nos desplazamos un bit sobre la secuencia inter-
ceptada y repetimos el proceso. Si no encontramos solución
tras los sucesivos desplazamientos sobre los bits interceptados,
que responden a los bits de subı́ndices pares e impares, entonces tomamos una nueva suposición de l bits de la
respectivamente, de la secuencia {sn }. Es decir: secuencia {cn } y repetimos el proceso. Veamos un ejemplo
ci = s2i ∀i≥0 (1) sencillo.
Ejemplo 1: Sea un LFSR con polinomio caracterı́stico
bi = s2i+1 ∀ i ≥ 0. (2)
Pc (x) = x5 + x3 + 1. Las secuencias generadas para una
A su vez, estas dos secuencias corresponden a la misma condición inicial del registro son:
PN-secuencia {sn } generada por el LFSR pero desplazadas {cn } = {1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, . . .}
entre sı́ una distancia de 2L−1 bits. La existencia de dicho {bn } = {0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, . . .}
desplazamiento permite expresar una secuencia en función de {zn } = {0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, . . .}.
la otra [14]. Ası́ vemos que: Para l = 3, conocemos N = 5 bits interceptados que
comienzan en z0 y consideramos, por ejemplo, la suposición
L−1
(c0 , c1 , c2 ) = (1, 0, 1). Con estos datos planteamos el sistema
bi = hj ci+j , (3) de ecuaciones y si es posible lo resolvemos. En efecto, los
j=0
bits que nos restan son (c3 , c4 ) y (b0 , b1 , b2 , b3 , b4 ). Al ser
donde los hj son los coeficientes de h(x) un polinomio de c0 = 1, sabemos que b0 = z0 = 0. Como c1 = 0, entones b1
grado L − 1 y coeficientes binarios definido por: se desconoce. Hay que tener presente que sólo los bits ci = 1
L−1
introducen ecuaciones en el sistema. En este ejemplo estamos
h(x) ≡ x2 mod Pc (x), (4) considerando una suposiciń con q = 1 cero. A continuación,
como c2 = 1, entonces b2 = z1 = 1. A partir de la relación de
siendo Pc (x) el polinomio caracterı́stico del LFSR.
recurrencia lineal del LFSR, el polinomio h(x) = x2 + x3 y la
De esta forma expresamos los bits impares de la secuencia
ecuación (3), planteamos el siguiente sistema de ecuaciones.
{sn } que son los bi en función de los bits pares que son
los ci+j . Nótese que calcular el polinomio h(x) para valores b0 = c2 + c3
de L elevados no es trivial. De hecho, en este trabajo se ha
b1 = c3 + c4
desarrollado un programa ad-hoc basado en propiedades de la
aritmética modular. En la Tabla I se presentan los resultados b2 = c0 + c3 + c4
obtenidos para distintos polinomios caracterı́sticos de grado b3 = c0 + c1 + c3 + c4
L. La representación del polinomio h(x), por ejemplo en el b4 = c0 + c1 + c2 + c3 + c4 .
caso 6, 13, 24, corresponde a h(x) = x6 + x13 + x24 .
III. ATAQUE P ROPUESTO
Dado que a partir de la suposición de partida, se han de-
Este método criptoanalı́tico se encuadra dentro de las spejado (b0 , b2 ), podemos resolver el sistema de ecuaciones
técnicas que poseen una componente estadı́stica y una al- anterior obteniendo los valores de (c3 , c4 ) y (b1 , b3 , b4 ). Una
gebraica. Como vimos anteriormente dentro de la secuencia vez conocidas las condiciones iniciales: (c0 , c1 , c2 , c3 , c4 ) =
{sn } podemos distinguir otras 2 secuencias {cn } y {bn }. (1, 0, 1, 1, 1) y (b0 , b1 , b2 , b3 , b4 ) = (0, 0, 1, 1, 0), se genera
Romper el generador significa hallar la condición inicial para una porción de secuencia cifrante {zresul } = (0, 1, 1, 0, 0, . . .),
las secuencias {cn } y {bn } o un punto de las mismas a partir se comparan los bits generados con los bits interceptados y si
del cual es posible continuar generando la secuencia {zn }. coinciden, como ocurre en este ejemplo, entonces podemos
A. Idea general decir que el sistema está roto.
La idea general del ataque se concreta en los siguientes
B. Algoritmo criptoanalı́tico
puntos: a partir del conocimiento de N bits de la secuencia
{zn } (bits interceptados) y de la suposición de l bits de Introducimos primeramente alguna notación adicional:
74
{Ck }l−1 0 es la k-ésima suposición para los primeros l bits Por otro lado, para una PN-secuencia binaria, vemos que
de la secuencia {cn } con (1 ≤ k ≤ Qreal ), siendo Qreal el la distancia entre bloques no superpuestos de {Ck }0l−1 con
número total de suposiciones que van a analizarse. q ceros dependerá del grado L del polinomio caracterı́stico
Can representa la cantidad óptima de bits que se consideran del generador. Esta distancia es la que nos dirá cuántos
para una comparación válida entre bits interceptados y bits bits de secuencia interceptada son necesarios para romper el
generados. criptosistema con una alta probabilidad de éxito Pexito .
A continuación vemos el esquema del algoritmo progra- Es importante notar que, en ocasiones, parte de los bits
mado: (c0 , c1 , . . . , cL−1 ) no van a resolverse, ya que el sistema de
Input: Polinomio Pc (x) de grado L, l, segmento de N ecuaciones que se plantea no permite la resolución de todas
bits interceptados, puntero z al primer bit interceptado z0 , las incógnitas.
polinomio h(x) y bloque de suposiciones {Ck }l−1 0 con (1 ≤ La resolución óptima del sistema de ecuaciones es sensible
k ≤ Qreal ). a las ecuaciones que lo conforman. Si en la suposión {Ck }l−1 0
Inicializar: l ∼ = L/2, Can = 2, 5 ∗ L. hay un cero en ci , entonces no se conoce el correspondiente
For k = 1 : |Qreal | para cada suposición {Ck }0l−1 : valor de bi y esa ecuación no forma parte del sistema. La
While puntero z < N idea de la optimización es descartar suposiciones que posean
Paso 1: Plantear el sistema de ecuaciones lineales. un cero que impida contar con alguna ecuación considerada
Paso 2: Resolver el sistema ecuaciones dejando a lo importante, dado que a través de ella es posible resolver una
sumo un número n (acotado) de bits sin resolver. mayor cantidad de bits.
Paso 3: Determinar los valores de (c0 , c1 , . . . , cL−1 ) Concluı́mos que no todas las ecuaciones inciden por igual
y (b0 , b1 , . . . , bL−1 ). Generar Can bits de secuencia en la resolución del sistema. La manera de limpiar el total de
{zn }. posibles suposiciones {Ck }l−1 0 con un número q de ceros en
Paso 4: Comparar bits interceptados con bits gener- sus bits es seleccionar de entre ellas, sólo las que posean un
ados. Si son iguales break. 1 en la ecuación que interesa.
Paso 5: z = z + 1.
end IV. R ESULTADOS N UM ÉRICOS
k = k + 1 se toma una nueva suposición, z = 0 El tiempo de procesamiento se computa considerando el
end número de suposiciones que se utilizan en el ataque y la canti-
Output: (c0 , c1 , . . . , cL−1 ) y (b0 , b1 , . . . , bL−1 ) con los que dad de bits que componen el bloque de secuencia interceptada.
es posible continuar generando secuencia auto-shrunken. Se tendrı́a ası́ el número total de intentos para romper el
Con respecto a este ataque, si bien la idea es sencilla y criptosistema, es decir el orden de complejidad en tiempo. Hay
por tanto efectiva, hay ciertas observaciones que merecen ser que tener presente que sólo son necesarios L bits de secuencia
tenidas en cuenta. interceptada para plantear el sistema de ecuaciones y romper el
Observación 1: Cuanto mayor sea el número de ceros en generador. El problema es que no serı́a realista considerar que
cada suposición, menor la cantidad de ecuaciones que podrán el sistema rompe el generador precisamente en el primer bit
considerarse en el sistema de ecuaciones y, por tanto, mayor de la secuencia interceptada disponible. Por ello se toman N
la cantidad de bits no resueltos. bits interceptados y nos desplazamos dentro del bloque hasta
Observación 2: No todas las suposiciones son aptas para encontrar la solución correcta. Esto es, el estado del LFSR
la resolución del sistema, por lo que hay que seleccionarlas que nos permite seguir generando secuencia cifrante {zn }.
adecuadamente. Esta selección de suposiciones es lo que hace
de nuestro criptoanálisis un ataque más efectivo que el que A. Comparación con otros Criptoanálisis
utiliza la técnica de Guess and Determine [14].
Observación 3: Definir el bloque de suposiciones óptimas A partir de los resultados numéricos obtenidos, se han
para el generador en cuestión implica no sólo que sea el bloque construido las siguientes Tablas comparativas. En la Tabla
con la menor cantidad de suposiciones posibles, sino también II aparecen representados los resultados de este trabajo para
que sea aquél que logra resolver la mayor cantidad de bits de distintos valores de L y de los parámetros: Qreal cantidad de
(c0 , c1 , . . . , cL−1 ). De este modo se logra un equilibrio entre suposiciones, N cantidad en bits de secuencia interceptada,
complejidad en tiempo y complejidad de datos interceptados. Bnr número de bits sin resolver, CT complejidad en tiempo,
CM complejidad en memoria, CD complejidad de datos
C. Cálculo del Bloque de Suposiciones interceptados y Pexito porcentaje de éxitos obtenidos. Para
Una forma de abordar la selección de suposiciones es cada valor de L se han considerado del orden de 10 polinomios
tal y como se realiza en [14] y [9], es decir considerando caracterı́sticos distintos, promediándose los resultados.
una cantidad muy elevada de ellas. En este trabajo por el En la Tabla III se comparan para un L fijo los parámetros
contrario el número de suposiciones es mucho menor puesto utilizados por varios autores en cuanto a longitud l de la su-
que elegimos sólo las suposiciones óptimas, esto es aquéllas posición, número de suposiciones Qreal , longitud de secuencia
que sean capaces de resolver la mayor cantidad de bits en interceptada N y cantidad de ceros q en cada suposición. Se
(c0 , c1 , . . . , cL−1 ). aprecia que en [14] la cantidad de ceros en cada suposición es
75
TABLE II
L VERSUS DIFERENTES ÓRDENES DE MAGNITUD
mayor y, por tanto, la cantidad de bits no resueltos aumentará lógica y por tanto serı́a nuestra elección a la hora de un desar-
lo que traerá consigo una mayor complejidad en tiempo. rollo con propósitos criptoanalı́ticos. Los componentes lógicos
En la Tabla IV se comparan las complejidades CT , CM y programables de una FPGA pueden tener la funcionalidad
CD para los diferentes autores. La diferencia principal del pre- de puertas lógicas básicas como AND, OR, XOR, NOT o
sente trabajo con el expuesto en [14] es que Zhang et al. tratan incluso funciones combinacionales más complejas, tales como
de resolver todas las ecuaciones posibles, con el inconveniente decodificadores o funciones matemáticas simples. Consisten
de que quedarı́an muchos bits sin determinar. En cambio en un arreglo de bloques lógicos programables (CLB: Config-
en nuestro trabajo, sólo resolvemos aquellas ecuaciones que urable Logic Block) y canales de ruteo también programables.
minimizan la cantidad de bits no resueltos. De este modo La implementación de un LFSR mediante FPGAs es muy
podemos calcular que la cota máxima para complejidad en sencilla y puede llevarse a cabo utilizando configuraciones ya
tiempo es O(20.6L ), mientras que para [14] esta cota asciende disponibles en los chips FPGA. Se aprecia que implementar un
a O(2L ). En este punto hay que señalar también que hay generador Shrinking o un generador auto-shrinking en este tipo
polinomios Pc (x) que tienen mejores prestaciones a la hora de hardware no requiere de gran esfuerzo, ya que el mismo
de resolver el sistema de ecuaciones, dejando menor cantidad entorno de la FPGA está diseñado para admitir este tipo de
de coeficientes ci sin resolver. generadores.
Por otra parte, la frecuencia de salida de los bits de
V. I MPLEMENTACI ÓN H ARDWARE secuencia cifrante serı́a sumamente elevada y estarı́a dada por
Esta sección no pretende ser más que un esbozo de una el ocilador del reloj que se conecta a los flip-flops. Para tener
implementación hardware del critpoanálisis desarrollado en una noción de velocidades, este reloj estarı́a oscilando a unos
las secciones anteriores sobre el generador auto-shrinking. Se 40-100 Mhz en placas de desarrollo de FPGAs de muy bajo
pretende dejar planteada una arquitectura de cara a un desar- coste, siendo más veloces en placas menos económicas.
rollo futuro. Los programas se han escrito en Matlab logrando Hasta el momento hemos hablado del criptoanálisis de este
todos los objetivos perseguidos. Sin embargo, cabe destacar generador, pero como ya dijimos los tiempos computacionales
que para un criptoanálisis con tiempos de procesamiento bajos, están en un orden de O(20.5L ) y este valor se mantiene
además del método propuesto y de los programas realizados, para todo L. Para establecer sólo magnitudes de tiempos de
hay que llevar a cabo una programación óptima con los computación se realizó una comparación sobre procesos muy
medios que hoy por hoy la tecnologı́a permite y nuestros simples, corriendo en diferentes lenguajes de programación
conocimientos también. El propósito fundamental de imple- como son el Matlab y el Labview y se extrapoló el tiempo que
mentar el critptoanálisis mediante programación en paralelo tardarı́a el proceso en correr sobre una placa FPGA (NI-RIO-
es minimizar el tiempo que se tarda en recuperar la condición EVAL-101National Semiconductors) [10]. Para realizar esta
inicial del registro. Desarrollar ası́ este criptoanálisis, require extrapolación se compararon muchos procesos corriendo en
una programación adecuada y un medio fı́sico para imple- Labview y luego programados en la lógica FPGA. La relación
mentarla. La programación adecuada implica una orientación entre tiempos dio como resultado que la placa FPGA tarda
al bit, eliminando tiempos espúreos y memoria innecesaria. entre 100 y 500 veces menos que la programación en Labview.
Todo programa corriendo en entornos poco controlables, como Debemos decir que Labview es un herramienta de análisis
puede ser un sistema operativo, ya no serı́a óptimo. La orientada a señales digitales, manejo de bits, puertas lógicas,
solución, que logra aunar todas estas condiciones, es lo que medición de tiempos precisos, estadı́stica y otras funciones. Al
se denomina Lógica Programable o más comúnmente FPGA, estar orientada al bit, mejora la prestación que Matlab puede
Fast Programmable Gate Array. Esta lógica programable está otorgar para la función que precisamos. Es un lenguaje que se
orientada al bit, no posee un sistema operativo y todos sus puede traducir a la lógica programable con relativa facilidad
componentes trabajan a velocidades próximas al reloj al que y, por tanto, disminuye el tiempo de la puesta en marcha de
la lógica está conectada. Siendo conservadores, estos relojes cualquier programa para que corra en una placa de desarrollo
están en el rango de 40-100 Mhz y vienen instalados en FPGA. Veamos ahora la comparación en cuanto a tiempos de
distintas placas de desarrollo conjuntamente con las FPGAs procesamiento para un proceso particular como serı́a: generar
[13]. La programación en paralelo es propia de este tipo de el conjunto de suposiciones que hemos desarrollado para
76
TABLE III TABLE V
C OMPARACI ÓN DE PAR ÁMETROS POR AUTOR PARA L = 40 T IEMPOS PARA GENERAR SUPOSICIONES SEG ÚN L Y ENTORNO DE
PROGRAMACI ÓN
L = 40 Qreal N q
L Ns M atlab Labview F P GA
Mihaljevic, l = 20 2L−l = 1048576 106 5
Pazo Robles, l = 20 2736 700 − 800 5 36 1736 26 seg 0, 86 seg 1, 736 seg
40 2736 41 seg 1, 4 seg 2, 736 seg
Zhang, l = 25 222 O(28 ) 9-10
52 12376 186 seg 6, 2 seg 12, 375 mseg
100 462411533 80 dı́as 2, 5 dı́as 7 − 8 min
TABLE IV
C OMPLEJIDADES POR AUTOR
Autor CT CM CD
4) Exponer claramente las mejoras logradas con respecto a
Mihaljevic O(20.5∗L ) O(L) O(20.5∗L )
otros autores, profundizando en el estudio y logrando
Pazo Robles O(20.5∗L ) − O(20.6∗L ) O(L2 ) < O(20.25∗L )
una originalidad en el criptoanálisis basada en una
Zhang O(20.7∗L ) − O(2L ) O(L2 ) O(20.2∗L )
selección fina de cada una de las suposiciones que
intervienen en el proceso.
5) Cumplir el objetivo planteado en el proyecto Stork [12]
de romper el generador auto-shrinking con compleji-
nuestro criptoanalálisis. Comparamos Matlab, Labview y la
dades menores a las logradas mediante la técnica de
extrapolación para la placa FPGA. Para generar una suposición
Time Memory Trade Off.
en cada entorno programado vemos lo siguiente:
6) Dejar planteado, para un trabajo futuro, un esquema
• Tiempos en Matlab: El proceso de cada suposición tarda razonable y factible de desarrollo en hardware, que
15 mseg. permita en tiempos computacionales aceptables, romper
• Tiempos en Labview: El proceso de cada suposición tarda el generador auto-shrinking.
0,5 mseg.
• Tiempos previstos en la placa FPGA: El proceso de cada AGRADECIMIENTOS
suposición tarda 0,001 mseg, es decir 1 μseg.
Este trabajo ha sido financiado parcialmente por el CDTI y
Pasar de trabajar en Matlab a Labview significó una dismin- las empresas INDRA, Unión Fenosa, Tecnobit, Visual Tools,
ución de 30 veces en el tiempo de generar suposiciones. Por Brainstorm, SAC y Technosafe en el marco del Proyecto Cenit-
otro lado pasar de Labview a FPGAs creemos que significará HESPERIA; también ha sido financiado por el Ministerio de
al menos una disminución de entre 100 y 500 veces el tiempo Ciencia e Innovación y el fondo europeo FEDER en el marco
previsto en Labview. Esta relación sale de la experiencia de del Proyecto TIN2008-02236/TSI.
otros ingenieros que ya han hecho este tránsito. Por supuesto,
dependerá de la capacidad de programar en paralelo el proceso R EFERENCES
concreto que se quiere correr, pero ronda esas magnitudes. Ve-
[1] Bluetooth, Specifications of the Bluetooth system, Version 1.1, 2001,
mos en la Tabla V la comparación entre tiempos de programas available at [Link] L.: RSA Data Security, Inc.,
para generar suposiciones para distintos valores de L. Todos March 12, 1998.
los programas pueden realizarse bajo una programación en [2] A. Fúster-Sabater and P. Caballero-Gil, Strategic Attack on the Shrinking
Generator, Theoretical Computer Science, Vol. 409, No. 3, pp. 530-536,
paralelo, lo que supondrı́a bajar los tiempos del modo que se December 2008.
ha planteado. Creemos que dará resultados muy positivos y [3] A. Fúster-Sabater and P. Caballero-Gil, Cryptanalytic Attack on Crypto-
que el generador auto-shrinking a estas alturas está roto en graphic Sequence Generators: The Class of Clock-Controlled Shrinking
Generators. Proc. of ICCSA 2008, Part II. Lecture Notes on Computer
tiempo real para un L < 100. Science, Springer-Verlag, Vol. 5073, pp. 668-679, 2008.
[4] S.W. Golomb, Shift Register-Sequences, Aegean Park Press, Laguna Hill,
VI. C ONCLUSIONES 1982.
[5] GSM, Global Systems for Mobile Communications, available at
En este trabajo se ha logrado: [Link]
[6] M. Hellman, A Cryptanalytic Time-Memory Trade-Off, IEEE Trans.
1) Un criptoanálisis del generador auto-shriking con Informat. Theory, Vol. 26, No. 4, pp. 234-247, 1980.
órdenes de complejidad que superan los alcanzados por [7] W. Meier and O. Staffelbach, The Self-Shrinking Generator, in Proc.
otros autores hasta la fecha [9], [14]. EUROCRYPT94. Lecture Notes in Computer Science, Springer Verlag,
Vol. 950, pp. 205-214, 1995.
2) Obtener resultados de complejidad en tiempo menores [8] A.J. Menezes et al., Handbook of Applied Cryptography, New York:CRC
que O(20.5L ), de una complejidad de datos menor que Press, 1997.
O(20.25L ) y una complejidad en memoria de O(L2 ). [9] M.J. Mihaljevic, A Faster Cryptanalysis of the Self-Shrinking Generator,
in Proc. ACISP96. Lecture Notes in Computer Science, Springer Verlag,
3) La pre-computación es baja en tiempo. Debido a la dis- Vol. 1172, pp. 182-189, 1996.
minución de los órdenes de magnitud, especı́ficamente [10] National Instruments, [Link]
la complejidad en tiempo, este criptoanálisis propuesto fl[Link]
[11] RSA Data Security, Inc., Internal report, 12, 1999.
es concebible en tiempos computacionales aceptables, a [12] Stork Proyect, available at [Link]
diferencia de los propuestos por otros autores. [Link]
77
[13] Xilinx, [Link] 11. National Instruments, available at
[Link]
[14] B. Zhang and D. Feng, New Guess-and-Determine Attack on the
Self-Shrinking Generator, in Proc. ASIACRYPT06. Lecture Notes in
Computer Science, Springer Verlag, Vol. 4284, pp. 54-68, 2006.
78
Paralelización del algoritmo Rho de Pollard con
requisitos de memoria negligibles
Francesc Sebé, Jordi Pujolàs, Teodoro Lairla
Departamento de Matemática
Universitat de Lleida
C/ Jaume II, 69. E-25001 Lleida
Email: {fsebe,jpujolas,teo}@[Link]
Resumen—El algoritmo Rho de Pollard es el mejor algoritmo reducida. Para resolver instancias con longitudes mayores de p
conocido para resolver el problema del logaritmo discreto en será necesaria la utilización de varios procesadores ejecutando
algunos grupos como el grupo de puntos de una curva elı́ptica o una versión paralelizada del algoritmo.
la variedad jacobiana de una curva hiperelı́ptica. El algoritmo se
basa en hallar una colisión dentro de una secuencia pseudoaleato- La calidad de una paralelización se mide mediante el
ria que una vez encontrada permite calcular la solución del parámetro speedup que se define como el cociente entre el
problema. Exiten diversos métodos para hallar esta colisión que tiempo de ejecución de un algoritmo y el tiempo de ejecución
pueden clasificarse según si su uso de memoria es negligible o no. de su versión paralelizada. El valor óptimo de este parámetro
En este artı́culo presentamos una propuesta para paralelizar la se obtiene cuando corresponde con el número de procesadores
búsqueda de colisiones con uso de memoria negligible que ofrece
un speedup proporcional al número de procesadores disponibles. de que disponemos. Alcanzar el valor óptimo significa que si
disponemos de M procesadores estamos dividiendo el tiempo
I. I NTRODUCCI ÓN de ejecución por M . Este valor óptimo no suele alcanzarse
ya que un algoritmo paralelizado pierde rendimiento a causa
La seguridad de las cifras de clave pública [13] se basa en de la gestión de procesos y por el intercambio de mensajes e
la supuesta inexistencia de algoritmos eficientes para resolver información que hay entre ellos.
determinados problemas matemáticos tales como el problema En este artı́culo presentamos una forma de paralelizar el
de la factorización entera (cifra RSA [8]) o el problema del algoritmo Rho de Pollard mediante la cual se consigue un
logaritmo discreto (cifra ElGamal [2]). A la hora de fijar los speedup proporcional a M y cuyos requisitos de memoria son
parámetros de un criptosistema basado en alguno de estos negligibles.
problemas es necesario tener en cuenta el coste del mejor
algoritmo que lo resuelve y escoger ası́ unos parámetros lo II. E L ALGORITMO R HO DE P OLLARD
bastante grandes para garantizar la seguridad pero sin sobred- El algoritmo Rho de Pollard resuelve el problema del loga-
imensionar el sistema ya que esto penalizarı́a el rendimiento. ritmo discreto sobre un grupo G de orden p (dados g, h ∈ G,
Sea G un grupo multiplicativo de orden p y sea g un calcula logg h) a partir de dos pares distintos (ai , bi ), (aj , bj )
generador de G. Dado h ∈ G, el problema del logaritmo de enteros módulo p que satisfacen
discreto consiste en encontrar un entero m tal que g m = h
(esta expresión puede ser reescrita como m = logg h). Cuando g a i hb i = g a j hb j .
el orden del grupo G tiene un factor primo grande, existen
Operando la expresión anterior se obtiene,
grupos donde el mejor algoritmo conocido para su resolución
tiene un coste no polinomial, haciéndolos adecuados para su hbi −bj = g aj −ai
uso en criptografı́a.
Por ejemplo, cuando G es el subgrupo multiplicativo lo cual permite calcular logg h como,
de un cuerpo de Galois F∗q , el algoritmo index-calculus logg h = (aj − ai )(bi − bj )−1 (mód p). (1)
calcula un√ logaritmo discreto con un coste subexponen-
cial O(e log q log log q ). Si q es primo, el algoritmo number El algoritmo Rho de Pollard utiliza una función f : G →
1 2
field sieve reduce este coste a O(e1,923(log q) 3 )(log log q) 3 ), G tal que dada una tripleta (xi , ai , bi ) que satisface xi =
véase [10]. g ai hbi ∈ G, es fácil calcular otra tripleta distinta (xj , aj , bj )
tal que xj = f (xi ) y xj = g aj hbj . La función f ha de tener
Para otros grupos, tales como el grupo de puntos de
un comportamiento pseudoaleatorio. Pollard sugiere dividir los
una curva elı́ptica o la variedad jacobiana de una curva
elementos de G en tres grupos distintos T1 , T2 y T3 y el uso
hiperelı́ptica, el mejor algoritmo conocido es el algoritmo
de la siguiente función
Rho de Pollard [7] cuyo coste (exponencial respecto a la ⎧
√
longitud de p) es O( p), donde p es el cardinal del grupo ⎨ gx, si x ∈ T1 ,
G. Su coste exponencial implica que su ejecución termina en f (x) = x2 , si x ∈ T2 ,
⎩
un tiempo aceptable solamente cuando p tiene una longitud hx, si x ∈ T3 .
79
En [11] se estudia el uso de otro tipo de funciones. dos tripletas llamadas tortuga y liebre. En este algoritmo
De este modo se puede definir una función F que retorna la liebre avanza un paso en cada iteración mientras que la
(xj , aj , bj ) = F (xi , ai , bi ), con xj = f (xi ), de la siguiente tortuga permanece quieta. La tortuga toma el valor de la libre
manera, una vez esta última ha realizado 2i saltos desde la última
⎧ actualización de la tortuga. El ı́ndice i toma un valor inicial
⎨ (gxi , ai + 1, bi ), si xi ∈ T1 ,
(x2i , 2ai , 2bi ), si xi ∈ T2 , de 1 y es incrementado en una unidad cada vez que la tortuga
F (xi , ai , bi ) =
⎩ es actualizada.
(hxi , ai , bi + 1), si xi ∈ T3 ,
siendo las operaciones sobre ai y bi módulo p. Algorithm 2 Algoritmo de Brent
Comenzando desde una tripleta cualquiera (x0 , a0 , b0 ),
Input: Una tripleta (x0 , a0 , b0 )
se puede construir la secuencia {(xi , ai , bi )}i≥0 donde
Output: Dos tripletas distintas (xT , aT , bT ), (xL , aL , bL )
(xi , ai , bi ) = F (xi−1 , ai−1 , bi−1 ), para i ≥ 1. Dado que el
con xT = xL
grupo G es finito, existe un ı́ndice t para el cual xt = xt−s
para algún s ≥ 0. Entonces xi = xi−s para todo i ≥ t con 1 (xT , aT , bT ) := (x0 , a0 , b0 );
lo cual la secuencia entra en un ciclo. A partir de la paradoja 2 (xL , aL , bL ) := F (xT , aT , bT );
del aniversario se demuestra que el camino generado antes 3 Longitud := P asos := 1;
de que se produzca la primera colisión (valor del ı́ndice t) 4 while xL
= xT do
+
tendrá una longitud esperada de πp/2. El algoritmo Rho 5 if Pasos=Longitud then
de Pollard encuentra una de estas colisiones (dos tripletas 6 (xT , aT , bT ) := (xL , aL , bL );
distintas (xi , ai , bi ), (xj , aj , bj ) con xi = xj ) y resuelve el 7 Longitud := 2 ∗ Longitud;
logaritmo discreto aplicando la fórmula (1). Dicha colisión 8 P asos := 0;
puede buscarse mediante el algoritmo de Floyd (tal como se 9 end
propone en [7]) o utilizando el algoritmo de Brent [1]. 10 (xL , aL , bL ) := F (xL , aL , bL );
11 P asos := P asos + 1;
II-A. Algoritmo de Floyd para búsqueda de colisiones 12 end
Para encontrar una de estas colisiones puede usarse el 13 return (xT , aT , bT ), (xH , aH , bH );
algoritmo de búsqueda de ciclos de Floyd (también conocido
como el algoritmo de “la tortuga y la liebre”). Este algoritmo
utiliza dos tripletas que avanzan a lo largo de una misma Igual que el algoritmo de Floyd, este algoritmo tiene un
secuencia que comienza en una tripleta cualquiera (x0 , a0 , b0 ). coste espacial negligible. En [1] se afirma que su utilización
Una de ellas, la tortuga, avanza un paso en cada iteración incrementa la velocidad del algoritmo de Pollard alrededor de
mientras que la otra, la liebre, avanza dos pasos por iteración. un 24 %.
Una vez las dos tripletas han entrado en el ciclo, hay un
momento en el que la liebre alcanza a la tortuga, hallándose II-C. Búsqueda de colisiones con uso de memoria
de este modo una colisión. Tanto el algoritmo de Floyd como el de Brent encuentran
una colisión sin apenas utilizar memoria con aproximada-
Algorithm 1 Algoritmo de Floyd √
mente 3 p operaciones sobre el grupo. Existen propuestas
Input: Una tripleta (x0 , a0 , b0 ) que reducen el tiempo necesario para encontrar la colisión a
Output: Dos tripletas distintas (xT , aT , bT ), (xL , aL , bL ) expensas de aumentar los requisitos de uso de memoria. Por
con xT = xL ejemplo, en [9] se da una propuesta que reduce el número
de
√ 1
1 (xT , aT , bT ) := (x0 , a0 , b0 ); √
operaciones a realizar sobre el grupo a p 1 + M si se
2 (xL , aL , bL ) := F (xT , aT , bT ); dispone de memoria para almacenar M tripletas. Otro ejemplo
3 while xL
= xT do es la propuesta de [4] donde se usa una pila de memoria de
√
4 (xT , aT , bT ) := F (xT , aT , bT ); tamaño O(log p).
5 (xL , aL , bL ) := F (F (xL , aL , bL ));
6 end III. PARALELIZACI ÓN DEL ALGORITMO R HO DE
7 return (xT , aT , bT ), (xL , aL , bL ); P OLLARD
El algoritmo Rho de Pollard ejecutado sobre un grupo G
√
Este algoritmo solamente necesita memoria para almacenar de orden p tiene un coste O( p). Por tanto, a medida que
dos tripletas. El número de operaciones a realizar sobre el p aumenta de tamaño, el tiempo necesario para ejecutarlo
√
grupo para encontrar una colisión es aproximadamente 3 p. aumenta exponencialmente hasta convertirse en un problema
intratable. El rango tamaños de p para los cuales el algoritmo
II-B. Algoritmo de Brent para búsqueda de colisiones es tratable puede aumentarse cuando disponemos de diversos
El algoritmo de Brent [1] permite encontrar colisiones procesadores mediante la ejecución de una versión paralelizada
mediante una técnica distinta también basada en el uso de del algoritmo.
80
III-A. Paralelización directa almacena. Como tenemos M procesadores trabajando en par-
Cuando se dispone de varios procesadores, el algoritmo Rho alelo y cada uno de ellos envı́a una proporción θ de tripletas
de Pollard puede paralelizarse de forma trivial haciendo que a la lista, el número de tripletas que serán almacenadas es
cada procesador ejecute el algoritmo de forma independiente ,
πp
partiendo de una tripleta inicial distinta. El algoritmo par- θ + M. (3)
2
alelizado se detiene cuando cualquiera de los procesadores
halla la primera colisión. Si disponemos de M procesadores El parámetro θ ajusta el compromiso entre los costes tempo-
y buscamos la colisión mediante el algoritmo de Floyd o el ral y espacial. Un valor grande de θ reduce el coste temporal
de Brent (lo cual nos permite un uso negligible de memoria), a expensas de aumentar el almacenamiento y el número de
el número esperado de operaciones sobre el grupo realizadas tripletas enviadas (cosa que podrı́a llegar a causar un cuello
por cada procesador
+ pen el momento de encontrarse la primera de botella).
colisión es de 3 M con lo cual la propuesta√proporciona Cuando la memoria disponible es limitada tenemos dos
un speedup que es solamente un factor de M lo cual opciones. La primera consiste en tomar el valor más grande
resulta muy poco eficiente (por ejemplo, para reducir el tiempo posible de θ tal que el almacenamiento previsto necesario
de cálculo a una cuarta parte es necesario el uso de 16 (expresión 3) corresponda con la memoria disponible. La
procesadores). segunda opción (sugerida en [6]) es la de tomar un θ más
grande y añadir tripletas a la lista hasta que la memoria se
III-B. Búsqueda paralela de colisiones mediante tripletas
agote. A partir de este momento, cada vez que se deba guardar
distinguidas
una tripleta nueva, se eliminará alguna de las almacenadas
En [6] se propone una versión paralela de búsqueda de previamente.
colisiones que permite paralelizar el algoritmo Rho de Pollard Esta propuesta proporciona un speedup que al aumentar
con un speedup proporcional a M cuando se dispone de linealmente con el número de procesadores resulta eficiente.
M procesadores y de una zona de memoria para almacenar Por otro lado, el almacenamiento de tripletas distinguidas
tripletas. obliga a disponer de un espacio de memoria cuyo tamaño
En esta propuesta, cada procesador escoge una tripleta al repercute en el coste temporal del algoritmo (a mayor tamaño,
azar (x0 , a0 , b0 ) desde la cual construye un camino de tripletas menor es el tiempo de ejecución).
(xi , ai , bi ) = F (xi−1 , ai−1 , bi−1 ), i > 0, hasta encontrar un
valor xd que satisface una determinada condición de fácil IV. N UEVA PROPUESTA
comprobación. Esta tripleta distinguida, (xd , ad , bd ) es enviada
a un procesador encargado de recoger y almacenar las tripletas En este trabajo se presenta una nueva forma de paralelizar
distinguidas que le irán mandando los otros procesadores. El el algoritmo Rho de Pollard con speedup proporcional al
procesador que halló la tripleta distinguida, después de man- número de procesadores y cuyos requisitos de memoria son
darla, generará una nueva tripleta inicial al azar y repetirá el muy reducidos.
mismo proceso. El algoritmo termina cuando el procesador En esta nueva propuesta, cada uno de los procesadores
encargado de recoger las tripletas distinguidas recibe una ejecuta el algoritmo de Pollard buscando la colisión de dos
tripleta (xd , ad , bd ) cuyo valor xd coincide con el de otra tripletas mediante el algoritmo de Brent tomando una tripleta
tripleta distinta almacenada previamente. En este momento ya al azar como punto de partida de su secuencia. Sin añadir nada
se ha hallado una colisión y el algoritmo termina. más, esto serı́a una simple paralelización
√ trivial con la cual se
La propiedad que distingue algunos elementos del grupo G obtendrı́a un speedup proporcional a M .
ha de escogerse de manera que la proporción de elementos que Para aumentar el speedup y hacerlo proporcional a M
la satisfacen sea θ. Dado θ, el número de operaciones sobre nuestra propuesta modifica la paralelización trivial haciendo
el grupo realizadas por cada procesador antes de hallarse la que en cada iteración, un procesador comprueba, no solamente
primera colisión (coste temporal) es si su liebre ha alcanzado a su tortuga, sino si su liebre ha
, alcanzado a su propia tortuga o a la de cualquier otro de los
1 πp 1
+ (2) procesadores.
M 2 θ
En el algoritmo 3 se da una descripción formal de la prop-
Puede ocurrir que la secuencia calculada por alguno de los uesta suponiendo que se dispone de un espacio de memoria
procesadores entre en un ciclo sin puntos distinguidos. Una compartido entre todos los procesadores donde cada uno de
forma de recuperarse de esta situación consiste en establecer ellos tiene una celda reservada donde almacena el valor de
una longitud de camino máxima (en [6] se recomienda 20/θ) su tripleta “tortuga”. El uso de este espacio de memoria
que si es alcanzada por algún camino, éste será abandonado compartido permite que esta paralelización tenga los mismos
y se iniciará el recorrido de otro camino desde una tripleta requisitos de memoria que la paralelización trivial. Para una
aleatoria generada al azar. implementación eficiente, este espacio de memoria debe ser
La fórmula 2 supone que hay suficiente memoria para implementado utilizando una estructura de datos de acceso
almacenar todas las tripletas enviadas al procesador que las rápido como por ejemplo un hash [12].
81
Algorithm 3 Nueva propuesta para la paralelización del Número de procesadores
Bits 1 2 4 6 8
algoritmo Rho de Pollard 52 189 87 31 19 17
Input: Un grupo G de orden p y dos elementos g, h ∈ G 56 1119 438 194 136 81
60 1101 722 437 297 269
Output: El logaritmo discreto m = logg h 64 13210 5281 1906 1600 741
1 Cada Procesador i hace: Cuadro I
2 Escoger aL , bL ∈ [0, p − 1] al azar; T IEMPO MEDIO ( EN SEGUNDOS ) NECESARIO PARA RESOLVER UN
LOGARITMO DISCRETO SOBRE UN GRUPO MULTIPLICATIVO F∗ q , CON q
3 Calcular xL = g aL hbL ; PRIMO DE 52, 56, 60 Y 64 BITS DE LONGITUD EN UN MULTICOMPUTADOR
4 Almacenar (xL , aL , bL ) en la celda i de memoria; DE MEMORIA COMPARTIDA .
5 (xL , aL , bL ) := F (xL , aL , bL );
6 Longitud := P asos := 1;
7 while No haya una tripleta (xj , aj , bj ) con xj = xL
en memoria do los valores concretos de speedup obtenidos, es su tendencia
8 if Pasos=Longitud then a aumentar linealmente respecto al número de procesadores
9 Almacenar (xL , aL , bL ) en la celda i de utilizado.
memoria;
Número de procesadores
10 Longitud := 2 ∗ Longitud; Bits 2 4 6 8
11 P asos := 0; 52 2.2 6.1 10 11.1
12 end 56 2.5 5.8 8.2 13.9
60 1.5 2.5 3.7 4.1
13 (xL , aL , bL ) = F (xL , aL , bL ); 64 2.5 7 8.3 17.8
14 P asos := P asos + 1;
Cuadro II
15 end S PEEDUP DEL ALGORITMO PARALELIZADO EN UN MULTICOMPUTADOR DE
16 Recuperar la tripleta (xT , aT , bT ) con xT = xL de MEMORIA COMPARTIDA .
memoria;
17 Ordenar a todos los procesadores que se detengan;
18 Calcular m := (aT − aL )(bL − bT )−1 (mód p);
19 return m; V-B. Resultados en un multicomputador de memoria dis-
tribuida
Los mismos experimentos se han llevado a cabo en un
V. R ESULTADOS EXPERIMENTALES cluster formado por ocho nodos con procesadores Intel Core 2
El algoritmo 3 ha sido implementado en C++ para resolver Quad de 2.4 GHz interconectados a través de una red Gigabit
un logaritmo discreto planteado sobre un subgrupo de orden Ethernet. La implementación para esta plataforma se ha hecho
primo del grupo multiplicativo F∗q , con q primo, utilizando la en C++ utilizando la librerı́a de comunicaciones MPI [3]. La
librerı́a de números grandes NTL [5]. Dado que el algoritmo compartición de tripletas tortuga se ha implementado de tal
es de tipo heurı́stico, cada experimento se ha repetido veinte forma que cada procesador dispone de una copia de todas
veces, variando al azar las tripletas de inicio, y se ha calculado las tripletas tortuga. Para mantener la coherencia de estos
el tiempo medio de ejecución. datos, cada vez que un procesador actualiza su tripleta tortuga,
informa al resto de procesadores mediante el envı́o de un
V-A. Resultados en un multicomputador de memoria com- mensaje broadcast. Los tiempos medios y speedup obtenidos
partida se hallan listados en los cuadros III y IV, respectivamente,
A continuación se presentan los resultados obtenidos en y permiten reafirmar las conclusiones obtenidas en el primer
una implementación para un multicomputador de memoria experimento. En este entorno, la paralelización presenta un
compartida formado por dos procesadores Intel Xeon de 3.16 rendimiento (speedup) menor debido a la penalización que
GHz de cuatro núcleos cada uno (disponiendo ası́ de un total conlleva que la comunicación entre procesos deba realizarse
de ocho núcleos de cálculo). La zona de memoria donde se mediante envı́o de mensajes.
almacenan las tortugas se ha implementado sobre un segmento Número de procesadores
de memoria compartida. En el cuadro I se muestran los Bits 1 2 4 6 8
resultados. 52 240 159 51 39 37
56 1085 697 288 245 284
Para cuantificar el descenso en el tiempo de ejecución, se 60 1967 1093 801 626 551
han calculado los speedup que se muestran en el Cuadro II. La 64 16884 7571 5707 3132 2139
obtención, en algunos casos, de valores de speedup superiores Cuadro III
al número de procesadores se debe a que estamos trabajando T IEMPO MEDIO ( EN SEGUNDOS ) NECESARIO PARA RESOLVER UN
con un algoritmo cuyo tiempo de ejecución es aleatorio y con LOGARITMO DISCRETO SOBRE UN GRUPO MULTIPLICATIVO F∗ q , CON q
PRIMO DE 52, 56, 60 Y 64 BITS DE LONGITUD EN UN ENTORNO MPI.
una varianza muy elevada (en algunos casos, para la resolución
del mismo problema se han obtenido tiempos tan distintos co-
mo 362 y 1570 segundos). La conclusión importante, más que
82
Número de procesadores
Bits 2 4 6 8
52 1.5 4.7 6.2 6.5
56 1.6 3.8 4.4 3.8
60 1.8 2.5 3.1 3.6
64 2.2 3 5.4 7.9
Cuadro IV
S PEEDUP DEL ALGORITMO PARALELIZADO EN UN ENTORNO MPI.
83
84
Taxonomı́a de ataques a entornos de creación de
firmas electrónicas
Jorge López Hernández-Ardieta Ana Isabel González-Tablas Ferreres Benjamı́n Ramos Álvarez
Grupo SeTI
Departamento de Informática
Universidad Carlos III de Madrid
Email: jlhernan,aigonzal,benja1@[Link]
Resumen—La firma electrónica se ha convertido en un elemen- del documento, obviando otros muchos tipos de ataque po-
to fundamental en la sociedad de la información, disfrutando del sibles. Otros investigadores han estudiado vulnerabilidades y
reconocimiento como medio de prueba en procedimientos legales. ataques a tarjetas inteligentes [20], cuyo compromiso clara-
Ası́ mismo, la firma electrónica es considerada una evidencia
de no repudio respecto a los compromisos adquiridos por los mente afecta a la fiabilidad de la firma electrónica, aunque sólo
participantes en una transacción electrónica. Sin embargo, la unos pocos han proporcionado una clasificación rigurosa de
realidad nos muestra que la tecnologı́a no está libre de vulnerabi- ataques a dichos dispositivos [21]. Por otra parte, numerosos
lidades, existiendo múltiples amenazas que pueden comprometer trabajos se han centrado en los ataques de canal indirecto,
la seguridad de los sistemas. Es por tanto imprescindible disponer los cuales tienen un gran impacto en la seguridad de los
de las herramientas adecuadas que asistan al desarrollo de
sistemas seguros, de forma que pueda aplicarse la legislación dispositivos criptográficos [22].
con plenas garantı́as para las partes implicadas. En particular, Sin embargo, a dı́a de hoy no se ha propuesto ninguna taxo-
el proceso de generación de la firma es una de las etapas más nomı́a que abarque de forma integral y rigurosa los problemas
sensibles, y a la cual se debe prestar especial atención. En este de seguridad que afectan a la firma electrónica. El presente
artı́culo se presenta la primera taxonomı́a completa de ataques a artı́culo pretende dar respuesta a esta necesidad, ya que las
entornos de creación de firma, y que permitirá el análisis riguroso
y sistemático de las causas que pueden socavar la fiabilidad de firmas electrónicas se han convertido en un elemento clave en
la misma, y ası́ poder actuar en consecuencia. múltiples escenarios, pero todavı́a no se ha estudiado de forma
sistemática las amenazas que pueden influir en la fiabilidad
I. I NTRODUCCI ÓN de las mismas. Deseamos que la taxonomı́a aquı́ propuesta
Una taxonomı́a es un sistema o esquema para la clasi- sirva de guı́a para diseñar soluciones de firma más seguras y
ficación sistemática del conocimiento. Mediante un análisis robustas, una vez conocidos los riesgos existentes.
riguroso y sistemático, dicho conocimiento es clasificado en un El artı́culo recoge en primer lugar la motivación en la
conjunto limitado de categorı́as bien definidas. De esta forma, Sección II. Posteriormente, la Sección III acota el modelo de
una taxonomı́a permite descomponer conceptos o fenómenos sistema que tomaremos como objeto de estudio para definir
complejos en unidades de información más abordables, no sólo la taxonomı́a. La Sección IV propone la primera taxonomı́a
permitiendo su estudio sino también proporcionando una base completa de ataques a entornos de creación de firma. La eva-
de partida común sobre la cual analizar y clasificar hechos luación de la taxonomı́a frente a los requisitos fundamentales
desconocidos hasta el momento. para taxonomı́as se incluye en la Sección V. Por último, se
Para que una taxonomı́a sea útil, debe estar muy espe- concluye el artı́culo en la Sección VI.
cializada en un área de conocimiento o fenómeno concreto.
Hasta la fecha se ha propuesto un gran número de taxo- II. M OTIVACI ÓN
nomı́as centradas en los sistemas de la información, ası́ como La firma electrónica se ha convertido en un elemento fun-
taxonomı́as focalizadas en el área de la seguridad. Existen damental en la sociedad de la información. Numerosas legis-
taxonomı́as para la clasificación de sistemas de detección de laciones de todo el mundo han otorgado a la firma electrónica
intrusiones [11], errores y vulnerabilidades en los sistemas una equivalencia funcional respecto a la firma manuscrita,
[12], [13], [14], ataques software [16], incidentes de seguridad ası́ como un reconocimiento como mecanismo de seguridad
en redes de comunicaciones [15], [17] o ataques a dispositivos primordial en transacciones electrónicas, especialmente dentro
seguros [21]. Estas taxonomı́as han permitido profundizar en del ámbito del comercio electrónico [2], [3], [4], [5], [6].
el estudio de múltiples problemáticas de seguridad mediante En el caso particular de las legislaciones Europea y Es-
la categorización de ataques y vulnerabilidades. pañola, la firma electrónica disfruta de plena eficacia jurı́dica,
En cuanto a taxonomı́as relacionadas con firma electrónica, pudiendo ser empleada como medio de prueba en procedi-
Kain propuso en 2003 una taxonomı́a no formal de ataques a mientos legales [7]. Dependiendo de los requisitos cumplidos
firmas electrónicas mediante la manipulación del documento por la firma en cuestión, ésta contará con un juicio favorable de
a firmar [19]. Sin embargo, la taxonomı́a no es completa, y se validez a priori (ex ante) o necesitará de un juicio a posteriori
centra exclusivamente en ataques que modifican la semántica (ex post) del Tribunal. En el primer caso, si el supuesto
85
firmante repudiara el compromiso adquirido en un documento
firmado, deberı́a aportar evidencias en sentido contrario y que
generaran una duda razonable respecto a la seguridad de la
firma. Ası́ pues, la carga de prueba en este escenario recae
sobre el supuesto firmante que niega la validez de la firma
[1]. En el segundo caso, el supuesto firmante podrı́a también
repudiar la autorı́a de dicha firma pero serı́a la otra parte
afectada quien debiera aportar garantı́as sobre la seguridad de
la misma.
En esta lı́nea, existe también un reconocimiento en los
estándares internacionales de proporcionar a las firmas
electrónicas (criptográficas) la cualidad de evidencia de no
repudio [8]. Una evidencia de no repudio es información que,
bien por sı́ misma o usada en conjunción con otros datos,
se emplea para probar la ocurrencia de un evento o acción.
Aunque la evidencia no prueba necesariamente por sı́ misma
la veracidad del hecho, sı́ es usada para tal fin. Por tanto,
una evidencia de no repudio que se verifica correctamente de
Figura 1. Modelo de Sistema
acuerdo a la polı́tica de no repudio que aplica es suficiente para
resolver una posible disputa, impidiendo al firmante repudiar
el compromiso adquirido en la transacción.
de autenticación del firmante (SAD), consistentes en un PIN
Ası́ pues, consideramos imprescindible disponer de las he-
o contraseña.
rramientas adecuadas para el estudio riguroso del problema de
En este artı́culo nos referimos al término DTBS cuando
seguridad de las firmas electrónicas, con el fin de poder asistir
los datos a firmar incorporan tanto el documento en sı́ como
al desarrollo de sistemas más seguros que permitan aplicar la
una serie de atributos de firma que enriquecen la semántica
legislación con plenas garantı́as para las partes afectadas. En
de dicho documento o particularizan el compromiso adquirido
este sentido, una taxonomı́a de ataques permitirá conocer dicha
en el acto de firma. Por otra parte, DTBSR se referirá a la
problemática, y actuar en consecuencia. Dicha taxonomı́a no
representación del DTBS que se envı́a al SCDev/SSCDev para
se ha propuesto hasta la fecha.
el cómputo de la firma - generalmente se corresponderá con
La taxonomı́a aquı́ presentada considera firmas electrónicas el resumen criptográfico del DTBS.
generadas mediante criptografı́a asimétrica (firmas digitales),
al ser no sólo una de las posibles tecnologı́as concretas de IV. TAXONOM ÍA DE ATAQUES A E NTORNOS DE
implementación sino también la única tecnologı́a que, a dı́a de C REACI ÓN DE F IRMA
hoy, es capaz de alcanzar determinados requisitos establecidos
en la legislación. En particular, la taxonomı́a se centra en una La taxonomı́a aquı́ propuesta toma como modelo de sistema
de las etapas más sensibles del ciclo de vida de una firma, el descrito en la Sección III. Ası́ pues, la taxonomı́a categoriza
esto es, la fase de generación. ataques orientados a comprometer la seguridad del proceso de
generación de firmas electrónicas llevado a cabo en un sistema
que cumple el modelo indicado.
III. M ODELO DE S ISTEMA
En particular, la taxonomı́a está formada por cuatro di-
La Figura 1 muestra el modelo de sistema que tomamos mensiones, que se detallan en las siguientes subsecciones. El
como punto de partida para el estudio de los ataques al concepto de dimensión fue introducido por Landwehr et al.
entorno de creación de firmas. Dicho modelo se sustenta en [12], y es una propiedad que permite la clasificación de un
el propuesto en el estándar CEN CWA 14170 [9]. ataque o vulnerabilidad desde un punto de vista integral. Cada
La aplicación de creación de firma (SCA) es la aplicación ataque se descompone en varias propiedades, y cada propiedad
dentro del sistema (SCS) que incorpora la funcionalidad de se emplea para clasificar el ataque desde una perspectiva
generación de firmas electrónicas, apoyándose en el dispositivo diferente, todas complementarias entre sı́.
(seguro) de creación de firmas (S)SCDev. El entorno de Las categorı́as tienen un identificador asociado consistente
creación de firmas (SCE) incluye los entornos fı́sico y lógico en el número de dimensión en el que están englobadas (D) y el
del SCS, ası́ como el firmante y las polı́ticas existentes. El número de categorı́a o subcategorı́a según el orden jerárquico
SCDev es el dispositivo software o hardware que incorpora establecido (CAT).
los datos de creación de firma (SCD), es decir, la clave
privada de firma usada por el firmante para generar las firmas IV-A. Dimensión Objetivo del Atacante
electrónicas. El SSCDev es un SCDev que cumple con los Esta dimensión cubre el objetivo final del atacante.
requisitos estipulados en el Anexo III de la Directiva Europea Identificamos tres categorı́as dentro de esta dimensión:
de firma [2]. El acceso al SCD se protege mediante los datos
86
D1-CAT1: Firma no consciente de datos D2-CAT2.1.1.3: Vı́nculos. El atacante inserta vı́nculos en
El atacante no hace uso directo de los datos de creación de el documento a firmar que apuntan a contenido externo no
firma pero desea engañar al firmante para que, de forma no controlado por el firmante. Una vez realizada la firma, el
consciente, firme ciertos datos. atacante puede manipular dicho contenido externo a su antojo.
D2-CAT2.1.2: Modificación de contenido. El atacante mo-
D1-CAT2: Uso no autorizado de los datos de creación de difica el contenido del documento a firmar, pero sin incluir
firma (SCD) ningún tipo de contenido dinámico (p. e. modificación del
El atacante desea emplear los datos de creación de firma sin propio texto del documento).
el conocimiento ni consentimiento del firmante. Para ello, el D2-CAT2.2: Modificación de atributo. Esta subcategorı́a
atacante necesitará bien comprometer directamente los datos de métodos se refiere a las modificaciones realizadas en los
de creación de firma bien tener acceso a la operación de firma. atributos a firmar.
D2-CAT2.2.1: Adición de contenido dinámico. Esta subca-
D1-CAT3: Sustitución/Modificación de datos firmados tegorı́a de métodos implica la inclusión de contenido dinámico
El atacante desea sustituir o modificar parte o la totalidad de en los atributos a firmar. El comportamiento es igual que
los datos firmados, pero una vez que la firma se ha realizado. en el caso anterior para el documento, pero enfocado en los
IV-B. Dimensión Método de Ataque atributos.
D2-CAT2.2.1.1: Código oculto. El atacante inserta etiquetas
Esta dimensión incluye las categorı́as de método de ataque especiales o campos ocultos en los atributos a firmar. Este
empleado por el atacante para conseguir uno de los objetivos código oculto será traducido por determinados valores depen-
anteriormente identificados. En concreto, se han diseñado diendo de condiciones especı́ficas que pueden ser controladas
cinco categorı́as de primer nivel, que se refinan a su vez en por el atacante.
subcategorı́as, y ası́ hasta un cuarto nivel de profundidad en
D2-CAT2.2.1.2: Código activo. El atacante inserta código
algunos casos:
especial, como scripts o macros, en los atributos a firmar. Este
código se ejecutará durante la visualización o aplicación de
D2-CAT1: Manipulación del entorno
los atributos, pudiendo realizar ciertas operaciones como la
Esta categorı́a abarca los métodos que pretenden manipular
modificación del contenido mostrado.
el entorno (principalmente la Plataforma del SCS) con el
D2-CAT2.2.1.3: Vı́nculos. El atacante inserta vı́nculos en
fin de influenciar en los datos firmados, bien sea durante la
los atributos a firmar que apuntan a contenido externo no
generación de la firma o con posterioridad.
controlado por el firmante. Una vez realizada la firma, el
atacante puede manipular dicho contenido externo a su antojo.
D2-CAT2: Modificación previa a la generación de la firma
Esta categorı́a contiene los métodos de ataque que intervie- D2-CAT2.2.2: Modificación de contenido. El atacante mo-
nen antes de la generación de la firma, y cuyo objetivo es la difica el contenido de los atributos a firmar, pero sin incluir
modificación de los datos a firmar, bien sea de forma directa ningún tipo de contenido dinámico (p. e. modificación del
(modificación del propio contenido a firmar) o indirecta (los valor de cierto atributos).
datos fraudulentos se incorporan por referencia desde los datos D2-CAT2.3: Modificación de DTBS. El atacante modifica
a firmar). la información contenida en la estructura que representa los
D2-CAT2.1: Modificación de documento. Esta subcategorı́a datos a firmar (DTBS).
de métodos se refiere a las modificaciones realizadas en el D2-CAT2.4: Modificación de DTBSR. El atacante modifica
documento a firmar. el resumen de los datos a firmar (DTBSR). Este ataque se
D2-CAT2.1.1: Adición de contenido dinámico. Esta subca- producirı́a en la última etapa antes de la computación de firma.
tegorı́a de métodos implica la inclusión de contenido dinámico
en el documento a firmar. De esta forma, la sintaxis del D2-CAT3: Modificación posterior a la generación de la
documento se mantiene intacta, y por tanto la integridad de firma
la firma, mientras que la semántica variará de acuerdo al Esta categorı́a contiene métodos de ataque ejecutados una
comportamiento del código dinámico. vez que la firma ha sido realizada, y cuyo objetivo es la
D2-CAT2.1.1.1: Código oculto. El atacante inserta etiquetas modificación de los datos ya firmados, bien sea de forma
especiales o campos ocultos en el documento a firmar. Este directa (modificación del propio contenido firmado) o indirecta
código oculto será traducido por determinados valores depen- (modificación de datos referenciados desde los datos firma-
diendo de condiciones especı́ficas que pueden ser controladas dos).
por el atacante. D2-CAT3.1: Contenido externo. El atacante modifica datos
D2-CAT2.1.1.2: Código activo. El atacante inserta código externos referenciados desde los datos firmados (p. e. XSD,
especial, como scripts o macros, en el documento a firmar. DTD). La diferencia entre este método y D2-CAT2.1.1.3:
Este código se ejecutará durante la apertura o visualización Vı́nculos o D2-CAT2.2.1.3: Vı́nculos radica en que, en este
del documento, pudiendo realizar ciertas operaciones como la método, el vı́nculo a los datos externos no se incluye por el
modificación del contenido mostrado. atacante, mientras que en estos otros dos casos, es el atacante
87
quien, de forma explı́cita, inserta dicho vı́nculo al contenido legı́timo como deseara, incluso desde un entorno diferente al
externo. SCE.
D2-CAT3.2: Criptoanálisis. El atacante aplica métodos de D2-CAT5.1: Intercepción del SCD. El atacante intercepta el
criptoanálisis para obtener un documento o atributos diferentes SCD durante el proceso de creación o distribución.
a los firmados de forma que no se invalide la firma. D2-CAT5.1.1: Intercepción de comunicación entre proce-
D2-CAT3.2.1: Función resumen. El atacante aplica métodos sos/entidades. El atacante intercepta el SCD durante su trans-
especı́ficamente diseñados para romper la seguridad de la misión entre dos procesos o entidades fı́sicos o lógicos que
función resumen empleada en el cálculo de la firma. pertenecen al SCS.
D2-CAT3.2.1.1: Ataque de colisión. El atacante es capaz de D2-CAT5.1.2: Compromiso de extremo. Mediante el com-
encontrar un par de mensajes M
= M donde hash(M ) = promiso de la seguridad de un extremo (proceso o entidad
hash(M ) con una complejidad menor a O(2n/2 ) (p. e. ataque que interviene en la comunicación del SCD dentro del SCS),
del cumpleaños). el atacante es capaz de interceptar el SCD.
D2-CAT3.2.1.2: Ataque de preimagen. El atacante, dado un D2-CAT5.2: Eavesdropping (ataque de canal indirecto). Los
valor resumen H, es capaz de encontrar un mensaje M donde ataques de canal indirecto explotan el filtrado de informa-
hash(M ) = H con una complejidad menor que O(2n ). ción en base a las caracterı́sticas del dispositivo hardware
D2-CAT3.2.1.3: Ataque de segunda preimagen. El atacante, usado durante la ejecución de los algoritmos criptográficos.
dado un mensaje M , es capaz de encontrar un segundo De esta manera, la clave privada puede llegar a conocerse.
mensaje M , M
= M , que satisfaga hash(M ) = hash(M ) La importancia de este tipo de ataques radica en que la
con una complejidad menor que O(2n ). complejidad o robustez del algoritmo criptográfico no afecta
al éxito del ataque, dado que el fundamento de los ataques de
D2-CAT4: Invocación no autorizada de la operación de canal indirecto reside en la dependencia entre la información
firma procesada (p. e. la clave privada de firma) y/o las operaciones
Esta categorı́a recoge los métodos de ataque que no posi- realizadas por el dispositivo (p. e. tarjeta inteligente) con el
bilitan al atacante conocer el SCD pero sı́ hacer uso de él sin comportamiento del hardware subyacente.
el conocimiento ni consentimiento del usuario. D2-CAT5.2.1: Tiempo. Un ataque de análisis de tiempo
D2-CAT4.1: Compromiso de datos de autenticación de explota los tiempos de ejecución medidos para un cierto
firmante (SAD). Esta subcategorı́a cubre los métodos que número de operaciones.
permiten al atacante recuperar el SAD. D2-CAT5.2.2: EMA. Un ataque de análisis electromagnéti-
D2-CAT4.1.1: Ingenierı́a social. El atacante manipula o co (EMA) explota la correlación entre los datos secretos y las
engaña al firmante para que éste revele el SAD. variaciones en las radiaciones emitidas por los dispositivos.
D2-CAT4.1.2: Intercepción del SAD. El atacante intercepta D2-CAT5.2.3: Potencia. Un ataque de análisis de poten-
el SAD durante la operación del SCS. cia analiza la relación entre el consumo de potencia de un
D2-CAT4.1.2.1: Observación. El atacante observa al firman- dispositivo criptográfico y los datos manejados durante las
te introducir el SAD en la Plataforma. operaciones criptográficas.
D2-CAT4.1.2.2: Intercepción de comunicación entre pro- D2-CAT5.2.4: Microarquitectural. Un ataque de análisis
cesos/entidades. El atacante intercepta el SAD durante su microarquitectural estudia los efectos que los componentes
transmisión entre dos procesos o entidades fı́sicos o lógicos pertenecientes a los procesadores comunes y su funcionalidad
que pertenecen al SCS. tienen sobre la seguridad de los criptosistemas software.
D2-CAT4.1.2.3: Compromiso de extremo. Mediante el com- D2-CAT5.2.5: Observación óptica. Las emanaciones ópticas
promiso de la seguridad de un extremo (proceso o entidad que también pueden filtrar información al atacante. En caso que
interviene en la comunicación del SAD dentro del SCS), el los datos procesados por un dispositivo que emanara este tipo
atacante es capaz de interceptar el SAD. de señales se correspondieran con el SCD, el atacante podrı́a
D2-CAT4.1.3: Obtención por prueba y error. El atacante comprometerlo.
emplea métodos probabilı́sticos (p. e. ataque de diccionario), D2-CAT5.3: Acceso no autorizado al SCDev. El atacante
técnicas de análisis de emanaciones acústicas del teclado o compromete el SCD accediendo al SCDev donde se almacena.
simplemente un ataque por fuerza bruta para adivinar el SAD. D2-CAT5.3.1: Compromiso de datos de autenticación de
D2-CAT4.2: Evitación de Autenticación. El atacante evita firmante (SAD). El atacante es capaz de extraer el SCD una
la autenticación para acceder a la operación de firma. vez conocido el SAD. Este método de ataque requiere que el
SCD sea exportable. Esta subcategorı́a se ramifica a su vez
D2-CAT5: Compromiso de datos de creación de firma en las mismas subcategorı́as que D2-CAT4.1 Compromiso de
(SCD) datos de autenticación de firmante (SAD).
Esta categorı́a incluye métodos que permiten al atacante D2-CAT5.3.2: Evitación de Autenticación. El atacante es
obtener el SCD. Esta es la categorı́a que aglutina los métodos capaz de acceder al SCD (y leerlo) incluso sin necesidad de
de ataque más peligrosos, dado que el atacante podrı́a, una vez conocer el SAD. Este método de ataque requiere que el SCD
conocido el SCD, realizar tantas firmas en nombre del usuario pueda ser leı́do.
88
D2-CAT5.4: Criptoanálisis. El atacante aplica métodos de 1. Debe identificarse el objetivo del ataque, y clasificarse
criptoanálisis para conocer el SCD. de acuerdo a la dimensión Objetivo del Atacante.
D2-CAT5.4.1: Algoritmo asimétrico. Esta subcategorı́a 2. Una vez conocido el objetivo, debe clasificarse el méto-
recopila cualquier ataque centrado en comprometer la clave do empleado por el atacante para alcanzar dicho objeti-
privada usada en el algoritmo asimétrico concreto. Existen vo, de acuerdo a la dimensión Método de Ataque, y la
múltiples algoritmos asimétricos que pueden emplearse para Tabla I. El método debe clasificarse en la subcategorı́a
realizar una firma electrónica basada en criptografı́a (p. e. de mayor profundidad posible.
RSA, DSA, curva elı́ptica, etc.). Dependiendo del algoritmo, 3. El patrón de ataque concreto empleado debe seleccio-
el conjunto de posibles métodos de ataque variará. narse de acuerdo a la dimensión Patrón de Ataque y la
información existente en la base de datos de CAPEC.
No todos los métodos de ataque pueden permitir al ata- Al igual que en el caso del método, debe seleccionarse
cante alcanzar los tres objetivos establecidos en la primera el patrón de ataque más concreto posible.
dimensión. El Cuadro I relaciona las categorı́as de la primera 4. Deben identificarse los elementos del SCE que se ven
dimensión con las categorı́as de primer nivel de la segunda afectados de forma directa o indirecta por el ataque, y
dimensión. clasificarse en base a la dimensión Objeto del Ataque.
En caso que el ataque afecte a más de un elemento,
IV-C. Dimensión Patrón de Ataque deberán seleccionarse varias instancias (categorı́as) de
Un patrón de ataque describe cómo un tipo de ataque esta dimensión.
observado se lleva a cabo. Es la descripción del mecanismo 5. En cada paso, si se detecta la necesidad de añadir una
empleado para explotar un sistema pero desde el punto de vista nueva categorı́a o subcategorı́a, ésta debe incorporarse a
del atacante. CAPEC (Common Attack Pattern Enumeration la taxonomı́a, y clasificar el ataque como corresponda.
and Classification) [10] es una extensa colección de patrones Ası́ pues, un ataque se clasificará con una categorı́a de
de ataque que se considera un referente a nivel mundial. Es una la dimensión Objetivo del Atacante, una (sub)categorı́a de
base de datos pública y cuyos patrones de ataque se generan la dimensión Método de Ataque, una (sub)categorı́a de la
tras un análisis exhaustivo de ataques reales. Para cada patrón dimensión Patrón de Ataque, y una o varias (sub)categorı́as
de ataque se proporcionan datos relevantes como el flujo de de la dimensión Objeto del Ataque.
ejecución del ataque o los requisitos que deben cumplirse para
que el ataque pueda ser llevado a cabo. V. E VALUACI ÓN DE LA TAXONOM ÍA
En esta dimensión se incluye una selección de patrones de
ataque de entre los 287 existentes actualmente en CAPEC. Una taxonomı́a debe satisfacer una serie de requisitos gene-
El criterio de selección no ha sido otro que el análisis de rales [18]. Una taxonomı́a deberı́a ser ampliamente aceptada
aplicabilidad de cada patrón de ataque en base al modelo de en el campo de aplicación. La taxonomı́a propuesta se funda-
sistema planteado, y cuya instanciación pudiera comprometer menta en trabajos previos que han tenido un fuerte impacto
la seguridad de un proceso de generación de firma. Se han en la comunidad cientı́fica. Ası́ mismo, la taxonomı́a aplica el
identificado 192 patrones de ataque válidos que, por cuestiones diseño basado en dimensiones, que ha demostrado ofrecer una
de espacio, no se incluyen en el artı́culo. perspectiva integral del campo de estudio abordado. Por ello,
y por la falta actual de una taxonomı́a centrada en ataques a
IV-D. Dimensión Objeto del Ataque firma electrónica, creemos que la taxonomı́a aquı́ propuesta
Esta dimensión categoriza los posibles elementos que pue- será un primer paso en el estudio de esta problemática.
den ser objeto del ataque. Un ataque puede afectar a uno o La taxonomı́a deberı́a ser exhaustiva en el sentido de que
varios elementos, por lo que la clasificación de un ataque pudiera cubrir la clasificación de cualquier elemento dentro
podrı́a necesitar la selección de varias categorı́as de esta del campo de estudio. Este requisito es difı́cil de cumplir
dimensión (véase Sección IV-E). dado que no es posible conocer todos los ataques existentes a
Por cuestiones de espacio y relevancia en relación con otras firmas electrónicas, especialmente en un campo tan dinámico
dimensiones, no se proporciona un listado de las categorı́as como el de la seguridad. Sin embargo, la evaluación de la
existentes ni una descripción de las mismas. Simplemente se taxonomı́a frente ataques reales es fundamental para verificar
indican a continuación las categorı́as de primer nivel: D4- su completitud. En este sentido, se ha llevado a cabo de forma
CAT1: Criptografı́a, D4-CAT2: Software, D4-CAT3: Hardwa- satisfactoria una clasificación de 70 ataques encontrados en la
re, D4-CAT4: Usuario. literatura, pero que, por motivos de espacio, no se incluyen en
el artı́culo.
IV-E. Método de Clasificación Las categorı́as de la taxonomı́a deberı́an ser excluyentes
El método de clasificación de una taxonomı́a debe guiar entre sı́, de forma que cada ataque fuera clasificado exclusi-
a un usuario de forma clara y unı́voca en la clasificación vamente en una categorı́a de cada dimensión. El diseño de la
de un nuevo elemento. Para clasificar un ataque en base a taxonomı́a y el método de clasificación aseguran este principio.
la taxonomı́a aquı́ presentada, deben seguirse los siguientes La posibilidad de seleccionar varias categorı́as en la dimensión
pasos: Objeto del Ataque no implica que se viole este requisito, sino
89
Objetivo Método
D1-CAT1: Firma no consciente de datos D2-CAT1: Manipulación del entorno
D2-CAT2: Modificación previa a la generación de la firma
D1-CAT2: Uso no autorizado de los datos de creación de firma (SCD) D2-CAT4: Invocación no autorizada de la operación de firma
D2-CAT5: Compromiso de datos de creación de firma (SCD)
D1-CAT3: Sustitución/Modificación de datos firmados D2-CAT3: Modificación posterior a la generación de la firma
Cuadro I
R ELACI ÓN ENTRE DIMENSI ÓN OBJETIVO Y DIMENSI ÓN M ÉTODO
que la taxonomı́a permite la clasificación de varios elementos aprovechar la latencia en la actualización de CRL para firmar
afectados por el ataque si fuera necesario. con un certificado revocado). Como resultado, se dispondrá de
El método de clasificación deberı́a ser determinista y repe- una taxonomı́a completa de ataques a la firma electrónica,
tible en base al diseño de la taxonomı́a. El método aquı́ pro- posibilitando la clasificación y estudio de cualquier ataque que
porcionado es claro, sencillo e inequı́voco teniendo en cuenta afecte a su fiabilidad como evidencia de no repudio.
las dimensiones diseñadas.
La taxonomı́a deberı́a emplear terminologı́a ampliamente R EFERENCIAS
aceptada y ser apropiada, basándose en un modelo claro de [1] A. McCullagh and W. Caelli. Non-repudiation in the digital Environment.
First Monday, vol. 5, no. 8, 2000.
referencia. La terminologı́a y modelo de sistema empleados en [2] European Directive 1999/93/CE of the European Parliament and of the
la presente taxonomı́a se derivan de los estándares actuales. Council of 13 December 1999 on a Community framework for electronic
Ası́ mismo, el modelo acota exactamente los elementos de alto signatures, 1999.
[3] Ley 59/2003, de 19 de Diciembre, de Firma Electrónica, 2003.
nivel que intervienen y las relaciones entre ellos. [4] UNCITRAL Model Law on Electronic Signatures with Guide to Enact-
Para ser útil, una taxonomı́a deberı́a estar especializada ment, United Nations, 2001.
en un área de conocimiento concreta. En nuestro caso, la [5] Electronic Signatures in Global and National Commerce Act (e-sign).
Federal Trade Commission, Department of Commerce. United States of
taxonomı́a se centra en ataques a entornos de creación de America. 30 Junio, 2000.
firmas electrónicas basadas en criptografı́a de clave pública. [6] Personal Information Protection and Electronic Documents Act. Depart-
Por último, la taxonomı́a deberı́a ser útil. En este sentido, ment of Justice. Government of Canada. 30 Mayo, 2008.
la taxonomı́a propuesta permite la clasificación sistemática de [7] D. Cruz Rivero. Eficacia formal y probatoria de la firma electrónica.
Marcial Pons (Ed.). ISBN: 84–9768–353–6, 2006.
ataques a entornos de creación de firmas, lo cual sin duda [8] ISO/IEC 13888-3 Information technology – Security techniques – Non
redundará en un mayor conocimiento a la hora de diseñar repudiation – Part 3: Mechanisms Using Asymmetric Techniques. 2009.
soluciones más eficaces no sólo contra ataques conocidos sino [9] CEN CWA 14170 – Security Requirements for signature creation appli-
cations. The European Committee for Standardization (CEN), 2004.
contra ataques potenciales todavı́a por aparecer. [10] Common Attack Pattern Enumeration and Classification (CAPEC) - A
Community Knowledge Resource for Building Secure Software. MITRE.
VI. C ONCLUSIONES [11] A. Axelsson. Intrusion Detection Systems: a Survey and Taxonomy.
La importancia de la firma electrónica, con su amplio Technical Report No 99-15, Department of Computer Engineering, Chal-
mers University, Gothenburg, 2000.
reconocimiento por las legislaciones y estándares internacio- [12] C. E. Landwehr, A. R. Bull, J. P. McDermott, and W. S. Choi. A
nales vigentes, ası́ como las consecuencias que de ella se taxonomy of computer program security flaws. ACM Computing Surveys,
derivan, nos llevan a la necesidad de diseñar sistemas y vol. 26, no. 3, pp. 211–254, 1994.
[13] M. Bishop. A taxonomy of (Unix) system and network vulnerabilities.
soluciones robustos ante las amenazas existentes y futuras, Technical Report CSE–9510. Department of Computer Science, Univer-
por otra parte numerosas. Una taxonomı́a de ataques permitirı́a sity of California, 1995.
categorizar los ataques posibles de forma genérica y abstracta, [14] F. Piessens. A taxonomy of causes of software vulnerabilities in Internet
software. 13th International Symposium on Software Reliability Enginee-
beneficiando el estudio de contramedidas globales aplicables ring, pp. 47–52, 2002.
a cualquier entorno de firma. [15] U. Lindqvist and E. Johsson. How to Systematically Classify Computer
Aunque se han propuesto numerosas taxonomı́as en el Security Intrusions. IEEE Security and Privacy, pp. 154–163. 1997.
[16] H. Langweg and E. Snekkenes. A Classification of Malicious Software
ámbito de la seguridad, ninguna ha abordado de manera Attacks. Proceedings of 23rd IEEE International Performance, Compu-
integral el problema de seguridad de las firmas electrónicas. En ting, and Communications Conference, 2004.
este artı́culo se ha presentado la primera taxonomı́a de ataques [17] S. Hansman. A Taxonomy of Network and Computer Attack Methodo-
logies, technical report, Department of Computer Science and Software
a entornos de creación de firma electrónica. La taxonomı́a se Engineering, University of Canterbury, Christchurch, 2003.
ha dividido en cuatro dimensiones, lo cual permite el análisis [18] D. L. Lough. A taxonomy of computer attacks with applications to
y clasificación de ataques desde un punto de vista holı́stico. wireless networks. Tesis Doctoral, 2001.
[19] K. Kain. Electronic Documents and Digital Signatures. Doctoral Thesis,
La taxonomı́a se ha validado satisfactoriamente frente a los 2003.
requisitos y principios fundamentales para taxonomı́as, inclu- [20] P. Girard, J-L. Giraud. Software attacks on smart cards. Information
yendo el requisito de completitud mediante la clasificación de Security Technical Report, vol. 8, no. 1, pp. 55–66. 2003.
[21] A. J. Rae, L. P. Wildman. A Taxonomy of attacks on secure devices.
setenta ataques publicados en la literatura (no incluidos en el Proceedings of the Fourth Australian Information Warfare and IT Security
presente artı́culo). Conference, pp. 251–264. 2003.
Como trabajo futuro se ampliará la taxonomı́a incorporando [22] The side-channel cryptanalysis lounge. European Network of Excellence
in Cryptology.
categorı́as de ataque orientados a la fase de verificación (p. e.
90
Envı́o de información con soporte de firma digital y
cifrado desde un dispositivo móvil a un servidor
web
Jan Bühler Olivé Macià Mut Puigserver Magdalena Payeras Capellà Llorenç Huguet Rotger
Universitat de les Illes Balears Universitat de les Illes Balears Universitat de les Illes Balears Universitat de les Illes Balears
Email: [Link]@[Link] Email: [Link]@[Link] Email: mpayeras@[Link] Email: [Link]@[Link]
Abstract—En este artı́culo se presenta el diseño y la imple- En realidad se han desarrollado dos aplicaciones, una para
mentación de una solución para el envı́o de información con el emisor (dispositivo móvil) y una para el receptor (servidor
soporte de firma digital y cifrado desde un dispositivo móvil a web). Para el desarrollo de la aplicación del emisor se ha
un servidor web. El artı́culo no sólo introduce los fundamentos
técnicos de las herramientas y tecnologı́as utilizadas, sinó que utilizado la novedosa plataforma de programación de software
también presenta el estado del arte de este tipo de tecnologı́as para dispositivos móviles Android desarrollada primero por
y las caracterı́sticas, ventajas y desventajas de otras soluciones Google y luego por la Open Handset Alliance [9], mientras
y en especial de la solución presentada en este trabajo de que para el receptor se ha utilizado el servidor web Tomcat
investigación. Finalmente, se analiza el protocolo implementado con soporte a Java servlets y JSPs [3]. La gran ventaja de
haciendo especial referencia a las propiedades de seguridad
introducidas en él y a las técnicas aplicadas para conseguir este esta configuración es poder utilizar el mismo lenguaje de
fin. programación (Java) en ambas aplicaciones (emisor y recep-
tor), lo cuál facilita enormemente el desarrollo y el correcto
I. I NTRODUCCI ÓN funcionamiento de las operaciones de cifrado y descifrado de
El acceso a Internet a través de dispositivos móviles es datos y de firma y verificación de firma digital.
cada vez más utilizado. Distintos estudios indican que en los
próximos años casi la mitad de los usuarios se conectarán a A. Seguridad
Internet a través de dispositivos móviles. Uno de los principales objetivos del proyecto ha sido
El sector de las telecomunicaciones se encamina progre- construir un protocolo que introdujera seguridad en la co-
sivamente a la convergencia de las redes fija y móvil. Los municación emisor-receptor. En el extremo del emisor, el
fabricantes de teléfonos están desarrollando terminales con protocolo consiste en: construir el mensaje a enviar, firmarlo
acceso a Internet, correo electrónico, etc. y las operadoras digitalmente utilizando técnicas de criptografı́a asimétrica y
lanzan al mercado tarifas de telefonı́a móvil e Internet a funciones resumen (hash), cifrarlo utilizando técnicas de crip-
precios cada vez más competitivos. tografı́a simétrica, comprimirlo para reducir el tráfico de red y
Actualmente ya existen multitud de dispositivos móviles enviarlo. En cuanto al extremo del receptor, el protocolo es el
que disponen de una interfaz de acceso Wi-Fi con la que es siguiente: descomprimir el mensaje recibido, descifrarlo uti-
posible acceder a Internet a un precio más económico. El único lizando técnicas de criptografı́a simétrica, verificar la validez
inconveniente es la necesidad de un punto de acceso, por lo de los certificados digitales utilizados y verificar la firma
que se deja de ser completamente móvil. digital mediante técnicas de criptografı́a asimétrica y funciones
En un futuro no muy lejano se espera disponer de una resumen, enviar una evidencia de recepción del mensaje al
conexión móvil para acceder a Internet, es decir, se podrá emisor a través de correo electrónico y tratar el mensaje.
acceder desde el lugar que sea, desde el dispositivo que sea y Mediante esta implementación se ha dotado al protocolo de
en el momento que sea preciso. las propiedades de integridad, confidencialidad, autenticidad,
Todos estos avances provocan la necesidad y la demanda no repudio de origen y no repudio de recepción. Para lograrlo,
de aplicaciones y servicios en terminales móviles como por también se ha desarrollado una infraestructura de clave pública
ejemplo: consultar el correo electrónico, consultar notı́cias, (PKI) ([12], [13]), es decir, un sistema para la gestión de
visualizar mapas y callejeros, enviar imágenes y vı́deos, etc. certificados digitales y aplicaciones de firma digital.
En este artı́culo presentamos el diseño de una aplicación
para plataformas móviles, concretamente una aplicación para B. Aplicación del terminal móvil
el envı́o de texto e imágenes desde un dispositivo móvil a un Es importante tener en cuenta que el desarrollo de aplica-
servidor web pero con el valor añadido de que los mensajes ciones para dispositivos móviles resulta más complicado que
son enviados cifrados y firmados digitalmente. Con este fin el desarrollo tradicional de aplicaciones web o de escritorio ya
hemos definido un protocolo de comunicación entre terminal que, está limitado tanto en la capacidad de recursos hardware
y servidor donde la seguridad juega un papel muy importante. (principalmente de memoria y de procesador) como en el
91
uso de librerı́as y funcionalidades propias del lenguaje de de librerı́as de bajo nivel como SQLite para la persistencia
programación para dispositivos móviles utilizado. de datos, OpenGL ES para la gestión de gráficos 3D, Webkit
Otro aspecto importante del trabajo que presentamos aquı́ como motor de rendeado HTML, etc., y un conjunto inicial de
ha sido el relativo al rendimiento de la aplicación del emisor aplicaciones orientadas al usuario final. Las aplicaciones An-
(dispositivo móvil), especialmente por la carga que suponen droid están programadas en Java pero no corren sobre J2ME,
las operaciones criptográficas. Como durante todo el desarrollo sino sobre Dalvik [7], una máquina virtual Java optimizada
del proyecto se ha trabajado sobre un emulador, se ha intentado para dispositivos empotrados desarrollada expresamente por
dar respuesta a la pregunta ¿soportarı́a un terminal real, Google.
con sus limitaciones hardware, la carga generada por estas Por otro lado, comentar que la aplicación receptor se ejecuta
operaciones criptográficas?. La conclusión de la investigación sobre un servidor web, concretamente se ha instalado el
llevada a cabo es que no es posible juzgar el rendimiento servidor web con soporte de servlets y JSPs Apache Tomcat
de la aplicación en base al emulador, ya que a pesar de (versión 6.0.18).
poder hacer estimaciones en referencia a la CPU, no existe A continuación se describen brevemente las herramientas,
emulación del bus de memoria, no existe aceleración gráfica APIs y algoritmos utilizados en la implementación de las
por hardware, etc. Por tanto, la única manera de conocer el aplicaciones emisor y receptor:
comportamiento de la aplicación realmente es ejecutándola • JDOM [4]: API que se ha utilizado para el acceso, la
sobre un dispositivo real. Apuntar que, de forma definitiva, manipulación y la salida de datos XML.
la aplicación desarrollada se ha trasladado del emulador al • Clase Base64: clase Java que se ha utilizado para la
terminal fı́sico y el rendimiento ha resultado ser satisfactorio, codificación y decodificación de información en base 64.
teniendo en cuenta la carga operacional requerida. Antes de poder embeber una imagen, una firma digital o
Finalmente, decir que modificando mı́nimamente la apli- un contenido cifrado en un fichero XML debe codificarse
cación del emisor y adaptando la aplicación del receptor en base 64.
para realizar el correspondiente tratamiento de los mensajes • RSA [1]: sistema criptográfico de clave pública que se
recibidos, este proyecto es válido para numerosas aplicaciones. ha utilizado para implementar la envoltura digital1 y las
II. E NTORNO DE DESARROLLO operaciones de firma digital.
En esta sección se describe el entorno de desarrollo y las • AES [14]: esquema de cifrado por bloques utilizado para
distintas tecnologı́as utilizadas en este proyecto. el cifrado de los datos. Concretamente, se ha utilizado en
Tanto para el desarrollo de la aplicación emisor como de la modo de cadena de cifrado de bloque (CBC).
aplicación receptor se ha utilizado: • [Link]: paquete que permite la compresión y des-
compresión de ficheros. Para paliar la expansión pro-
• El sistema operativo GNU-Linux (release 2.6.24-23-
ducida por las distintas codificaciones en base 64, se
generic), concretamente la distribución Ubuntu 8.04 -
decidió comprimir el fichero a enviar.
Hardy Heron - publicada en abril de 2008.
• La plataforma de desarrollo: Java Standard Edition 6 JDK Finalmente, para la gestión de los diferentes keystores2 , de
(product version 6, development version 1.6.0). los pares de claves y los certificados digitales se han utilizado
• El entorno de desarrollo integrado Eclipse que, al estar las herramientas Keytool IUI [5] y OpenSSL [10].
formado por módulos (plugins), ofrece una plataforma
ligera para componentes de software. De este modo, cada III. E STADO DEL ARTE
usuario puede instalar y activar únicamente los plugins Como veremos a continuación, actualmente ya existen di-
que precisa. Para el desarrollo de la aplicación emisor versas soluciones de firma electrónica y cifrado sobre disposi-
se ha utilizado Eclipse junto al plugin ADT (Android tivos móviles. La firma electrónica y el cifrado móvil pueden
Development Tools) que incluye una serie de extensiones aportar autenticidad, integridad, no repudio y confidencialidad
para facilitar la creación, ejecución y depuración de si se utilizan en el entorno adecuado de un protocolo de
aplicaciones Android, mientras que en la aplicación re- comunicación.
ceptor, se ha utilizado Eclipse para la implementación En la telefonı́a comercial se ofrece un servicio de firma
de los Java servlets de recepción y publicación, y las electrónica móvil ([8], [17]), que permite autenticar al usuario
correspondientes clases satélite. y firmar transacciones y documentos digitales de todo tipo
Para el desarrollo de la aplicación emisor se ha instalado mediante el móvil. Las desventajas de este servicio son su
el kit de desarrollo Android SDK (Android 1.0 SDK, Release elevado coste y que de momento sólo se ofrece a clientes
1) proporcionado por Google. En este kit se encuentran todas empresa.
las herramientas necesarias (entorno de depuración, librerı́as,
emulador de terminal móvil, documentación, tutoriales, código 1 Envoltura digital: técnica utilizada en la negociación de claves simétricas
de ejemplo, etc.) para poder desarrollar aplicaciones para la mediante criptografı́a asimétrica. Consiste en utilizar un método seguro para
plataforma Android [11]. Android es una solución completa de compartir claves (por ejemplo RSA) y un método rápido para cifrar los datos
(por ejemplo AES).
software de código libre para teléfonos y dispositivos móviles 2 Keystore: un almacén de claves es un archivo de base de datos de claves
constituida básicamente por un sistema operativo, un conjunto que contiene tanto las claves públicas como las privadas.
92
Por otro lado, la empresa tailandesa CryptoGraf [2] ofrece los emisores, que pueden ser los propios vigilantes de la playa,
un producto que permite el envı́o y la recepción de mensajes van enviando periódicamente fotos de la playa en la que se
SMS y MMS cifrados y firmados digitalmente entre usuarios encuentran junto a su información de estado, concretamente
de la aplicación. La desventaja de este producto es el aumento la bandera, la temperatura, el viento, si hay medusas u otros
de tamaño de los mensajes (overhead) debido al cifrado y animales que podrı́an ser considerados peligrosos para los
a la firma digital, que provoca que éstos deban fraccionarse bañistas, el oleaje, si hay corriente, si hay posidonia y la
y enviarse por partes. Por ejemplo, en el caso de enviar un cantidad de gente.
mensaje SMS cifrado y firmado digitalmente, el overhead es El receptor (que aquı́ serı́a el servidor de la autoridad
de como mı́nimo tres mensajes. competente en costas), al recibir un mensaje lo trata y publica
Otra empresa, en este caso la española [Link] [6] ofrece la información correspondiente en una página web, de modo
un servicio de notificaciones certificadas vı́a SMS que se que cualquier ciudadano pueda consultar el estado de las
utiliza para notificar multas o sanciones como sustituto de las playas antes de salir de casa.
cartas certificadas o los burofaxes. Las principales ventajas
de este servicio son su bajo coste, la rapidez del proceso de
B. Protocolo de transmisión
certificación y el ahorro de papel y tinta. La desventaja es que
de momento sólo permite el envı́o de SMSs. 1) Notación: En la tabla 1 especificamos el significado de
En este proyecto se han mantenido las ventajas de las los elementos utilizados durante la emisión y recepción de
soluciones existentes y se han eliminado sus desventajas. Una la información. En esta tabla, el sı́mbolo ’+’ se utiliza para
de las principales ventajas de la solución presentada aquı́ es su indicar la concatenación de los elementos implicados.
versatilidad, ya que realizando una serie de pequeñas modifi-
caciones pueden implementarse diversos escenarios. Como la
conexión entre emisor y recepetor es a través de internet, puede
enviarse prácticamente cualquier tipo de contenido digital.
Por ejemplo: el usuario se podrı́a descargar un documento,
firmarlo digitalmente y enviarlo al receptor. Tampoco resultarı́a
complicado incluir una autoridad selladora de tiempo para
tener constancia ante terceros del momento en que se realiza
la firma digital.
La implementación final de este proyecto se ha orientado
a la publicación móvil segura de imágenes. Existen diversos
escenarios donde podrı́a resultar útil, como por ejemplo en
la gestión de las infracciones de tráfico o de aparcamiento.
Los agentes al detectar una infracción, como por ejemplo un
coche mal aparcado, procederı́an a tomar una fotografı́a de la
misma y la envı́arı́an al receptor junto a una serie de datos,
como su número de agente, el número de matrı́cula del coche
implicado, y la descripción de la infracción.
Actualmente, en la web 2.0, existen numerosas soluciones
de publicación de imágenes a través de dispositivos móviles
pero no con soporte de cifrado y firma digital como se ofrece
en este proyecto. En algunos casos la publicación de imágenes
se lleva a cabo enviando la imagen por correo electrónico a una
dirección única de carga. En el trabajo que hemos desarrollado
aquı́ se realiza mediante una conexión directa con el receptor, Tabla 1. Descripción de los elementos implicados en el protocolo.
utilizando el método POST del protocolo HTTP.
IV. S OLUCI ÓN IMPLEMENTADA
Con el fin de realizar una descripción de la forma más clara
y concreta posible, en esta sección se describe la solución
diseñada como caso especı́fico de implementación del proto-
colo genérico de comunicaciones seguras entre terminal móvil
y servidor desarrollado.
A. Nuestras playas online
Tabla 2. Pasos del protocolo de transmisión realizados por la aplicación
En este caso concreto hemos desarrollado una aplicación emisor.
que hemos llamado Nuestras playas online. En esta aplicación
93
2) Descripción: – Recuperar la clave pública del receptor (PUR ) de su
certificado digital que se encuentra almacenado en el
Emisión: En la tabla 2 enumeramos y describimos cada almacén de claves (AC).
una de las operaciones que realiza la aplicación instalada en – Cifrar la clave secreta (SK) con la clave pública
el dispositivo de comunicación móvil. El objetivo principal de del receptor (PUR ), de forma que sólo éste podrá
la aplicación emisor es enviar una imagen junto a unos deter- descifrarla mediante su clave privada.
minados datos a la aplicación receptor, con la peculiaridad de – Añadir la clave secreta (SK) cifrada con la clave
que la información enviada está firmada digitalmente, cifrada pública del receptor (PUR ) al fichero [Link]
y comprimida. (MX).
A continuación se describen detalladamente los pasos del • Paso 9: Comprimir el fichero [Link] (MX) para
protocolo realizados en la aplicación emisor: optimizar el envı́o y paliar el incremento de tamaño
• Paso 1: Construcción del fichero XML a enviar (M): producido por las distintas codificaciones en base 64
– Seleccionar la imagen a publicar. realizadas, obteniendo el fichero [Link] (MC).
– Embeber la imagen codificada en base 64 en un • Paso 10: Enviar el fichero [Link] (MC) es-
fichero XML temporal: [Link] (M). tableciendo una conexión con el servlet de recepción de
– Añadir el alias del usuario, la dirección de correo la aplicación receptor utilizando el método POST del
electrónico donde recibir la evidencia de recepción protocolo HTTP.
y, en el caso concreto de la aplicación desarrollada, Recepción: En la tabla 3 expresamos de forma esquemática
se añaden al fichero [Link] (M) el resto de los datos, cada una de las operaciones que realiza el servidor en la
como por ejemplo: la isla, la playa, la bandera, etc. recepción de los mensajes.
• Pasos 2, 3 y 4: Firmar el fichero [Link] (M) construido,
obteniendo el fichero [Link] (MF):
– Recuperar la clave privada del emisor (PRE ) del
almacén de claves (AC).
– Firmar el fichero [Link] construido utilizando la
clave privada del emisor (PRE ).
– Añadir la firma en base 64 al contenido del fichero
[Link] (M).
– Añadir la fecha actual (Fa ) al contenido del fichero
[Link] (M) para dejar constancia de cuándo ha sido
firmado.
– Almacenar el fichero resultante como tmpFir-
[Link] (MF).
– Si ocurre un error durante este proceso (por ejemplo
si la contraseña para acceder al almacén de claves es
incorrecta) se construye un documento XML de error
con el alias, el error y la fecha actual (M ⇐ alias Tabla 3. Pasos del protocolo de transmisión realizados por la aplicación
+ error + fecha actual), que es enviado en receptor.
lugar del fichero XML construido anteriormente (se
denomina [Link]). De este modo el re- La aplicación receptor realiza dos funciones bien diferenci-
ceptor puede detectar si se producen intentos fallidos adas:
de acceso a la clave privada de un determinado • Recibir y publicar los mensajes enviados desde las
emisor. aplicaciones emisoras (dispositivos móviles) a través
• Pasos 5, 6, 7 y 8: Cifrar el fichero [Link] (MF) de una interfaz HTTP POST implementada mediante
obteniendo el fichero [Link] (MX): un servlet.
– Generar clave secreta (SK) de un sólo uso de 256 • Proporcionar acceso vı́a web a la información publi-
bits (Unlimited Strength Cryptography [16]). cada a través de un conjunto de páginas HTML y un
– Generar el vector de inicialización (IV), para poder servlet que carga la información desde el fichero XML
utilizar el modo CBC del algoritmo AES. correspondiente.
– Cifrar el fichero [Link] (MF) utilizando el A continuación se describen detalladamente los pasos del
algoritmo AES con la clave secreta (SK) y el vector protocolo realizados en la aplicación receptor:
de inicialización (IV) generados. • Paso 1: Recepción del fichero [Link] (MC).
– Crear el fichero [Link] (MX) con el vector Como pueden llegar múltiples archivos simultáneamente
de inicialización (IV) concatenado al contenido del es necesario identificarlos unı́vocamente por lo que el
fichero [Link] (MF) cifrado. fichero recibido es renombrado como [Link].
94
• Paso 2: Descomprimir el fichero [Link] (MC) obte- – Verificar la firma digital.
niendo el fichero [Link] (MX). – Si la verificación de firma es correcta, crear el
• Pasos 3, 4, 5 y 6: Descifrado del fichero idUnico- fichero [Link] (M) que contiene únicamente el
[Link] (MX): contenido que el emisor pretendı́a enviar al receptor.
– Recuperar el vector de inicialización (IV) del fichero – Si la verificación de firma es incorrecta se registra
[Link]. en el fichero de logging.
– Recuperar la clave privada del receptor (PRR ) del • Pasos 16 y 17: Si la verificación de la firma digital ha
almacén de claves (AC). sido correcta, tratar la información recibida contenida en
– Extraer la clave secreta (SK) del fichero idUnico- el fichero [Link] (M) y enviar al emisor la corres-
[Link] utilizando la clave privada del receptor pondiente evidencia de recepción (NRR) del mensaje:
(PRR ) (sólo éste puede decifrarla). – Extraer la imagen del fichero [Link] y almace-
– Descifrar el contenido del fichero idUnicoCi- narla en la ubicación correspondiente.
[Link] mediante el vector de inicialización (IV) – Extraer el alias, la dirección de correo electrónico, la
y la correspondiente clave secreta (SK), obteniendo isla, la playa, la bandera, etc. del fichero [Link]
el fichero [Link] (MF). (M) y realizar las correspondientes tareas de publi-
• Paso 73 : Comprobar si la fecha de firma no es anterior al cación.
periodo margen (Tm ) ni posterior a la fecha actual (Fa ): – Enviar a la dirección de correo electrónico solicitada
– Utilizar la fecha de firma incluida en el fichero por el emisor una evidencia de recepción (NRR) (no
[Link] (MF) y la fecha actual (Fa ). repudio de recepción).
• Pasos 8 y 9: Comprobar la validez del certificado de V. A N ÁLISIS INFORMAL DE LA SEGURIDAD DEL
usuario en el momento de realizar la firma digital: PROTOCOLO
– Recuperar el certificado del usuario emisor (CE ) del
Para que una transacción online se considere segura debe
almacén de claves (AC).
cumplir las propiedades de integridad, confidencialidad, no
– Comprobar si el certificado era válido en el momento
repudio en origen, no repudio de recepción y autenticación.
de firmar el fichero [Link] (MF) (éste
En este proyecto se han utilizado técnicas de criptografı́a
contiene la fecha de firma).
simétrica para el cifrado de los mensajes enviados del emisor
• Pasos 10 y 11: Comprobar la validez del certificado de
al receptor. Concretamente, se ha utilizado el esquema de
la autoridad certificadora en el momento de firmar el
cifrado por bloques AES con una clave secreta de 256 bits.
certificado de usuario:
La criptografı́a simétrica dota al protocolo de la propiedad de
– Recuperar el certificado del usuario emisor (CE ) del condidencialidad. Para la implementación de la firma digital
almacén de claves (AC). y el cifrado de la clave secreta, se han utilizado técnicas de
– Recuperar la fecha de creación del certificado de criptografı́a asimétrica. Concretamente el sistema criptográfico
usuario del emisor (CE ). de clave pública RSA con claves de 1024 bits. La criptografı́a
– Recuperar el certificado de la autoridad certificadora asimétrica mediante la implementación de la firma digital dota
(CA ). al protocolo de las propiedades de integridad, confidencialidad
– Comprobar si el certificado de la autoridad certifi- y no repudio en origen. En el caso del dipositivo móvil, el
cadora (CA ) era válido en el momento de firmar el par de claves es generado externamente por un operador de
certificado de usuario del emisor (CE ). registro al dar de alta a un nuevo usuario y es almacenado en
• Pasos 12, 13, 14 y 15: Verificar la firma digital del fichero un almacén de claves de tipo BKS [15] junto al conjunto de
[Link] (MF): ficheros que conforman la aplicación Android. En Android,
– Recuperar la clave pública del emisor (PUE ) del por defecto, todos los datos asociados a una aplicación son
almacén de claves (AC). privados para esa aplicación por lo que, en principio, la única
– Recuperar la firma del fichero (F) idUnicoFir- forma de acceder al fichero que implementa el almacén de
[Link]. claves para intentar comprometer la seguridad del sistema serı́a
– Recuperar el texto que fue firmado (M) del fichero accediendo al terminal como usuario root.
[Link]. Finalmente, se ha implementado un mecanismo para dotar
3 Según el tipo de aplicación final, podrı́a ser interesante disponer de un al protocolo de la propiedad de no repudio de recepción. Este
servicio de sellado temporal, es decir, en lugar de enviar directamente el mecanismo consiste en el envı́o (mediante correo electrónico)
fichero al receptor se enviarı́a antes a una autoridad de sellado de tiempo que por parte del receptor al emisor de una notificación de re-
incluirı́a un sello temporal en el fichero en cuestión. De este modo se tendrı́a
constancia ante terceros del momento en que se realizó la firma digital. En cepción del mensaje. Por tanto, también queda constancia de
la implementación actual lo que se ha hecho es incluir la fecha en que se la fecha de recepción del mensaje.
realizó la firma digital en el fichero enviado y en el receptor se verifica
que como máximo la firma tenga una antigüedad de Tmargen y no sea VI. R ENDIMIENTO DEL DISPOSITIVO M ÓVIL REAL
posterior a la fecha actual, evitando ası́ la posibilidad de recibir una fecha
falsa, bastante anterior a la real o posterior a la fecha actual, y eludir por Para analizar el rendimiento del dipositivo móvil real se han
tanto la manipulación de la comprobación de la validez de los certificados. realizado distintas ejecuciones de la aplicación implementada
95
capturando el tiempo de ejecución de las distintas operaciones la aplicación emisor y enviar la correspondiente solicitud
realizadas (componer el mensaje, firmar digitalmente, cifrar, de firma del certificado.
comprimir y enviar). Los resultados obtenidos se pueden • Modificar el protocolo de transmisión para añadir la
observar en la tabla 4. propiedad de equidad a las propiedades de seguridad ya
existentes.
• Dado que se ha verificado que resulta más eficiente
realizar primero la operación de compresión que la de
cifrado, intercambiar el orden de estas operaciones en el
protocolo.
• Determinar el tamaño de las claves simétricas y
asimétricas que ofrezcan la relación rendimiento-nivel de
seguridad más adecuada.
Tabla 4. Tiempo consumido por dispositivo móvil real para realizar las
• Ubicar el almacén de claves de la aplicación emisor en la
distintas operaciones sobre ficheros de distintos tamaños. tarjeta SIM para aumentar el nivel de seguridad y reducir
el tiempo de cálculo.
Como se puede observar, las operaciones criptográficas AGRADECIMIENTOS
consumen la mayor parte del tiempo, alrededor del 70% del
Este trabajo ha sido parcialmente financiado por los proyec-
mismo. La operación de composición del mensaje consume
tos ARES ”grupo de investigación avanzada en seguridad y
aproximadamente una quinta parte del tiempo total, debido
privacidad de la información” (Consolider-Ingenio CSD 2007-
esencialmente a la codificación en base 64 de la imagen, mien-
00004) y ”Seguridad en la contratación electrónica basada en
tras que las operaciones de compresión y de envı́o consumen
servicios web” (CICYT TSI 2007 62986).
una parte muy reducida del tiempo.
Dado que los algoritmos de compresión se basan en la R EFERENCIAS
eliminación de la redundancia de datos se ha verificado que [1] R. Rivest, A. Shamir, L. Adleman. A Method for Obtaining Digital
resulta más eficiente realizar antes la operación de compresión Signatures and Public-Key Cryptosystems. Communications of the ACM,
que la de cifrado, hecho que se tendrá en cuenta en futuras Vol. 21 (2), pp.120–126. 1978. Previously released as an MIT ”Technical
Memo” in April 1977. Initial publication of the RSA scheme
versiones del protocolo. [2] CryptoGraf - Send Message Keep Secret
Disponible en la URL: [Link]
VII. C ONCLUSIONES Y TRABAJOS FUTUROS [3] Java Servlet and JavaServer Pages Technology
Disponible en las URLs: [Link]
En este artı́culo se presenta una posible solución al problema [Link]
de enviar información de forma segura desde un dispositivo [4] JDOM - Java-based solution for accessing, manipulating, and outputting
XML data from Java code. Disponible en la URL: [Link]
móvil a un servidor web. Para lograrlo se han tenido que tomar [5] KeyTool IUI - The cryptography GUI tool
una serie de decisiones y ha sido necesario el dominio de nu- Disponible en la URL: [Link] [Link]
merosas tecnologı́as, algoritmos criptográficos y herramientas [6] [Link] - Chat Systems And Networks
Disponible en la URL: [Link]
distintas. [7] Maquina virtual Dalvik
Durante el proceso de investigación se ha experimentado Disponible en la URL: [Link]
con numerosas plataformas de desarrollo para dispositivos [8] Movistar - Servicio Firma Móvil
Disponible en la URL: [Link]
móviles pero tarde o temprano siempre aparecı́a alguna limi- 8887 153545600 153545603 0 0,[Link]
tación grave, como por ejemplo la imposibilidad de realizar [9] Open Handset Alliance
Disponible en la URL: [Link]
todas las operaciones criptográficas requeridas en esta im- [10] OpenSSL: The Open Source toolkit for SSL/TLS
plementación, la imposibilidad de manipular ficheros XML, Disponible en la URL: [Link]
etc. Finalmente la plataforma Android ha permitido la imple- [11] Plataforma Android. Disponible en las URLs: [Link]
mentación con las caracterı́sticas deseadas. intl/es-ES/android/, [Link]
[12] Public Key Infrastructure
Por otro lado, actualmente las principales barreras con las Disponible en la URL: [Link]/blueprints/0801/[Link]
que se encuentran las soluciones como la presentada son el [13] Public Key Infrastructure (PKI) and other Concepts in Cryptography
Disponible en la URL: [Link]
elevado coste de las comunicaciones móviles y los problemas -infrastructurepki-other-concepts-cryptography-cissp
de rendimiento de los terminales, pero parece ser que en [14] Joan Daemen and Vincent Rijmen, ”The Design of Rijndael: AES -
un futuro no muy lejano dejarán de serlo. Actualmente, una The Advanced Encryption Standard.” Springer-Verlag, 2002. ISBN 3-540-
42580-2.
solución para reducir el coste de la conexión a Internet consiste [15] The Legion of the Bouncy Castle. Disponible en la URL: [Link]
en conectarse a través de la interfaz Wi-Fi del terminal. [Link]/[Link]
Entre las posibles mejoras que preveemos en el protocolo y [16] Using AES with Java Technology - Unlimited strength cryptography.
Disponible en la URL: [Link]
la aplicación desarrollada se encuentran los siguientes trabajos Security/AES/AES [Link]
futuros: [17] Vodafone - Servicio Firma Electrónica Móvil
Disponible en la URL: [Link]
• Mejorar la infraestructura de clave pública (PKI), de
firmaelectronica
forma que el usuario pueda generar su par de claves desde
96
Máxima Seguridad para Firmas Digitales con
Verificación Distribuida
Javier Herranz1 , Alexandre Ruiz1 , Germán Sáez1
Abstract—Una de las opciones para proteger el nivel de II. E SQUEMAS DE FIRMA CON VERIFICACI ÓN DISTRIBUIDA
anonimato o privacidad de un firmante es construir firmas
digitales con verificación distribuida: se requiere la colaboración
Un esquema Σ de firma con verificación distribuida consiste
de un subconjunto autorizado de usuarios para verificar la en cuatro protocolos probabilı́sticos y de tiempo de ejecución
(in)validez de una firma. En RECSI’08, se propuso un esquema polinómico:
de este tipo, pero que no alcanzaba el máximo nivel de seguridad. 1) Ini. La entrada es un parámetro de seguridad λ. Las
En este trabajo proponemos el primer esquema de firma digital
salidas son unos parámetros públicos params utilizados
con verificación distribuida que consigue seguridad máxima,
en términos de infalsificabilidad y privacidad. Demostramos en todo el esquema.
formalmente estas dos propiedades por reducción a problemas
Σ.Ini(1λ ) = params
computacionales estándar, en el modelo del oráculo aleatorio.
Index Terms—Firma digital, compartición de secretos, modelo 2) Gen Cla. Este protocolo utiliza dos algoritmos. El
del oráculo aleatorio, indistinguibilidad
primero corresponde al firmante A que obtendrá un par
I. I NTRODUCCI ÓN de claves (skA , pkA ), donde skA es la clave privada
En algunas situaciones la propiedad de verificación univer- para firmar y pkA es la correspondiente clave pública.
sal en una firma digital puede ser no deseable, si el firmante El segundo algoritmo corresponde a un conjunto B de
desea un cierto nivel de anonimato o de privacidad. Una posi- n verificadores, que tiene asociada una estructura de
ble solución a este problema consiste en exigir la colaboración acceso (monótona creciente) ΓB ⊂ 2B , que contiene
de varios usuarios para que el protocolo de verificación se los subconjuntos autorizados a verificar. Estos usuarios
pueda ejecutar correctamente. Este tipo de esquemas recibe obtendrán cierta información privada {skj }j∈B que va
el nombre de esquemas de firma con verificación distribuida, a ser usada más tarde en el proceso de verificación
que pueden aplicarse en situaciones reales como subastas o distribuida, y cierto valor público pkB común para el
votaciones electrónicas. conjunto B. El proceso de generación de claves para
En [6], se definen las propiedades de seguridad (infalsifica- el colectivo B puede ser ejecutado por una tercera
bilidad y privacidad) que debe satisfacer un esquema de firma autoridad de confianza o de manera conjunta por ellos
con verificación distribuida. También se propone un esquema mismos, usando técnicas conocidas [3].
concreto, pero dicho esquema no alcanza el máximo nivel de Σ.GC(params, A, ‘individual’) = (skA , pkA )
seguridad respecto a la propiedad de privacidad.
En este trabajo proponemos el primer esquema de firma con Σ.GC(params, B, ΓB , ‘colectivo’) = ({skj }j∈B , pkB )
verificación distribuida que satisface las máximas propiedades 3) Firm. Este algoritmo es ejecutado por el firmante A;
de seguridad. En particular, el esquema es seguro incluso toma como entrada un mensaje m, su clave privada
ante atacantes que conocen las claves secretas de todos los skA y la clave pública asociada a un grupo B de
participantes (excluido el participante que se está atacando). verificadores, y da como salida una firma θ(m) del
Conviene remarcar que esta propiedad (conocida como insider mensaje.
security, en inglés) no es en absoluto fácil de conseguir:
incluso construcciones genéricas obtenidas al combinar un Σ.Firm(params, m, pkB , skA ) = θ(m)
esquema de firma con un esquema de cifrado con descifrado 4) Ver Dist. Dado B ∈ ΓB un subconjunto autorizado
distribuido no satisfacen este nivel máximo de seguridad. de verificadores, este protocolo toma como entrada un
La definición detallada de estas propiedades de seguridad mensaje m, una firma θ, la clave pública pkA y los
se puede encontrar en la Sección III. El diseño del nuevo fragmentos skj de los usuarios j ∈ B. La salida será
esquema, que se presenta en la Sección IV, sigue las ideas del 1 si θ(m) es una firma válida de m y 0 en el caso
esquema de cifrado distribuido de Shoup y Gennaro [9]. En la contrario.
Sección V, demostraremos formalmente las dos propiedades
de seguridad, en el modelo del oráculo aleatorio, por reducción Σ.Ver(params, m, θ, pkA , B, {skj }j∈B ) = 1 ó 0
a dos problemas estándar: el problema del logaritmo discreto, Hay que remarcar que el primer y segundo protocolos se
y el problema Computacional de Diffie-Hellman. ejecutan sólo una vez. Los otros dos protocolos, i.e. el proceso
1 MAIV,
UPC, Barcelona, Spain, de firma y de verificación, se ejecutan tantas veces como los
{jherranz,aruiz,german}@[Link] participantes quieran firmar o verificar.
97
III. M ODELO DE SEGURIDAD 6) [Falsificación] En un cierto momento, FINF publica
un par (m , θ ) y una clave pkB para un con-
Las propiedades de seguridad que un esquema de firma junto B y una estructura de acceso ΓB . El ata-
con verificación distribuida deberá satisfacer son las de in- cante FINF gana el juego si (m , θ )
= (m , θ(m )),
falsificabilidad y privacidad. Nuestro objetivo es considerar para toda firma obtenida durante el ataque, y además
las nociones de seguridad más fuertes posibles. Por esta Σ.Ver(params, m , θ , pkA , B, {skj }j∈B ) = 1, para
razón al adversario se le permite hacer peticiones de firma algún subconjunto B ∈ ΓB .
y verificación para diferentes usuarios, mensajes y firmas.
La ventaja de un adversario FINF en romper la infalsifica-
Además se le permite corromper al mayor número de bilidad de un esquema de firma con verificación distribuida se
participantes posibles (con la excepción de los usuarios que define como
sean objetivo de su ataque en cada caso). En particular,
la infalsificabilidad se alcanza incluso cuando el adversario VentFINF (λ) = Pr[FINF gana el juego].
conoce toda la información secreta de todos los participantes
Definición 1: Un esquema de firma con verificación dis-
con la excepción del firmante que quiere atacar. Por otra parte,
tribuida Σ es infalsificable si para cualquier adversario FINF
la privacidad se consigue incluso en el caso que el adversario
de tiempo polinómico, el valor VentFINF (λ) es despreciable
conozca las claves secretas de todos los posibles firmantes y
con respecto al parámetro de seguridad λ.
de un subconjunto no autorizado de verificadores. Este nivel
de seguridad recibe en inglés el nombre de insider security. B. Privacidad
Intuitivamente, en una firma digital con verificación dis-
A. Infalsificabilidad tribuida se requiere que un atacante que corrompa a un sub-
conjunto de usuarios no autorizado, no pueda obtener ninguna
La infalsificabilidad existencial contra ataques de mensaje
información sobre la (in)validez de las firmas calculadas por
escogido [5] requiere que cualquier atacante debe tener pro-
el usuario A. Para formalizar exactamente qué quiere decir
babilidad despreciable 1 de falsificar una firma válida de un
‘no obtener ninguna información’, se adapta el concepto de
usuario (del cual no conoce su clave secreta), incluso si el ata-
seguridad semántica (inicialmente introducido para esquemas
cante puede obtener previamente otros pares (mensaje,firma)
de cifrado y conocido también como indistinguibilidad contra
válidos, para mensajes y conjuntos de verificadores que él
ataques de cifrado escogido [4] o IND-CCA). De manera
escoge adaptativamente.
informal, dados dos mensajes escogidos por un atacante, y
Esta propiedad se formaliza con el siguiente juego, en el
una firma válida para uno de estos mensajes, el adversario
que dado un parámetro de seguridad λ un retador externo reta
no debe ser capaz de distinguir qué mensaje ha sido firmado
a un atacante FINF para que intente falsificar una firma válida
con probabilidad significativamente mayor que 1/2 (respuesta
nueva:
aleatoria).
1) El retador ejecuta params ← Σ.Ini(1λ ) y da todos los Para formalizar esta idea intuitiva, detallamos aquı́ un juego
valores obtenidos junto con una estructura de acceso Γ de indistinguibilidad donde un atacante FIND intenta ganar a
a FINF . un retador externo:
2) FINF escoge un participante A para ser 1) El retador ejecuta params ← Σ.Ini(1λ ) y da todos los
atacado. El retador ejecuta (skA , pkA ) ← valores obtenidos a FIND .
Σ.GC(params, A , ‘individual’), se guarda skA 2) FIND escoge un conjunto de verificadores B , una es-
y le da pkA a FINF . tructura de acceso ΓB ⊂ 2B y un subconjunto no
3) [Generación de nuevas claves] El atacante puede ejecutar autorizado B - ∈/ ΓB , cuyos usuarios puede corromper.
(skA , pkA ) ← Σ.GC(params, A, ‘individual’) para fir- El retador ejecuta el protocolo ({skj }j∈B , pkB ) ←
mantes A
= A de su elección, y también puede ejecutar Σ.GC(params, B , ΓB , ‘colectivo’), da al atacante
Σ.GC(params, B, ΓB , ‘colectivo’) = ({skj }j∈B , pkB ) FIND los valores pkB y {skj }j∈B , y mantiene el resto
para conjuntos B de su elección. de valores skj en secreto.
4) [Peticiones hash] Si la seguridad se considera en el 3) [Generación de nuevas claves] El atacante puede ejecu-
modelo del oráculo aleatorio [1], FINF puede hacer tar (skA , pkA ) ← Σ.GC(params, A, ‘individual’) para
peticiones al oráculo que modela el comportamiento de firmantes A de su elección, y también puede ejecutar
ciertas funciones hash. Σ.GC(params, B, ΓB , ‘colectivo’) = ({skj }j∈B , pkB )
5) [Peticiones firma] FINF puede escoger, de manera adapta- para parejas (B, ΓB )
= (B , ΓB ) de su elección.
tiva, tuplas (m , pkB ) y enviarlas a un oráculo de firma 4) [Peticiones hash] Si la seguridad se considera en el mo-
para el firmante A . FINF obtiene como respuesta las delo del oráculo aleatorio, FIND puede hacer peticiones
firmas θ(m ) ← Σ.Firm(params, m , pkB , skA ). al oráculo que modela el comportamiento de ciertas
funciones hash.
1 Formalmente, decimos que una función f es despreciable (o negligible, en
5) [Peticiones verificación] FIND escoge diferentes tuplas
inglés) en k si existe un polinomio p(·) y un valor entero positivo k0 tal que
f (k) ≤ 1/p(k) para todo k ≥ k0 . Usualmente, se escribe f (k) = negl(k) (m , θ , pkA ) para firmantes A de su elección y
para las funciones f despreciables en k. hace peticiones, de manera adaptativa, a un oráculo
98
de verificación para estas firmas, con conjunto de ve- un oráculo aleatorio [1]. Del protocolo se obtienen los
rificadores B . FIND obtiene como respuesta toda la valores params = (p, q, G, g, , H0 , H1 , H2 , H3 ).
información emitida durante la ejecución del protocolo 2) Gen Cla. Σ.GC(params, A, ‘individual’)
Σ.Ver(params, m , θ , pkA , B , {skj }j∈B ). Σ.GC(params, B, ΓB , ‘colectivo’).
6) FIND escoge dos mensajes m0 , m1 de la misma longitud Para el firmante A, la clave secreta es un elemento
y un firmante A con claves (skA , pkA ), que FIND aleatorio xA ∈ Z∗q que guarda de manera privada,
envı́a al retador. mientras que la clave pública correspondiente es yA =
7) [Desafı́o] El retador escoge un bit aleatorio b ∈ {0, 1} g xA mod p.
y ejecuta θ ← Σ.Firm(params, mb , pkB , skA ). La Para el colectivo B de n usuarios se publica el valor
firma resultante θ se envı́a a FIND . yB = g xB para un valor aleatorio xB ∈ Z∗q que es
8) [Más peticiones] Los pasos 4 y 5 son repetidos, con la desconocido para los miembros de B. Cada verificador
restricción que las tuplas (mi , θ , pkA ) no pueden ser j de B recibe un fragmento sj del secreto xB , corres-
enviadas al oráculo de verificación, para i = 0, 1. pondiente a un esquema de compartición de secretos de
9) Finalmente, FIND devuelve un bit b ∈ {0, 1}. espacio vectorial [2] para la estructura de acceso ΓB .
Decimos que FIND gana el juego si b = b. La ventaja de Es decir, para cada conjunto autorizado B ∈ ΓB existen
un tal adversario FIND en romper la privacidad de un esquema coeficientes {λB }
j j∈B tales que λ B
j∈B j sj = xB .
de firma con verificación distribuida se define como 3) Firm. Σ.Firm(params, m, yB , xA ).
Si A quiere firmar un mensaje m ∈ {0, 1}∗ , ejecuta los
VentFIND (λ) = |2 Pr[b = b] − 1| . siguientes pasos:
a) Escoge un valor aleatorio r ∈ Z∗q y calcula R =
Definición 2: Un esquema de firma con verificación dis-
g r mod p.
tribuida Σ satisface la propiedad de privacidad si para
b) Calcula k = H0 (R, yB , (yB )r , yA ) y c =
cualquier adversario FIND de tiempo polinómico, el valor
H3 (k, m).
VentFIND (λ) es despreciable con respecto al parámetro de
c) Elige valores aleatorios α1 , α2 ∈ Z∗q y calcula
seguridad λ.
Y1 = g α1 mod p, Y2 = g α2 mod p.
d) Calcula ḡ = H1 (c, R, Y1 , Y2 , yA , YB ) ∈ G, y
IV. E L ESQUEMA PROPUESTO
posteriormente R̄ = ḡ r mod p, Ȳ1 = ḡ α1 mod p.
En esta sección se describe un esquema especı́fico de e) Calcula h = H2 (c, R, ḡ, R̄, Y1 , Y2 , Ȳ1 , yA , yB ).
firma con verificación distribuida. El diseño de este nuevo f) Calcula s1 = α1 − h · r mod q.
esquema sigue las ideas del esquema de cifrado distribuido g) Calcula s2 = α2 − h · xA mod q.
propuesto por Shoup y Gennaro [9]. Demostraremos que el h) Devuelve la firma θ(m) = (c, R, R̄, h, s1 , s2 ).
nuevo esquema satisface las nociones máximas de seguridad 4) Ver Dist. Σ.Ver(params, m, θ, yA , B, {sj }j∈B ).
de infalsificabilidad y privacidad. Para simplificar y por falta Si los participantes de un subconjunto autorizado B ∈
de espacio, consideramos el escenario donde los verificadores Γ0 quieren cooperar para verificar la firma θ(m) =
actúan correctamente en el proceso distribuido. Una modi- (c, R, R̄, h, s1 , s2 ) del mensaje m, ejecutan los si-
ficación simple de nuestro esquema, incluyendo pruebas no guientes pasos.
interactivas de conocimiento cero sobre la igualdad de dos
a) Cada verificador j ∈ B calcula ḡ = H1 (c, R, g s1 ·
logaritmos discretos, permite añadir robustez al esquema para
Rh , g s2 · (yA )h , yA , yB ) y comprueba entonces
detectar participantes deshonestos en el proceso distribuido de
que la siguiente igualdad se verifica: h =
verificación.
H2 (c, R, ḡ, R̄, g s1 ·Rh , g s2 ·(yA )h , ḡ s1 · R̄h , yA , yB )
Detallamos a continuación los protocolos que componen b) Si la igualdad no se verifica, j devuelve (j, 0).
nuestro esquema de firma con verificación distribuida Σ, c) En caso contrario, j ∈ B devuelve el valor Tj =
para un firmante A y un conjunto B = {1, . . . , n} de n Rsj mod p.
verificadores. d) Una vez se han recibido valores válidos Tj , dife-
rentes de (j, 0), correspondientes al subconjunto
1) Ini. Σ.Ini(1λ ).
autorizado B ∈ ΓB , se recupera el valor RxB :
Dado un parámetro de seguridad λ ∈ N, se escogen dos . λB
números primos p y q tales que |q| = λ y q|(p−1). Se es- Tj j = RxB mod p, donde λB j ∈ Zq son los
j∈B
coge también un grupo cı́clico G = g
de orden primo coeficientes definidos por el esquema de compar-
q. Se escoge otro parámetro κ de seguridad, suficiente- tición de secretos de espacio vectorial.
mente grande (por ejemplo κ = 160) para evitar ataques e) Se calcula k = H0 (R, yB , RxB , yA ).
de colisión al esquema. Posteriormente se escogen y f) Finalmente, para verificar la validez de la firma se
publican cuatro funciones hash H0 : {0, 1}∗ → {0, 1} , comprueba la igualdad c = H3 (k, m) devolviendo
H1 : {0, 1}∗ → G, H2 : {0, 1}∗ → Zq y H3 : {0, 1}∗ → 1 si la igualdad es válida y 0 en caso contrario.
{0, 1}κ . En la demostración de seguridad, supondremos
que las funciones hash H0 , H1 , H2 se comportan como Intuitivamente, dada una firma θ(m) = (c, R, R̄, h, s1 , s2 ),
99
los dos primeros elementos (c, R) son un código de auten- A continuación demostramos por reducción que nuestro
ticación del mensaje (MAC, en inglés) para el mensaje m, esquema de firma con verificación distribuida es infalsificable,
que puede ser verificado sólo si suficientes miembros de en el modelo del oráculo aleatorio [1], basándonos en la
B cooperan. El resto de elementos (R̄, h, s1 , s2 ) correspon- suposición que el problema del logaritmo discreto es com-
den a una prueba de conocimiento cero del logaritmo dis- putacionalmente irresoluble en grupos de orden primo.
creto de yA y de la igualdad entre los logaritmos discretos Teorema 1: Sea λ ∈ N un parámetro de seguridad. Para
LogDiscg (R) = DiscLogḡ (R̄). La verificación de dicha cualquier atacante FINF contra la infalsificabilidad de nues-
prueba de conocimiento se realiza en los pasos a) y b) del tro esquema de firma con verificación distribuida, existe un
protocolo Ver Dist. algoritmo ALD para el problema del logaritmo discreto,
esencialmente con el mismo tiempo de ejecución que FINF ,
V. A N ÁLISIS DE SEGURIDAD
tal que
En este apartado demostramos que el esquema de firma con VentALD (λ) ≥ O VentFINF (λ)2 .
verificación distribuida propuesto en la sección anterior satis-
Proof: Asumiendo que tenemos un atacante FINF que
face las propiedades definidas en la Sección III, alcanzando
tiene ventaja VentFINF (λ) en romper la infalsificabilidad de
pues el máximo nivel de seguridad que se puede exigir a este
nuestro esquema de firma, vamos a construir un algoritmo
tipo de firmas.
La seguridad se considera en el modelo del oráculo aleatorio ALD , que va a ir ejecutando a su vez el atacante FINF
[1], donde el atacante puede hacer peticiones al oráculo que como subrutina, simulando su entorno y respondiendo a sus
modela el comportamiento de ciertas funciones de hash. peticiones. Aplicando el Lema 1 al atacante FINF , el algoritmo
Basaremos la seguridad del esquema propuesto en los ALD será capaz de resolver el problema del logaritmo discreto.
ALD recibe como entrada un grupo cı́clico G = g
de
siguientes problemas computacionales. Dado un parámetro de
orden primo q, junto con un valor y ∈ G. El objetivo de ALD
seguridad λ ∈ N, un número primo q de λ bits y un grupo
es encontrar un entero x ∈ Zq tal que y = g x .
cı́clico G = g
de orden primo q:
• El problema del Logaritmo Discreto (LD): para una I NICIALIZACI ÓN DE FINF . El protocolo Σ.Ini(1λ ) es eje-
entrada (G, y), tal que y ∈ G, el objetivo del algoritmo cutado por ALD : éste da a FINF los valores params =
ALD es encontrar un entero x ∈ Z∗q tal que y = g x . Para (p, q, G, g, , H0 , H1 , H2 , H3 ). Aquı́ las funciones hash H0 :
un algoritmo en tiempo polinómico ALD que recibe la tu- {0, 1}∗ → {0, 1} , H1 : {0, 1}∗ → G y H3 : {0, 1}∗ →
pla (G, y), definimos VentALD (λ) como la probabilidad {0, 1}κ son elegidas arbitrariamente por ALD . Sin embargo,
de que A encuentre ese valor x ∈ Z∗q tal que y = g x . La H2 es modelada como un oráculo aleatorio y por ello ALD
hipótesis del Logaritmo Discreto asume que el problema mantendrá una tabla TAB2 que servirá para responder a las
LD es difı́cil de resolver, es decir que VentALD (λ) es peticiones hash de FINF .
depreciable en λ. Para simular la ejecución del protocolo
• El problema Computacional de Diffie-Hellman (CDH): Σ.GC(params, A , ‘individual’), para el firmante A
para una entrada (G, g, g a , g b ), tal que a, b ∈ Z∗q son escogido por FINF , el algoritmo ALD define la clave pública
valores aleatorios, el objetivo del algoritmo ACDH es de A como yA = y y se la envı́a a FINF . Nótese que la
calcular el valor de g ab ∈ G. Definimos VentACDH (λ) y correspondiente clave secreta xA , que es desconocida por
la hipótesis Computacional de Diffie-Hellman de manera ALD , es precisamente la solución buscada al problema del
análoga al problema LD. Logaritmo Discreto.
La infalsificabilidad del nuevo esquema se basará en la difi-
G ENERACI ÓN DE NUEVAS CLAVES . El atacante FINF puede
cultad de resolver el problema LD, mientras que la privacidad
generar libremente nuevas claves públicas y secretas para otros
se basará en la dificultad de resolver el problema CDH.
firmantes A
= A y para colectivos (B, ΓB ) de verificadores
A. Infalsificabilidad de su elección.
Antes de proceder con la demostración de infalsificabilidad,
P ETICIONES HASH . Como la prueba es en el modelo del
recordamos una simplificación del Forking Lemma, intro-
oráculo aleatorio para la función hash H2 , FINF puede hacer
ducido por Pointcheval y Stern en [7].
peticiones de esta función aleatoria. Para ello, ALD crea y
Lema 1: [Forking Lemma modificado] Consideremos un
mantiene una tabla TAB2 que responde de la siguiente manera
esquema de firma digital genérico 2 con parámetro de se-
a estas peticiones: la primera vez que se hace una petición, se
guridad λ. Dado un algoritmo B que obtiene una firma
escoge un valor aleatorio h ∈ Zq , se devuelve h a FINF , y se
válida (m, R, h, s) con probabilidad al menos ε(λ), existe otro
guardan los valores de la petición junto con el valor devuelto h
algoritmo B que utiliza B como subrutina
y que produce
en TAB2 . Si la misma petición se hace en el futuro, buscamos
con probabilidad ε (λ) ≥ O ε(λ)2 dos firmas válidas
en la tabla y ALD responde con el mismo valor h que se
(m, R, h, s) y (m, R , h , s ) tales que h
= h .
encuentra en la salida existente.
2 Las firmas genéricas tienen la forma (m, R, h, s), donde R es un valor
aleatorio escogido dentro de un conjunto muy grande (de tamaño exponencial P ETICIONES FIRMA . Cuando FINF solicita firmas válidas
en el parámetro de seguridad), y h = H(m, R) para una función de hash H. para mensajes m y claves públicas yB de su elección, donde
100
s −s
el firmante es A y B es el colectivo de verificadores, ALD Por tanto, ALD devuelve el valor x = h2 −h2 mod q y
simula y devuelve firmas θ(m), de la siguiente manera: resuelve el problema del logaritmo discreto de y en base g,
1) Elige un valor aleatorio r ∈ Z∗q que le sirve para calcular con probabilidad de éxito VentALD (λ) ≥ O VentFINF (λ)2 .
r
R = g r mod p, k = H0 (R, yB , (yB ) , yA ) y c =
H3 (k, m ).
B. Privacidad
2) Elige valores aleatorios h, s1 , s2 ∈ Zq y calcula Y1 =
g s1 · Rh mod p, Y2 = g s2 · (yA )h mod p. En el siguiente teorema demostraremos que nuestro es-
3) Calcula ḡ = H1 (c, R, Y1 , Y2 , yA , yB ), y posterior- quema de firma con verificación distribuida verifica la
mente R̄ = ḡ r mod p, Ȳ1 = ḡ s1 · R̄h mod p. propiedad de privacidad definida en la Sección III, por re-
4) Si la entrada (c, R, ḡ, R̄, Y1 , Y2 , Ȳ1 , yA , yB ) se encuen- ducción al problema computacional de Diffie-Hellman en
tra en TAB2 (lo que ocurre con probabilidad desprecia- grupos de orden primo.
ble), se vuelve al paso 2. Teorema 2: Sea λ ∈ N un parámetro de seguridad. Para
5) ALD ‘falsifica’ el oráculo aleatorio para H2 , imponiendo cualquier atacante FIND contra la privacidad de nuestro
la relación h = H2 (c, R, ḡ, R̄, Y1 , Y2 , Ȳ1 , yA , yB ) en esquema de firma con verficación distribuida, existe un
TAB2 . Más tarde, si FINF llamara al oráculo aleatorio solucionador ACDH del problema computacional de Diffie-
con esa misma entrada, se le devolverı́a el valor h. Hellman, esencialmente con el mismo tiempo de ejecución que
6) Devuelve la firma θ(m ) = (c, R, R̄, h, s1 , s2 ) a FINF . FIND , tal que
Es fácil comprobar que la firma devuelta es consistente, si no VentACDH (λ) ≥ VentFIND (λ)/2.
existen colisiones a la hora de ‘falsificar’ el oráculo aleatorio.
Proof: Asumiendo que tenemos un atacante FIND que
FALSIFICACI ÓN . En algún momento FINF produce con tiene ventaja VentFIND (λ) en romper la privacidad de nuestro
probabilidad VentFINF (λ) una clave yB y una firma esquema de firma, vamos a construir un algoritmo ACDH que
falsificada (m , θ ) para un conjunto de verificadores irá usando a su vez a FIND como subrutina, para resolver el
(B , ΓBs tar ), donde θ = (c , R , R̄ , h , s 1 , s 2 ) verifica problema Computacional de Diffie-Hellman.
las siguientes dos propiedades. Primero, la firma (m , θ ) El algoritmo ACDH recibe como entrada un grupo cı́clico
debe ser diferente a las solicitadas anteriormente du- G = g
de orden primo q, junto con una tupla (g, g a , g b ). El
rante las peticiones de firma y segundo, se debe verificar objetivo de ACDH es calcular g ab .
Σ.Ver(params, m , θ , yA , B, {sj }j∈B ) = 1, para algún
subconjunto B ∈ ΓB . I NICIALIZACI ÓN DE FIND . El adverdario FIND escoge un
Puesto que la firma falsificada es válida, obtenemos que conjunto de verificadores B = {1, . . . , n}, una estructura de
acceso ΓB ⊂ 2B y un subconjunto de participantes corruptos
h = H2 (c , R , ḡ , R̄ , Y1 , Y2 , Ȳ1 , yA , yB ), donde Y
=
s h h
s h 1 B-∈ / ΓB .
g 1 · (R ) , Y2 = g 2 · (yA ) , Ȳ1 = (ḡ ) · R̄
s 1
.
Además, puesto que esta falsificación es diferente de ACDH simula una ejecución del protocolo Σ.Ini(1λ ): da a
las firmas obtenidas durante las peticiones de firma, FIND los valores params = (p, q, G, g, , H0 , H1 , H2 , H3 ),
podemos estar seguros que la entrada petición
= cuyas funciones hash H0 , H1 y H2 las modelará como
(c , R , ḡ , R̄ , Y1 , Y2 , Ȳ1 , yA , yB ) para H2 no ha sido oráculos aleatorios, mientras que la función H3 : {0, 1}∗ →
‘falsificada’ y añadida a TAB2 por ALD . {0, 1}κ la define explı́citamente. Por tanto, ACDH mantendrá
tres tablas TAB0 , TAB1 y TAB2 que servirán para responder
R EPLICANDO EL ATAQUE . Ahora podemos aplicar las a las peticiones hash de FIND .
técnicas de replicación del Forking Lemma modificado, des- La ejecución del protocolo
crito en el enunciado del Lema 1. De manera informal, Σ.GC(params, B , ΓB , ‘colectivo’) es simulada por
ALD repetirá la ejecución del adversario FINF , con la misma ACDH de la siguiente manera: los fragmentos de los
aleatoriedad pero cambiando los valores salida del oráculo participantes corruptos, {sj }j∈B , son elegidos aleatoria e
aleatorio H2 para la entrada petición . independientemente en Zq y dados posteriormente a FIND .
De esta manera, después que ALD ejecute dos ve- En este punto, ACDH define la clave pública yB = g b que
ces a FINF , obtendremos con probabilidad cuadrática en también se envı́a a FIND . Remarcamos que esto significa que
VentFINF (λ) (la probabilidad de obtener la primera firma la clave secreta xB asociada está definida implı́citamente
falsificada) dos firmas válidas θ = (c , R , R̄ , h , s 1 , s 2 ) como b).
y θ = (c , R , R̄ , h , s 1 , s 2 ) para los mismos valores
101
simulan estas funciones hash. Para responder a las peticiones rios c , h , s 1 , s 2 y β . Por último, las relaciones ḡ =
hash solicitadas por FIND , el atacante ACDH comprueba si ya H1 (c , R , Y1 , Y2 , yA , yB ) y h = H2 (c , R , ḡ , R̄ , Y1 ,
existe una entrada en la correspondiente tabla para la entrada Y2 , Ȳ1 , yA , yB ) son añadidas a las tablas TAB1 y TAB2
de esa petición. En ese caso, la salida existente es enviada a respectivamente.
FIND . En caso contrario, una nueva salida es elegida aleato- La firma final θ = (c , R , R̄ , h , s 1 , s 2 ) es enviada al
riamente para ser enviada a FIND . Posteriormente, la relación atacante FIND .
entre la entrada y la salida es añadida a la correspondiente
tabla. M ÁS PETICIONES . El atacante FIND puede hacer más peti-
Para peticiones de H1 , ACDH elige un valor aleatorio β ∈ ciones hash y de verificación, que son respondidas de igual
∗
Zq y devuelve el valor ḡ = (g b )β como nueva salida de H1 . El manera a como ha sido descrito anteriormente.
valor β es guardado como valor adicional de la nueva entrada El único problema podrı́a aparecer cuando FIND pidiese
en la tabla TAB1 . una verificación de una firma válida (m, θ, yA ), con θ =
En el caso que ACDH reciba peticiones de H0 cuyos (c, R, R̄, h, s1 , s2 ) tal que el valor ḡ = H1 (c, R, g s1 · Rh , g s2 ·
primeros valores sean g a y g b , el tercer elemento de la entrada (yA )h , yA , yB ) coincidiese con el valor ḡ = g β , ya que
β
será guardado en una tabla adicional TAB . La tabla TAB será este último valor no tiene por qué ser de la forma (g b ) .
la respuesta final de ACDH al problema CDH. Sin embargo, esto ocurrirı́a únicamente cuando los valores
de entrada de H1 tanto para esta firma como para la firma
P ETICIONES VERIFICACI ÓN . Cuando FIND solicita una del desafı́o fuesen los mismos. Puesto que las pruebas de
petición de verificación (m , θ , yA ) para firmantes A , con conocimiento cero son válidas, obtendrı́amos que los valores
θ = (c , R , R̄ , h , s1 , s2 ), ACDH comprueba la validez R̄ son iguales en ambos casos y, por tanto, que los valores
de la prueba de conocimiento cero (R̄ , h , s1 , s2 ). Para h, s1 , s2 , yA también deberı́an ser iguales. La conclusión es
ello, obtiene mediante una petición hash el valor ḡ = que la firma solicitada θ serı́a la misma que la firma θ del
H1 (c , R , g s1 · R h , g s2 · (yA )h , yA , yB ) = (g b )β y desafı́o. Como esto está prohibido por definición, nunca nos
verifica que se cumpla h = H2 (c , R , ḡ , R̄ , g s1 ·R h , g s2 · encontraremos con este caso.
(yA )h , ḡs1 · R̄h , yA , yB ). En el caso que no se cumpla,
la respuesta de ACDH a la petición será 0. A N ÁLISIS FINAL . FIND devuelve un bit b con el que gana
En caso contrario, ACDH debe calcular los valores el juego con una probabilidad significativamente mayor que
s
{R j }j∈B y enviárselos a FIND . Para los participantes 1/2. Puesto que H0 se comporta como una función aleatoria,
corruptos j ∈ B, - ACDH puede calcular estos valores FIND puede ganar sólo si FIND ha preguntado anteriormente al
fácilmente ya que conoce {sj }j∈B . Además, como es válida oráculo aleatorio el valor H0 (g a , g b , g ab , yA ) correspondiente
la prueba de conocimiento de la igualdad de los logaritmos al desafı́o θ . Por tanto, con una probabilidad no despreciable
LogDiscg (R ) = LogDiscḡ (R̄ ), siendo ḡ = g bβ , tenemos VentFIND (λ)/2, el valor g ab está en la tabla TAB construida
que Rbβ = R̄ . Por tanto, ACDH puede calcular RxB = por ACDH , que contiene los candidatos a solución del pro-
1/β s blema CDH. Tal y como indican los autores de [9], podrı́amos
Rb = R̄ . Conociendo RxB y {R j }j∈B̃ , el algoritmo
usar el auto-corrector Diffie-Hellman descrito en [8] para
A CDH
puede usar en el exponente las relaciones lineales
transformar al atacante ACDH en otro que en vez de devolver
entre fragmentos y secretos, determinadas por el esquema para
toda una lista de candidatos TAB , devuelve únicamente la
compartir secreto que realize ΓB , y obtener el resto de valores
s solución correcta del problema CDH.
{R j }j∈B \B .
Finalmente, ACDH ejecuta una petición hash Cabe remarcar que en contraposición al esquema propuesto
H0 (R , yB , RxB , yA ) = k , actualizando la tabla en [6], que sólo asolı́a la privacidad débil, el esquema pro-
TAB0 en caso que esta petición sea nueva, y verifica si puesto aquı́ es seguro incluso frente a adversarios que pueden
H3 (k , m ) = c . Según el resultado de esa verificación, hacer peticiones a un oráculo de verificación.
ACDH devuelve la salida 1 (firma válida) o 0 (firma no R EFERENCES
válida).
[1] M. Bellare y P. Rogaway. Random oracles are practical: a paradigm for
designing efficient protocols. Proceedings of CCS’93, ACM Press, pp.
D ESAF ÍO . En un momento dado, FIND escoge y publica dos 62–73 (1993).
mensajes m0 , m1 de la misma longitud, junto con un firmante [2] E.F. Brickell. Some ideal secret sharing schemes. Journal of Combinato-
A con valores (xA , yA ). Ahora ACDH debe enviar una rial Mathematics and Combinatorial Computing, 9, pp. 105–113 (1989).
[3] R. Gennaro, S. Jarecki, [Link] and T. Rabin. Secure distributed key
firma θ a FIND , que obtiene de la siguiente manera: primero generation for Discrete-Log based cryptosystems. Journal of Cryptology,
define R = g a y elige valores aleatorios c ∈ {0, 1} , vol. 4 (1), Springer-Verlag, pp. 51–83 (2007).
h , s 1 , s 2 ∈ Zq y β ∈ Z∗q . Con estos valores ADH define [4] S. Goldwasser y S. Micali. Probabilistic encryption. Journal of Computer
and System Sciences, 28, pp. 270–299 (1984).
ḡ = g β , R̄ = (g a )β , Y1 = g s1 ·(R )h , Y2 = g s2 ·(yA )h [5] S. Goldwasser, S. Micali y R. L. Rivest. A digital signature scheme secure
y Ȳ1 = ḡ s1 · (R̄ )h . against adaptive chosen-message attacks. SIAM J. of Computing 17 (2),
Si la entrada (c , R , Y1 , Y2 , yA , yB ) ya existe en pp. 281–308 (1988).
(i ) [6] J. Herranz, A. Ruiz y G. Sáez. Esquemas de firma digital con verificación
TAB1 , o la entrada (c , R , ḡ , R̄ , Y1 , Y2 , Ȳ1 , yi , Di ) ya distribuida. Actas de la X Reunión Española de Criptologı́a y Seguridad de
existe en TAB2 , entonces ADH elige nuevos valores aleato- la Información, RECSI’08, pp. 209–216 (2008).
102
[7] D. Pointcheval y J. Stern. Security arguments for digital signatures and
blind signatures. Journal of Cryptology 13 (3), Springer-Verlag, pp. 361–
396 (2000).
[8] V. Shoup. Lower bounds for discrete logarithms and related problems.
Proceedings of Eurocrypt’97, LNCS 1233, Springer-Verlag, pp. 256–266
(1997).
[9] V. Shoup y R. Gennaro. Securing threshold cryptosystems against chosen
ciphertext attack. Journal of Cryptology, vol. 15 (2), Springer-Verlag, pp.
75–96 (2002).
103
104
Un Servicio de Firma Digital de Contratos Basado
en Servicios Web
Gerard Draper-Gil∗ , Josep Lluı́s Ferrer-Gomila† , Llorenç Huguet-Rotger‡, M. Magdalena Payeras-Capellà§
Departamento de Matemáticas e Informática
Universidad de las Islas Baleares
Palma, ctra. Valldemossa Km. 7,5
Email: ∗ [Link]@[Link], † jlferrer@[Link], ‡ [Link]@[Link], § mpayeras@[Link]
Resumen—El auge del comercio electrónico esta impulsando este ámbito, los Servicios Web se postulan como la tecnologı́a
la migración de procesos y aplicaciones tradicionales (en papel) que finalmente será capaz de conseguirlo. De ahı́ el interés de
al modelo electrónico, pese a que algunos aspectos relaciona- combinar una fase esencial del comercio electrónico, la fase
dos con el comercio electrónico no estén bien solucionados,
como por ejemplo, el Intercambio Equitativo de Valores en la de contratación, con la tecnologı́a de los Servicios Web.
Firma Electrónica de Contratos. Por otra parte, los Servicios Desde un punto de vista de seguridad, la firma digital de
Web (Web Services) se están convirtiendo en el standard para contratos es un problema de Intercambio Equitativo. Cada
la interconexión de aplicaciones y procesos en entornos B2B parte involucrada en la transacción tiene un elemento que
(Business to Business). Pero no existen propuestas basadas en
Servicios Web para solucionar el Intercambio Equitativo de quiere entregar a cambio de otro elemento, pero nadie quiere
Valores en la Firma Electrónica de Contratos. Además, las dar su parte a no ser que obtenga el elemento intercambiado
soluciones suelen presentarse desde un punto de vista técnico, por la otra parte. Como ejemplo, podemos pensar en comprar
olvidando los aspectos legales. a través de Internet, donde intercambiamos productos o ser-
En este artı́culo, presentamos una propuesta para la imple- vicios por un pago. Otra aplicación tı́pica, serı́a el traslado
mentación de un servicio de contratación electrónica basado en
la tecnologı́a de Servicios Web, que cumple con los requisitos
de contratos basados en papel a contratos digitales, y sus
legales y técnicos necesarios; también analizamos la adecuación implicaciones: negociación, generación de documentos, etc.
de ésta a un entorno de aplicación real. La propuesta demuestra El objetivo de nuestra investigación es proponer soluciones
que es posible diseñar soluciones para la firma electrónica de para desarrollar servicios de firma electrónica de contratos
contratos, con tecnologı́a de Servicios Web, que cumplan los
requisitos legales y técnicos. Finalmente, se pone de manifiesto la
basados en tecnologı́a de Servicios Web y protocolos optimis-
utilidad de estos servicios en aplicaciones de comercio electrónico, tas, que no requieren intervención directa de la TTP (Trusted
y las complicaciones que surgen a la hora de trasladar un Third Party). En este artı́culo presentamos una solución que
diseño teórico (el desarrollo de un protocolo), a un entorno real demuestra que es posible diseñar servicios de firma electrónica
(aplicaciones existentes). que cumplan los requisitos técnicos y legales necesarios, y
I. I NTRODUCCI ÓN analizamos las implicaciones y requerimientos derivados del
desarrollo de aplicaciones de este tipo.
La utilización de Internet como canal de ventas ofrece
grandes ventajas a clientes y consumidores. El constante
crecimiento del uso de Internet en el ámbito del comercio II. E JEMPLO DE A PLICACI ÓN : AGENCIAS DE V IAJES
electrónico lo atestigua. Pero la seguridad de las transacciones
electrónicas sigue suponiendo un obstáculo a su expansión. En la figura 1 tenemos un ejemplo de aplicación de Ser-
Aún ası́, debemos reconocer que se han realizado grandes vicios Web: Integración de aplicaciones B2B en entornos de
esfuerzos para crear un marco jurı́dico adecuado y obtener servicios turı́sticos. Tı́picamente, las agencias de viajes cuen-
soluciones desde el punto de vista técnico. Centrándonos tan con aplicaciones internas hechas a medida para gestionar
en la contratación electrónica, encontramos múltiples con- sus reservas, peticiones, inventarios, etc. Al permitir que a
tribuciones en la literatura cientı́fica, pero ninguna de ellas través de Servicios Web entidades externas puedan acceder
ha sido capaz de evolucionar hasta conseguir un nivel de a sus procesos internos, como proveedor, les permite ofrecer
estandarización o adquirir un puesto relevante dentro de las servicios en tiempo real, incrementa su eficiencia y aumenta
soluciones comerciales, por lo que carecemos de estándares y sus posibilidades de negocio. Además, como consumidores
estándares de facto. de servicios ofrecidos por mayoristas, les permite acceder a
Además, empresas e instituciones encuentran dificultades múltiples proveedores externos incrementando su oferta de
a la hora de interoperar con segundas o terceras partes. servicios y mejorando su competitividad. En un escenario
Históricamente, han existido soluciones que han intentado como éste, se podrı́a utilizar un servicio de contratación
superar este obstáculo y facilitar la interoperabilidad entre electrónica para mantener un registro de transacciones, con
aplicaciones y procesos, por ejemplo EDI (Electronic Data validez legal, y para conseguir acceso a nuevos proveedores
Interchange), pero nunca lograron un éxito generalizado. En mediante la firma electrónica de contratos.
105
III. T RABAJO P REVIO
Podemos distinguir dos tipos de lı́neas dentro de la literatura
de trabajos previos relacionados con este artı́culo: los enfoca-
dos a proponer soluciones de firma electrónica en entornos de
Servicios Web, y los enfocados a la propuesta de soluciones
para la contratación electrónica.
III-A. Firma electrónica en entornos de Servicios Web
Pese a que existen un gran número de propuestas de
protocolo para la firma electrónica de contratos, en lo que se
refiere a propuestas de implementación basadas en Servicios
Web, el número de publicaciones es sorprendentemente muy
bajo. Maruyama et al. [1], propone un servicio basado en el
protocolo presentado por Asokan et al. [2], donde presenta
una breve descripción de la implementación del servicio de
Figura 1. Ejemplo de aplicación firma electrónica. Se definen dos estructuras XML (eXtensible
Markup Language) diferentes para contratos válidos y las
estructuras para cada transacción. Los contratos se representan
como conjuntos de aserciones en formato SAML (Security
II-A. Business 2 Business, B2B Assertion Markup Language) y las firmas digitales como
estándares XMLdsig (XML Signature Syntax and Processing).
Las agencias de viajes suelen ofrecer servicios de trans- Aunque la implementación es válida, creemos que al pre-
porte, alojamiento, etc. Para poder adquirir un servicio, el definir la estructura de los contratos, limita su posibilidad de
cliente/consumidor tiene que ejecutar una petición de cierre aplicación en entornos reales. Robinson et al. [3] proponen
de reserva (bookingClose), que tı́picamente sigue un esque- un servicio de firma electrónica de contratos basado en el
ma petición-respuesta. La información incluida en ambos protocolo de Zhou y Goldman [4], y Garbinato y Rickebush
mensajes dependerá de cada tipo de servicio, y de cómo [6] presentan un protocolo para el intercambio equitativo en
esté implementado. Pero ambos tienen en común el hecho de entornos de Servicios Web, basada en el uso de módulos
que la operación de cierre de reserva implica un intercambio hardware a prueba de manipulaciones y enfocada a solucionar
equitativo: un usuario intercambia un servicio por un pago. La el problema de los Generales Bizantinos. Ambas propuestas
respuesta del cierre de reserva es el recibo de la transacción, incluyen la utilización de una tercera parte de manera activa
donde el proveedor envı́a al cliente toda la información sobre (un agente externo y módulos hardware), mientras que la
el servicio, incluyendo la referencia (localizador) y algunas nuestra pretende evitar el uso de terceras partes utilizando
veces un Bono que se le reclamará al cliente al llegar a destino. protocolos optimistas.
En este caso, se podrı́a utilizar el servicio de contratación para
mantener un registro de transacciones. III-B. Contratación Electrónica
Las agencias suelen ofrecer servicios internos y externos, a En el campo de la contratación electrónica, la mayorı́a de
través de terceros. Utilizando Servicios Web, una agencia de los esfuerzos de investigación están enfocados a resolver el
viajes puede acceder a proveedores externos para mejorar su problema desde el punto de vista de procesos de negocio,
competitividad y oferta de servicios. Teóricamente, utilizando ignorando o dejando de lado los problemas de seguridad:
Servicios Web, una agencia de viajes deberı́a ser capaz de se intenta automatizar el hecho que una relación contractual
encontrar proveedores de manera automática, dependiendo entre entidades debe cumplir con una serie de derechos y
de la petición. Este descubrimiento y ejecución en tiempo obligaciones definidos en un contrato, y detectar posibles
real puede conseguirse si limitamos su aplicación. En lugar desviaciones o incumplimientos de éstas. Tienen como obje-
de buscar cualquier tipo de proveedor, podemos acotar la tivo la descripción del conjunto de funcionalidades necesarias
búsqueda a proveedores que utilicen un tipo de datos especı́fi- para ejecutar el proceso entero, desde la definición/negociación
co, como el que ofrece la OTA (Open Travel Alliance). La del contrato hasta su ejecución, controlando que no haya
negociación del contrato puede simplificarse, aceptando un desvı́os ni incumplimientos. Un buen ejemplo en este campo
modelo de contrato de antemano. Los problemas de confianza de investigación, es el artı́culo de Karlapalem y Krishna [7],
entre usuarios y proveedores puede solventarse con la creación donde nos presentan una revisión del trabajo realizado en este
de registros seguros y privados de servicios UDDI (Universal ámbito, y proponen una solución para la ejecución del contrato
Description Discovery and Integration), donde sólo usuarios y electrónico, sin que los autores hagan referencias especı́ficas a
proveedores de confianza tengan acceso. Finalmente, podemos la firma de contratos. En un artı́culo más reciente, Angelov y
utilizar el servicio de contratación electrónica para firmar un Grefen [8] presentan un diseño completo de una arquitectura
contrato/acuerdo con el proveedor y conseguir acceso a sus que cubre el proceso completo de contratación electrónica.
servicios. Al contrario que en el artı́culo de Karlapalem y Krishna [7],
106
en éste sı́ que encontramos referencias explı́citas a la firma V. P ROPUESTA DE I MPLEMENTACI ÓN
electrónica de contratos como parte importante de la fase de V-A. Mensajes y Evidencias
Contratación. Define los requisitos de seguridad que el sistema
debe cumplir y sus módulos de seguridad. Pero de nuevo falla Antes de empezar el diseño de la aplicación, debemos
a la hora de describir cómo se lleva a cabo ese proceso de decidir a qué llamamos Mensaje y a qué llamamos Evidencia.
firma de contratos. Las evidencias son las pruebas que se generan durante la
ejecución del protocolo y que permiten a A o B demostrar, en
IV. R EQUISITOS caso necesario, que el contrato ha sido firmado o cancelado.
Desde el punto de vista del protocolo es muy sencillo, en las
Las bases de nuestra investigación son el marco legal de la tablas II a IV tenemos definidos para cada paso, el mensaje
firma electrónica, los Servicios Web y los protocolos de firma a enviar. Por ejemplo, en el primer paso del sub-protocolo
electrónica de contratos. Cada uno de estos ámbitos tiene sus de intercambio, el mensaje es: M, hA , y se envı́a de A a B.
propios requisitos, por lo que deberemos cumplir con todos Este mensaje incluye una evidencia, hA , la firma digital de A
ellos. sobre el contrato M. Pero al intentar trasladar el protocolo a
La firma electrónica de contratos es un caso particular de una aplicación real, y en particular a una aplicación basada
Intercambio Equitativo, cuyos requerimientos fueron formu- en Servicios Web, la definición de mensaje y evidencia no
lados por Asokan et al. [2] y más tarde reformulados por es tan sencilla. Los Servicios Web intercambian información
Zhou et al. [9]: efectividad, equidad, timeliness, no-repudio en forma de mensajes XML encapsulados en SOAP (Simple
y verificabilidad. Para asegurar el cumplimiento de éstos, uti- Object Access Protocol), mientras que las aplicaciones que ha-
lizaremos la versión simplificada de 2 partes, del protocolo de cen uso de esos Servicios Web para comunicarse, intercambian
firma electrónica de contratos presentado por Ferrer-Gomila et mensajes XML. Por ello debemos decidir a qué nivel queremos
al. [5]. Se trata de un protocolo optimista en el que se definen implementar el protocolo: identificar los mensajes definidos
3 sub-protocolos: intercambio, cancelación y finalización. Si en el protocolo como los mensajes XML intercambiados
las 2 partes implicadas se comportan honestamente, se ejecuta entre aplicaciones o los mensajes SOAP intercambiados por
el sub-protocolo de intercambio y no es necesaria la interven- los Servicios Web. Aunque pueda parecer irrelevante, esta
ción de la TTP; los protocolos de cancelación y finalización decisión conlleva consecuencias:
se utilizan para resolver posibles conflictos. En la tabla I Determinará lo que serán las evidencias y la definición
podemos ver la nomenclatura y elementos que intervienen de los tipos XML.
en el protocolo y en las tablas II, III y IV, la descripción Afectará al número de estándares, herramientas y tec-
de los 3 sub-protocolos. En el artı́culo donde se presenta el nologı́as disponibles para implementar el servicio, como
protocolo (Ferrer-Gomila et al. [5]) se puede encontrar un el estándar WSS (Web Services Security), que define
análisis completo sobre la seguridad del protocolo. cómo enviar XML firmados y/o cifrados mediante SOAP.
Algunas de las razones del éxito de los Servicios Web Para facilitar la implementación de aplicaciones con
son, entre otras, su independencia de plataforma y lenguaje Servicios Web, existen varias herramientas que pueden
de programación, y el hecho de que los Servicios Web se construir Servicios Web de manera automática (Java
basan en tecnologı́as de estándares abiertos. Por ello nuestra Axis2, .NET,...), a partir de su descripción en WSDL
propuesta también deberá estar basada en estándares abier- (Web Services Description Language). Si escogemos
tos y ser independiente de plataforma y lenguaje. También definir los mensajes como mensajes de aplicación XML,
debemos asegurar que los beneficios derivados del uso de esta obtendremos una solución a medida, particular para esa
tecnologı́a son mayores que los costes, pues de los contrario aplicación, mientras que si utilizamos los mensajes SOAP
carecerá de utilidad. como mensajes del protocolo, obtendremos una solución
En el artı́culo de Ferrer-Gomila et al. [11] se puede encon- más homogénea. Incluso podemos llegar a encontrar una
trar una discusión sobre los aspectos legales del protocolo de solución que nos permita describir el servicio de manera
firma electrónica utilizado en la propuesta presentada en este estándar y generarlo automáticamente utilizando alguna
artı́culo. A destacar, decir que la Directiva de la Union Europea herramienta.
2000/31/EC [10], con fecha 8 de Junio del 2000 apunta a un Para la solución presentada en este artı́culo, hemos escogido
sistema de firma electrónica de 3 fases: definir los mensajes como los tipos de datos XML intercambi-
1. Una compañı́a envı́a una oferta utilizando medios elec- ados entre las aplicaciones, para enfocar nuestros esfuerzos en
trónicos (un producto o servicio puesto a la venta). la comprensión de las implicaciones de transformar la teorı́a
2. Un consumidor (u otra compañı́a) envı́a una or- (descripción de un protocolo) en práctica (aplicaciones reales),
den/petición (en relación a la oferta anterior), utilizando y su viabilidad.
medios electrónicos (en términos jurı́dicos se puede
denominar Aceptación). V-B. Diseño del WSDL
3. La primera compañı́a debe enviarle al cliente (o segunda El objetivo final es definir en formato WSDL el servicio de
compañı́a) el acuse de recibo de la Aceptación que el firma digital de contratos. Para ello, lo primero que debemos
consumidor le envı́o. hacer es definir los tipos de datos, transformar los elementos
107
M El contrato a firmar
hA = P RA [H(M )] firma digital de A sobre el contrato M
hB = P RB [H(M )] firma digital de B sobre el contrato M
ACKA = P RA [H(hB )] firma digital de A sobre hB . Evidencia de la firma de A.
ACKT = P RT [H(hB )] firma digital de la TTP sobre hB . Evidencia equivalente a ACKA
hAT = P RA {[H(H(M ), hA )]} Evidencia que A ha pedido la intervención de la TTP
hBT = P RB {[H(H(M ), hA , hB )]} Evidencia que B ha pedido la intervención de la TTP
hB = P RT [H(hB )] firma digital de la TTP sobre hB como prueba de su intervención
CA = P RT [H(cancelled, hA )] Evidencia de A, como prueba que la firma ha sido cancelada
CB = P RT [H(cancelled, hB )] Evidencia de B, como prueba que la firma ha sido cancelada
Tabla I
N OTACI ÓN Y ELEMENTOS UTILIZADOS EN EL PROTOCOLO
Exchange Sub-Protocol
del protocolo M, hA , hB , hB , etc. en estructuras de datos A→B M, hA
XML. Como podemos apreciar en la tabla I, lo que tenemos A←B hB
son un contrato M y firmas digitales. No entraremos en el A→B ACKA
problema de cómo definir un contrato, puesto que es muy Tabla II
complejo, y entendemos que el contrato debe amoldarse a cada SUB - PROTOCOLO DE INTERCAMBIO
108
Cancel Sub-Protocol
A → TTP H(M ), hA , hAT
la contratación electrónica. Por tanto podemos afirmar que la
If finished = true aplicación cumple con los requisitos legales existentes en la
TTP retrieves hB actualidad.
TTP → A hB , hB
Else cancel signature VII. A DECUACI ÓN A LAS APLICACIONES
TTP → A CA
TTP stores cancelled = true Partiendo de un protocolo optimista (Ferrer-Gomila et al.
Tabla III [5]) válido, que ha demostrado cumplir con las caracterı́sticas
SUB - PROTOCOLO DE CANCELACI ÓN técnicas y requisitos legales (Ferrer-Gomila et al. [11]), hemos
diseñado una aplicación basada en la tecnologı́a de Servicios
Web cumpliendo esos mismos requisitos. En la sección II,
Finish Sub-Protocol hemos presentado un ejemplo de entorno real en el que se
B → TTP H(M ), hA , hB , hBT aplica la tecnologı́a de los Servicios Web, y se han planteado
If cancelled = true
TTP → B CB
dos posibles aplicaciones del protocolo para este entorno: un
Else finish signature registro de transacciones y una aplicación de firma electrónica
TTP → A ACKT de contratos. Ahora nos queda comprobar si la aplicación
TTP stores finished = true
presentada es apta para utilizarse en la creación de un registro
Tabla IV de transacciones y firma electrónica en el entorno propuesto.
SUB - PROTOCOLO DE FINALIZACI ÓN
VII-A. Registro de transacciones
Como registro de transacciones afectarı́a a la operación de
cierre de reserva BookingClose. Se trata de una operación de
VI. C UMPLIMIENTO DE LOS R EQUISITOS tipo petición/respuesta, en la que el cliente envı́a una petición
VI-A. Requisitos Técnicos para reservar uno o más servicios. Cuando el proveedor recibe
Los requisitos técnicos que debe cumplir la propuesta de la petición (BookingCloseRequest) y confirma su validez,
diseño son los enunciados en la sección IV: efectividad, cierra la reserva (la venta se ejecuta) y genera el localizador
equidad, timeliness, no-repudio y verificabilidad. de reserva o el bono que el consumidor necesitará para poder
Hemos diseñado nuestros servicios para que, por cada utilizar el servicio. Esta información se envı́a al consumidor
elemento de información definido en el protocolo (ver tabla en la respuesta de cierre de reserva (BookingCloseResponse).
I), tenemos un equivalente definido como XML. Es más, Primero, siguiendo los requisitos legales, el flujo de
si pensamos en cada transacción definida en el protocolo ejecución del registro de transacciones debe ser: A → B,
como una operación, podemos comprobar como en el diseño A ← B, A → B, siendo A el proveedor y B el
realizado tenemos definidas las mismas operaciones en el consumidor. Esto implica que la operación de cierre de
mismo orden. Además, las evidencias, firmas digitales en reserva pasará de tener 2 pasos a tener 4 (el primer
la definición del protocolo, han sido trasladadas a firmas mensaje, sera la respuesta del cierre, de A → B).
digitales (XMLdsig) en el diseño de la implementación. Es Duplicar el número de transacciones significa aumentar
más, hemos decidido utilizar la extensión XAdES de XMLdsig, la probabilidad de que se produzcan errores, disminuir la
para cumplir con la Directiva 1999/93/EC del Parlamento eficiencia del sistema y aumentar el tiempo de respuesta.
Europeo y el Consejo del 13 de Diciembre del 1999, que Segundo, al mapear la respuesta del cierre de reserva con
define un marco común para la firma electrónica. Puesto que el inicio del registro de transacciones, podemos perder
el protocolo escogido demuestra cumplir todos los requisitos la equidad, y dejar al proveedor en desventaja. Esto es
técnicos (ver Ferrer-Gomila et al. [5]), y que la aplicación ası́ debido al funcionamiento interno de este tipo de
ha sido diseñada para tener el mismo flujo de ejecución, aplicaciones: el proveedor recibe una petición de reserva;
intercambiar la misma información en el mismo orden, y si la petición es correcta, procede a cerrar la reserva, bien
generar las mismas evidencias, podemos afirmar que nuestra en su sistema interno (aplicación propia) o bien enviando
propuesta cumple con las propiedades de efectividad, equidad, una petición a su proveedor externo. En cualquiera de los
timeliness, no-repudio y verificabilidad. casos, cuando el proveedor responde al cliente, él ya ha
ejecutado el cierre de la reserva, lo que quiere decir que
VI-B. Requisitos Legales si el cliente decidiese echarse atrás, el proveedor deberı́a
Al utilizar XAdES como formato de firma electrónica, correr con los gastos de cancelación, en el caso de que
cumplimos con el marco legal de la Union Europea para la los hubiera.
firma digital (Directiva 1999/93/EC del Parlamento Europeo Tercero, podrı́amos argumentar que el flujo de ejecución
y el Consejo del 13 de Diciembre de 1999). Además, la necesario para cumplir los requisitos legales es: A → B,
propuesta presentada sigue el flujo de ejecución: Oferta- A ← B, A → B, siendo A el consumidor y B el provee-
Aceptación-Acuse de recibo, al que apunta la Directiva de dor, disminuyendo ası́ el número de pasos a ejecutar,
la Union Europea 2000/31/EC, con fecha 8 de Junio del 2000 de 4 a 3. Pero volverı́amos a perder equidad, en este
[10], que establece el marco legal de la Unión Europea para caso, serı́a el consumidor el que la perdiese. Si revisamos
109
el sub-protocolo de intercambio (ver tabla II), vemos normalmente requerirá soluciones sı́ncronas, mientras que un
que el mensaje que se firma, del que hay evidencias, servicio de firma digital de contratos puede requerir soluciones
es M, enviado desde el consumidor al proveedor en el ası́ncronas, debido a la necesidad de intervención humana o
primer paso (asumiendo A = consumidor). El problema de ejecución de procesos que consuman mucho tiempo. El
viene dado por el hecho de que en la realidad no es diseño de un servicio basado en mensajes de aplicación XML
ası́. En la respuesta del cierre de reserva se le envı́a al nos llevará a soluciones hechas a medida para cada usuario,
cliente el localizador y/o el bono de la reserva, necesarios asegurándonos satisfacer todas sus necesidades, pero con un
para poder ejecutarla. Si no conseguimos evidencias que alto grado de incompatibilidad entre aplicaciones de distintos
relacionen la transacción con esta información adicional, distribuidores. Por otra lado, las implementaciones basadas en
el proceso es inútil. mensajes SOAP nos permiten aprovechar estándares existentes
Por lo tanto, podemos decir que pese a haber diseñado una como WSS, consiguiendo soluciones más homogéneas.
aplicación cumpliendo todos los requisitos teóricos y legales El siguiente paso en nuestra investigación será la exten-
necesarios, a la hora de utilizar esta aplicación en un entorno sión del trabajo a propuestas de protocolos de N-partes y
real, que teóricamente encaja en el problema, los resultados la adecuación de los diseños a las propuestas de aplicación
no son satisfactorios. Debemos seguir trabajando para acercar presentadas.
las soluciones teóricas, en este caso un protocolo, a las AGRADECIMIENTOS
aplicaciones reales y conseguir ası́ las mejoras y beneficios
Este trabajo ha sido financiado por una beca FPI ligada
perseguidos con el diseño de esas soluciones.
al proyecto de investigación TSI2007-62986 del Ministerio
VII-B. Firma digital de contratos de Ciencia e Innovación (MICINN) de España, cofinanciada
por el Fondo Social Europeo y el proyecto de investigación
En el caso de la aplicación de firma digital de contratos
Consolider, con referencia CSD2007-00004, del MICINN.
propuesta en la sección II, la firma de un contrato implica
la ejecución del sub-protocolo de intercambio. Si pensamos R EFERENCIAS
en el mundo no electrónico, la identificación de la entidad A [1] H. Maruyama, T. Nakamura, T. Hsieh, Optimistic fair contract signing
como proveedor y la entidad B como consumidor, además de for web services, in: XMLSEC ’03: Proceedings of the 2003 ACM
cumplir los requisitos legales, es la lógica. Es el proveedor workshop on XML security, ACM, New York, NY, USA, 2003, pp.
79–85. doi:[Link]
quien nos propone un contrato ofreciendo sus servicios. Otra [2] N. Asokan, V. Shoup, M. Waidner, Asynchronous protocols
posible utilidad de la aplicación presentada en este artı́culo for optimistic fair exchange, in: Security and Privacy, 1998.
Proceedings. 1998 IEEE Symposium on, 1998, pp. 86–99.
es la ejecución de la firma digital en un entorno como el doi:10.1109/SECPRI.1998.674826.
presentado en el artı́culo de Angelov y Grefen [8], donde se [3] P. Robinson, N. Cook, S. Shrivastava, Implementing fair non-repudiable
define la arquitectura de un sistema de contratación electrónica interactions with web services, in: EDOC ’05: Proceedings of the
Ninth IEEE International EDOC Enterprise Computing Conference,
definiendo un componente especı́fico encargado de la ejecu- IEEE Computer Society, Washington, DC, USA, 2005, pp. 195–206.
ción de la firma. doi:[Link]
El único obstáculo que nos podrı́a presentar la aplicación [4] J. Zhou, D. Gollmann, Evidence and non-repudiation,
J. Netw. Comput. Appl. 20 (3) (1997) 267–281.
propuesta es el hecho de que el primer paso en la ejecución doi:[Link]
del sub-protocolo de intercambio está definido como una [5] J. L. Ferrer-Gomila, M. Payeras-Capellà, L. H. i. Rotger, Efficient
operación de tipo Notification, un mensaje enviado desde el optimistic n-party contract signing protocol, in: ISC ’01: Proceedings
of the 4th International Conference on Information Security, Springer-
proveedor al consumidor. En la práctica, esto implica que Verlag, 2001, pp. 394–407.
el consumidor debe tener en marcha un servicio para poder [6] B. Garbinato, I. Rickebusch, Orchestrating fair exchanges between
atender el mensaje de propuesta de contrato enviado por el mutually distrustful web services, in: SWS ’06: Proceedings of the 3rd
ACM workshop on Secure web services, ACM, New York, NY, USA,
proveedor. 2006, pp. 33–42. doi:[Link]
[7] P. R. Krishna, K. Karlapalem, Electronic contracts,
VIII. C ONCLUSION IEEE Internet Computing 12 (4) (2008) 60–68.
En este artı́culo hemos presentado una propuesta para la doi:[Link]
[8] S. Angelov, P. Grefen, An e-contracting reference ar-
implementación de un servicio de Firma Electrónica de Con- chitecture, J. Syst. Softw. 81 (11) (2008) 1816–1844.
tratos que cumple con los requisitos técnicos y legales que doi:[Link]
hemos formulado en la sección IV. Aunque no se trate de una [9] J. Zhou, R. H. Deng, F. Bao, Some remarks on a fair exchange protocol,
in: PKC ’00: Proceedings of the Third International Workshop on
solución estándar, demuestra que es posible diseñar servicios Practice and Theory in Public Key Cryptography, Springer-Verlag, 2000,
que cumplan ambos requisitos, y nos ayuda a comprender pp. 46–57.
los problemas que surgen al intentar implementar soluciones [10] C. European Parliament, Directive 2000/31/ec of the european parlia-
ment and of the council of 8 june 2000 on certain legal aspects of
reales (Firma de Contratos y Registro de Transacciones). information society services, in particular electronic commerce, in the
Hemos visto que una aplicación de firma electrónica se internal market (’directive on electronic commerce’), Official journal l
puede utilizar para varios propósitos, como registro de transac- 178 17/07/2000 p. 0001 - 0016.
[11] J. L. Ferrer-Gomila, A. M. Nadal, M. Payeras-Capellà, L. H. i. Rotger,
ciones o para ejecutar firmas digitales, como función principal A juridical validation of a contract signing protocol, in: EC-WEB ’02:
en un proceso de firma electrónica de contratos. Cada usuario Proceedings of the Third International Conference on E-Commerce and
tiene diferentes necesidades: como registro de transacciones Web Technologies, Springer-Verlag, 2002, pp. 343–352.
110
On Commitment Schemes Based on Logarithmic
Signatures
Pedro Taborda Duarte
Dpto. de Matemática Aplicada
Universidad Rey Juan Carlos
C/ Tulipán s/n. 28933, Móstoles, Madrid, Spain
Email: [Link]@[Link]
Abstract—We consider commitment schemes and covers de- the other player (the verifier-V). Later, P may release more
fined over a non abelian finite group, and propose some lines information m2 to V so that he may open this commitment
towards a construction of an unconditionally binding – com- and learn m. Typically, m1 is some form of m in disguise and
putationally hiding commitment scheme based on a logarithmic
signature. m2 allows to fully reconstruct m from m1 .
An example of a commitment scheme’s application are
I. I NTRODUCTION sealed-bid auctions. With it, we achieve secrecy and unam-
biguity: secrecy to the participants, because the auctioneer
After the advent of public key cryptography, the vast
cannot learn what is the bid without the bidder’s private key
majority of the proposed protocols were based in number
(since the bid is locked in a hard to break into safe), making the
theory problems i.e. security would follow from the hardness
bid secret until the end of the bidding phase; and unambiguity
of solving a certain number theoretic problem. But quantum
to the auctioneer because no bidder will be able to change
computing and Shor’s algorithms put a date on until when we
his bid after seeing a previously disclosed opponent’s bid (the
are unable to solve these number theoretic problems. Hence,
auctioneer first collects all the safes). The simple functionality
research on new computational problems not based un num-
of commitment schemes enables the construction of secure
ber theory, became important. Recently, some cryptographic
protocols that accomplish surprisingly complicated tasks as
protocols were proposed in the area of group theory, using
for example, solving the so called coin flipping by telephone
certain factorization sequences (called logarithmic signatures)
problem1 .
present in the platform group, where security follows from the
assumption that these sequences induce hard factorizations. A commitment scheme typically has three parts: a genera-
Some protocols have been proposed using this primitive e.g. tion key algorithm, a commitment algorithm, and an opening
M ST1 [11], M ST2 [11] and M ST3 [8], [12] as well as some algorithm, along with an initial setup of entities where the
cryptanalysis [1], [2], [5], [6]. protocol bases itself. More precisely,
In this work we focus on cryptographic protocols called •The key generation algorithm pk ← Gen
commitment schemes which can be seen as a generalization •The commitment algorithm Commit : M × R → C × D,
of encryption schemes. Important examples of commitment where M stands for the message space, R for the space
schemes include Pedersen’s [13] – one of the fastest and from where P introduces randomness into the commit-
most used commitment scheme and based on the well studied ment, C the image space for the commitment values, and
discrete logarithmic problem, ElGamal’s [4] – one of the sim- D the space of the decommitment values i.e the keys that
plest and based on the decisional Diffie-Hellman problem, and will allow V to “open the box”. Most of the times the
Groth’s [7] – one of the most recent ones, very efficient and decommitment values will be of the form d = (m, r)
based on a not so standard computational problem/assumption where m ∈ M is the committed value and r ∈ R the
called the simultaneous triple pairing assumption. randomness and we will most often not make explicit d
We propose some lines on how to construct a commitment when presenting a commitment scheme.
scheme based on a logarithmic signature in a group, and • The decommiting algorithm Open : C × D → M ∪ {⊥}.
moreover, committing to group elements. With this, one does Open will output either an m ∈ M if it is presented with
not need to convert the committed element to bit strings, as a correct commitment/decommitment pair (c, d) ∈ C ×D,
one can, for example, commit to a permutation π ∈ Sn as an or ⊥ if not i.e if P doesn’t provide V with the correct
ordering of an n−set. decommiting value d that correctly corresponds to the
message m to which the committed value c is attached.
II. C OMMITMENT S CHEMES
Two basic properties are therefore essential in any commitment
Commitment schemes are protocols between two parties in scheme: P should not be able to change his mind after
which one of the players (the prover-P) chooses a message m
from some (finite) set, and releases some information m1 to 1 see [3] for details
111
committing to a value, and V should not be able to learn about 4) The scheme is said to be unconditionally binding if it is
the message committed to. These two properties are referred to perfectly hiding or statistically binding.
as the binding property and the hiding property. The former
It thus seems that one should aim at building commitment
ensures fairness to the verifier and the later fairness to the
schemes which are both unconditionally hiding and uncondi-
prover.
tionally binding. Unfortunately, in a two-party commitment
As in many cryptographic applications, security is based
scheme, this is impossible: a compromise must be made
not on an impossibility to break some assumption, but rather
(see [3]). The main reason for this is that each player sees
on the difficulty to break it. Therefore, regarding the binding
everything the other party sends. However, in a multi-party
and hiding properties, two flavors are considered: uncondi-
scenario, or in a two party case where communication is
tional and computational. Informally, a commitment scheme is
noisy, it is no longer true that each player sees everything
computational (resp. unconditional) hiding if any polynomially
the other party sends, and in these cases it is in fact possible
bounded verifier (resp. any verifier, no matter how powerful)
to obtain unconditionally hiding and unconditionally binding
has at most a negligible advantage in finding the committed
commitment schemes.
value (over making a random guess). Computational (resp.
unconditional) binding on the other hand means that a poly- It can also be proved that, if a commitment scheme is
nomially bounded prover (resp. any prover, no matter how unconditionally binding but its output does not depend on the
powerful), has at most a negligible chance of finding two random parameter, then the scheme cannot be computationally
different messages that commit to the same value. hiding. Hence, in building commitment schemes it is crucial
to introduce randomness into the commitment.
Definition II.1. (l) is negligible in l if for any polynomial
f, (l) ≤ 1/f (l) for all large enough l
III. C OVERS AND L OGARITHMIC S IGNATURES
Definition II.2. Hiding: A commitment scheme is (t, )-hiding
if any t-time adversary A = (A1 , A2 ) achieves advantage Most of the well-known public-key cryptosystems which
⎡ ⎤ are still unbroken are based on certain intractable problems
pk ← Gen(1l ),
in large finite abelian groups, such as the multiplicative group
⎢ s ← {0, 1}, ⎥
⎢ ⎥ 1 of units in the ring ZZpq with p, q primes, the multiplicative
P r ⎢ (m0 , m1 , σ) ← A1 (pk), ⎥ − ≤ (l)
⎢ ⎥ group of a finite field, or a cyclic subgroup of the group of
⎣ (c, d) ← Commitpk (ms , rs ) ⎦ 2
rational points of an elliptic curve over a finite field.
: A2 (σ, c) = s
One of the first symmetric-key cryptosystems exploiting
1) If t is not infinite i.e if the adversary is polynomially the structure of non abelian groups was proposed by Magliv-
bounded and the advantage is negligible in the length eras [9] and was named PGM. It explicitly used a special
of the input, the scheme is said to be computationally type of factorization in non abelian permutation groups called
hiding logarithmic signatures, and later the ideas behind it were
2) If the adversary is infinitely powerful but the advantage used in [11] to design the asymmetric schemes M ST1 and
is negligible in the length of the input, the scheme is M ST2 . There are instances using finite groups where it is
said to be statistically hiding possible to build a logarithmic signature such that the in-
3) If the adversary is infinitely powerful and the advantage tractability of solving the discrete logarithmic problem implies
is null, the scheme is said to be perfectly hiding the intractability of factoring with respect to the logarithmic
4) The scheme is said to be unconditionally hiding if it is signature involved. The idea on using these objects as a tool
perfectly hiding or statistically hiding. for building secure cryptosystems, is the assumption of the
difficulty to factor elements of the group with respect to
Definition II.3. Binding: A commitment scheme is (t, )-
the used logarithmic signature. Nevertheless, in subsequent
binding if any t-time adversary A achieves advantage
⎡ ⎤ works [2], [6] [2]the assumption of hardness of factoring with
pk ← Gen(1l ), respect to a logarithmic signature in these protocols proved to
⎢ (c, d0 , d1 ) ← A(pk) ⎥
⎢ ⎥ be rather unrealistic by showing that it is unclear on how to
⎢
Pr ⎢ : ⊥ =
Openpk (c, d0 ) ∧ ⎥ ≤ (l)
⎥ generate computationally hard to invert logarithmic signatures
⎣ ⊥=
Openpk (c, d1 ) ∧ ⎦ for (almost) all group elements. In this work we explore
Openpk (c, d0 )
= Openpk (c, d1 ) whether they can be useful for designing another cryptographic
1) If t is not infinite i.e if the adversary is polynomially tool, that of commitment schemes.
bounded and the advantage is negligible in the length
of the input, we speak of computationally binding A. Definitions and some results
2) If the adversary is infinitely powerful but the advantage
Let G be a finite group and for each i = 1, . . . , s take
is negligible in the length of the input, the scheme is
αi = {αi1 , . . . , αiri } ⊆ G and S ⊆ G a set. Write
said to be statistically binding
α = [α1 , . . . , αs ].
3) If the adversary is infinitely powerful and the advantage
is null, we speak of perfectly binding Definition III.1. Cover and Logarithmic Signature
112
α λα
1) Cover: α is said to be a cover for S if any element A5 ZZ60
g ∈ S can be written as a product (1)(2)(345) 0
(1)(2)(354) 1
g = α1i1 . . . αsis (III-A.1) (1)(2)(3)(4)(5) 2
(1)(2 3)(4 5) 0
The vector (r1 , . . . , rs ) is called the type of the cover (1)(2 5 3)(4) 3
(1)(2 4 3)(5) 6
and l = r1 + . . . + rs its length. (1)(2)(3)(4)(5) 9
2) Logarithmic Signature: Let α be a cover for S and let (1 2 4)(3)(5) 0
g ∈ S. If the decomposition (III-A.1) is unique, α is (1)(2 3 5)(4) 12
(1 3)(2)(4 5) 24
said to be a logarithmic signature for S (1 5 3 4 2) 36
(1 4 3 2 5) 48
113
for 1 ≤ i < j ≤ n generate the subgroup Pn of pure efficient algorithm B, the modulus of the difference between
braids, and that for each i ∈ {1, . . . , n − 1}, the set Gi =
{Ai,i+1 , . . . , Ai,n } is a free set of generators of a subgroup of P r[(x1 , . . . , xs ) ←R (ZZ|G| )s :
Pn which is isomorphic to the free group Fn−i . Artin showed B((α̌(x1 ), . . . , α̌(xs )), H(x1 , . . . , xs )) = 1]
that any pure braid β ∈ Pn can be written uniquely as a
and
product
β = c1 c2 · · · cn−1 P r[(x1 , . . . , xs ) ←R (ZZ|G| )s , ←R G :
B((α̌(x1 ), . . . , α̌(xs )), ) = 1]
where each ci is a unique reduced word in the generators of
Gi and their inverses. More precisely, Artin showed that is negligible in the security parameter l. This quantity is
denoted AdvH (B).
Pn = Fn−1 (Fn−2 · · · (F2 F1 ))
A. The Scheme
The normal form of this iterated semidirect product is called Let H : (ZZ|G| )s → G be a function, and consider the
Artin’s combing of pure braids. following commitment scheme where the prover P commits
We can therefore generate a logarithmic signature α of type to an element g ∈ G and sends the commitment to a verifier
(r1 , . . . , rn−1 ) for S Pn , by setting V. We can describe it the following way:
Gen(1l )
αi,j ∈< Ai,i+1 , . . . , Ai,n >
1) Generates a logarithmic signature α
for i = 1, . . . , n − 1 and j = 1, . . . , ri . 2) Generates a function H : (ZZ|G| )s → G
3) Publishes pk = (α, H)
Remark III.6. All known algorithms for combing a random
Commit
pure braid β written in the generators Ai,j and their inverses,
To commit to g ∈ G,
are not polynomial in general in the length of β and hence we
1) P chooses u.a.r an s-tuple (x1 , . . . , xs ) ∈
1 that α is wild in S. Nevertheless, since cn−1 ∈
0may±1assume (ZZ|G| )s
An−1,n , it is always feasible to find the last block cn−1 of
β. 2) P computes c1 = g · H(x1 , . . . , xs ) and c2 =
(α̌(x1 ), . . . , α̌(xs ))
IV. A C OMMITMENT S CHEME BASED ON A L OGARITHMIC 3) P sends V the pair (c1 , c2 )
S IGNATURE Open
1) P sends the committed element g and the ran-
We propose a commitment scheme in the line of group
domness (x1 , . . . , xs ) to V
theory based cryptography. The scheme’s security is based on
2) V checks P’s computations and outputs “ac-
the hardness of solving a certain problem in a group theoretic
cept” if they are correct or ⊥ if not
setting and commitments are made to group elements not
integers/bits. More precisely, for its construction we use a The following result immediately follows from the uniqueness
public, hard to invert logarithmic signature over a finite group of factoring through α:
G, and a public general function H : (ZZ|G| )s → G. The Proposition IV.2. If α is a logarithmic signature for G then
use of a logarithmic signature α and its unique factorization the commitment scheme described above is unconditionally
property implies almost immediately that the scheme is binding.
unconditionally binding. Computational hiding follows if H Proof: If the prover can find (g0 , (x1 , . . . , xs )) and
is such that a certain decisional problem - involving α and H (g1 , (y 1 , . . . , y s )) such that
- on the base group is hard (definition IV.1). It is a decisional
problem related to computational indistinguishability of group Comm(g0 , (x1 , . . . , xs )) = Comm(g1 , (y 1 , . . . , y s ))
elements à la decisional Diffie-Hellman problem. If this
then α̌(xi ) = α̌(y i ) for all i = 1, . . . , s, and
problem is hard we call G a DLSH − group.
g0 · H(x1 , . . . , xs ) = g1 · H(y 1 , . . . , y s )
Let G be a group, and α = [α1 , . . . , αs ] with αi =
{αi1 , . . . , αiri }, 1 ≤ i ≤ s a logarithmic signature for G. Since α is a logarithmic signature we get xi = y i for all
If g = α̌(x) = α1k1 · · · αnks we write Bli (g) ≡ αiki i = i = 1, . . . , s, and therefore g0 = g1 .
1, . . . , s
.s Proposition IV.3. If G is a DLSH − group then the
Note that i=1 ri = |G| because α is a logarithmic commitment scheme is computationally hiding.
signature. As the security parameter we take the Log of the Proof: The following is the original hiding game between
order of G i.e. l =def Log|G| an adversary A and the challenger (see figure 1):
Definition IV.1. (H-Decisional) Let H : (ZZ|G| )s → G be G AME 0
some function. G is said to be a DLSH − group if for any 1) A chooses and sends the challenger a pair (g 0 , g 1 ) ∈ G2
114
2) The challenger randomly chooses a bit b and keeps it the following algorithm B on input ((w1 , . . . , ws ), ) ∈ Gs ×
(i.e does not disclose it to A) G (see figure 3):
3) The challenger randomly chooses (x1 , . . . , xs ) in 1) A chooses and sends B a pair (g 0 , g 1 ) ∈ G2
(ZZ|G| )s and sets c2 = (α̌(x1 ), . . . , α̌(xs )) 2) B chooses a random bit b and keeps it (i.e does not
4) The challenger sets c1 = g b · H(x1 , . . . , xs ) disclose it to A)
5) The challenger sends A the pair (c1 , c2 ) 3) B computes c1 = g b · , sets c2 = (w1 , . . . , ws ), and
6) A outputs a bit b̄ sends the pair (c1 , c2 ) to A
Letting S0 be the event that b̄ = b in G AME 0, the 4) A decides and sends B a bit b̄
adversary’s advantage is Adv(A) ≡ |P r[S0 ] − 1/2|. A wins 5) If b̄ = b then B outputs 1, else outputs 0
the game if Adv(A) is non negligible in l.
We now make one small change to G AME 0 by computing c1 B((w1 , . . . , ws ), ) :
as g b · for a randomly chosen ∈ G (see figure 2):
(g 0 , g 1 ) ← A
b ←R {0, 1}
(g 0 , g 1 ) ← A c1 ← gb ·
b ←R {0, 1} c2 ← (w1 , . . . , ws )
(x1 , . . . , xs ) ←R (ZZ|G| )s b̄ ← A(c1 , c2 )
c1 ← g b · H(x1 , . . . , xs )
c2 ← (α̌(x1 ), . . . , α̌(xs )) IF b̄ = b THEN Output 1
b̄ ← A(c1 , c2 ) ELSE Output 0
115
problem (since wildness of α is a necessary condition), or
methods for efficiently generating hard to factor logarithmic
signatures on G. We feel that logarithmic signatures are
a primitive with a large potential and can, in the line of
research around group theory based cryptography, pose several
interesting problems.
R EFERENCES
[1] S. R. B LACKBURN , C. C ID , AND C. M ULLAN, Cryptanalysis of the
mst3 public key cryptosystem, 2009. [Link]
[2] J. B OHLI , M. G ONZ ÁLEZ VASCO , C. M ART ÍNEZ , AND R. S TEIN -
WANDT , Weak Keys in M ST1 , Designs, Codes and Cryptography, 37
(2005), pp. 509–524.
[3] I. DAMG ÅRD, Commitment schemes and zero-knowledge protocols, in
Lectures on Data Security, Modern Cryptology in Theory and Practice,
Summer School, Aarhus, Denmark, July 1998, London, UK, 1999,
Springer-Verlag, pp. 63–86.
[4] T. E L G AMAL, A public key cryptosystem and a signature scheme based
on discrete logarithms , IEEE Trans. Info. Theory, 31 (1985), pp. 469–
472.
[5] M. G ONZ ÁLEZ VASCO , A. L. P. D . P OZO , AND P. T. D UARTE, A note
on the security of mst3, 2009. preprint: [Link]
Communicated at the ”Cryptology, Designs and Finite Groups 2009”
meeting, May 17-22, 2009, Deerfield Beach, Florida.
[6] M. G ONZ ÁLEZ VASCO AND R. S TEINWANDT, Obstacles in Two Public-
Key Cryptosystems Based on Group Factorizations, in Cryptology, Tatra
Mountains Math. Publications, 2002, pp. no. 3: 23–37.
[7] J. G ROTH, Homomorphic trapdoor commitments to group elements.
Cryptology ePrint Archive, Report 2009/007, 2009. [Link]
org/2009/007.
[8] W. L EMPKEN , T. V. T RUNG , S. S. M AGLIVERAS , AND W. W EI, A
public key cryptosystem based on non-abelian finite groups, J. Cryptol.,
22 (2008), pp. 62–74.
[9] S. M AGLIVERAS, A cryptosystem from logarithmic signatures of finite
groups, in Proceedings of the 29’th Midwest Symposium on Circuits
and Systems, Elsevier Publishing Company, 1986, pp. 972–975.
[10] S. M AGLIVERAS AND N. M EMON, Algebraic properties of cryptosystem
PGM, Journal of Cryptology, 5 (1992), pp. 167–183.
[11] S. M AGLIVERAS , D. S TINSON , AND T. V. T RUNG, New approaches to
designing public key cryptosystems using one-way functions and trap-
doors in finite groups, Journal of Cryptology, 15 (2002), pp. 285–297.
[12] S. S. M AGLIVERAS , P. S VABA , T. V. T RUNG , AND P. Z AJAC, On the
security of a realization of cryptosystem M ST 3, in Cryptology, Tatra
Mountains Math. Publications, 2008, pp. no. 3: 65–78.
[13] T. P. P EDERSEN, Non-interactive and information-theoretic secure ver-
ifiable secret sharing, in CRYPTO ’91: Proceedings of the 11th Annual
International Cryptology Conference on Advances in Cryptology, Lon-
don, UK, 1992, Springer-Verlag, pp. 129–140.
ACKNOWLEDGEMENTS
With support from Fundação para a Ciência e Tecnologia,
Portugal ref: SFRH/BD/37869/2007. I would like to especially
thank Professors Marı́a Isabel González Vasco and Ángel
Perez del Pozo for their insightful comments.
116
Implementación de la generación y firma RSA
distribuida en procesos de voto electrónico
Alex Escala Sandra Guasch Carlos Luna
Departament d’Enginyeria Telemàtica Scytl Secure Electronic Voting Departament d’Enginyeria Telemàtica
Universitat Politècnica de Catalunya Email: [Link]@[Link] Universitat Politècnica de Catalunya
Email: [Link]@[Link] Email: [Link]@[Link]
Abstract—Uno de los pasos más importantes en los procesos de que acceda al voto emitido por un votante no podrá descubrir
voto electrónico es la firma digital de la lista de votos descifrados, el texto en claro y, por tanto, las opciones de voto que ha
dado que a partir de estos votos se podrán realizar recuentos escogido. La firma digital permite verificar la integridad del
paralelos para asegurar la validez del resultado de la elección.
Para ello, un posible escenario consiste en que los miembros voto (cifrado) e identificar a su autor mediante su certificado
de la Mesa Electoral generen los parámetros de la firma y la digital, comprobando que está en el censo electoral.
ejecuten de forma distribuida. En este artı́culo proponemos una Uno de los procesos cuya verificación es más importante
implementación robusta y eficiente de la generación distribuida en una elección es el correcto recuento de los votos. En
de los parámetros RSA y de la firma RSA distribuida. una elección llevada a cabo por medios electrónicos esta
verificación se realiza de forma similar que en una elección
I. I NTRODUCCI ÓN
convencional: realizando un recuento paralelo. Es importante
Hoy en dı́a, el uso de las nuevas tecnologı́as en los procesos asegurar que el conjunto de votos sobre los que se realiza el
electorales es cada vez más común, dadas las numerosas recuento, es decir, los votos descifrados al final del proceso
ventajas que proporcionan. La gestión electrónica de unas elec- electoral, es auténtico y no ha sido modificado por ningún
ciones permite obtener los resultados finales más rápidamente intruso malicioso. Para asegurar la integridad de la lista de
y realizar un recuento más preciso que si se hiciera a mano. votos descifrados, ésta se firma digitalmente.
Además permite incorporar dispositivos o métodos especiales
que faciliten el ejercicio de su derecho a voto a personas Firma digital. Una firma digital [Sch07] es una herramienta
mayores o a discapacitados. En el caso de que se realicen criptográfica que se utiliza para demostrar el origen y la
de forma remota, por ejemplo por Internet, los votantes que integridad de un mensaje. Ası́, la validación de una firma
están en el extranjero en el momento de las elecciones pueden digital permite al receptor comprobar que el mensaje ha sido
votar de una forma más cómoda y segura que mediante el voto creado por un emisor determinado (autenticidad) y que el
postal. mensaje no ha sido alterado durante su tránsito (integridad).
Sin embargo, la introducción de procesos lógicos que eje- Esto puede acometerse con diversos niveles de seguridad. El
cutan los diferentes pasos del proceso electoral proporciona más exigente de ellos determina que un adversario no puede
nuevos desafı́os a la hora de asegurar la validez del resultado generar una firma válida para cualquier mensaje aún teniendo
de las elecciones. Existen varios requisitos de seguridad que a su disposición la firma de cualquier otro mensaje que haya
una elección electrónica debe cumplir para ser como mı́nimo escogido él mismo. Esta noción de seguridad se conoce como
tan fiable como una elección convencional, como la autentici- no falsificación existencial bajo ataque con mensaje escogido
dad y privacidad de los votantes, la precisión de los resultados adaptativamente - en inglés, Existential Unforgeability against
de la elección, la verificabilidad del proceso electoral, etc. adaptive Chosen Message Attacks, (EUF-CMA) [GMR88].
Para cumplir algunos de estos requisitos de seguridad es En términos generales un esquema de firma digital debe
frecuente utilizar herramientas criptográficas estándar como el disponer de dos protocolos, uno para generar la firma y otro
cifrado y la firma digital de los votos. para verificar su validez. Cuando se usan algoritmos de clave
En un esquema básico de voto electrónico utilizando estas pública para firmar digitalmente un mensaje, normalmente se
herramientas, los votantes cifran sus votos en el momento de calcula una función de Hash sobre éste, que es la que se firma.
su emisión y los firman digitalmente usando sus credenciales
(por ejemplo el DNIe). Al finalizar la fase de votación, estas Firma digital con RSA. Uno de los algoritmos crip-
firmas se verifican y se separan de los votos cifrados, que tográficos de clave pública más utilizados en las firmas
pasan por un algoritmo de anonimización (para desconectarlos digitales, y en el que nos centraremos en este artı́culo, es
de la identidad de sus emisores) antes de ser descifrados para RSA [RSA78], dado su amplio uso, su estandarización y
realizar el recuento y obtener los resultados. la posibilidad de utilizarlo conjuntamente con certificados
El cifrado de los votos en el momento de su emisión permite digitales.
preservar la privacidad del votante, ya que un atacante externo Dados unos parámetros RSA N , e y d, firmar un mensaje M
117
consiste, simplemente, en realizar la exponenciación modular:
d = p(0) = di λSi
d
Sign(m, d) = m mod N i∈S
118
B. Generación distribuida de parámetros RSA cada firmante dispondrá de un fragmento de la clave privada,
Los sistemas de generación distribuida de parámetros RSA que habrá sido repartida mediante un esquema de compartición
basan su funcionamiento en la búsqueda de un número pro- de secretos. La manera de obtener dichos fragmentos se
ducto de dos primos a partir de fragmentos aportados por comentará en la sección III. Durante el proceso de firma, cada
todos los participantes en el protocolo. Una vez encontrado participante usa su fragmento para obtener una firma parcial
este número, se crean a partir de él los fragmentos de la que tendrá que ser verificada por los otros participantes.
clave privada (uno por cada participante) y se calcula la clave Una firma digital distribuida tiene ciertos requisitos que
pública entre todos. deberemos tener en cuenta a la hora de implementar nuestra
solución: imposibilidad de falsificación (requisito heredado de
En este artı́culo nos centraremos en la implementación la firma digital estándar) y robustez. El primer requisito im-
práctica de la firma distribuida RSA de la lista de votos plica que un grupo de participantes solamente puede firmar un
descifrados (por parte de los miembros de la Mesa Electoral) mensaje si es un conjunto autorizado. En el caso de una firma
utilizando sistemas de compartición de secretos, y en la de umbral, un conjunto está autorizado si contiene, al menos,
generación distribuida de los parámetros de la clave privada un número determinado de participantes, por ejemplo, más de
para realizar esta firma. la mitad. La robustez del sistema es la propiedad que garantiza
El objetivo de esta implementación es obtener una solución que, aunque algunos participantes sean maliciosos, se pueda
que se pueda aplicar y utilizar en entornos reales y actuales, obtener la firma del mensaje. Como requisito adicional, es
teniendo como punto de partida la literatura existente y el interesante que se pueda detectar a los participantes que no
estado del arte, pero sin olvidar las condiciones del entorno en hayan realizado correctamente el protocolo.
el que se utilizará. Dado que actualmente los componentes de Otra caracterı́stica a tener en cuenta es la interactividad
la infraestructura de clave pública trabajan mayoritariamente del sistema de firma digital distribuida. En la medida que
con el criptosistema RSA (Autoridades Certificadoras, DNIe, sea posible, interesa que el protocolo sea no interactivo. De
etc), nos hemos decantado por el uso de este algoritmo en esta manera, cada participante puede hacer sus cálculos de
lugar de otros más ventajosos o eficientes, como DSA o manera independiente y no debe esperar datos de los otros
algoritmos basados en la criptografı́a de curvas elı́pticas, cuya participantes.
implantación no está aún debidamente extendida.
Existen ciertos requisitos de seguridad y eficiencia que A. Trabajo previo
deben cumplirse en estas implementaciones. Por ejemplo, dado
que se firma información muy sensible para la elección, el Shoup [Sho00] es el primero en proponer un esquema
protocolo deberá ser robusto y seguro: un número de atacantes eficiente de firma de umbral RSA que es a la vez robusto y
menor que el umbral de reconstrucción no debe ser capaz no interactivo. Como dice en su artı́culo, hasta ese momento
de impedir la generación de una firma distribuida correcta, solamente habı́a sistemas que o eran interactivos, o no eran
ni averiguar información importante sobre los parámetros robustos o generaban firmas de tamaño excesivo.
RSA generados de forma distribuida. También deberán poder Para su esquema, Shoup utiliza un módulo RSA N producto
ejecutarse en un tiempo razonable: no se deberı́a exigir la de dos primos seguros p y q (decimos que p es un primo
disponibilidad de los miembros de la Mesa un dı́a entero seguro si (p − 1)/2 = p también es primo). Para conseguir un
(por ejemplo) para generar los parámetros. La capacidad de protocolo no interactivo usa pruebas de conocimiento cero no
firmar de forma distribuida un documento proporciona la interactivas, que resultan muy sencillas gracias a que p y q son
posibilidad de que los miembros de la Mesa Electoral actúen primos seguros. El problema de esta propuesta reside en que
de forma remota (si son de regiones lejanas o en caso de la generación de un módulo RSA de estas caracterı́sticas es
enfermedad). Ası́ pues, serı́a conveniente que el protocolo de mucho más complicada que la generación de un módulo RSA
firma distribuida fuera lo menos interactivo posible para poder cualquiera (sin restricciones): si para encontrar un primo de k
facilitar esta solución, ya que los participantes no tendrı́an que bits necesitamos examinar O(k) números, para encontrar un
ir esperándose unos a otros, y podrı́an ejecutar el protocolo primo seguro del mismo tamaño necesitamos examinar O(k 2 )
a diferentes horas. Finalmente, debemos considerar que una candidatos.
Mesa Electoral está formada por alrededor de 10 miembros. Posteriormente, en 2005, Damgård y Dupont [DD05] pro-
El artı́culo está estructurado de la siguiente forma: en la ponen un esquema de firma umbral RSA robusto, sin hipótesis
sección II se presenta una propuesta de implementación de añadidas y con un módulo RSA genérico. Sin embargo,
un algoritmo de firma distribuida RSA y en la sección III se no imponer restricciones al módulo RSA acarrea diversos
explica un método para la generación distribuida y robusta de inconvenientes. El primero de ellos es que las pruebas de
un módulo RSA. conocimiento cero fallan con probabilidad no negligible y
que, por lo tanto, es necesario reconstruir la firma diversas
II. F IRMA DIGITAL DISTRIBUIDA ocasiones (con diversas combinaciones de firmas parciales)
Como se ha introducido anteriormente, la finalidad del para asegurar que el protocolo sea robusto y eficiente. El
sistema a implementar es firmar un documento de forma segundo es que las pruebas de conocimiento nulo, y por tanto
distribuida mediante una estructura de umbral. Para hacerlo, el protocolo, pasan a ser interactivos.
119
`n´
n
Para que un esquema de firma umbral RSA sea robusto, el t
3 3
número de participantes maliciosos no puede ser demasiado 5 10
grande. En concreto, si t es el número de participantes 8 56
maliciosos y n el número de participantes en total, se tiene que 10 210
12 792
cumplir que t < n/2. Este requisito es intuitivo: si queremos 14 3003
que los participantes maliciosos no puedan firmar un mensaje
Tabla I: Maneras de escoger t elementos entre n
cualquiera (seguridad) y que si se los expulsa igualmente
se pueda realizar la firma (robustez), entonces el número de
participantes maliciosos tiene que ser menor que el número de
participantes buenos. de combinaciones posibles es menor que el presentado en
la Tabla I. En conclusión, el número de combinaciones es
B. Nuestra implementación razonable para los valores de n que se usarán en la práctica
Para realizar nuestra implementación, partimos de la base (aunque crece exponencialmente al aumentar n) y por lo tanto
que tenemos un módulo RSA al que no podemos imponer podemos obviar las pruebas de conocimiento cero y limitarnos
ninguna restricción. El objetivo es obtener una implementación a repetir la fase de reconstrucción hasta obtener una firma
robusta, segura y, a poder ser, no interactiva. válida. Para reducir el número esperado de combinaciones
Nuestro esquema se basa en el protocolo de Damgård necesarias para encontrar la correcta, se elige aleatoriamente
y Dupont [DD05] realizando algunas modificaciones para el orden en el que se realizarán las reconstrucciones. De ese
explotar al máximo la idea de hacer distintas combinaciones modo los participantes maliciosos no podrán forzar el caso
en la fase de reconstrucción de la firma. En todos los artı́culos peor.
anteriormente citados, se da por supuesto que el número Por otra parte también se ha implementado una subrutina
de participantes puede ser arbitrario y, en consecuencia, los que se encarga de la detección de participantes malignos. En el
autores trataban de hacer que la complejidad creciera con- protocolo de [Sho00] esta detección se realizaba en las pruebas
troladamente con el número de participantes. En el escenario de conocimiento cero. La solución que nosotros proponemos
real en el que se centra nuestro trabajo tendremos un número es sencilla y efectiva siempre que tengamos valores de n
reducido de participantes (alrededor de 10) y, por tanto, este pequeños. Una vez obtenida la firma, basta con coger el
factor no resulta tan determinante. conjunto de participantes honestos y sustituir un participante
En concreto, nuestra propuesta se basa en eliminar las por otro que no esté en el conjunto. Si el participante nuevo
pruebas de conocimiento cero (que fallan con probabilidad fuera honesto, la firma resultante deberı́a ser correcta, de no
no negligible y son interactivas si se usa un módulo RSA ser ası́ el participante es malicioso. En total deberemos hacer
cualquiera), consiguiendo un protocolo no interactivo y más n − t − 1 reconstrucciones extra, que se pueden reducir usando
efectivo que el esquema de [DD05] en el escenario en que nos la información que se obtiene al intentar construir la firma.
encontramos (alrededor de 10 participantes). Si bien es cierto
que hay métodos para hacer pruebas de conocimiento cero no C. Resultados obtenidos
interactivas, el coste de éstas las hace impracticables si se usa El estudio teórico de nuestra implementación arroja los
un módulo RSA sin restricciones, como sucede en nuestro siguientes resultados. Como se puede ver en el artı́culo en
esquema. La robustez, que antes se derivaba de las pruebas que nos basamos [DD05], para realizar una firma parcial cada
de conocimiento cero, la conseguimos mediante repetidas participante tiene que hacer una sola exponenciación modular.
reconstrucciones de la firma. A continuación justificamos por Por otra parte, cada reconstrucción de la firma consta de dos
qué el esquema sigue siendo seguro y robusto. pasos: primero se elevan las t + 1 firmas parciales a los coe-
La seguridad es inmediata ya que no depende de las pruebas ficientes de Lagrange correspondientes y luego se multiplican
de conocimiento cero sino del esquema de compartición de entre ellas. Posteriormente se hacen dos exponenciaciones más
secretos y el esquema de firma RSA estándar. para conseguir la firma y finalmente se comprueba que la firma
Para justificar la robustez solamente se tiene que ver que es correcta, haciendo una última exponenciación.
el tiempo que tardaremos en obtener la firma correctamente Dado que la firma parcial solamente se calcula una vez,
es finito y razonable. Dada la restricción del número de parti- se requieren
t + 4 exponenciaciones que deberán repetirse
cipantes maliciosos, sabemos que al menos una combinación hasta nt veces. Aunque puede parecer un número grande
de las firmas parciales será correcta (aquella que provenga (para n = 10 son cerca de 1700 exponenciaciones), todos los
de participantes honestos). Por otra parte, en el peor de los exponentes excepto el último son números pequeños, de unos
casos contaremos con el máximo número de participantes 45 bits, y en consecuencia las exponenciaciones son mucho
maliciosos y la combinación correcta n será la última de las más rápidas que con un exponente arbitrario de 2048 bits. Si
que examinaremos. En total hay t+1 maneras de combinar comparamos nuestro esquema con el propuesto por Damgård
las firmas parciales para reconstruir la firma. En la Tabla I y Dupont, reducimos el número de operaciones en un factor
se expone cuánto vale este número para distintos valores de n de 10 (y conseguimos que el protocolo sea no-interactivo) en
(participantes) y tomando t (participantes maliciosos) máxima el escenario usual de 10 participantes y claves de 2048 bits.
tal que t < n − t. Si t no es máxima, entonces el número El resultado también se puede comparar con una firma RSA
120
estándar. En el caso de hacer una firma RSA distribuida el irregularidades para expulsarlos del proceso y se reinicia el
coste computacional es aproximadamente equivalente a una protocolo.
n
firma RSA estándar por cada firmante y, como máximo, t+1 Posteriormente han aparecido diversas alternativas en este
exponenciaciones equivalentes a una firma RSA estándar cada campo, como la propuesta de Algesheimer, Camenisch y
una realizadas por un usuario cualquiera para reconstruir la Shoup [ACS02] y la de Damgård y Mikkelsen [DM10], ambas
firma correcta. más ineficientes que la presentada anteriormente. En el primer
Como mejora adicional, los distintos participantes pueden caso, la ineficiencia proviene de la necesidad de conseguir
hacer las reconstrucciones en paralelo a costa de perder la un módulo RSA formado por primos seguros. En el segundo
propiedad de no-interactividad del protocolo. En este caso caso, el test de primalidad de Miller-Rabin que se utiliza, aún
el tiempo esperado se reducirı́a de manera proporcional al finalizando en una única ronda, también es más ineficiente que
número de participantes honestos. [FMY98].
121
Para evitar el desperdicio de recursos que supone generar, robusto, reduciendo la complejidad de los cálculos necesarios.
multiplicar y chequear la primalidad de p y q de manera Además, la detección de participantes maliciosos es sencilla,
robusta en los casos en los que estos valores no son primos se con publicar los valores pi y qi , calcular localmente
pues basta
ha optado por modificar el protocolo de la siguiente manera. pi qi y ver que coincide con el resultado obtenido en la
Se ejecuta la variante no-robusta del protocolo propuesta multiplicación distribuida. Esto representa un coste añadido
en [BF97] hasta finalizar el test de biprimalidad. Si el test muy pequeño respecto al protocolo no robusto.
da negativo los jugadores revelan los valores usados para Por otra parte, la eliminación de usuarios tampoco supone
que el resto de una reducción notable de eficiencia. El número de veces que
participantes pueda comprobar que, en efecto,
N = pi · qi y que p o q es compuesto. Estos cálculos se eliminan los usuarios es muy reducido comparado con el
pueden hacerse de manera local una vez recibidos los cor- número de iteraciones necesarias para terminar el protocolo y,
respondientes fragmentos de p y q. En caso de que se para comprobar quien ha mentido, se reproduce el protocolo
detecte alguna anomalı́a se procederá a publicar la semilla del localmente con las semillas de generador pseudo-aleatorio del
generador pseudo-aleatorio que ha usado cada participante de cada participante.
manera que los demás participantes puedan verificar, de nuevo En resumen, con nuestra implementación se obtiene un
localmente, que los elementos publicados por los demás han sistema robusto y casi tan eficiente como las implementaciones
sido correctamente calculados. del protocolo no robusto. Respecto al análisis de la compleji-
Si, por el contrario, el test da positivo, los participantes rea- dad del protocolo no robusto, remitimos al lector a [MWB99],
lizan la versión robusta del mismo con los mismos parámetros donde se expone una implementación del protocolo no robusto
iniciales (pi , qi , semilla del generador pseudo-aleatorio, . . . ) y se analiza su eficiencia. La implementación realizada en
para asegurarse de que todos los cálculos se han realizado [MWB99] consigue generar un módulo RSA de 2048 bits
correctamente sin tener que revelar ninguna información. con 3 participantes en 18.13 minutos, un tiempo totalmente
En caso de que en algún punto se detecte una conducta razonable.
fraudulenta iniciaremos un proceso de acusación que terminará
con la expulsión del protocolo de todos los participantes R EFERENCES
que hayan mentido. Para ello, resulta imprescindible que los
[ACS02] Joy Algesheimer, Jan Camenisch, and Victor Shoup. Efficient
mensajes entre participantes vayan firmados, garantizando ası́ computation modulo a shared secret with application to the generation of
su integridad y el no-repudio. Acto seguido se reiniciará el shared safe-prime products. In Moti Yung, editor, CRYPTO, volume 2442
protocolo sin la presencia de dichos participantes. of Lecture Notes in Computer Science, pages 417–432. Springer, 2002.
[BF97] Dan Boneh and Matthew K. Franklin. Efficient generation of shared
A pesar de que este último caso puede entorpecer el rsa keys (extended abstract). In Burton S. Kaliski Jr., editor, CRYPTO,
desarrollo del protocolo, ralentizándolo, no es necesario pre- volume 1294 of Lecture Notes in Computer Science, pages 425–439.
ocuparse dado que sabemos que el número de participantes Springer, 1997.
[DD05] Ivan Damgård and Kasper Dupont. Efficient threshold rsa signatures
maliciosos no supera el 50% de participantes del sistema with general moduli and no extra assumptions. In Serge Vaudenay, editor,
(tı́picamente menos de 5) y cada vez que se detecta a un Public Key Cryptography, volume 3386 of Lecture Notes in Computer
usuario mintiendo se lo elimina inmediatamente, evitando ası́ Science, pages 346–361. Springer, 2005.
[DF02] Ivan Damgård and Eiichiro Fujisaki. A statistically-hiding integer
que vuelva a mentir. commitment scheme based on groups with hidden order. In Yuliang Zheng,
Además, en aquellos protocolos en los que todo compor- editor, ASIACRYPT, volume 2501 of Lecture Notes in Computer Science,
tamiento malicioso es detectado y en los que además se pages 125–142. Springer, 2002.
[DM10] Ivan Damgård and Gert Læssøe Mikkelsen. Efficient, robust and
asegura la robustez, en el sentido de ser capaces de terminar constant-round distributed rsa key generation. In Daniele Micciancio,
aún en presencia de cierto número de participantes corruptos, editor, TCC, volume 5978 of Lecture Notes in Computer Science, pages
un usuario no tiene ningún incentivo para intentar un ataque. 183–200. Springer, 2010.
[FMY98] Yair Frankel, Philip D. MacKenzie, and Moti Yung. Robust
Podemos esperar, por lo tanto, un comportamiento ideal por efficient distributed rsa-key generation. In PODC, page 320, 1998.
parte de todos los participantes. [GMR88] Shafi Goldwasser, Silvio Micali, and Ronald L. Rivest. A digital
signature scheme secure against adaptive chosen-message attacks. SIAM
J. Comput., 17(2):281–308, 1988.
C. Resultados obtenidos [MWB99] Michael Malkin, Thomas D. Wu, and Dan Boneh. Experimenting
with shared generation of rsa keys. In NDSS. The Internet Society, 1999.
El principal resultado obtenido por nuestra implementación [Ped91] Torben P. Pedersen. Non-interactive and information-theoretic secure
ha sido hacer viable en un escenario real la generación verifiable secret sharing. In Joan Feigenbaum, editor, CRYPTO, volume
distribuida y robusta del módulo RSA y de su clave privada. 576 of Lecture Notes in Computer Science, pages 129–140. Springer, 1991.
[RSA78] RL Rivest, A. Shamir, and L. Adleman. A method for obtaining
Se trata de un avance en el campo de las firmas distribuidas en digital signatures and public-key cryptosystems. Communications of the
procesos electorales que permite crear protocolos distribuidos ACM, 21(2):126, 1978.
y robustos sin necesidad de contar con una Tercera Parte de [Sch07] B. Schneier. Applied cryptography: protocols, algorithms, and
source code in C. A1bazaar, 2007.
Confianza. [Sha79] Adi Shamir. How to share a secret. Commun. ACM, 22(11):612–613,
En particular, dada la capacidad de nuestra implementación 1979.
[Sho00] Victor Shoup. Practical threshold signatures. In Bart Preneel, editor,
para detectar y eliminar participantes maliciosos inmediata- EUROCRYPT, volume 1807 of Lecture Notes in Computer Science, pages
mente, la mayor parte del tiempo trabajaremos en régimen no 207–220. Springer, 2000.
122
El proceso de Iniciativa Legislativa Popular por
medio de firmas digitales
Cristina Pérez-Solà1 Apol·lonia Martı́nez Nadal2 Jordi Herrera-Joancomartı́1,3
1 2 3
Dept. Eng. Informació i Comunicacions (DEIC) Facultat de Dret KISON research group
Universitat Autònoma de Barcelona Universitat de les Illes Balears Universitat Oberta de Catalunya
{cperez, jherrera}@[Link] [Link]@[Link] Barcelona
Resumen—En España, la Constitución de 1978 reconoce (y permite la creación de formularios y su firma utilizando el
la Ley Orgánica 3/1984, de 26 de marzo, regula) la denominada DNI electrónico.
Iniciativa Legislativa Popular (ILP), consistente en un proceso en Sin embargo, estas herramientas están pensadas para la fir-
virtud del cual los ciudadanos pueden presentar proposiciones
de ley suscritas por un número mı́nimo de firmantes. Con la ma de distintos documentos por varios usuarios, gestionándose
aparición de los dispositivos de firma electrónica como el DNI dichas firmas de forma separada. Nótese que en una ILP, los
electrónico, los procesos de ILP pueden llegar a sufrir una condicionantes son distintos, puesto que se pretende realizar
importante transformación puesto que la posibilidad de recogida la firma digital sobre un único documento, la proposición, por
de firmas digitales puede llegar a ser muy versátil. En este múltiples usuarios. Además, la gestión de todas las firmas es
artı́culo se analiza, tanto desde el punto de vista técnico como
el punto de vista jurı́dico, como la recogida de firmas mediante una gestión conjunta puesto que la validez de la ILP radica
mecanismos digitales puede afectar a las ILP. en la presentación de 500.000 firmas en su totalidad.
Palabras clave: Iniciativa legislativa popular, firmas digitales, Desde una vertiente más académica, en [6] los autores
DNI electrónico. proponen un sistema de recogida de firmas digitales enfocada
a procesos de ILP. En dicho artı́culo, se presenta el diseño
I. I NTRODUCCI ÓN a alto nivel de la plataforma eFIC (Firma Ciudadana), una
La Constitución Española, en su art. 87.3, prevé la partici- plataforma que permite la recogida de firmas. No nos consta,
pación directa de los ciudadanos en el proceso de producción a dı́a de hoy, que la plataforma propuesta en dicho artı́culo se
normativa, configurando al pueblo, mediante la presentación haya implementado.
de 500.000 firmas, como sujeto de la iniciativa legislativa. Finalmente, desde el punto de vista práctico, hasta la fecha
Esta participación prevista constitucionalmente se encuentra únicamente el proceso de ILP pro-trasvase Tajo-Segura[1] con-
regulada por la Ley Orgánica 3/1984, reguladora de la Ini- templa la recogida de firmas digitales. Esta ILP acepta firmas
ciativa Legislativa Popular (ILP), que, tras ser modificada digitales que se pueden realizar a través de su portal web
por la Ley Orgánica 4/2006, incorpora un nuevo art. 7.4, utilizando el DNI electrónico. La aplicación que se encarga de
que establece, respecto de la naturaleza de las firmas, que la gestión de las firmas digitales es una aplicación desarrollada
“Las firmas se podrán recoger también como firma electrónica por el departamento de informática de la Universidad de
conforme a lo que establezca la legislación correspondiente”. Murcia. Más allá del “Manual del firmante” que se encuentra
La posibilidad de realizar recogidas de firmas electrónicas para disponible en la web de la Iniciativa, no se disponen de más
ILP se confirma en la sesión de la Junta Electoral Central detalles de la aplicación.
del 17 de septiembre de 2009. Por tanto, a la vista de lo En lo que respecta al punto de vista jurı́dico, no tenemos
expuesto, puede afirmarse que existe un marco legal que constancia, a dı́a de hoy, de la existencia entre la doctrina
posibilita el desarrollo de una ILP a través de la recogida española de trabajos dedicados especı́ficamente a la recogida
de firmas electrónicas. Cuestión distinta es la utilización que de firmas electrónicas para el desarrollo de una ILP, por lo
se haga en la práctica de esta posibilidad. que el tema es abordado de forma incidental en trabajos
Los trabajos realizados hasta la fecha en este campo no son generalistas y sin entrar a resolver la problemática jurı́dica
demasiados y las iniciativas que han recogido sus firmas a planteada.
través de medios digitales son escasas. En este artı́culo se presenta una aplicación que permite la
Por un lado, encontramos distintas herramientas que per- recogida y validación de firmas digitales para una ILP. La
miten la firma de documentos de forma telemática. De entre aplicación propuesta cumple con los requisitos establecidos
ellas, destacan CryptoApplet [2], ViaFirma [3] y @Firma por la ley y dicho cumplimiento se analiza tanto desde el
[4] que permiten la realización de firmas electrónicas en punto de vista técnico como desde el punto de vista jurı́dico.
múltiples formatos ası́ como su validación. En el marco de la La organización del artı́culo es la siguiente. En la Sección
administración electrónica, el proyecto Drupal X509 [5] ofrece II se analiza la ley que regula los procesos de ILP. La Sección
un módulo para el gestor de contenidos Drupal que permite III presenta las principales caracterı́sticas de la aplicación
la creación de portales de participación ciudadana. El módulo desarrollada. En la Sección IV se presenta un análisis jurı́dico.
123
Finalmente, en el Sección V se presentan las conclusiones. diferencia de los pliegos en papel, que contienen espacio para
distintas firmas manuscritas, los pliegos en formato digital so-
II. B REVE DESCRIPCI ÓN DE LA L EY O RG ÁNICA 3/1984 lamente contendrán la firma digital de un único ciudadano (no
La presentación de una ILP da comienzo con la constitución por dificultad tecnológica sino por simplificación conceptual).
de una comisión promotora, encargada de presentar el texto La información que contendrá un pliego digital será:
que será objeto de la Iniciativa. La comisión promotora
Pliego = {P, st1 , FP,JEC , nombre, DNI, municipio}
deberá presentar el texto a la Mesa del Congreso, que llevará a
cabo un examen de admisibilidad. Si la propuesta es admitida, donde P es el documento con el texto ı́ntegro de la propo-
se prosigue con la ILP. sición, FP,JEC es la firma de la JEC sobre la propuesta y
El proceso de recogida de firmas se inicia en el momento su sello de tiempo, st1 , nombre es el nombre y apellidos
en el que la Mesa del Congreso admite la proposición y lo del ciudadano, DNI es el número del documento nacional
comunica a la Junta Electoral Central (JEC) y termina con de identidad, y municipio es el municipio en cuyas listas
la entrega de las firmas recogidas a la JEC, para su posterior electorales se encuentre inscrito el ciudadano.
comprobación y recuento definitivo. Se requieren un mı́nimo Nótese que el equivalente digital al sellado de los pliegos
de 500.000 firmas que deben ser recogidas y validadas en un por parte de la JEC es la firma de la propuesta por parte
plazo de nueve meses. de la JEC, FP,JEC , y su inclusión dentro del pliego. Esta
Una vez recogidas las firmas exigidas y entregadas a la JEC, firma digital va acompañada de un sello de tiempo st1 que
ésta procederá a su comprobación y recuento definitivos, inva- permitirá establecer el inicio del periodo de recogida de firmas.
lidando las firmas que no cumplan los requisitos establecidos. La recogida de firmas manuscritas se convierte ahora en una
La JEC elevará al Congreso de los Diputados la certificación recogida de firmas digitales. Los ciudadanos que deseen dar
acreditativa del número de firmas válidas y procederá a destruir soporte a la iniciativa, deberán firmar digitalmente el Pliego,
los pliegos que contenı́an las firmas. obteniendo FPliego,C .
Por último, se inicia la tramitación parlamentaria. Recibida La contabilización de una firma digital en la ILP vendrá de-
la acreditación con el número de firmas exigido, la Mesa terminada (más allá de su correcta validación, que discutimos
ordenará la publicación de la proposición, que quedará en más adelante) por la validez legal de la firma digital emiti-
condiciones de ser incluida en el orden del dı́a del Pleno. da. Dicha validez dependerá de la autoridad de certificación
que haya emitido el certificado digital que cada ciudadano
II-A. Proceso de recogida de firmas esté utilizando para realizar la firma. Para ello, el sistema que
El proceso de recogida de firmas se inicia cuando la realiza la validación de las firmas digitales deberá especificar
comisión promotora presenta a la JEC los pliegos necesarios las autoridades de certificación aceptadas para la firma de una
para la recogida de firmas, que deberán reproducir el texto propuesta. Dichas autoridades debe fijarlas la JEC.
ı́ntegro de la proposición. La JEC, una vez aprobado el texto La correcta contabilización de la firma para la propuesta de
que contienen los pliegos, los devolverá sellados y numerados ILP debe contener las siguientes validaciones:
a la comisión promotora, que se encargará de la recogida de 1. La firma debe estar realizada correctamente por el sus-
firmas. criptor del certificado digital.
Una vez la comisión promotora ha obtenido los pliegos, se 2. El certificado digital debe estar vigente a fecha de
procede a la recogida de firmas. Las firmas deberán ir acom- realización de la firma.
pañadas del nombre, apellidos, número de DNI y municipio 3. La firma no se ha realizado antes de la fecha de inicio
en cuyas listas electorales se encuentre inscrito el elector y de recogida de firmas.
deberán ser autenticadas por un Notario, un Secretario Judicial, 4. La firma no se ha realizado con posterioridad a la fecha
el Secretario municipal o por fedatarios especiales designados lı́mite de recogida de firmas.
por la comisión promotora. La autenticación deberá incluir la 5. Un usuario no puede firmar más de una vez.
fecha, que podrá ser colectiva, pliego por pliego. 6. El usuario debe ser mayor de edad.
El procedimiento de recogida de firmas debe finalizar con Dichas validaciones las puede efectuar tanto la comisión
la entrega de las firmas recogidas a la JEC en el plazo de promotora, como la JEC. En la Sección III se describen
nueve meses desde la notificación. Las firmas deberán ir los mecanismos especı́ficos que se han implementado en la
acompañadas de los certificados que acrediten la inscripción aplicación para realizar dichas validaciones.
de los firmantes en el censo electoral como mayores de edad. La entrega de las firmas digitales a la junta electoral central
se realizará en soporte digital. Para ello, se remitirán todos los
II-B. Identificación de los procesos tradicionales en un en-
documentos, P liego, y sus correspondientes firmas, FPliego,C
torno digital
para que la JEC pueda realizar las comprobaciones oportunas
En este apartado, identificamos los documentos y procesos para efectuar el recuento final.
establecidos por la ley en un entorno digital.
El texto ı́ntegro de la proposición es un documento III. A PLICACI ÓN DE RECOGIDA DE FIRMAS
electrónico con el mismo contenido. El equivalente digital La aplicación de recogida de firmas desarrollada utiliza
de los pliegos serán unos documentos digitales análogos. A una arquitectura estándar cliente-servidor. El servidor dispone
124
de una base de datos donde se almacenan las proposiciones conocimiento de la iniciativa que suscriben. Además, el propio
creadas y las firmas realizadas para cada una de ellas. También navegador exige una confirmación por parte del usuario antes
el servidor es el encargado de realizar todas las tareas de de realizar la firma. En algunos navegadores, el mismo diálogo
validación y sellado de tiempo. El cliente, para realizar la firma de confirmación muestra el texto ı́ntegro a firmar, reafirmando
digital de la proposición deseada, sólo necesita un navegador el conocimiento del texto que se está firmando. Para que un
web y un par de claves certificadas por una autoridad de usuario pueda firmar una proposición, es necesario que éste
certificación reconocida por la JEC. En el caso que las claves disponga de un certificado de firma emitido por alguna de las
no estén en el navegador web del usuario, éste puede precisar autoridades de certificación que fueron seleccionadas por el
también dispositivos para el acceso a las claves (como un gestor en el momento de la creación. En caso que ası́ sea, el
lector de tarjetas inteligentes en el caso del DNI electrónico). usuario puede proceder a realizar la firma de la proposición.
La aplicación no se ha desarrollado como una aplicación
standalone sino que se ha desarrollado como un componente III-A. Validaciones que realiza la aplicación
de Joomla, un gestor de contenidos de código abierto. Esto per-
mite integrar la aplicación de recogida de firmas en cualquier Más allá de las funcionalidades de gestión que realiza la
sitio construido sobre esta plataforma. El componente se ha aplicación, un punto muy importante son las validaciones que
desarrollado utilizando PHP como lenguaje de programación ésta realiza sobre las firmas digitales que obtiene, puesto que
y MySQL como sistema gestor de base de datos. la eficacia de la aplicación radica en la verificabilidad de
La aplicación dispone de tres perfiles de usuario diferencia- las firmas obtenidas. En la aplicación se han implementado
dos: el administrador, que se ocupará del funcionamiento de la aquellas validaciones que realizará posteriormente la JEC para
plataforma; el gestor, la persona que creará las proposiciones; certificar el número de firmas válidas.
y el usuario, el ciudadano que podrá firmar las mismas. En primer lugar, se comprueba que la firma haya sido
El administrador es el encargado de gestionar la plataforma realizada correctamente por el suscriptor del certificado digital.
y, como tal, dispone de una interfaz especial donde configurar Esta comprobación permite asegurar que la firma realizada por
las diversas opciones. Las tres principales acciones de adminis- el suscriptor corresponda a una firma del pliego en cuestión.
tración son la configuración de las autoridades de certificación Esta verificación es necesaria puesto que la firma digital se
y sellado de tiempo, la configuración de la visibilidad de las realiza en el dispositivo del cliente y el texto que se firma
proposiciones y la descarga de las firmas realizadas. En primer puede haber sido modificado y puede diferir, por tanto, del
lugar, para que un gestor pueda crear una nueva proposición texto original de la proposición. Para que una firma sea
que acepte una determinada autoridad de certificación, el admi- considerada como válida también es necesario comprobar que
nistrador tiene que haber insertado la autoridad de certificación el certificado con el cual se ha realizado es adecuado.
en la base de datos junto con su certificado. La segunda de las En segundo lugar, se verifica que el certificado que el
acciones de administración, la configuración de la visibilidad ciudadano ha usado para firmar está vigente a fecha de
de las proposiciones, permite decidir si las propuestas son realización de la firma. Esta comprobación requiere la veri-
publicadas inmediatamente después de ser creadas o si, por ficación del periodo de vigencia del certificado y de su estado
el contrario, necesitan la aprobación del administrador antes de revocación. La verificación del periodo de vigencia se
de ser publicadas. La tercera de las acciones, la descarga de realiza comprobando los campos de validez del certificado.
firmas, permite realizar el último trámite del procedimiento de La comprobación del estado de revocación del certificado es
recogida de firmas. Esta opción crea un fichero con el texto de llevada a cabo a través del protocolo OCSP. Esta validación
la propuesta y las firmas efectuadas, que deberá ser entregado precisa de un sello de tiempo que se puede incluir en cada
a la JEC para su validación y recuento final. una de las firmas digitales y que deberá ser realizado por una
El gestor es la persona que crea la proposición en la autoridad de sellado de tiempo reconocida por la JEC. Si bien
plataforma y ejerce, por tanto, el papel de comisión promotora. esta opción es técnicamente válida, la obtención de un sellado
En el momento que el gestor crea la proposición, éste establece de tiempo tiene un coste económico asociado (del orden de
cuales de las autoridades de certificación que el administrador 20.000 euros para 500.000 sellos), de modo que el sellado
ha configurado desea que sean reconocidas para firmar la de tiempo de cada una de las firmas recogidas incrementa
proposición. El hecho de aceptar unas autoridades de certi- de forma muy notable el coste económico de la ILP. Sin
ficación u otras permitirá crear proposiciones válidas para ser embargo, dado que la ley permite que el establecimiento de
presentadas como ILP o recogidas de firmas más informales. la fecha puede ser colectivo, se puede aplicar a un conjunto
Los usuarios de la plataforma son los ciudadanos que desean determinado de firmas digitales un único sellado de tiempo,
firmar las proposiciones. Éstos pueden listar las proposiciones acreditando de este modo que dichas firmas no se han realizado
creadas (que han sido aprobadas por el administrador) y firmar con posterioridad a la fecha del sellado. Es importante destacar
las que deseen. Una vez localizada la proposición a firmar, que, la opción del sellado de tiempo colectivo implica que la
el usuario puede acceder al contenido completo de la misma fecha de realización de la firma difiera de la fecha en la que
ası́ como a la opción de firma. La opción de firma se encuentra se puede demostrar que efectivamente se ha realizado la firma
disponible únicamente en la página que contiene el texto (fecha en la que se realiza el sellado de tiempo) y por tanto
ı́ntegro de la proposición, asegurando que los usuarios tengan es necesario que el certificado sea válido en esta segunda, de
125
modo que, de forma efectiva, la comprobación de la vigencia reforma introducida por la Ley Orgánica 4/2006, de 26 de ma-
del certificado es realizada después del sellado de tiempo. yo) permite declarar, de forma genérica, la admisibilidad legal
En tercer lugar, es necesario comprobar que la firma no de una recogida de firmas realizada por medios electrónicos.
se haya realizado antes de la fecha de inicio del periodo de A partir de esta admisibilidad genérica, se trata de analizar el
recogida de firmas. Nótese que la firma FPliego ya asegura cumplimiento de los distintos requisitos que de forma concreta
que la firma no se ha realizado antes de la fecha de inicio se establecen legalmente para el desarrollo de una ILP en
de recogida de firmas puesto que el ciudadano incluye en su caso de que esta se desarrolle por medios electrónicos; y en
firma el valor FP,JEC que equivale al sellado del pliego por concreto, el cumplimento de esos requisitos por parte de la
parte de la JEC y que ya incluye la fecha en la que la JEC aplicación informática objeto de este trabajo.
realizó la firma.
En cuarto lugar, se debe comprobar que la firma no se ha 1. El procedimiento de recogida de firmas. Conforme al
realizado con posterioridad a la fecha lı́mite de recogida de art. 7 LOILP, admitida la proposición puede iniciarse el
firmas. Para asegurar este punto se dispone del sello de tiempo procedimiento de recogida de firmas. Y la admisión genérica
que se realiza para la firma, ya sea éste para cada firma o para de firmas digitales nos plantea distintas cuestiones y dudas a la
un conjunto de ellas. vista de la concreta regulación del procedimiento de recogida
En quinto lugar, se debe asegurar que el usuario no pueda de firmas establecida en los siguientes preceptos:
firmar más de una vez la misma proposición. El control de A. Requisitos formales previos: los pliegos para la recogida
duplicados es llevado a cabo por el sistema gestor de la base de firmas (art. 8). Conforme a la LOILP (art.8), y para el
de datos en base al número de DNI del firmante, que se extrae supuesto de recogida de firmas manuscritas tradicionales, la
del certificado que éste ha usado para firmar. primera actuación de la Comisión Promotora, una vez admitida
Por último, queda por comprobar que el usuario que ha la proposición, es presentar ante la JEC los pliegos necesarios,
realizado la firma es mayor de edad. Esta comprobación se en papel de oficio, para la recogida de las firmas.
puede realizar únicamente si el certificado usado para firmar Para el supuesto de firmas digitales, partimos del presu-
contiene la fecha de nacimiento de su propietario, de lo puesto de que la finalidad de tales exigencias de pliegos
contrario esta comprobación quedará en manos de la JEC. debidamente sellados y numerados es evitar posibles ma-
III-B. Especificación del formato de los datos nipulaciones, falsedades o confusiones. Y, en la aplicación
objeto de estudio entendemos que, efectivamente, se consiguen
Las firmas realizadas por los usuarios son almacenadas en
similares garantı́as por cuanto, de entrada, el texto ı́ntegro de
una base de datos relacional. En concreto, se almacena un
la propuesta legislativa es firmado por la JEC que, además,
objeto signedData de PKCS#7 [7] codificado en base 64, que
incluirá el correspondiente sello temporal. Esta firma, junto
contiene tanto el certificado del usuario como el de la autoridad
con su inclusión, como veremos, en el pliego digital, es el
de certificación que lo ha emitido y la firma realizada. El
equivalente funcional del sellado del art.8; y con esta firma se
objeto PKCS#7 no contiene el texto que se ha firmado, es
evita cualquier manipulación del contenido de la propuesta.
decir, la firma es detached. Esto supone un ahorro de espacio
Además, en la aplicación objeto de estudio, el equivalente
considerable puesto que, en caso contrario, serı́a necesario
digital de los pliegos son unos documentos digitales análogos,
almacenar el texto a firmar tantas veces como firmas se
unos “pliegos digitales” que contendrán, entre otra informa-
hubieran realizado. De este modo, el espacio estimado para
ción, el documento con el texto ı́ntegro de la proposición, la
almacenar las 500.000 firmas de una ILP es de 2GB que pue-
firma de la JEC sobre la propuesta y su sello de tiempo (en
den ser incrementados hasta 6GB si se añaden sellos de tiempo
cumplimiento de las exigencias del art. 8 LOILP), y también
individuales para cada firma y se almacenan las respuestas de
el nombre y apellidos del ciudadano, el número del documento
las comprobaciones de revocación de certificados.
nacional de identidad, y el municipio en cuyas listas electo-
Tanto las comprobaciones de revocación de certificados
rales se encuentre inscrito el ciudadano (en cumplimiento de
como los sellos de tiempo realizados sobre las firmas son
las exigencias del art. 8 LOILP). Y cada uno de estos pliegos
almacenados en la base de datos, los primeros codificados en
contendrá la firma digital de un ciudadano, firma que afectará a
base 64 y los segundos en el formato de timestamp response
la totalidad de la información contenida en el pliego digital.
especificado en la RFC 3161 [8] codificado en base 64.
Una vez se ha alcanzado el número de firmas necesarias, De esta forma, los pliegos que contienen el texto ı́ntegro de
éstas deben ser presentadas ante la JEC. La exportación de la propuesta firmada por la JEC quedan vinculados a la firma
las firmas se realiza mediante un fichero XML que contiene de los ciudadanos, por cuanto el documento que firman los
toda la información relativa a la proposición. El documento usuarios es, precisamente, la propuesta firmada por la JEC; de
contiene el texto completo de la proposición, todas las firmas esta forma se evitan posibles actuaciones fraudulentas (en el
recogidas con sus respectivas comprobaciones de revocación sentido de incluir firmas suscritas con finalidades distintas o
y los sellos de tiempo realizados sobre las firmas. utilizar las firmas recogidas para otros objetivos).
Por otra parte, la exigencia del art. 8 de que los pliegos
IV. A N ÁLISIS JUR ÍDICO reproduzcan el texto ı́ntegro de la proposición, entendemos
Como se ha expuesto, tanto Ley Orgánica 3/1984, de 26 de persigue la finalidad de que los firmantes tengan conocimiento
marzo, reguladora de la Iniciativa Legislativa Popular (tras la pleno y fundada de la iniciativa que suscriben; y entendemos
126
que ello puede conseguirse igualmente, e incluso de forma a la JEC el control de la regularidad del procedimiento de
más plena y eficaz, en el caso de ILP telemática incluyendo recogida de firmas [9].
en la página de recogida de datos un enlace a la propuesta o En la práctica, de forma reciente, se ha optado por una vı́a
incluso, configurándolo como página de paso obligatorio. próxima a esta segunda solución. En concreto, hemos de
Además, recuérdese que, en la aplicación objeto de estudio, referirnos al Acuerdo de la Junta Electoral de 28 de mayo de
esta firma digital de la Junta Electoral va acompañada de un 2009 que supone su primer pronunciamiento respecto del uso
sello de tiempo de especial relevancia a efectos de determinar de la firma digital en el desarrollo de ILP y que dispone que
la validez temporal de las firmas recogidas. En efecto, como la Comisión promotora debe comunicar a la JEC “el sistema
es sabido, sólo las firmas recogidas dentro de plazo son firmas de firma electrónica que pretenda utilizar y facilitar a ésta,
válidas, no siendo admisibles las recogidas con anterioridad al en el caso de que fuera necesario, el sistema utilizado para
inicio del periodo de recogida, ni las suscritas con posteriori- la verificación de las firmas electrónicas”. La finalidad de tal
dad a la finalización de dicho plazo. De ahı́ la importancia de comunicación entendemos que es la validación por parte de
la prueba del momento temporal de realización de la firma. la Junta de la validez legal del sistema de firma. Obsérvese,
En la aplicación objeto de análisis, en caso de descartar, por pues, que la Junta Electoral, tras reiterar la admisibilidad de la
sus costes, el sellado temporal individual de cada una de las recogida de firmas digitales para los procedimientos de ILP no
firmas, se proponen otros medios indirectos de prueba de la establece a continuación los requisitos que de forma general
validez temporal de la firma recogida que pueden considerarse deban cumplir los sistemas de firma digital (ni siquiera remite
igualmente válidos, por cuanto aun cuando no prueban el a una resolución o instrucción de desarrollo posterior) sino que
momento exacto en que se ha realizado tal firma si consiguen adopta el mecanismo de la comunicación previa y autorización
probar su realización dentro del periodo legalmente válido de para cada caso concreto.
recogida. Y, por ello, este primer acuerdo va seguido de otro Acuerdo
B. Momento de la firma. Los ciudadanos que deseen apoyar de 28 de enero de 2010 que nos sitúa ya ante la comunicación
la iniciativa legislativa propuesta deberán firmar digitalmente previa de un concreto sistema de firma digital por parte de
el pliego digital. Y esta actuación nos plantea, jurı́dicamente, la Comisión Promotora (la Comisión Promotora de la ILP
dos cuestiones. Tajo-Segura) que pretende utilizar las nuevas tecnologı́as para
Los firmantes: sujetos legitimados para firmar. De acuerdo la recogida de firmas y pretende obtener la autorización a
con lo dispuesto en la LOILP (art. 1), pueden ejercer la ILP tal efecto de la JEC. Y tal autorización se otorga por la
los ciudadanos españoles mayores de edad que se encuentren mencionada Junta con el informe previo de la Oficina del
inscritos en el censo electoral (y en pleno ejercicio del derecho Censo Electoral (que, conforme a la LOILP, interviene en la
de sufragio activo). comprobación y recuento previos de las firmas recogidas).
Y, precisamente, a efectos de identificación y comprobación Vistos estos aspectos procesales relativos a la autorización del
de la legitimación de los firmantes, el art. 9 LOILP, relativo sistema de firma, nos centramos ahora en aspectos sustantivos
a la autenticación de las firmas, dispone que, junto a la firma relativos a la clase de firma admisible. Y, en principio, ha
del elector se indicará su nombre y apellidos, número del de tenerse en cuenta la regulación de la firma electrónica
documento nacional de identidad y municipio en cuyas listas que nos sitúa en la Ley 59/2003, de 19 de diciembre, de
electorales se halle inscrito. firma electrónica; y, de entre las distintas clases de firma
En el supuesto de recogida de firmas digitales, entendemos electrónica que contempla la Ley, nos inclinamos por la
que la identificación y comprobación de la legitimación puede utilización, de la denominada firma electrónica reconocida
realizarse con igual o incluso superior seguridad y, sin ninguna que, por sus caracterı́sticas, está equiparada legalmente a la
duda, con mayor rapidez y eficacia. En concreto, en el caso firma manuscrita (en virtud del art. 3 de la Ley 59/2003).
de la aplicación objeto de estudio, si la firma digital admitida Mención especial merece el denominado DNI electrónico,
es la incorporada al denominado DNI electrónico, será posible regulado inicialmente en los art. 15 y 16 de la Ley 59/2003 y
extraer esos datos personales de la misma información incor- en el Real Decreto 1553/2005, de 23 de diciembre (cuyo art.
porada al chip electrónico del mismo y la aplicación puede 1.5 lo equipara también a la firma manuscrita). Por ello, dada
realizar la comprobación de la mayorı́a de edad. la seguridad que ofrece la firma incorporada, y dado el grado
La firma digital; clases de firma admisibles. Dado lo de difusión actual del DNI electrónico, resulta un instrumento
novedoso del sistema de firma digital que admite el art. 7.4 especialmente adecuado para la recogida de firmas digitales
LOILP, la escasa doctrina que ha abordado el tema considera para el desarrollo de una ILP.
necesario esperar a una norma de desarrollo que establezca C. Autenticación de la firma. A fin de evitar fraudes, los art.
los requisitos de seguridad que hagan posible y fiable el 9 y 10 LOILP establecen las exigencias de autenticación de las
recurso a la firma electrónica para la recogida de firmas. Y firmas, exigencias cuyo cumplimiento constituye, como hemos
doctrinalmente, se han apuntado dos posibilidades respecto visto, una de las condiciones impuestas por la Junta Electoral
del impulso de esta norma de desarrollo: un acuerdo de para la admisibilidad de las firmas digitales.
la Mesa del Congreso de los Diputados o una Instrucción En concreto, dispone el art. 9.2 que, en principio, la firma debe
o Resolución de la JEC, considerándose más correcta esta ser autenticada por un Notario, por un Secretario Judicial o por
última, por cuanto, conforme al art. 7 LOILP, corresponde el Secretario municipal correspondiente al municipio en cuyo
127
censo electoral se halle inscrito el firmante. las comprobaciones oportunas para efectuar el recuento final.
Junto a esta autenticación realizada por los fedatarios tradicio- Recuérdese asimismo que en el Acuerdo de 28 de mayo
nales, el art. 10 de la LOILP abre una interesante posibilidad de 2010 de la Junta Electoral se establece que la Comisión
para los supuestos de ILP electrónica, en la medida que promotora, además de comunicar a la Junta Electoral Central
establecen que “las firmas podrán también ser autenticadas por el sistema de firma electrónica que pretenda utilizar, debe
fedatarios especiales designados por la Comisión Promotora”. también “facilitar a ésta, en el caso de que fuera necesario, el
Posibilidad que permite que actúen como fedatarios personas sistema utilizado para la verificación de las firmas electróni-
con los conocimientos técnicos suficientes y necesarios para la cas”. Comprobado el cumplimiento de los requisitos exigidos
autenticación de firmas electrónicas, personas que podrı́an ser para la válida presentación de la proposición (en concreto, la
propuestas por el administrador de la aplicación informática consecución de las, como mı́nimo, 500.000 firmas válidas),
de entre sus empleados, lo que permitirı́a un procedimiento la JEC elevará al Congreso de los Diputados certificación
de autenticación más ágil y eficaz. Téngase en cuenta que acreditativa del número de firmas válidas y procederá a destruir
para adquirir esta condición de fedatarios especiales debemos los pliegos de firmas que obren en su poder.
estar ante “ciudadanos españoles que, en plena posesión de sus Y, a partir de ese momento se iniciarı́a la tramitación parla-
derechos civiles y polı́ticos y careciendo de antecedentes pena- mentaria de la proposición, conforme al art. 13 LOILP, lo que
les, juren o prometan ante las Juntas Electorales provinciales no supone, en modo alguno la aprobación de la proposición,
dar fe de la autenticidad de las firmas de los signatarios de la que queda en manos del Pleno del Congreso.
proposición de Ley” (art. 10.2); y que, dada la transcedencia de
V. C ONCLUSIONES
su actuación, la adquisición de tal condición no es irrelevante
pues, en caso de falsedad, los fedatarios especiales puede En este trabajo hemos presentado de forma breve una
incurrir en responsabilidad penal (art. 10.3). aplicación que permite la recogida de firmas digitales para
En cualquier caso, cabe plantear en qué consistirı́a la autenti- la realización de una iniciativa legislativa popular. Hemos
cación en el supuesto de recogida de firmas digitales. En este descrito sus principales caracterı́sticas y hemos detallado las
caso, partimos de la utilización de certificados identificativos validaciones que se llevan a cabo para cumplir con los requisi-
que permiten articular la presunción iuris tantum de que quien tos legales que marca la ley. Por otro lado, hemos realizado un
está firmando es efectivamente el titular del par de claves análisis jurı́dico del proceso de recogida de firmas digitales que
certificadas; por ello, la autenticación o bien serı́a inexistente, nos permite concluir que aun son mejorables las normativas al
por innecesaria, o bien consistirı́a en la validación o verifi- respecto, por cuanto sigue sin existir una regulación detallada
cación de la firma electrónica, en el sentido de comprobar de los requisitos que deben cumplirse para la recogida de
que se cumplen con los requisitos de verificación, técnicos firmas digitales.
y jurı́dicos, necesarios para considerarla una firma válida, AGRADECIMIENTOS
requisitos ya expuestos en la parte técnica de este trabajo. Y
obsérvese que estas mismas actuaciones son las que deberı́an Este trabajo está parcialmente financiado por el Ministerio
efectuar nuevamente tanto la Oficina del Censo Electoral como de Ciencia y Educación, a través de los proyectos CONSO-
la JEC a efectos de la comprobación inicial y el recuento LIDER CSD2007-00004 y TSI2006-03481 ası́ como por el
definitivo de firmas. proyecto AVANZA (TSI-020501-2008 -191).
2. Remisión de los pliegos a la Junta Electoral. Compro- R EFERENCIAS
bación y recuento de firmas. Una vez finalizada la recogida [1] ILP en defensa del trasvase Tajo-Segura, “Defendemos el trasvase”,
de firmas y su autenticación, conforme al art. 11.1 LOILP [Link]
los pliegos que contengan las firmas se han de enviar a la [2] Paúl Santapau Nebot, Ricardo Borillo Domenech, “Cryptoapplet. Applet
de realización de firma digital multiformato”, Universitat Jaume I.
JEC. La JEC, a su vez, los remite a la Oficina del Censo [3] Grupo Viavansi, “Viafirma”, [Link]
Electoral para que acredite la inscripción de los firmantes [4] Ministerio de Administraciones Públicas, “@firma. plataforma de vali-
en el Censo Electoral como mayores de edad, y lleve a dación y firma electrónica”,
[5] José Luis Blasco Dı́az, Modesto Fabra Valls, Manuel Mollar Villanueva,
cabo la comprobación y el recuento inicial de dichas firmas. Paúl Santapau Nebot, and Santiago Manzano Romero, “Drupal aplicado
La Oficina del Censo Electoral, en el plazo de quince dı́as, a la administración electrónica”.
remitirá a la Junta Electoral Central certificación de todo ello [6] R. Conde Melguizo, A. Muñoz Muñoz, and M. L. González González,
“Recogida de firmas electrónicas dentro del marco legal español. eparti-
(art. 11). Y, conforme al art. 12.1, una vez remitidos los cipación basada en edni.”, in CollECTeR Iberoamérica, 2008.
pliegos a la JEC, esta procederá a su comprobación y recuento [7] B. Kaliski, “PKCS 7: Cryptographic Message Syntax Version 1.5”, RFC
definitivos. En este momento, las “firmas que no reúnan los 2315 (Informational), Mar. 1998.
[8] C. Adams, P. Cain, D. Pinkas, and R. Zuccherato, “Internet X.509 Public
requisitos exigidos en esta Ley se declararán inválidas y no Key Infrastructure Time-Stamp Protocol (TSP)”, RFC 3161 (Proposed
serán computadas” (art. 12.2). Standard), Aug. 2001.
En la aplicación objeto de estudio, la entrega de las firmas [9] E. Aranda Alvarez, “La nueva Ley de Iniciativa Legislativa Popular”,
Revista Española de Derecho Constitucional, n. 76, 2006, pág. 187-218.
digitales a la junta electoral central se realizará en soporte [10] J. Marco Marco, “El letargo participativo: la iniciativa legislativa popular
digital; para ello, se remitirán todos los documentos o pliegos en España”, Revista de las Cortes Generales, n. 69, 2006, pág. 39-82.
y sus correspondientes firmas, para que la JEC pueda realizar
128
Un Criterio de Privacidad Basado en Teorı́a de la
Información para la Generación de Consultas Falsas
David Rebollo-Monedero Javier Parra-Arnau Jordi Forné
Dpto. Ingenierı́a Telemática, Dpto. Ingenierı́a Telemática, Dpto. Ingenierı́a Telemática,
Universitat Politècnica de Catalunya Universitat Politècnica de Catalunya Universitat Politècnica de Catalunya
[Link]@[Link] [Link]@[Link] jforne@[Link]
Resumen—En este artı́culo presentamos un criterio de privaci- Este artı́culo presenta un nuevo criterio de privacidad basado
dad basado en teorı́a de la información para la generación de en teorı́a de la información para la generación de consultas
consultas falsas en el ámbito de la recuperación de información en el ámbito de la recuperación de información. En concreto,
privada. Medimos el riesgo de privacidad como la divergencia de
Kullback y Leibler entre la distribución de consultas del usuario nuestro criterio mide el riesgo de privacidad como una diver-
y la de la población, que incluye la entropı́a de la distribución gencia entre la distribución de consultas del usuario y la de
del usuario como caso especial. Asimismo, llevamos a cabo la población, y contempla la entropı́a de la distribución del
una rigurosa justificación de nuestra métrica al interpretarla usuario como un caso particular. El objeto de este artı́culo
desde distintas perspectivas de teorı́a de la información, desde es interpretar y justificar nuestra métrica de privacidad desde
la propiedad de equipartición asintótica, pasando por los funda-
mentos sobre los que sustentan los métodos de maximización de distintas perspectivas, a través de la propiedad de equipartición
la entropı́a, la minimización de la divergencia y la minimización asintótica, el test de hipótesis y el lema de Stein.
de la ganancia de información, hasta el lema de Stein. La Sección II revisa las propuestas más relevantes en cuanto
a recuperación de información privada y criterios de privaci-
I. I NTRODUCCI ÓN dad. La Sección III repasa algunos conceptos fundamentales
Durante las últimas dos décadas, Internet se ha ido integrando relacionados con teorı́a de la información que ayudarán a
de manera gradual en nuestra vida diaria. Una de las activi- entender la esencia de este trabajo. La Sección IV presenta
dades más frecuentes que llevan a cabo los usuarios cuando una formulación de teorı́a de la información sobre el com-
navegan por la Web es enviar una consulta a un motor de promiso entre privacidad y redundancia para la falsificación
búsqueda. Los motores de búsqueda permiten a los usuarios de consultas en el contexto de recuperación de información
recuperar información sobre una gran variedad de categorı́as, privada. Esta sección muestra nuestra medida de privacidad,
tales como hobbies, deportes, negocios o salud. Sin embargo, y posteriormente la interpreta y justifica. Finalmente, en la
la mayorı́a de usuarios no son conscientes de los riesgos de Sección V se presentan las conclusiones.
privacidad que ello entraña [1].
De noviembre a diciembre de 2008, el 61 % de los adultos II. E STADO DEL A RTE EN R ECUPERACI ÓN DE
en Estados Unidos buscaron información en la red sobre I NFORMACI ÓN P RIVADA
una enfermedad en particular, un tratamiento especı́fico, y A lo largo de este artı́culo, utilizaremos el término recu-
otros temas relacionados [2]. Dichas consultas podrı́an revelar peración de información privada (PIR, private information
información sensible y ser utilizada para construir perfiles retrieval) en su sentido más amplio, queriendo decir con ello
de usuario sobre enfermedades potenciales. Esta información que no nos ceñiremos a las técnicas basadas en criptografı́a
privada podrı́a acabar más tarde en las manos de un empresario normalmente relacionadas con este acrónimo. Por consigu-
y frustrar las esperanzas de uno de sus empleados. iente, nos referiremos a un escenario más genérico en el
En la literatura sobre sistemas de recuperación de infor- que los usuarios envı́an consultas de propósito general a un
mación abundan los casos como el descrito, en los que se proveedor de servicios de información. Un ejemplo serı́a un
constata la importancia de la privacidad del usuario. Estos usuario que enviase la consulta: “¿Cuál es la pelı́cula más
casos incluyen no sólo el riesgo de que los usuarios puedan taquillera en la categorı́a de ciencia ficción?”. A continuación,
ser caracterizados por un motor de búsquedas de Internet, revisaremos las contribuciones más destacadas para PIR sobre
sino también por proveedores de servicios basados en la la generación de consultas falsas y criterios de privacidad.
localización (LBS, location-based services), o incluso la car-
acterización de empresas por parte de proveedores de bases de II-A. Recuperación de Información Privada
datos de patentes o mercados de valores. En este contexto, la En el ámbito de la recuperación de información privada,
falsificación de consultas, que consiste en acompañar consultas existen una gran variedad de propuestas. Algunas de ellas
auténticas con consultas falsas, emerge como una posible se basan en terceras partes de confianza (TTPs, trusted third
solución para garantizar la privacidad del usuario hasta un parties) que actúan como intermediario entre los usuarios y el
cierto punto, a costa de una sobrecarga de tráfico y procesado. proveedor de servicios de información [3]. Aunque este tipo
129
de soluciones garantizan la privacidad del usuario gracias a II-B. Criterios de Privacidad
que su identidad es, de hecho, desconocida para el proveedor En esta sección revisaremos una serie de técnicas propuestas
de servicios, la confianza del usuario únicamente se traslada originalmente para el control de revelación estadı́stico (SDC,
de una entidad a otra. statistical disclosure control), pero igualmente aplicables a
Como alternativa, algunas propuestas que no se basan en PIR, la aplicación que motiva nuestro trabajo. En privacidad de
TTPs, utilizan técnicas de perturbación. En el caso concreto bases de datos, se define un conjunto de microdatos como una
de LBS, los usuarios perturban su información de localización tabla de base de datos cuyos registros contienen información
al consultar a un proveedor de servicios [4]. Esto proporciona sobre encuestados individuales. Especı́ficamente, este conjunto
a los usuarios un cierto nivel de privacidad en términos contiene atributos clave, es decir, atributos que, utilizados
de localización, pero no ası́ en cuanto al contenido de las conjuntamente, se pueden relacionar con información externa
consultas y la actividad del usuario. Asimismo, esta técnica para reidentificar a los encuestados a los que se refieren los
plantea un compromiso entre privacidad y utilidad de los registros en el conjunto de microdatos. Como ejemplo, los
datos: cuanto mayor es la perturbación de la localización, atributos clave podrı́an ser trabajo, dirección, edad, género,
mayor es la privacidad del usuario, pero menor la precisión peso y altura. De igual modo, el conjunto de microdatos
de las respuestas del proveedor de servicios. Como alternativa, contiene atributos confidenciales con información sensible
los métodos criptográficos para PIR permiten a un usuario sobre el encuestado, tales como sueldo, religión o afiliación
recuperar, de forma privada, el contenido de una base datos polı́tica.
indexado por una dirección de memoria enviada por el usuario, Un planteamiento habitual en SDC es la microagregación,
haciendo que sea inviable por parte del proveedor de la base de que consiste, primero, en dividir el conjunto de datos en grupos
datos averiguar qué entradas fueran recuperadas [5]. Desafor- de registros con tuplas de valores de atributos clave similares, y
tunadamente, este tipo de métodos requieren la cooperación segundo, en reemplazar las tuplas de cada registro en cada uno
del proveedor en el protocolo de privacidad, se restringen hasta de los grupos por una tupla representativa del grupo. Uno de
cierto punto a funciones de consulta-respuesta en forma de los criterios de privacidad más populares en la anonimización
tablas de búsqueda de longitud finita con respuestas precom- de bases de datos, es k-anonimato [9]. Este criterio se puede
putadas, y conllevan una significativa carga computacional. lograr a través de la microagregación, ya que requiere que
La generación de consultas falsas, que el centro de nues- cada combinación de atributos clave sea compartida por al
tra discusión, aparece como una alternativa a los métodos menos k registros en el conjunto de microdatos. Sin embargo,
anteriores. La idea subyacente consiste en enviar consultas el principal inconveniente de este criterio y de sus posteriores
originales junto con consultas falsas. A pesar de la sencillez de mejoras [10]–[12] es su vulnerabilidad ante los ataques de
este método, la falsificación de consultas es capaz de garantizar similitud y skewness [13]. Con el objeto de superar estas
la privacidad del usuario hasta un cierto punto, a costa de una deficiencias, [14] propone otro criterio de privacidad. Con-
sobrecarga de tráfico y procesado, aunque sin tener que tener cretamente, un conjunto de datos satisface t-closeness si, para
confiar ni en el proveedor de información ni en el operador cada grupo de registros que comparten una combinación de
de red. atributos clave, la divergencia de Kullback y Leibler (KL)
entre la distribución de atributos confidenciales dentro de un
Basándose en este principio, se han propuesto e implementa-
grupo y la distribución de estos atributos en el conjunto de
do varios protocolos PIR. En [6], [7], se presenta una solución
datos global no supera un umbral t. Inspirados en esta idea,
que pretende preservar la privacidad de un grupo de usuarios
[15], [16] definen riesgo de privacidad como una versión
que navegan por Internet compartiendo un punto de acceso a
promediada del requisito impuesto por t-closeness sobre el
la Web. Los autores proponen la generación de transacciones
conjunto de grupos agregados. Otro criterio de privacidad
falsas, i.e., accesos a páginas web para frustrar a un atacante
basado en teorı́a de la información propone medir el grado
en su intento por caracterizar al grupo. La privacidad se mide
de anonimato observable por un atacante como la entropı́a de
como la similitud entre el perfil real de un grupo de usuarios
la distribución de probabilidad de los posibles emisores de un
y el observado por el atacante [6].
determinado mensaje [17], [18].
Además de las implicaciones legales, existen distintas con- A pesar de las propuestas citadas anteriormente, querrı́amos
sideraciones técnicas para la preservación de la privacidad a poner énfasis en la posible necesidad, por parte de algunas
través de la generación de consultas falsas [8], puesto que aplicaciones, de criterios de privacidad basados en teorı́a
los atacantes podrı́an analizar no sólo el contenido de las de la información más sofisticados que k-anonimato o sus
consultas sino también la actividad, el ritmo de generación, respectivas mejoras.
el enrutamiento o cualquier otro parámetro del protocolo de
transmisión, por medio de varias consultas o a través de III. I NTRODUCCI ÓN A C ONCEPTOS DE T EOR ÍA DE LA
diversos servicios de información. Asimismo, se espera que I NFORMACI ÓN
tanto los proveedores de información como los de la red se A lo largo de este artı́culo, denominaremos alfabeto al espacio
muestren reticentes a la generación automática de consultas medible en el que una variable aleatoria (v.a.) toma valores.
falsas, con lo que cualquier esquema que se precie debe tener Seguiremos la convención de utilizar mayúsculas para las
en cuenta la sobrecarga de tráfico. v.a.’s, y minúsculas para los valores particulares que éstas
130
pueden tomar. Las funciones de densidad de probabilidad Suponga que elegimos una región de aceptación con la inten-
(PDFs, probability density functions) y las funciones de masa ción de minimizar βk , mientras que no permitimos que αk
de probabilidad (PMFs, probability mass functions) son de- exceda un cierto umbral . En términos generales, el lema de
notadas por p, subindexadas por sus correspondientes v.a.’s Stein afirma que la tasa de error óptima, βk , es aproximada-
en caso de ambigüedad. Por ejemplo, tanto pX (x) como mente e−k D(p1 p2 ) , para valores de k grandes y pequeños.
p(x) indican el valor de la función pX en x, lo que ayuda A modo de ejemplo, considere el test de hipótesis en el
a escribir ecuaciones más concisas. De manera informal, que observamos una secuencia X1 , . . . , Xk de k lanzamientos
nos referiremos ocasionalmente a la función p como p(x). i.i.d.’s de una v.a., e intentamos averiguar si se han producido
Asimismo, utilizaremos la notación pX|Y y p(x|y) de manera de acuerdo con una distribución gaussiana p1 = N (d/2, σ 2 )
equivalente. o p2 = N (−d/2, σ 2 ). Teniendo en cuenta estas distribuciones,
En este artı́culo, adoptamos la misma notación utilizada elegirı́amos la región de decisión óptima Ak dada por el lema
en [19] para cantidades de teorı́a de la información. En de Neyman-Pearson [19], y calcuları́amos la probabilidad de
concreto, el sı́mbolo H se referirá a la entropı́a y D a la un falso positivo como la integral de p2 (x1 , . . . , xk ) sobre Ak .
entropı́a relativa o divergencia KL. A continuación recordamos Resulta que, a partir del lema de Stein, esta probabilidad es
−k d2 2
muy brevemente varios conceptos de teorı́a de la información aproximadamente e 2σ2 , ya que D(p1 ! p2 ) = 2σ d
2 , lo que
para aquellos lectores que no estén ı́ntimamente familiarizados hace más palpable esta noción de distancia: cuanto mayor es
con este campo. Por simplicidad, utilizaremos logaritmos la distancia real d entre las medias de las dos distribuciones,
neperianos. mayor es la divergencia KL, y menor la probabilidad de error
La entropı́a H(X) de una v.a. discreta X con distribución al distinguir entre ambas distribuciones.
de probabilidad p es una medida de su incertidumbre, y
se define como IV. U N C RITERIO DE P RIVACIDAD DE T EOR ÍA DE LA
I NFORMACI ÓN PARA LA FALSIFICACI ÓN DE C ONSULTAS
H(X) = − E ln p(X) = − p(x) ln p(x),
x Esta sección presenta la principal contribución de este trabajo,
un nuevo criterio de privacidad basado en una cantidad de
donde E es el operador esperanza. Este operador es
teorı́a de la información para la falsificación de consultas en
sustituido por la integral cuando p es una PDF.
PIR. En concreto, la Sección IV-A introduce nuestra medida
de privacidad, lo que nos conduce al problema de optimización
Dadas dos distribuciones de probabilidad p(x) y q(x)
mostrado en la Sección IV-B en el que se presenta el com-
sobre el mismo alfabeto, la divergencia KL o entropı́a
promiso óptimo entre riesgo de privacidad y redundancia.
relativa D(p ! q) se define, en el caso discreto, como
Posteriormente, interpretamos y justificamos nuestra medida
p(X) p(x) de privacidad desde distintos puntos de vista. En particular,
D(p ! q) = Ep ln = p(x) ln . la Sección IV-C investiga los fundamentos sobre los que
q(X) x
q(x)
se sustentan los métodos de maximización de la entropı́a,
Cuando p y q son PDFs, la esperanza se transforma en la minimización de la divergencia y la minimización de la
una integral. ganancia de información. Para comprender estos argumentos,
Aunque la divergencia KL no satisface la propiedad de revisamos la propiedad de equipartición asintótica, el test de
simetrı́a y la desigualdad triangular, nos da una medida de hipótesis y el lema de Stein.
la distancia o discrepancia entre distribuciones, en el sentido
que D(p ! q) ≥ 0, con igualdad si y sólo si p = q. IV-A. Criterio de Privacidad
Este intuitivo sentido de distancia se hace más evidente al Nuestro modelo matemático representa las consultas de
examinar el lema de Stein. Suponga que observamos una se- usuario como v.a.’s que toman valores en un alfabeto común.
cuencia de k v.a.’s independientes e idénticamente distribuidas Asumiremos que las consultas de usuario no son elaboradas
(i.i.d.’s), y que necesitamos evaluar si éstas han sido generadas o detalladas. En su lugar, éstas se referirán a un conjunto de
según una distribución de probabilidad p1 , hipótesis H1 , o categorı́as o temas, o de forma equivalente, podrán representar
p2 , hipótesis H2 . Dadas estas dos hipótesis, definimos la palabras clave en un conjunto indexable reducido. Por consigu-
región de aceptación Ak como el conjunto de secuencias iente, consideraremos que el alfabeto es finito. En concreto,
que, una vez observadas, nos llevan a aceptar H1 . De forma asumiremos que las consultas toman valores en el alfabeto
análoga, definimos el complemento de este conjunto, A¯k , X = {1, . . . , n} para algún n ∈ Z+ .
como el conjunto de secuencias que nos decantan por H2 . Teniendo en cuenta estas consideraciones, definiremos p
A continuación, contemplamos las siguientes probabilidades como la distribución de consultas de la población, q como
de error: la distribución real de un usuario en particular, y r como
la probabilidad de un falso negativo αk , definido como la distribución de las consultas falsificadas de ese usuario.
la probabilidad de aceptar H2 cuando H1 es cierta, Asimismo, consideraremos un parámetro de redundancia de
y la probabilidad de un falso positivo βk , definido como consultas 0 ρ 1, que será el ratio entre consultas falsifi-
la probabilidad de aceptar H1 cuando H2 es cierta. cadas y consultas totales. De acuerdo con esto, definiremos la
131
distribución de consultas aparente del usuario s como la com- de nuestra formulación está supeditada a la adaptación de los
binación convexa (1−ρ) q+ρ r, que será la distribución que en criterios optimizados, que a su vez depende de varios factores
realidad observará el proveedor de servicios de información, tales como la propia aplicación, el modelo de adversario y
o simplemente, un atacante de la privacidad. Un atacante los mecanismos en contra de la privacidad que se hayan
será capaz de comprometer la privacidad de un usuario siempre contemplado. Las interpretaciones y justificaciones que aquı́ se
que la distribución de consultas aparente de este usuario difiera detallan tienen por objeto ayudar a los diseñadores y usuarios
de la distribución de consultas de la población. de sistemas a evaluar la adecuación de nuestra propuesta a una
Inspirados por los criterios de privacidad propuestos aplicación especı́fica de recuperación de información.
en [14]–[17], definimos el riesgo de privacidad inicial como Asimismo, querrı́amos poner énfasis en que, a pesar de
la divergencia KL entre la distribución del usuario y la de que nuestro criterio de privacidad se basa en una cantidad
la población, es decir, R0 = D(q ! p). De forma similar, fundamental de teorı́a de la información, la convergencia de
definimos el riesgo de privacidad final R como la divergencia estos dos campos en absoluto es nueva. De hecho, el trabajo
KL entre la distribución aparente y la distribución de la de Shannon en los años cincuenta ya introdujo el concepto de
población, es decir, equivocación como la entropı́a condicional de un mensaje pri-
vado dada la observación de un criptograma [20], utilizada más
R = D(s ! p) = D((1 − ρ) q + ρ r ! p).
tarde en la formulación del problema wiretap channel [21],
[22] como una medida de confidencialidad. Del mismo modo,
podemos mencionar la interpretación basada en teorı́a de la
IV-B. Compromiso Óptimo entre Privacidad de Consultas y información de la divergencia entre las distribuciones a priori y
Redundancia a posterior, denominada ganancia de información promedio en
Esta sección muestra una formulación del compromiso entre algunos campos de estadı́stica [23], [24]. Asimismo, estudios
privacidad y redundancia para la generación de consultas recientes [17] reafirman la adecuación y aplicabilidad del
falsas, que surge de la medida de privacidad presentada en concepto de entropı́a como medida de privacidad, tal y como
la Sección IV-A. Partiendo de la definición de nuestro criterio comentamos en la Sección II.
de privacidad, supondremos que la población es suficiente- IV-C1. Maximización de la Entropı́a: Nuestra primera
mente grande como para despreciar el impacto de la elección interpretación está basada, de hecho, en la idea de que la
de r en p. De esta forma, definimos la función privacidad- entropı́a de Shannon se puede considerar como un caso par-
redundancia ticular del criterio propuesto en este artı́culo. Para comprender
esta conexión, suponga que la distribución de consultas de la
R(ρ) = mı́n D((1 − ρ) q + ρ r ! p), (1)
r población es la distribución uniforme u sobre el alfabeto X ,
que representa el compromiso óptimo entre riesgo de privaci- es decir, que ui = 1/n para todo i ∈ X . En este supuesto, el
dad de consultas y redundancia. riesgo de privacidad se puede expresar como
El término mı́nimo que aparece en la definición de la función
privacidad-redundancia está justificado por el hecho de que
D((1 − ρ) q + ρ r ! u) = ln n − H((1 − ρ) q + ρ r).
el problema de optimización planteado implica una función
acotada inferiormente y semi-continua inferiormente sobre un Por tanto, minimizar la divergencia KL es equivalente a
conjunto compacto, que es el sı́mplex de probabilidad al que maximizar la entropı́a de la distribución de consultas aparente
pertenece r. del usuario:
Teniendo en cuenta esta formulación, conviene apreciar
que es posible obtener resultados teóricos análogos para una R(ρ) = ln n − máx H((1 − ρ) q + ρ r).
r
definición alternativa del riesgo de privacidad, dada por la
inversión de los argumentos de la divergencia KL. En la Esta equivalencia nos conduce a las siguientes dos implica-
Sección IV-C2 se dan más detalles sobre esta formulación ciones. En primer lugar, el criterio de privacidad H((1−ρ) q +
alternativa. ρ r) es una medida de ganancia de privacidad, más que de
riesgo de privacidad. En segundo lugar, se trata de una medida
IV-C. Interpretación y Justificación de privacidad absoluta, en contraste con nuestro criterio más
En esta sección interpretaremos y justificaremos la divergencia general, en el sentido que es una métrica relativa a cualquier
KL como criterio de privacidad en la definición de la función distribución de referencia.
privacidad-redundancia. En concreto, examinaremos los argu- El hecho de considerar esta medida absoluta de ganancia
mentos en la literatura que abogan por la maximización de la de privacidad permite acercarnos a los fundamentos sobre
entropı́a, y la minimización de la divergencia y la ganancia de los que se apoyan los métodos de maximización de la en-
información. tropı́a. Algunos de estos argumentos están relacionados con
Antes de proceder a la interpretación y justificación de nues- el mayor número de permutaciones con repetición asociado
tro criterio de privacidad, querrı́amos comentar que, aunque a una distribución empı́rica [25]. Sin embargo, el argumento
nuestra propuesta surge de una cantidad de teorı́a de la más apropiado para la justificación de la maximización de
información y resulta matemáticamente tratable, la adecuación la entropı́a, considerada como una medida de privacidad,
132
viene dado por la propiedad de equipartición asintótica (AEP, del usuario s, hipótesis U , o la distribución general de la
asymptotic equipartition property) [19, §3]. población p, hipótesis P.
Suponga una secuencia X1 , . . . , Xk de k consultas i.i.d.’s, Llegados a este punto, un atacante podrı́a llevar a cabo
que toman valores en X , y son generadas de acuerdo con dos estrategias mutuamente excluyentes. La primera estrategia
la distribución de consultas aparente del usuario s = (1 − considera que el atacante está interesado en acotar la proba-
ρ) q + ρ r. Para k suficientemente grande, la AEP sostiene bilidad de un falso negativo P(P|U ), dado que su objetivo
que es muy probable que la secuencia de consultas x1 , . . . , xk es que el usuario no pase desapercibido. A partir del lema de
pertenezca a un subconjunto T (k) del conjunto de todas las Stein, encontramos que la probabilidad P(P|U ) de un falso
posibles secuencias, denominado conjunto tı́pico, que satisface positivo es aproximadamente e−k D(s p) para k grande. Por
estas propiedades: la probabilidad de este conjunto es apro- consiguiente, la minimización de D(s ! p) en la definición de
ximadamente 1, todos los elementos son casi equiprobables, la función privacidad-redundancia (1) implica la maximización
y el número de elementos es prácticamente ek H(s) . Resulta del exponente en la tasa de error de falsos positivos. Dicho de
que la entropı́a está acotada superiormente por ln n, como otra forma, la distribución óptima de consultas falsas r∗ frustra
consecuencia de la no negatividad de la divergencia KL, y a un atacante en su esfuerzo por reconocer a un usuario de
alcanza su valor máximo cuando la distribución aparente es la entre la población, y por tanto, comprometer la privacidad del
distribución uniforme. A partir de esta observación, podemos usuario.
deducir que la distribución uniforme maximiza el conjunto Más que fijar la probabilidad de un falso negativo, ahora
tı́pico T (k) y, cuando esto sucede, éste se convierte en el el objetivo del atacante es minimizar la probabilidad de error
conjunto de todos los posibles resultados, conteniendo nk global
secuencias. Puesto que H(s) caracteriza completamente esta
aproximación, cualquier medida de privacidad con sentido PT = P(U ) P(P|U ) + P(P) P(U |P).
acabarı́a siendo básicamente equivalente a ésta.
Aprovechándose del hecho de que la actividad de la población
Teniendo en cuenta esta conexión entre entropı́a y tamaño
global es mucho mayor que la de un único usuario, el
del conjunto tı́pico, ahora describiremos la siguiente amenaza
atacante está interesado en acotar P(U |P), y hacer lo posible
de privacidad. Suponga que un atacante intenta adivinar una
para minimizar P(P|U ). Resulta que la probabilidad de un
secuencia de k consultas de un usuario en particular a partir
falso negativo dado por el lema de Stein es aproximadamen-
de la observación de secuencias previas. Cuanto mayor sea
te e− D(p s) , lo que justifica una definición alternativa de
la entropı́a H(s) de la distribución de consultas aparente del
la función privacidad-redundancia dada por la inversión de
usuario, mayor será el tamaño del conjunto tı́pico T (k) de
los dos argumentos de la divergencia KL. De acuerdo con
secuencias posibles e igualmente probables de k consultas,
esta observación, la estrategia de falsificación de consultas
y mayor la probabilidad de que la secuencia a adivinar sea
r∗ que minimiza D(p ! s), conduce a la maximización de
significativamente diferente de las anteriores. Este escenario
la probabilidad de error global del atacante y contribuye a
nos permite concluir que los métodos de maximización de
proteger la privacidad del usuario.
la entropı́a contribuyen ampliamente a la protección de la
A modo de aclaración, nos gustarı́a destacar que, a pesar
privacidad del usuario.
de que esta definición alternativa resulta oportuna en el último
IV-C2. Minimización de la Divergencia: En la sección escenario propuesto, nosotros creemos que la formulación
anterior examinamos los argumentos que abogan por la maxi- original es más apropiada, ya que incluye, como caso par-
mización de la entropı́a. En esta sección, recurriremos al lema ticular, los métodos de maximización de la entropı́a descritos
de Stein, revisado en la Sección III, para nuestra interpretación en la Sección IV-C1.
de la divergencia como falsos positivos y falsos negativos. En IV-C3. Minimización de la Ganancia de Información:
concreto, describiremos un escenario en el que un atacante Una vez analizados los principales argumentos en pro de
utiliza test de hipótesis para comprometer la privacidad del la maximización de la entropı́a y la minimización de la
usuario. divergencia, ahora estableceremos una conexión entre nuestro
En el resto de la sección, consideraremos nuestro criterio de criterio de privacidad y el criterio propuesto en [16].
privacidad en su sentido más amplio, es decir, la distribución Considere pQ|U (q|u) la distribución de consultas del
de consultas del usuario no se comparará necesariamente, en usuario u, donde U es una variable aleatoria que identifica a
términos de la divergencia KL, con la distribución uniforme. un usuario en particular y toma el valor u. Asimismo, Q es una
Nuestra interpretación contempla el escenario en el que variable aleatoria que representa una consulta en particular, y
un atacante conoce, o es capaz de estimar, la distribución toma el valor q.
de consultas aparente s de un usuario determinado. Además, Sea pQ (q) la distribución de probabilidad sin condicionar
suponemos que el atacante observa una secuencia de k con- que modela la distribución de consultas de la población. Natu-
sultas i.i.d.’s, e intenta adivinar si éstas han sido generadas ralmente, pU (u) serı́a la probabilidad de usuario, posiblemente
por ese usuario o no. Exactamente, el atacante considera el ponderada por su actividad. En esta notación, nuestra medida
test de hipótesis binario entre dos alternativas: si las consultas de riesgo de privacidad para el usuario u se puede escribir
se han producido de acuerdo con la distribución aparente como D(pQ|U (·|u)!pQ ). De forma similar, podemos aplicarla
133
para redefinir el concepto de t-closeness. Una distribución CSD2007-00004 “ARES” y TSI2007-65393-C02-02 “ITAC”,
satisface t-closeness si y sólo si D(pQ|U (·|u)!pQ ) ≤ t para y por el gobierno catalán bajo la subvención 2009 SGR 1362.
todos los valores u de U , lo que sugiere medir el riesgo de
R EFERENCIAS
privacidad como un máximo sobre divergencias. Inspirados
por t-closeness, [16] presenta un planteamiento más intere- [1] D. Fallows, “Search engine users,” Pew Internet and American Life
Project, Tech. Rep., Jan. 2005.
sante en el sentido que nos permite conectar con la ganancia de [2] S. Fox and S. Jones, “The social life of health information,” Pew Internet
información promedio. En concreto, el criterio de privacidad and American Life Project, Tech. Rep., Jun. 2009.
propuesto en [16] es la divergencia KL condicional [3] C. C. M. F. Mokbel and W. G. Aref, “The new casper: query processing
for location services without compromising privacy,” in Proc. Int. Conf.
on Very Large Data Bases. VLDB J., 2006, pp. 763–774.
D(pQ|U !pQ ) = EU D(pQ|U (·|U )!pQ ), [4] M. Duckham, K. Mason, J. Stell, and M. Worboys, “A formal approach
to imperfection in geographic information,” Comput., Environ., Urban
es decir, la información mutua entre Q y U , o de forma equi- Syst., vol. 25, no. 1, pp. 89–103, 2001.
valente, el promedio entre usuarios del criterio de privacidad [5] R. Ostrovsky and W. E. Skeith III, “A survey of single-database PIR:
Techniques and applications,” in Proc. Int. Conf. Practice, Theory
definido en este artı́culo. En contraste con este criterio, nuestra Public-Key Cryptogr. (PKC), ser. Lecture Notes Comput. Sci. (LNCS),
medida de privacidad contempla un único usuario, pero podrı́a, vol. 4450. Beijing, China: Springer-Verlag, Sep. 2007, pp. 393–411.
en principio, generalizarse a escenarios multiusuarios en una [6] B. S. Y. Elovici and A. Maschiach, “A new privacy model for hiding
group interests while accessing the web,” in Proc. ACM Workshop on
futura propuesta. Privacy in the Electron. Society. ACM, 2002, pp. 63–70.
[7] B. Shapira, Y. Elovici, A. Meshiach, and T. Kuflik, “PRAW – The model
V. C ONCLUSIONES for PRivAte Web,” J. Amer. Soc. Inform. Sci., Technol., vol. 56, no. 2,
Existe una gran variedad de propuestas para PIR, considerado pp. 159–172, 2005.
[8] C. Soghoian, “The problem of anonymous vanity searches,” I/S: J. Law,
aquı́ en el sentido más amplio del término. Dentro de estas Policy Inform. Soc. (ISJLP), Jan. 2007.
soluciones, la generación de consultas falsas surge como una [9] P. Samarati and L. Sweeney, “Protecting privacy when disclosing infor-
estrategia simple en términos de requisitos de infraestructura, mation: k-Anonymity and its enforcement through generalization and
suppression,” SRI Int., Tech. Rep., 1998.
ya que los usuarios no necesitan una entidad externa en la que [10] X. Sun, H. Wang, J. Li, and T. M. Truta, “Enhanced p-sensitive k-
confiar. Sin embargo, esta solución plantea un compromiso anonymity models for privacy preserving data publishing,” Trans. Data
entre la privacidad y el coste de la sobrecarga de tráfico y Privacy, vol. 1, no. 2, pp. 53–66, 2008.
[11] A. Machanavajjhala, J. Gehrke, D. Kiefer, and M. Venkitasubramanian,
procesado. “l-Diversity: Privacy beyond k-anonymity,” in Proc. IEEE Int. Conf.
Nuestra principal contribución es un criterio de privacidad Data Eng. (ICDE), Atlanta, GA, Apr. 2006, p. 24.
basado en teorı́a de la información para la falsificación de [12] H. Jian-min, C. Ting-ting, and Y. Hui-qun, “An improved V-MDAV
algorithm for l-diversity,” in Proc. IEEE Int. Symp. Inform. Processing
consultas en PIR, que emerge de la formulación del compro- (ISIP), Moscow, Russia, May 2008, pp. 733–739.
miso entre privacidad y redundancia. Inspirados por el trabajo [13] J. Domingo-Ferrer and V. Torra, “A critique of k-anonymity and some
en [16], medimos el riesgo de privacidad como la divergencia of its enhancements,” in Proc. Workshop Privacy, Security, Artif. Intell.
(PSAI), Barcelona, Spain, 2008, pp. 990–993.
KL entre la distribución de consultas aparente del usuario, [14] N. Li, T. Li, and S. Venkatasubramanian, “t-Closeness: Privacy beyond
que contiene consultas falsas, y la de la población. Nuestra k-anonymity and l-diversity,” in Proc. IEEE Int. Conf. Data Eng.
formulación contempla, como caso especial, la maximización (ICDE), Istanbul, Turkey, Apr. 2007, pp. 106–115.
[15] D. Rebollo-Monedero, J. Forné, and J. Domingo-Ferrer, “From t-
de la entropı́a de la distribución del usuario. closeness to PRAM and noise addition via information theory,” in
En este artı́culo justificamos nuestro criterio de privacidad Privacy Stat. Databases (PSD), ser. Lecture Notes Comput. Sci. (LNCS).
al interpretarlo desde distintas perspectivas, y al conectarlo Istambul, Turkey: Springer-Verlag, Sep. 2008, pp. 100–112.
[16] ——, “From t-closeness-like privacy to postrandomization via
con los argumentos en la literatura que abogan por la max- information theory,” IEEE Trans. Knowl. Data Eng., Oct. 2009. [Online].
imización de la entropı́a, la minimización de la divergencia Available: [Link]
y la minimización de la ganancia de información. Nuestras [17] C. Dı́az, S. Seys, J. Claessens, and B. Preneel, “Towards measuring
anonymity,” in Proc. Workshop Privacy Enhanc. Technol. (PET), ser.
interpretaciones están basadas en la AEP, el test de hipótesis Lecture Notes Comput. Sci. (LNCS), vol. 2482. Springer-Verlag, Apr.
y el lema de Stein, y el criterio de ganancia de información 2002.
promedio propuesto en [16]. [18] C. Dı́az, “Anonymity and privacy in electronic services,” Ph.D. disser-
tation, Katholieke Univ. Leuven, Dec. 2005.
Aunque nuestra propuesta surge de una medida de teorı́a [19] T. M. Cover and J. A. Thomas, Elements of Information Theory, 2nd ed.
de la información y resulta matemáticamente tratable, la ade- New York: Wiley, 2006.
cuación de nuestra formulación está supeditada a la adaptación [20] C. E. Shannon, “Communication theory of secrecy systems,” Bell Syst.,
Tech. J., 1949.
de los criterios optimizados, que a su vez depende de varios [21] A. Wyner, “The wiretap channel,” Bell Syst., Tech. J. 54, 1975.
factores tales como la propia aplicación, la estadı́stica de [22] I. Csiszár and J. Körner, “Broadcast channels with confidential mes-
consultas de los usuarios, la sobrecarga de red y de procesado sages,” IEEE Trans. Inform. Theory, vol. 24, pp. 339–348, May 1978.
[23] P. M. Woodward, “Theory of radar information,” in Proc. London Symp.
provocados por la consultas falsas, el modelo de adversario Inform. Theory, Ministry of Supply, London, UK, 1950, pp. 108–113.
y los mecanismos en contra de la privacidad que se hayan [24] D. V. Lindley, “On a measure of the information provided by an
contemplado. experiment,” Annals Math. Stat., vol. 27, no. 4, pp. 986–1005, 1956.
[25] E. T. Jaynes, “On the rationale of maximum-entropy methods,” Proc.
AGRADECIMIENTOS IEEE, vol. 70, no. 9, pp. 939–952, Sep. 1982.
134
Microagregación para el k -anonimato en registros
de buscadores Web
Guillermo Navarro-Arribas∗ , Vicenç Torra∗ , Arnau Erola† , Jordi Castellà-Roca†
∗IIIA, Institut d’Investigació en Intel.·ligència Artificial -
CSIC, Consejo Superior de Investigaciones Cientı́ficas,
Email: {guille, vtorra}@[Link]
† Departament d’Enginyeria Informàtica i Matemàtiques,
135
24963762 myspace codes 2006-05-31 [Link] 2 [Link]
24964082 bank of america 2006-05-31 [Link] 1 [Link]
24967641 donut pillow 2006-05-31 [Link]
24967641 dicontinued dishes 2006-05-31 [Link]
24969374 orioles tickets 2006-05-31 [Link] 2 [Link]
24969374 baltimore marinas 2006-05-31 [Link]
que especifica que cada consulta de los datos anónimos Partición. Los registros se dividen en clústers, de manera
debe retornar como mı́nimo k registros iguales. Conseguir k- que cada clúster tenga al menos k registros.
anonimato a nivel de usuario en los registros de búsqueda es Agregación. Para cada clúster, se calcula un represen-
el principal objetivo de nuestra propuesta, ya que previene la tante (centroide), y se sustituyen los registros originales
reidentificación de los usuarios que era posible en los registros por dicho representante.
inicialmente publicados por AOL [2]. Desde un punto de vista formal, la microagregación se
Para conseguir k-anonimato a nivel de usuario aplicamos puede definir como un problema de optimización con algu-
microagregación a los registros, lo que permite no tener que nas restricciones. Damos una formalización a continuación
borrar explı́citamente ninguno. Para poder microagregar los utilizando uij para denotar la partición de registros en el
registros de búsqueda a nivel de usuario, consideramos como conjunto de datos original X. Esto es, uij = 1 si el registro j
un solo registro todos los registros de un mismo usuario. Es está asignado al clúster i. Sea vi el representante del clúster i;
decir, hay un registro por usuario, y cada registro contiene la formulación general de la microagregación con g clústers y
todos los registros de dicho usuario, que son tratados como dado el parámetro k es:
un todo en el proceso de protección. g n
MinimizarSSE = i=1 j=1 uij (d(xj , vi ))2
Un importante inconveniente de nuestra propuesta es que se Sujeto a
g
uij = 1 para todo j = 1, . . . , n
i=1
pierde algo de información en los datos protegidos. Como en n
2k ≥ j=1 uij ≥ k para todo i = 1, . . . , g
casos similares siempre existe un balance entre privacidad y uij ∈ {0, 1}
utilidad. En nuestro caso, mostramos que, aún consiguiendo Para datos numéricos, generalmente d(x, v) corresponde a
un nivel de privacidad muy alto, los datos siguen preservando la distancia Euclı́dea. En el caso general, cuando se consideran
suficiente utilidad para ser usados en procesos de data-mining los atributos V =
o análisis estadı́stico. (V1 , . . . , Vs ), x y v son vectores y d pasa
a ser d2 (x, v) = Vi ∈V (xi − vi )2 . Además, suele ser común
III. M ICROAGREGACI ÓN DE REGISTROS DE B ÚSQUEDA en datos numéricos definir vi como la media aritmétican de los
n
registros del clúster. Es decir, vi = j=1 u ij x i / j=1 uij .
Para poder aplicar microagregación a los registros de Dado que la solución a este problema cuando se considera
búsqueda debemos definir el proceso de microagregación. En más de una variable a la vez (microagregación multivariable)
las secciones siguientes introducimos la microagregación y es NP-Hard [19] se han desarrollado métodos heurı́sticos.
como la utilizamos para proteger registros de búsqueda. MDAV [5] (Maximum Distance to Average Vector) es uno
III-A. Microagregación de estos algoritmos heurı́sticos. Se encuentra descrito con
detalle en el Algoritmo 1, donde se aplica a un conjunto de
La microagregación es una técnica de control de revelación datos X con n registros y A atributos. La implementación de
estadı́stica (SDC), que proporciona privacidad mediante la MDAV para datos categóricos se da en [7].
agrupación de los datos en pequeños clústers y sustituyendo Nótese que cuando todas las variables se consideran al mis-
luego los datos originales por los representantes (centroides) mo tiempo, la microagregación es una manera de implementar
del clúster correspondiente. k-anonimato [21], [22].
La privacidad se consigue porqué cada clúster tiene un
número mı́nimo predefinido de elementos: hay al menos k III-B. Distancia y agregación de registros de búsqueda
registros con el mismo valor. Todos los registros del clúster Para microagregar registros de búsqueda a nivel de usuario,
cambian su valor por el del centroide del clúster. La constante necesitamos definir una distancia adecuada para particionar
k es un parámetro que controla el nivel de privacidad del los datos y un operador de agregación para el cálculo del
método. A medida que aumentamos k conseguimos más centroide.
privacidad en los datos protegidos. Denotamos cada usuario idi como:
La microagregación fue originalmente propuesta para atri-
q(idi ) = (idi , ϕi )
butos numéricos [4], aunque más tarde fue ampliada a otros
dominios. Por ejemplo, a datos categóricos en [23] (ver donde ϕi = (ϕi1 , ϕi2 , ϕi3 , . . .) es el vector de búsquedas hechas
también [7]), o a entornos con restricciones en [24]. por el usuario idi . Es decir, ϕij corresponde a la búsqueda j del
Desde el punto de vista operacional, la microagregación se usuario idi , y esta compuesta por ϕij = {tij , rji , uij , φij }, donde
define en términos de partición y agregación: φij = (μ0 , μ1 , μ2 , . . .) es la cadena de búsqueda (términos
136
Algorithm 1: Algoritmo MDAV la distancia es:
Data: X: conjunto de datos original, k: entero
m
Result: X’: conjunto de datos protegido du (X, Y ) = wi αi
1 begin i=0
2 while (|X| ≥ 3 ∗ k) do donde wi = 2m−i /(2m − 1) y αi = 0 si xi = yi (case-
3 Calcular el registro medio x̄ de todos los insensitive string equality) o 1 en caso contrario. Es decir,
registros en X; du es una media con pesos de αi , donde consideramos
4 Seleccionar el registro xr más distante al registro más importante la parte derecha del nombre de dominio.
medio x̄; dlev (x, y): la distancia de Levenshtein (o edit distance)
5 Formar un clúster entorno a xr . El clúster normalizada entre dos cadenas de caracteres x, y.
contiene xr junto a los k − 1 registros más dφ (φi , φj ): distancia entre dos cadenas de búsqueda
cercanos a xr ; (términos introducidos por el usuario) como:
6 Borrar estos registros del conjunto X;
7 Seleccionar el registro xs más distante del 1 |φi | + |φj |
registro xr ; dφ (φi , φj ) = + dH (φi , φj )
2 2
8 Formar un un clúster entorno a xs . El clúster
contiene xs junto a los k − 1 registros más donde dH es la distancia de Hausdorff definida en el
cercanos a xs ; espacio métrico (μ, dlev ), donde μ es el conjunto de todas
9 Borrar estos registros del conjunto X; las palabras μi . Cada búsqueda se representa como un
10 if (|X| >= 2 ∗ k) then conjunto de palabras o términos φi = {μi1 , μi2 , . . .} y se
11 Calcular el registro medio x̄ de todos los utiliza la distancia Levenshtein para compararlos. De esta
registros en X; manera tenemos que:
12 Seleccionar el registro xr más distante al registro
dH (φ1 , φ2 ) = máx(IH (φ1 , φ2 ), IH (φ2 , φ1 ))
medio x̄;
13 Formar un clúster entorno a xr . El clúster donde
contiene xr junto a los k − 1 registros más
cercanos a xr ; IH (φ1 , φ2 ) = máx mı́n dlev (μi , μj )
μi ∈φ1 μj ∈φ2
14 Borrar estos registros del conjunto X;
15 Formar un clúster con los registros restantes; En este caso dφ tiene en cuenta la similitud de los térmi-
16 end nos entre cadenas de búsqueda, pero también considera
el tamaño de la cadena de búsqueda, algo que la distancia
de Hausdorff no considera por sı́ sola.
dϕ (ϕi , ϕj ): distancia entre dos búsquedas de la forma
de búsqueda introducidos por el usuario). También utilizamos ϕi = (ti , ri , ui , φi ), como la media de las distancias
|ϕi | para denotar el número de búsquedas del usuario idi , y correspondientes:
|φij | para el número de términos de búsqueda (palabras) en la 1
búsqueda j del usuario idi . dϕ (ϕ1 , ϕ2 ) = (dt (t1 , t2 ), deuclid (r1 , r2 ), du (u1 , u2 ),
4
Un paso previo a la microagregación es la normalización dφ (φ1 , φ2 ))
de los datos numéricos: timestamp, posición, número de
búsquedas por usuario, y número de términos por búsqueda. Dadas las funciones de distancia anteriores, la distancia final
Dicha normalización se hace en el intervalo [0, 1]. El número entre dos usuarios se calcula como:
de búsquedas normalizado del usuario idi se denota como |ϕi |, 1 1
y el número de términos normalizado en la búsqueda ϕij como d(q(id1 ), q(id2 )) = |ϕ | + |ϕ2 | + dH (ϕ1 , ϕ2 )
3
|φij |. donde dH es la distancia de Hausdorff en el espacio métrico
III-B1. Distancia: La distancia se calcula como la agrega- (ϕ, dϕ ), y donde ϕ es el conjunto de todas las búsquedas ϕi .
ción de varias funciones de distancia para cada par de usuarios. III-B2. Agregación de usuarios: Para determinar el cen-
Definimos la siguientes funciones de distancia: troide de un un clúster de registros de usuarios, calculamos
+ su agregación (C) como la agregación de cada parte de las
deuclid (x, y) = (x − y)2 : distancia euclı́dea que se
búsquedas del usuario:
utiliza para la posición r.
dt (ti , tj ): distancia entre dos timestamps t1 , t2 , como la C(q(id1 ), . . . , q(idk )) = (id , Cϕ (ϕ1 , . . . , ϕk ))
distancia euclı́dea de su representación en UNIX epoch.
du (ui , uj ): distancia entre dos nombres de dominio donde, id es un identificador temporal para el centroide que
(URL clicada). Dados dos nombres de dominios: X = será sustituido por el identificador original del usuario en los
xn . . . . .x0 , y Y = ym . . . . .y0 , y asumiendo que m ≥ n, datos protegidos.
137
De la misma manera, la agregación de búsquedas Cϕ se IV-A. Porcentaje de Perfil Expuesto
define como:
Para cada usuario id disponemos de su conjunto original
Cϕ (ϕ1 , . . . ϕk ) = Cϕ (ϕ11 , . . . , ϕ1|ϕ1 | ), . . . , (ϕk1 , . . . , ϕk|ϕk | ) de consultas ϕ y sus correspondientes protegidas mediante
nuestro sistema de microagregación ϕ . Con la finalidad de
= ϕ∗ verificar que nuestro método protege las consultas de los
= (ϕ∗1 , . . . , ϕ∗|ϕ∗ | ) usuarios ofreciendo k-anonimato hemos usado el Porcentaje
El centroide ϕ∗ está compuesto de las cadenas de búsqueda de Perfil Expuesto (P P E) [9] que se define de la forma
del clúster ϕi para i = 1 . . . k. Por cada vector de búsqueda siguiente:
original ϕi , eso es, todas las búsquedas del usuario i, tomamos
un sub-vector ϕ∗,i de búsquedas tal que: I(ϕ, ϕ )
PPE = · 100
|ϕ∗ | · |ϕi | H(ϕ)
|ϕ∗,i | = k
j=1 |ϕ |
j donde H(ϕ) es la entropı́a del conjunto original de con-
sultas, y I(ϕ, ϕ ) es la información mutua entre ϕ y ϕ .
Estas búsquedas, ϕ∗,i = (ϕ∗,i ∗,i
1 , . . . , ϕ|ϕ∗,i | ),
preservan la
i
Nótese que ϕ y ϕ pueden ser observadas como dos variables
frecuencia de cadenas de búsqueda del original ϕ . De manera discretas.
más formal, dada una función de frecuencia f sobre cadenas El P P E mide el porcentaje de información del usuario que
de búsqueda, se tiene que cumplir que, se ve expuesto cuando ϕ es revelada. Ası́, la información del
f (ϕ∗,i
q ) f (ϕ )
i usuario se calcula como la entropı́a de ϕ, y la información
mutua proporciona una medida de la información que ϕ
donde,
. proporciona sobre ϕ, es decir, cuando ϕ es conocido, en
|{ϕ | ϕ = ϕ∗,i ∗,i
q , ϕ ∈ ϕ }| cuanto se reduce la incertidumbre sobre ϕ.
f (ϕ∗,i
q )=
|ϕ∗,i |
. 70
donde ϕi = ϕj si las cadenas de búsqueda de ambas peticiones
son iguales, es decir, si y solo si φi = φj . 60
50
138
Hemos escogido el ILR (Information Loss Ratio) para Como siempre sucede en el campo de la SDC, existe un
evaluar la utilidad de nuestra propuesta con los mismos fiche- balance entre la privacidad y la utilidad. Mostramos como
ros obtenidos previamente cuando calculamos el P P E. Ası́, nuestra propuesta proporciona k-anonimato, manteniendo cier-
tenemos 1,000 usuarios y sus consultas originales, y para cada ta información de los registros originales. Por consiguiente,
k ∈ {2, . . . , 50} las correspondientes consultas protegidas de nuestra propuesta se puede ver como un método eficiente
cada usuario. La Figura 3 muestra la utilidad de los datos y relativamente sencillo de proteger registros de búsqueda,
desglosada según el parámetro k de la microagregación. Se si lo comparamos con otras propuestas existentes, y que
puede observar como al crecer k (eso es, el número de usuarios permite garantizar, siempre que sea necesario, un alto nivel
por clúster crece), la pérdida de información del usuario de anonimidad y privacidad.
también crece.
AGRADECIMIENTOS
100
Los autores agradecen las ayudas del MICINN (proyec-
90
tos eAEGIS TSI2007-65406-C03-02, TSI2007-65406-C03-01,
80
ARES-CONSOLIDER INGENIO 2010 CSD2007-00004), del
Porcentaje de perdida de informacion
70
Ministerio de Industria, Comercio y Turismo (proyecto TSI-
60
020100-2009-720), y de el Gobierno de Cataluña (ayuda 2009
50
40
SGR 1135). G. Navarro-Arribas disfruta de una beca Juan de
30
la Cierva (JCI-2008-3162) del MICINN.
20
Los autores son responsables de las ideas expresadas en
10
este articulo, que no reflejan necesariamente la posición de la
0
UNESCO ni comprometen a dicha organización.
5 10 15 20 25 30 35 40 45 50
# del grupo
Perdida de informacion R EFERENCIAS
[1] E. Adar. User 4xxxxx9: Anonymizing query logs. In Query Logs
Figura 3: ILR medio para k ∈ {2, . . . , 50}. workshop, 2007.
[2] M. Barbaro and T. Zeller. A face is exposed for AOL searcher no.
4417749. The New York Times, August 2006.
IV-C. Sobre la relación entre PPE y ILR [3] A. Cooper. A survey of query log privacy-enhancing techniques from a
policy perspective. ACM Transactions on the Web, 2(4), 2008.
El P P E y el ILR nos ayudan a establecer un equilibrio [4] D. Defays and P. Nanopoulos. Panels of enterprises and confidentiality:
entre privacidad y utilidad de los datos (pérdida de informa- the small aggregates method. In Proc. of 92 Symposium on Design and
Analysis of Longitudinal Surveys, Statistics Canada, pages 195–204,
ción). 1993.
Usando una k grande tenemos una gran pérdida de infor- [5] J. Domingo-Ferrer and J. Mateo-Sanz. Practical data-oriented micro-
mación (ILR), tal y como se puede observar en la Figura 3. aggregation for statistical disclosure control. IEEE Transactions on
Knowledge and Data Engineering, 14(1):189 – 201, 2002.
Para k = 35 perdemos el 50 % de la información del usuario, [6] J. Domingo-ferrer, J. Mateo-sanz, and V. Torra. Comparing sdc methods
y para k = 3 sólo perdemos un 10 %. Por tanto, el mı́nimo for microdata on the basis of information loss and disclosure. In
ILR proporciona los datos más útiles, y consecuentemente Proceedings of ETK-NTTS 2001, Luxemburg: Eurostat, pages 807–826.
Eurostat, 2001.
debemos seleccionar los valores más pequeños de k. [7] J. Domingo-Ferrer and V. Torra. Ordinal, continuous and heterogeneous
Sin embargo, como se ve en la Figura 2, una k grande k-anonymity through microaggregation. Data Mining and Knowledge
ofrece mayor privacidad para los usuarios, esto es, su perfil Discovery, 11(2):195–212, September 2005.
[8] EFF. AOL’s massive data leak. Electronic Frontier Foundation, http:
está menos expuesto. Por ejemplo, cuando k = 2, el 50 % //[Link]/Privacy/AOL/, 2009.
del perfil del usuario está expuesto, y para k = 10 sólo el [9] A. Erola, J. Castellà-Roca, and A. Viejo. Exploiting social networks for
10 % se expone. Desde el punto de vista de la privacidad, una improving privacy in personalized web search, 2010. Submitted.
[10] Y. Hong, X. He, J. Vaidya, N. Adam, and V. Atluri. Effective
k grande serı́a recomendable para proteger la privacidad de anonymization of query logs. In CIKM ’09: Proceeding of the 18th
los usuarios. Sin embargo, consideramos que el perfil de un ACM conference on Information and knowledge management, pages
usuario está suficientemente protegido si su P P E es menor 1465–1468, 2009.
[11] B.J. Jansen and A. Spink. An analysis of web searching by european allt-
al 40 %, es decir, k = 3 (ver [9]). [Link] users. Information Processing & Management, 41(2):361–
Ası́, podemos concluir que el valor óptimo de k para la 381, 2005.
microagregación es k = 3, porqué obtenemos un nivel de pri- [12] B.J. Jansen, A. Spink, and J. Pedersen. A temporal comparison of
altavista web searching: Research articles. Journal of the American
vacidad razonable (P P E) y una baja pérdida de información Society for Information Science and Technology, 56(6):559–570, 2005.
(ILR). [13] B.J. Jansen, A. Spink, and T. Saracevic. Real life, real users, and real
needs: a study and analysis of user queries on the web. Information
V. C ONCLUSIONES Processing & Management, 36(2):207 – 227, 2000.
[14] Aleksandra Korolova, Krishnaram Kenthapadi, Nina Mishra, and Ale-
En este artı́culo hemos introducido una técnica que garantiza xandros Ntoulas. Releasing search queries and clicks privately. In WWW
el k-anonimato a nivel de usuario en registros de búsqueda ’09: Proceedings of the 18th international conference on World wide
mediante la microagregación. Para hacer público los registros, web, pages 171–180, 2009.
[15] R. Kumar, J. Novak, B. Pang, and A. Tomkins. On anonymizing query
éstos tienen que ser protegidos para prevenir la revelación de logs via token-based hashing. In 16 International World Wide Web
información sensible ası́ como la reidentificación de usuarios. Conference, pages 629–638, 2007.
139
[16] Wang Lixia and Han Jianmin. Utility evaluation of k-anonymous data
by microaggregation. In International Conference on Communication
System, Networks and Applications, 2009 ICCSNA, volume 4, pages
381 –384, 2009.
[17] E. Mills. AOL sued over web search data release. CNET News, http:
//[Link]/8301-10784 [Link], September 2006.
[18] G. Navarro-Arribas and V. Torra. Tree-based microaggregation for the
anonymization of search logs. In WI-IAT ’09: Proceedings of the 2009
IEEE/WIC/ACM International Joint Conference on Web Intelligence and
Intelligent Agent Technology, pages 155–158, 2009.
[19] A. Oganian and J. Domingo-Ferrer. On the complexity of optimal
microaggregation for statistical disclosure control. Statistical Journal of
the United Nations Economic Commision for Europe, 18(4):345–353,
2001.
[20] B. Poblete, M. Spiliopoulou, and R. Baeza-Yates. Website privacy
preservation for query log publishing. In First International Workshop
on Privacy, Security, and Trust in KDD (PinKDD 2007), pages 80–96,
2008.
[21] P. Samarati. Protecting respondents identities in microdata release. IEEE
Transactions on Knowledge and Data Engineering, 13(6):1010–1027,
2001.
[22] L. Sweeney. k-anonymity: a model for protecting privacy. International
Journal on Uncertainty, Fuzziness and Knowledge-based Systems, 10(5),
2002.
[23] V. Torra. Microaggregation for categorical variables: A median based
approach. In Proc. Privacy in Statistical Databases (PSD 2004), volume
3050 of LNCS, pages 162–174, June 2004.
[24] V. Torra. Constrained microaggregation: Adding constraints for data
editing. Transactions on Data Privacy, 1(2):86–104, 2008.
[25] L. Xiong and E. Agichtein. Towards privacy-preserving query log pu-
blishing. In Query Log Analysis: Social and Technological Challenges,
Workshop in 16 International World Wide Web Conference, 2007.
140
El Juego de Recuperación de Información con
Privacidad de Usuario Por Pares
Josep Domingo-Ferrer Úrsula González-Nicolás
Universitat Rovira i Virgili Universitat Rovira i Virgili
Departament d’Enginyeria Informàtica i Matemàtiques Departament d’Enginyeria Informàtica i Matemàtiques
Càtedra UNESCO de Privadesa de Dades Càtedra UNESCO de Privadesa de Dades
Email: [Link]@[Link] Email: [Link]@[Link]
Resumen—En la recuperación de información con privacidad En general, la base de datos no puede modelarse como
(RIP), el usuario quiere obtener información de una base de un vector en el que el usuario conoce la dirección fı́sica i
datos sin que ésta conozca lo que está buscando. La mayorı́a del campo en el que está interesado (e.g. piénsese en un
de los protocolos actuales sobre RIP son poco apropiados para
motores de búsqueda o grandes bases de datos, debido a su usuario haciendo una consulta a un motor de búsqueda);
complejidad y a la suposición de que la base de datos coopera Si la base de datos contiene n elementos, los protocolos
activamente en el protocolo de RIP. Con una base de datos no- teóricos de RIP tienen una complejidad O(n) [6], [7]:
cooperativa, puede ser útil una comunidad por pares (peer-to- el protocolo debe “tocar” todos los registros para evitar
peer, P2P), donde los pares sometan consultas por cuenta de un dar al servidor cualquier pista sobre el valor de i, lo que
usuario. De esta forma se obtiene la recuperación de información
con privacidad de usuario (RIPU), una propiedad mediante la no es viable para grandes bases de datos y/o motores de
cual la base de datos conoce la información que se ha recuperado búsqueda [3];
pero sin saber por quién. Se supone que el servidor de la base de datos coopera en
En este artı́culo se presenta un análisis mediante teorı́a de el protocolo de RIP; es el usuario quien está interesado en
juegos de RIPU por pares (RIPUP): i) se especifica una métrica proteger su propia privacidad, mientras que la motivación
para medir la privacidad de un par frente a la base de datos
y frente al resto de los pares; ii) se calcula la utilidad de las
para el servidor de la base de datos es dudosa; en
diferentes estrategias que puede seguir un par con el objetivo realidad, es probable que la RIP sea poco atractiva para
de maximizar su privacidad; iii) mediante la maximización la mayorı́a de las compañı́as que ofrecen bases de datos
de esta privacidad, para cada nueva consulta se obtiene un consultables, ya que limita su capacidad de generación
comportamiento racional a seguir para cada par, lo que permite de perfiles.
la automatización del proceso de decisión de los pares.
Una conclusión relevante es que un par debe ayudar al resto
Por las razones anteriores, en la práctica se deben flexibilizar
de pares con el objetivo de maximizar su propia utilidad de las suposiciones de RIP. A continuación repasamos algunas
privacidad; también es destacable que, cuanto más heterogénea propuestas.
sea la tasa de generación de consultas por parte de los pares, En primer lugar, se debe tener en cuenta que los sistemas de
más racionalmente serviciales serán estos. onion-routing como Tor [12] no están pensados para ofrecer
Palabras clave— Recuperación de información con privacidad recuperación de información con privacidad. Estos sistemas
(Private information retrieval), Recuperación de información con protegen el transporte de datos, pero no ofrecen ninguna
privacidad de usuario (User-private information retrieval), Preser- protección extremo a extremo (a nivel de aplicación). Como
vación de la privacidad en minerı́a de datos (Privacy-preserving un motor de búsqueda o un servidor de base de datos puede
data mining), Teorı́a de juegos (Game theory). vincular las consultas consecutivas sometidas por el mismo
usuario (e.g mediante el uso de galletas), se puede crear un
I. I NTRODUCCI ÓN perfil y reidentificar al usuario.
En [5] se propone un sistema denominado Goopir, en el que
El objetivo de la recuperación de información con pri- el usuario enmascara su consulta añadiendo k − 1 consultas
vacidad (RIP) es permitir a un usuario obtener información falsas y luego envı́a la consulta enmascarada resultante a
de una base de datos sin que ésta sepa en qué información un motor de búsqueda o a una base de datos grande, que
está interesado. En la literatura sobre RIP (véanse los artı́culos no tiene por qué cooperar (de hecho, ni siquiera tiene que
seminales [6], [7] y los más recientes [11], [1]) la base de saber que el usuario está tratando de proteger su privacidad).
datos se modela como un vector, y se supone que un usuario Estrictamente hablando, Goopir no da RIP según lo definido
desea recuperar el i-ésimo elemento del vector manteniendo anteriormente, sino que proporciona h(k)-RIP, ya que encubre
el ı́ndice i oculto ante la base de datos. Si bien esta visión la consulta dentro de un conjunto de k consultas de entropı́a
de los protocolos de RIP permite desarrollos teóricos, existen al menos h(k). Este sistema funciona bien, pero supone que
algunas suposiciones que dificultan su implementación en la las frecuencias de las palabras clave y expresiones que pueden
práctica: aparecer en una consulta son conocidas y están disponibles:
141
para una mayor privacidad, las frecuencias de la consulta real inverso. El objetivo es mantener las consultas de cada usuario
y las falsas deben ser similares, por lo que la incertidumbre A frente al resto de la forma más uniforme posible, obteniendo
h(k) del motor de búsqueda sobre la consulta real es máxima. ası́ la máxima privacidad frente a la base de datos. Una
Trac