UNSL (Argentina) UFMG (Brasil)
Optimización de un Protocolo Dining Cryptographers Asíncrono
TesisMaestría en Ingeniería de Software (UNSL)
Mestrado em Ciência da Computação (UFMG)
Autor:Ing. Pablo Marcelo García
Directores: Jeroen van de Graaf, PhD. (UFMG)
Dr. Germán Montejano (UNSL)
- 2013 -
Optimización de un Protocolo Non-Interactive Dining Cryptographers
Autor:Ing. Pablo Marcelo García.
Directores:Jeroen van de Graaf, PhD.Dr. Germán Montejano.
Texto impreso en San LuisNoviembre, 2013
A Gilda, Agustina e Ignacio
Reconocimientos
A mi esposa Gilda y a mis hijos Agustina e Ignacio, por apoyarme incondi-
cionalmente, aún cuando esta tesis incluyó una estadía de un año en el ámbi-
to de la Universidade Federal de Minas Gerais (UFMG) en Belo Horizonte,
Brasil.
A mi Director, Jeroen van de Graaf. por su enorme tarea como orientador,
pero más por la contención recibida desde el punto de vista humano.
A mi Co-director, Germán Montejano, por su apoyo permanente y sobre todo
por la confianza depositada en mi persona.
Al Dr. José Monteiro da Mata, aporte fundamental desde la logística durante
toda mi estadía en Belo Horizonte.
A los Dres. Roberto Uzal y Daniel Riesco, quienes junto con Germán Mon-
tejano son permanentes generadores de oportunidades para los estudiantes e
investigadores.
A la Lic. Silvia Bast (FCEyN − UNLPam), por sus pertinentes sugerencias,
producto de una profunda revisión de todo el contenido del presente docu-
mento.
Al Msg. Rubén Pizarro (FCEyN − UNLPam), por sus importantes aportes
en lo referido a temas de análisis numérico.
A la Doctora Marina Lattanzi y la Licenciada María Paula Dieser (FCEyN−UNLPam), por sus valiosos comentarios sobre los contenidos del capítulo 5.
III
Al Dr. José Marcos Silva Nogueira, Director del Departamento de Cienciasde la Computación (DCC) del Instituto de Ciencias Exatas (ICEX) de la Uni-versidad Federal de Minas Gerais (UFMG), y por su permanente apoyo du-rante mi estadía en Belo Horizonte.
A Renata Viana Moraes Rocha, Secretária do Programa de Pós-Graduaçãoem Ciência da Computação - ICEx - UFMG, por su disposición y amabilidadpara atender todas mis consultas durante mi estadía en Belo Horizonte.
Al Dr. Carlos Camarao, quien con enorme amabilidad guió mis primerospasos en la UFMG.
A los docentes a cargo del curso de Posgrado de UFMG ”Projeto e Analisse
de Algoritmos”: Dr. Luiz Chaimowicz, Dr. Wagner Meira Jr., Dra. GiselleLobo Papa y Dra. Jussara Almeida, por acompañar con enorme comprensiónmi proceso de adaptación.
A Norma Beatriz Pérez, querida amiga con quien compartimos muchos mo-mentos en Belo Horizonte
A Aclyse Mattos, mi entrañable compañero de apartamento durante toda miestadía en la Moradía Universitaria de la UFMG.
A todo el personal de la Moradía Universitaria de la UFMG, dependiente dela Fundación Mendes Pimentel.
Pablo Marcelo García
IV
Resumen
Dining Cryptographers es un esquema criptográfico presentado por Chaum en
[11] cuya característica más notable es la de proveer nivel incondicional de segu-
ridad para la privacidad de los mensajes publicados por un grupo de usuarios de
una red, elemento que otorga al modelo un altísimo nivel de interés para múltiples
aplicaciones criptográficas. En ese grupo se puede incluir el voto electrónico.
El esquema original exige la concurrencia online de los participantes. Sin em-
bargo, existen múltiples situaciones prácticas en las que esta condición no necesa-
riamente se cumple. En consecuencia, y atendiendo a la riqueza del esquema ori-
ginal, en [48] se presenta una derivación denominada Non Interactive Dining Cry-
ptographers (NIDC). Esta variante busca explotar todo el potencial de la propuesta
original de Chaum, pero intentando cubrir un rango más amplio de problemas a los
que el esquema pueda aplicarse.
El presente trabajo tiene por objetivo central proponer técnicas concretas de
optimización para dos puntos específicos del modelo NIDC:
El primer punto se refiere a mejorar el manejo de las colisiones que se produ-
cen en el esquema original, basado en un arreglo de slots, capaces de alma-
cenar información. La elección de los mismos por parte de los participantes
es necesariamente aleatoria para garantizar el anonimato. Por lo tanto, las
colisiones son posibles y su aparición implica la pérdida de todos los datos
que coincidan en la elección. Se analiza el tema en profundidad y se propone
un nuevo esquema de canales paralelos que permite una utilización mucho
más eficiente del espacio destinado a este fin, en base a propiedades de los
sucesos independientes.
V
El segundo punto propone mejorar las técnicas utilizadas para combatir losintentos de fraude. El esquema original de Chaum advierte sobre la importan-cia de este punto y pone especial énfasis en determinados detalles que debenser cuidadosamente observados; el trabajo de van de Graaf ([48]) proponeun modelo que garantiza un nivel de seguridad incondicional pero a costa deuna importante ineficiencia por utilizar un esquema basado en la utilizaciónde bit commitments con XOR (BCX). Este modelo, que será analizado enprofundidad en el capítulo 4, exige varias operaciones para cada bit de in-formación, lo cuál genera un nivel de ineficiencia importante. Se propone,en consecuencia, un modelo basado en logaritmos discretos y compromisosde Pedersen, los cuales proporcionan un nivel similar de seguridad con unamayor eficiencia.
Se presenta, además, un análisis de la aplicación del modelo a aplicacionesde voto electrónico y se analiza la relación entre esta propuesta y los trabajos deBroadbent y Tapp ([7] y [8]) y Bos ([2]).
VI
Abreviaturas
BC: Bit Commitment. Compromiso relacionado con el valor de un dígito binario.
BCX: Bit Commitment con XOR. Tecnica aplicada a Bit Commitments que per-
mite asegurar que una información determinada no será modificada en el
futuro, sin develar el contenido de la misma.
CCA1: Indifferent Chosen-Ciphertext Attack. Es el tipo de ataque en que el crip-
toanalista cuenta con textos cifrados y sus equivalentes sin cifrar, pero sin
poder elegir dichos textos.
CCA2: Adaptive Chosen-Ciphertext Attack. Difiere de CCA1 en que el criptoana-
lista tuvo la oportunidad de seleccionar los textos claros de los cuáles conoce
el cifrado. Obviamente, la posibilidad de realizar tal selección aumenta la
probabilidad de éxito del criptoanálisis.
CCCP: Cantidad de Corridas con Pérdidas. En el ámbito del capítulo 5, se refiere
a la cantidad de corridas en una sesión determinada del simulador 1 en las
que registraron pérdidas de al menos uno de los votos emitidos.
CCSP: Cantidad de Corridas sin Pérdidas. Inverso del anterior, representa la can-
tidad de casos en los que no se registró pérdida de dato alguno.
CFSY: Protocolo de Votación propuesto por Cramer, Franklin, Schoenmaker y
Yung y modificado por van de Graaf para votación en cabina en [50].
COA: Ciphertext-Only Attack. Es el tipo de ataque en el que solamente se dispone
de textos cifrados.
VII
CUDU: Canal Único y Dato Único. En el análisis de las técnicas para administrarcolisiones, implica implementar un único arreglo unidimensional de slots ypublicar una única instancia de cada dato.
CUMD: Canal Único y Múltiples Datos. Dentro del capítulo 5, se refiere a lassimulaciones en las que se utilizó un solo arreglo unidimensional de slots,pero se publicaron dos o más instancias de cada dato.
DEA: Datos Efectivos Acumulados. En una sesión del simulador 1, diseñado adhoc para la administración de colisiones, esta abreviatura se refiere a la can-tidad de datos que fueron publicados y no se perdieron.
DC: Dining Cryptographers. Esquema criptográfico que proporciona seguridad in-condicional para el anonimato, presentado por Chaum en [11].
MC: Mejor Caso. En una corrida del simulador 1, representa aquella corrida en laque se registró la menor pérdida de datos.
MCDU: Múltiples Canales y Dato Único. Significa que se implementan dos omás canales paralelos de slots y se publicará una única instancia por cadadato individual.
MCMD: Múltiples Canales Múltiples Datos. Implica la utilización de dos o máscanales paralelos de slots con múltiples instancias de cada dato.
MCPC: Comparación entre el Mejor Caso y el Peor Caso.
NIDC: Non Interactive Dining Cryptographers. Modificación al esquema DC, pre-sentado por van de Graaf en [48].
PC: Peor Caso. En una sesión del simulador 1, es aquella corrida individual en lacual se registró la mayor pérdida de datos.
PDP: Porcentaje de Datos Perdidos. Representa el porcentaje de datos que se per-dieron en una sesión completa del simulador 1.
RSA: Algoritmo criptográfico propuesto por Rivest, Shamir y Adleman en 1977.Se describe detalladamente en [38].
VIII
UHDLC: Unconditionally Hiding Discrete Log Commitments. Son aquellos com-promisos basados en logaritmos discretos que proveen seguridad incondicio-nal.
ZKP: Zero Knowledge Proof. Protocolo criptográfico propuesto por Feige, Fiat yShamir, descripto en detalle en [37].
IX
Índice general
Índice de figuras XV
Índice de cuadros XVII
1. Introducción 1
1.1. Orígenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Formalización . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Voto Electrónico . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6. Organización del Informe . . . . . . . . . . . . . . . . . . . . . . 5
2. Ámbito del Problema 7
2.1. Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Clases de Ataques . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Técnicas de Protección de la Información . . . . . . . . . . . . . 12
2.3.1. Criptografía de Clave Privada . . . . . . . . . . . . . . . 12
2.3.2. Criptografía de clave Pública . . . . . . . . . . . . . . . . 17
2.3.3. RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.4. El Gamal . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4. Tipos de Aplicaciones Criptográficas . . . . . . . . . . . . . . . . 19
XI
ÍNDICE GENERAL
3. Dining Cryptographers 233.1. Descripción del Esquema . . . . . . . . . . . . . . . . . . . . . . 23
3.2. Generalización del Modelo de Dining Cryptographers . . . . . . . 25
3.3. Prueba Formal de la Seguridad de Dining Cryptographers . . . . . 28
3.4. Cuestiones Prácticas . . . . . . . . . . . . . . . . . . . . . . . . 30
4. Non Interactive Dining Cryptographers 354.1. Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1. Firmas Ciegas . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1.2. Non Interactive Dining Cryptographers . . . . . . . . . . 37
4.2. Optimización del Modelo . . . . . . . . . . . . . . . . . . . . . . 43
4.2.1. Optimización del Tratamiento de Colisiones . . . . . . . . 43
4.2.2. Optimización de las Políticas para Administrar Conductas
Deshonestas . . . . . . . . . . . . . . . . . . . . . . . . . 45
5. Un Modelo para Administrar Colisiones 475.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2. Canal Unidimensional y Dato Único (CUDU) . . . . . . . . . . . 51
5.3. Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.1. Canal Único y Múltiples Datos (CUMD) . . . . . . . . . 59
5.3.2. Múltiples Canales y Dato Unico MCDU . . . . . . . . . . 60
5.3.3. Múltiples Canales y Múltiples Datos . . . . . . . . . . . . 72
5.4. Análisis Formal de MCDU . . . . . . . . . . . . . . . . . . . . . 74
5.4.1. Obtención del Q Óptimo . . . . . . . . . . . . . . . . . . 76
5.4.2. Valor Esperado para PV P . . . . . . . . . . . . . . . . . 78
5.4.3. Cota para la Probabilidad de no Perder Votos . . . . . . . 82
5.4.4. Propuesta para una Solución Integral . . . . . . . . . . . 85
5.4.5. Recuperación de Colisiones . . . . . . . . . . . . . . . . 87
5.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6. Optimización del Protocolo Antifraudes 916.1. Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.2. Un Protocolo para el Intercambio de Mensajes . . . . . . . . . . . 92
6.2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . 92
XII
ÍNDICE GENERAL
6.2.2. Logaritmos Discretos . . . . . . . . . . . . . . . . . . . . 926.2.3. Compromiso . . . . . . . . . . . . . . . . . . . . . . . . 95
6.2.3.1. Coin Flipping . . . . . . . . . . . . . . . . . . 956.2.3.2. Zero Knowledge Proofs . . . . . . . . . . . . . 966.2.3.3. Secure Computation . . . . . . . . . . . . . . . 976.2.3.4. Seguridad en los esquemas de compromiso . . . 98
6.2.4. Compromisos de Pedersen . . . . . . . . . . . . . . . . . 996.2.5. Enunciado de una Propuesta Concreta . . . . . . . . . . . 1006.2.6. Seguridad del Esquema . . . . . . . . . . . . . . . . . . . 1056.2.7. Análisis de la Optimización Obtenida . . . . . . . . . . . 109
7. Dining Cryptographers y Voto Electrónico 1137.1. Voto Electrónico . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.1.1. Aplicación del Modelo Propuesto a Voto Electrónico . . . 1177.1.2. Los Protocolos de Broadbent y Tapp . . . . . . . . . . . . 1197.1.3. Aplicación de NIDC al Esquema de Bos . . . . . . . . . . 124
8. Conclusiones 127
Bibliografía 135
A. Glosario 141
B. Código Fuente de los Simuladores 149
XIII
Índice de figuras
2.1. Registros Retroalimentados Linealmente . . . . . . . . . . . . . . 15
5.1. Esquema CUDU . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2. Esquema CUMD . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3. Esquema MCDU . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4. Esquema MCMD . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.5. Birthday Paradox . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.6. Cantidad de Corridas con Pérdidas (4800 Slots) . . . . . . . . . . 61
5.7. Cantidad de Corridas con Pérdidas (9600 Slots) . . . . . . . . . . 62
5.8. Cantidad de Corridas con Pérdidas (por Slots) . . . . . . . . . . . 63
5.9. Cantidad de Corridas sin Pérdidas (1-12 Canales Paralelos) . . . . 65
5.10. Cantidad de Corridas sin Pérdidas (8, 10 y 12 Canales Paralelos) . 65
5.11. Cantidad de Corridas sin Pérdidas (10 Canales Paralelos) . . . . . 66
5.12. Datos Efectivos Acumulados (1-12 Canales Paralelos) . . . . . . . 67
5.13. Datos Efectivos Acumulados (12 Canales Paralelos) . . . . . . . . 67
5.14. Mejor y Peor Caso (4800 Slots) . . . . . . . . . . . . . . . . . . . 68
5.15. Mejor y Peor Caso (9600 Slots) . . . . . . . . . . . . . . . . . . . 69
5.16. Mejor y Peor Caso (14400 Slots) . . . . . . . . . . . . . . . . . . 69
5.17. Mejor y Peor Caso (19200 Slots) . . . . . . . . . . . . . . . . . . 70
5.18. Peor Caso (1-12 Canales Paralelos) . . . . . . . . . . . . . . . . . 70
5.19. Peor Caso (8, 10 y 12 Canales Paralelos) . . . . . . . . . . . . . . 71
5.20. Peor Caso (10 Canales Paralelos) . . . . . . . . . . . . . . . . . . 71
5.21. Porcentaje de Datos Perdidos (4800 Slots) . . . . . . . . . . . . . 72
5.22. Porcentaje de Datos Perdidos (9600 Slots) . . . . . . . . . . . . . 73
XV
ÍNDICE DE FIGURAS
5.23. Porcentaje de Datos Perdidos (14400 Slots) . . . . . . . . . . . . 735.24. Porcentaje de Datos Perdidos (19200 Slots) . . . . . . . . . . . . 745.25. Múltiples Canales Múltiples Datos (MCMD) . . . . . . . . . . . 755.26. Birthday Paradox vs. Cota Propuesta . . . . . . . . . . . . . . . . 85
6.1. Esquema ZKP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
XVI
Índice de cuadros
4.1. Bit Commitments con XOR (BCX) . . . . . . . . . . . . . . . . . 40
5.1. Birthday Paradox . . . . . . . . . . . . . . . . . . . . . . . . . . 555.2. Verificación de los Resultados del Simulador 1 . . . . . . . . . . 575.3. Comportamiento del Simulador 1 aumentando el valor de T . . . 585.4. Canal Único Múltiples Datos (CUMD) . . . . . . . . . . . . . . . 605.5. Cantidad de Corridas con Pérdidas (CCCP) . . . . . . . . . . . . 645.6. Tabla para definir S y Q . . . . . . . . . . . . . . . . . . . . . . . 865.7. Valores Obtenidos para S y Q . . . . . . . . . . . . . . . . . . . . 87
6.1. Esquema del Protocolo de Comunicaciones . . . . . . . . . . . . 108
XVII
CHAPTER
1Introducción
La evolución de la tecnología ha modificado sustancialmente muchas cosas en
la sociedad. Resulta sorprendente analizar los cambios que se han producido en los
últimos años. En un lapso muy corto de tiempo, las innovaciones han producido
enorme cantidad de hechos que hubieran sido difíciles de predecir algún tiempo
atrás. Baste solamente recordar cuando hace pocos años se hablaba de la ”autopista
de la información”.
Tanenbaum en [45] afirma que el siglo XX fue el ”siglo de las comunicaciones”
y lo fundamenta en la aparición, durante dicho período, de la radio, la televisión,
las redes telefónicas y las comunicaciones inalámbricas. El siglo XXI mantiene
esa impronta pero con una característica distintiva: la increíble velocidad a la que
se producen los cambios. Aún para los profesionales informáticos resulta difícil
mantenerse al día en lo que respecta a la aparición de nuevos dispositivos. Por
ejemplo, es enorme la cantidad de nuevas siglas, términos y conceptos que nacen
como consecuencia del proceso de innovación permanente.
La velocidad antes mencionada se verifica en todo lo relacionado con la tecno-
logía. Entre miles de ejemplos, podemos mencionar: la capacidad de los procesa-
dores (con la optimización significativa que provoca la implementación de núcleos
1
1. INTRODUCCIÓN
y el paralelismo resultante), la contínua aparición de nuevos dispositivos, el au-
mento en la cantidad de memoria provista con los equipos (tanto primaria como
secundaria), la diversificación de los elementos de entrada / salida, y muchos más.
En particular, resulta de gran interés la manera en que esa velocidad también
aparece, nítida, en lo relacionado a la seguridad informática en general y a la cripto-
grafía en particular. Una de las razones de este fenómeno pasa por el gran aumento
del volumen de información disponible. Cualquier nuevo método que aparece es rá-
pidamente puesto a disposición de una enorme masa crítica que evalúa y fuerza los
cambios que considera necesarios. Ya no es suficiente con proclamar una supuesta
seguridad: es necesario demostrar el nivel de la misma, de manera matemática y
formal.
1.1 OrígenesCuando el César romano protegía sus mensajes con un esquema extremada-
mente débil, los oponentes que querían descifrarlos no contaban con más recursos
que sus propios cerebros. Por ejemplo podemos mencionar que entre el cifrado de
Vigenere (que provee un nivel de seguridad que hoy es considerado como muy ba-
jo y que fue enunciado en 1586) y el cifrado de Vernam de 1917 (el primero que
cumple con las hipótesis y condiciones del secreto perfecto de Shannon, que re-
cién sería enunciado 38 años más tarde) no hay avances significativos en materia
de criptografía. Y entre uno y otro pasaron más de 300 años.
A esta altura de la historia, todo es muy diferente. La enorme disponibilidad
de información, las facilidades de comunicación, y el aumento geométrico de los
recursos informáticos disponibles configuran un panorama singular y con perma-
nentes y significativos cambios.
Las sociedades pasaron a depender absolutamente de la información. Se ha de-
legado en los sistemas informáticos tareas fundamentales en la vida de las personas.
La seguridad informática ha pasado a cumplir un rol central y, al mismo tiempo, a
ser sometida a máximas exigencias en cuanto a los recursos con que cuentan aque-
llas personas que desean acceder de manera no autorizada a determinados datos.
Los nuevos ataques informáticos se llevan a cabo a través de recursos informáticos
2
1.2 Formalización
de extraordinario poder. En consecuencia, las respuestas que se den a tal situación
deben estar a la altura de una enorme exigencia.
1.2 FormalizaciónTeniendo en cuenta lo anterior, es fundamental obtener demostraciones forma-
les sobre cómo se comporta la seguridad. Debe existir una fuerte apoyatura ma-
temática. Ya no serán aceptados esquemas que ”parezcan” sólidos. Su fortaleza
deberá ser demostrada de manera contundente y cargada de formalidad. El valor de
la información que se desea proteger exige que asi sea.
Dentro de ese panorama, existen múltiples técnicas criptográficas que podrían
resultar de interés. Sin embargo, lo expuesto previamente nos obliga a seleccio-
nar aquellas que proporcionen un nivel de seguridad máximo. Es fácil detectar
situaciones del mundo real en los que es imprescindible que la información sea
absolutamente imposible de descifrar sin autorización, independientemente de los
recursos tecnológicos que se dispongan para atacarla e, incluso, del tiempo con que
se cuente para hacerlo.
1.3 Voto ElectrónicoUn buen ejemplo de una aplicación cuyo nivel de exigencia es máximo es el
voto electrónico. En dicha aplicación, la condición de mantener el anonimato de un
votante de manera indefinida es crucial. Pero también debe garantizarse de manera
indiscutible que el resultado del escrutinio refleje exactamente la voluntad del elec-
torado. Es obvio que los intereses involucrados son muy trascendentes y que, por lo
tanto, los intentos de realizar un fraude pueden aparecer, con alto grado de probabi-
lidad. Y si se analiza con más detalle, aparecen múltiples aspectos del proceso cuya
seguridad debe garantizarse. Estos conceptos pueden generalizarse rápidamente a
muchas otras aplicaciones.
En tales condiciones, resulta de notable interés un esquema critográfico presen-
tado por Chaum en [11]: Dining Cryptographers. El principal atractivo que presen-
ta dicho esquema es la protección infranqueable que provee a la identidad de los
3
1. INTRODUCCIÓN
emisores de los mensajes que se publican. Esta característica le otorga a la técnica
un valor significativo.
Si bien el esquema original hace referencia a tres participantes que producen
mensajes de un bit, el mismo se generaliza sin dificultades a cualquier número de
participantes y a mensajes de cualquier longitud.
El presente trabajo se basa en una derivación del esquema original de Chaum,
presentada por van de Graaf en [48]. El modelo, denominado ”Non Interactive
Dining Cryptographers (NIDC)” resulta de sumo interés porque permite abordar
problemáticas en las que no es necesario que todos los participantes se encuentren
online simultáneamente. Rápidamente aparecen variados problemas típicos que se
adaptan a esa circunstancia.
1.4 ObjetivosEl modelo original apunta directamente a la problemática del voto electrónico,
sin embargo, el esquema es más general y aplicable a cualquier situación de inter-
cambio de información que exija un modelo asincrónico y garantice el anonimato
con nivel de seguridad incondicional.
En esta tesis, se proponen técnicas de optimización para dos puntos muy con-
cretos:
Un modelo para el manejo de colisiones, basado en canales paralelos de slots.
Un protocolo que mantenga el nivel de seguridad del original, pero que re-
sulte más eficiente.
1.5 AntecedentesEl presente documento cuenta con los siguientes antecedentes:
WICC 2013: En la versión 2013 del Workshop de Investigadores en Ciencias de
la Computación se presentó el paper titulado: Optimización de un esquema
“Ocuppancy Problem” orientado a E - Voting. En él se exponen los primeros
análisis tendientes a exponer las ventajas de reemplazar un vector unitario
4
1.6 Organización del Informe
por una serie de canales de slots paralelos. Detalles de la publicación en labibliografía ([51]).
JAIIO 2013: En las 42◦ Jornadas de Informática e Investigación Operativa, en elámbito del Workshop de Seguirdad Informática (WSegI) se expuso el trabajotitulado: Manejo de Colisiones en un Protocolo Non-Interactive Dining Cry-
ptographers. Este documento presenta por primera vez las ecuaciones (5.14)(que permite calcular el número óptimos de canales que se debe implemen-tar), (5.36) (que define el valor esperado para la variable PV P , Porcentajede Votos Perdidos) y (5.47) (que define una cota para a probabilidad de noperder votos en un acto eleccionario). Detalles de la publicación en la biblio-grafía ([52]).
CoNaIISI 2013: En el Primer Congreso Nacional de Ingeniería Informática / Sis-temas de Información, se presentó un paper denominado: Optimización de un
Protocolo Non-Interactive Dining Cryptographers. El mismo presenta porprimera vez el protocolo descripto en el capítulo 6 del presente trabajo. Elpaper fue aceptado para su publicación. Detalles de la publicación en la bi-bliografía ([53]).
1.6 Organización del InformeEste documento se organiza de la siguiente manera:
El capítulo 1 es una introducción, en la cual se presentan antecedentes y seexponen objetivos, describiendo además la organización de todo el documen-to.
El capítulo 2 expone una cantidad de conceptos teóricos, imprescindiblespara los desarrollos posteriores.
El capítulo 3 incluye la descripción minuciosa del modelo original de ”Di-ning Cryptographers” de Chaum ([11]).
El capítulo 4 describe con detalle el modelo NIDC, modificación propuestapor van de Graaf en [48].
5
1. INTRODUCCIÓN
El capítulo 5 analiza en profundidad la problemática de las colisiones, pro-poniendo estrategias eficientes que permiten llevar el nivel de pérdidas demensajes hasta el nivel que se desee, optimizando el uso de las estructuras dedatos asociadas.
El capítulo 6 propone técnicas para la administración de maniobras fraudu-lentas.
El capítulo 7 analiza la posibilidad de aplicar Non Interactive Dining Cry-
ptographers a la problemática del voto electrónico. Se relaciona, además,el esquema con los trabajos de Broadbent y Tapp ([7] y [8]) y con la tesisdoctoral de Bos ([2]).
El capítulo 8 expone las conclusiones generales del presente trabajo.
6
CHAPTER
2Ámbito del Problema
En el presente capítulo se exponen conceptos tendientes a describir el ámbitodel problema. La lectura del mismo permite presentar un marco teórico, para lue-go describir conceptos tales como clases de ataques, técnicas de protección de lainformación y tipos de aplicaciones criptográficas.
2.1 Marco TeóricoSe define a la criptología como la ciencia que incluye todas las técnicas mate-
máticas relacionadas con el ocultamiento de información ([25]). Incluye dos disci-plinas opuestas y complementarias:
Criptografía: agrupa todas las técnicas cuyo objetivo es mantener la privacidadde una información.
Criptoanálisis: involucra todos los métodos destinados a violar la seguridad de lainformación.
El criptoanálisis es tan antiguo como la criptografía. La situación se planteacomo una disputa permanente entre quien desea proteger la privacidad de una in-formación (criptógrafo) y alguien que desea conocer la misma, sin estar autorizado(criptoanalista).
7
2. ÁMBITO DEL PROBLEMA
Se puede (y, frecuentemente, es necesario) cuantificar el nivel de seguridad deuna información relacionándolo con la probabilidad matemática de que esa infor-mación sea descubierta (o se mantenga inviolable). Por ejemplo, si se anota undígito en un papel, la probabilidad de descubrirlo es de 1
10. Si se arroja una moneda
perfectamente balanceada, el valor es de 12.
En general, los problemas del mundo real exigen conocer de manera muy con-creta cuál es el nivel de seguridad que un sistema criptográfico proporciona. Elpotencial usuario desea conocer con precisión cuál es la probabilidad de que lainformación que se desea proteger llegue a personas no autorizadas.
La evolución tecnológica provee a los criptoanalistas de herramientas podero-sas en búsqueda de violar la privacidad. Los procesadores actuales, sobre todo conel advenimiento de los núcleos y un creciente nivel de multiprocesamiento, soncapaces de ”probar” una enorme cantidad de claves por unidad de tiempo. Los ata-ques por fuerza bruta cuentan entonces con un extraordinario aliado en las nuevastecnologías. El crecimiento de las técnicas de procesamiento paralelo proporcio-na un enorme poder a un criptoanalista. En consecuencia, las respuestas desde lacriptografía deben ser capaces de responder a desafíos cada vez mayores.
A favor del criptógrafo juega el tiempo de validez de una información. Porejemplo, una primicia periodística debe ser protegida solamente hasta que sea pu-blicada. Un ataque militar, hasta que se lleve a cabo. Sin embargo, algunas infor-maciones deben ser protegidas por lapsos muy prolongados de tiempo, o inclusoindefinidamente, como por ejemplo, algunas fórmulas químicas de alto valor o elanonimato de un votante.
En consecuencia, se hace preciso cuantificar de alguna manera el nivel de segu-ridad que un sistema criptográfico provee. Una primera clasificación se exhibe en[47], donde se describen cuatro categorías:
Incondicional: se alcanza este nivel de seguridad cuando el sistema resulta invio-lable aún cuando un criptoanalista cuente con tiempo y recursos ilimitadospara atacarlo. Este tipo de sistemas debe basarse en fundamentos teóricosmatemáticos.
Computacional: la seguridad es de este tipo si el sistema resulta seguro frente alas condiciones exactas en las que puede ser atacado. Estos sistemas tienen
8
2.1 Marco Teórico
fundamentos eminentemente prácticos y se apoyan en la cantidad de recursos
con que cuenta un atacante y en el tiempo limitado por el cuál la información
debe ser protegida.
Probable: pertenecen a esta categoría todos aquellos sistemas criptográficos que
no pueden fundamentar sus niveles de seguridad, pero no han sido violados
hasta el momento. Este nivel sólo puede resultar aceptable en aquellos casos
en que la información no reviste importancia o cuando el lapso en que la
misma debe ser protegida es muy pequeño.
Condicional: aqui se incluyen todos aquellos sistemas que se implementan sobre
supuestos que no necesariamente van a existir en la realidad. El nivel de se-
guridad es dependiente de los acontecimientos, lo cuál resulta generalmente
inaceptable.
La evolución demuestra que es cada vez mayor la cantidad de situaciones donde
se exige seguridad incondicional. Tal como fue mencionado, los atacantes cuentan
cada vez con recursos más importantes. En efecto, quienes buscaban quebrar los
códigos César (siglo I a.c.), Vigenere (1586) o Beaufort (1710), disponían de capa-
cidad de procesamiento muy escaso para realizar sus ataques. Además, el tiempo
limitado de validez de la información jugaba a favor de quienes usaban esos méto-
dos criptográficos tradicionales.
En la actualidad, transacciones que implican riesgos de vida humana o que
manejan montos muy elevados de dinero se llevan a cabo de manera virtual. En
tal caso, no es aceptable el error. La transacción debe llevarse a cabo de manera
absolutamente segura. Por lo tanto, el nivel de exigencia es enorme al combinar
ambas cosas: el valor de la información y el enorme crecimiento de las herramientas
disponibles para un criptoanalista.
La primera aproximación al concepto de seguridad incondicional corresponde
a Shannon [42], con la definición de Secreto Perfecto. Dicha definición es aplicable
bajo dos hipótesis:
1. El atacante solamente tiene acceso al criptograma, sin otra información adi-
cional.
9
2. ÁMBITO DEL PROBLEMA
2. El criptograma es totalmente independiente del mensaje claro.
Si ambas hipótesis se verifican, una información encriptada se encuentra abso-
lutamente segura (es decir, pertenece a la categoría de Secreto Perfecto), si cumple
con las dos condiciones siguientes:
1. La clave es al menos tan larga como el propio mensaje.
2. Se usará una clave diferente para cada mensaje que se desea encriptar.
Este conjunto de hipótesis y condiciones dan lugar a una serie de técnicas que
apuntan a la protección incondicional de la información. Algunas de ellas serán
descriptas en el presente trabajo. El primer método de cifrado que cumple con
los postulados de Shannon es anterior a la enunciación de los mismos: el cifrado
de Vernam (1917), exige que la clave sea totalmente aleatoria, tan larga como el
mensaje claro y que sea utilizada una sola vez. Específicamente, el modelo traduce
a representación binaria el mensaje claro y la clave; luego, tanto el cifrado como
el descifrado se llevan a cabo aplicando suma módulo 2, sin acarreo. Por ejemplo,
[30] menciona que el código de Vernam se aplicaba a las comunicaciones entre
los presidentes de las superpotencias en épocas de la ”guerra fría”, a través del
famoso ”teléfono rojo”.
Todas las técnicas mencionadas apuntan específicamente a la protección de un
mensaje claro que debe mantenerse en secreto. Con el tiempo, la criptografía se
ha visto obligada a generar respuestas para otras exigencias, apareciendo varias
cuestiones que deben atenderse en materia de seguridad. En [30], se enumeran las
siguientes:
Seguridad Física: Dentro de esta categoría se ubican todas las cuestiones relacio-
nadas con el resguardo de los soportes fısicos. Por ejemplo, medidas contra
incendios y políticas de backup.
Seguridad de la Información: Se refiere a proteger la información de observa-
dores no autorizados. Los métodos criptográficos se ocupan de proveer este
nivel de seguridad.
10
2.2 Clases de Ataques
Seguridad del Canal de Comunicación: Una gran proporción de ellos son públi-
cos, razón por la cual en general no se puede garantizar que la información
que se transmite en ellos no pueda ser obtenida por personas no autorizadas.
Problemas de Certificación: Debido a los problemas del canal de comunicación,
es necesario asegurarse de que la información que recibimos proviene de un
origen autorizado. Para obtener soluciones se combina criptografía asimétri-
ca y funciones hash.
Problemas de Suplantación: Apuntan a impedir el acceso de intrusos en las re-
des. Normalmente se emplean mecanismos basados en contraseñas para pro-
veer seguridad en este aspecto.
No Repudio: Se refiere a que el autor de un mensaje no pueda negar su autoría. Es
imprescindible que el emisor se vea obligado a asumir las responsabilidades
que le correspondan por los mensajes que envía.
Lo expuesto configura un panorama que genera mayores exigencias para los
sistemas criptográficos. La problemática se ha complejizado en forma importante
y la carga de responsabilidad sobre la seguridad en sistemas, se ha incrementado
notoriamente.
2.2 Clases de AtaquesLas distintas clases de ataques se diferencian por la cantidad de información
que el criptoanalista tiene a su disposición. Es evidente que cuanto mayor sea la
cantidad de datos con que cuenta inicialmente el criptoanalista, mayores son sus
posibilidades de éxito. En ese sentido, [46] menciona tres niveles:
1. Se dispone solamente del texto cifrado (Ciphertext-Only Attack, COA). Ob-
viamente, esta situación es la más compleja de resolver para un criptoana-
lista. Si el criptograma es totalmente independiente del mensaje claro, no
existen posibilidades de descifrarlo.
11
2. ÁMBITO DEL PROBLEMA
2. Se conoce uno o más textos cifrados y sus textos claros correspondientes
(Indifferent Chosen-Ciphertext Attack, CCA1). Esta situación es frecuente,
dado que si el atacante consiguió obtener el criptograma (caso 1), es posible
que la información asociada pase a ser pública posteriormente. Por ejemplo,
una primicia periodística deja de ser oculta cuando se publica; un ataque
militar deja de ser secreto cuando se concreta. También aparece información
adicional si los mensajes comienzan siempre de la misma manera, como por
ejemplo un encabezado o un tratamiento habitual.
3. Igual a la situación del punto anterior, pero agregando que el criptoanalista
pueda elegir de qué mensaje claro obtener el cifrado correspondiente (Adap-
tive Chosen-Ciphertext Attack, CCA2). En efecto, un criptoanalista experto
elegiría textos con características apropiadas para generalizar sus conclusio-
nes.
2.3 Técnicas de Protección de la InformaciónTodas las técnicas destinadas a la protección de la información pertenecen al
área de la criptografía. Los métodos involucrados se clasifican en dos modelos:
Criptografía de clave privada.
Criptografía de clave pública.
Las secciones siguientes describen ambos enfoques.
2.3.1 Criptografía de Clave Privada
Este modelo se basa en que dos partes que comparten información tienen una
clave secreta que permite el proceso de cifrar y descifrar. Tradicionalmente se cla-
sifica estos esquemas en dos grupos:
Basados en transposición: consisten en ”mezclar” los caracteres del mensaje ori-
ginal con alguna lógica, en la cual se encuentra incrustada la clave. Estos
métodos presentan la debilidad de mantener la entropía del mensaje original.
12
2.3 Técnicas de Protección de la Información
Partiendo desde ese punto, un criptoanalista experto encuentra facilidades
importantes en su intento de descubrir la información oculta. Un ejemplo de
estos métodos se encuentra en los anagramas.
Basados en sustitución: consisten en el reemplazo de caracteres por otros, de
acuerdo a una lógica determinada, que configura la clave utilizada. Estos
métodos varían en sus niveles de seguridad, la cuál mejora ostensiblemente
si se evita la relación con el mensaje original que representa la coincidencia
de entropía entre criptograma y texto claro. Para mencionar algunos cripto-
sistemas que adhieren a este modelo, podemos mencionar:
César (I a.c.): Consiste en reemplazar una letra del mensaje claro por aque-
lla que se encuentra tres posiciones hacia la derecha. Por ejemplo, la A
se reemplaza por laD, laB por laE y así sucesivamente. En las últimas
letras, los reemplazos recomienzan por el principio, utilizando técnicas
del tipo ”suma módulo”.
Uno de los aspectos de mayor debilidad del modelo pasa por la conser-
vación de la entropía del mensaje original. En efecto, cada ocurrencia
de un símbolo es codificada de la misma manera en el criptograma; en
consecuencia, la entropía del criptograma coincide con la del mensaje
claro y el criptoanalista puede trabajar con tranquilidad basándose en
las frecuencias relativas de la aparición de los símbolos, lo cuál es muy
sencillo, sobre todo en mensajes de tamaño mediano a grande.
Vigenere (1586): Vigenere propone una mejora en el punto antes mencio-
nado. Propone una clave de longitud mayor a 1, que se utilice de ma-
nera cíclica. De esta manera, la similaridad de las entropías se diluye.
Sin embargo, aparece otro inconveniente: cuando la clave se repite cí-
clicamente: si se aplica exactamente al comienzo de la misma palabra,
aparecen coincidencias en el criptograma que pueden ser atacadas con
las técnicas de Kasiski, descriptas detalladamente en [25].
Beaufort (1710): Propone una modificación a Vigenere que consiste en rea-
lizar la suma de la inversa de cada caracter del mensaje claro. No genera
13
2. ÁMBITO DEL PROBLEMA
ventajas sustanciales con respecto al esquema anterior; esto es realmen-
te llamativo si se observa que entre uno y otro transcurrieron nada me-
nos que 124 años.
Vernam (1917): El esquema soluciona los problemas de los otros esquemas
descriptos. Consiste en elegir una clave tan larga como el propio men-
saje y llevar la clave y el mensaje claro a una representación binaria.
La codificación se lleva a cabo mediante la suma binaria sin acarreo.
La decodificación es simétrica. One Time Pad es el equivalente, pero
en lugar de trabajar con código binario, lo hace con las 26 letras del
alfabeto inglés.
El modelo de Vernam proporciona seguridad incondicional. Desde un
punto de vista práctico, tiene el inconveniente de que exige una clave
tan larga como el propio mensaje y eso genera enormes dificultades
prácticas. En la actualidad se utiliza con sistemas generadores basados
en una clave corta, por ejemplo de 256 bits, que genere el resto de la
secuencia, con un período al menos tan largo como el mensaje claro.
Existen varios métodos para la generación de una clave aleatoria larga. Los
principales son:
Generadores basados en congruencias lineales: son aquellos métodos que se ba-
san en relaciones de recurrencia del tipo:
Xi+1 = aXi + b(modm) (2.1)
con a, b,m y xi ∈ Z+. En general se considera que las secuencias generadas
por este método son de baja calidad criptográfica, dado que el análisis de una
secuencia lo suficientemente larga permiten la deducción de los parámetros
m, a y b.
14
2.3 Técnicas de Protección de la Información
Registros de desplazamiento realimentados: Son aquellos en los que los bits ge-
nerados siguen participando en el proceso de generación del resto de la se-
cuencia. En particular, los de mayor calidad criptográfica son los que trabajan
de manera lineal, tal como se muestra en la figura 2.1.
Figura 2.1: Registros Retroalimentados Linealmente
Este tipo de registros permiten un análisis de tipo matemático para definir
la seguridad asociada. Para juzgar la calidad de este tipo de generadores se
deben observar los siguientes aspectos:
Período: Obviamente, cuando mayor sea la longitud del mismo mayor es la
calidad criptográfica de la secuencia. A los efectos prácticos, la simula-
ción perfecta del método de Vernam exige que el período sea mas largo
que el mensaje claro que se desea codificar.
Distribución de ceros y unos: Debe ser auténticamente aleatoria, pudien-
do verificarse determinadas propiedades en cualquier secuencia de una
longitud mínima.
Imprevisibilidad: Cada bit generado debe tener probabilidad 12
de ser un
cero o un uno.
15
2. ÁMBITO DEL PROBLEMA
Los esquemas de clave privada suelen resultar inapropiados para muchas de
las situaciones que presenta hoy el mundo real. La criptografía de clave pri-
vada tiene como único elemento de seguridad, el desconocimiento, por parte
de terceros, de una clave secreta que dos personas comparten. En tales es-
quemas, los puntos que definen la seguridad del esquema son:
La longitud de la clave. Obviamente, una mayor longitud proporciona un
nivel de seguridad mayor.
La aleatoriedad de la misma. Los criptoanalistas comienzan su tarea ata-
cando por fuerza bruta con conjuntos de caracteres que tengan signi-
ficado para el usuario: fechas de nacimiento, números de documento,
nombres de hijos, y otros. En una segunda etapa, se apoyan en la utili-
zación de ”diccionarios”. Se aconseja, por lo tanto, que las claves sean
auténticamente aleatorias y utilicen letras mayúsculas y minúsculas, nú-
meros y símbolos especiales.
La cantidad de veces que se utiliza una misma clave. Es importante cam-
biarla con frecuencia. En determinados casos es imprescindible que una
clave determinada sea utilizada en una sola ocasión.
Conocimiento del método criptográfico utilizado. Un punto que se ha ido
modificando en el ámbito de los sistemas criptográficos es la manera
en que se valora el hecho de mantener el secreto sobre cuál fue el mé-
todo que ha sido aplicado. Uno de los seis principios enunciados por
Kerkhoffs, afirma que es inaceptable que la efectividad de un sistema
dependa de que su diseño permanezca en secreto. Mientras antiguamen-
te se consideraba fundamental mantener en secreto el método aplicado,
en la actualidad se considera que es fundamental que se conozca cuál
es el método y su forma exacta de operar, dado que de esta manera, el
esquema utilizado está expuesto a un mayor nivel de crítica por parte
de la comunidad académica. Esto genera un efecto concreto: el secreto
de la información depende solamente de la clave. De allí la importan-
cia de elegir claves largas y aleatorias. Obviamente, este punto exige
que el modelo criptográfico sea fuerte ante los ataques por fuerza bruta.
16
2.3 Técnicas de Protección de la Información
Ante esta circunstancia, si es atacado con todas las claves, el esquema
debería demostrar todos los resultados válidos posibles.
2.3.2 Criptografía de clave Pública
Frente a las posibilidades mencionadas, las respuestas de la criptografía deben
ser cada vez de mayor nivel de seguridad. Hasta la década del ’70 los sistemas
de seguridad eran simétricos, es decir que la clave que se usaba para cifrar era la
misma que para descifrar. Por esos años aparece la criptografía de clave pública y
revoluciona la criptografía. Se considera que su punto de partida es el trabajo de
Diffie y Hellman ([19]). La idea central es que la clave que se usa para encriptar es
pública, pero resulta inaccesible obtener la clave de descifrado sin información que
sólo conoce el destinatario.
Los dos esquemas más conocidos asociados a la criptografía de clave pública
son: RSA y El Gamal, los cuales se describen a continuación. También presenta
interés el esquema de McEliece, aunque en este trabajo no se describe en deta-
lle porque se caracteriza por una marcada ineficiencia en la codificación, siendo
la redundancia implicada de niveles significativos. Se describe rápidamente en el
glosario de este trabajo y se detalla minuciosamente en [32].
2.3.3 RSA
Un modelo basado en los conceptos originales de Diffie y Hellman [19], es pre-
sentado por Rivest, Shamir y Adleman en [38] y recibe el nombre de criptosistema
RSA. A continuación se describe brevemente:
1. Se eligen dos números primos, p y q ∈ Z+ y se calcula:
n = p q (2.2)
Se recomienda que ambos números seleccionados tengan al menos 512 bits.
17
2. ÁMBITO DEL PROBLEMA
2. La selección anterior motiva que el grupo a utilizar sea Zn∗, cuyo orden es
(p− 1)(q − 1) y será posible de calcular, por que p y q son conocidos.
3. Se selecciona un e ∈ Z+ que verifique que 1 ≤ e < φ(n) , que sea primo
relativo del φ(n).
4. Se aplica el algoritmo de Euclides extendido para calcular el inverso d de e
en Zφ(n). Luego:
e d ≡ 1(modφ(n)), 1 ≤ d < φ(n) (2.3)
5. Luego, el par (n, e) cumplirá el rol de clave pública del usuario, mientras
que su clave privada será el número d. El esquema exige que se mantenga en
secreto los valores de p, q y φ(n).
El sistema RSA suele utilizarse en combinación con otros modelos. Se le critica
fundamentalmente su lentitud en el proceso de codificación, que resulta significa-
tiva.
2.3.4 El Gamal
Es un criptosistema de clave pública. Se fundamenta en la dificultad para compu-
tar logaritmos discretos. Concretamente, la técnica consiste en lo siguiente:
Sean P1 y P2 los participantes del proceso. Suponemos que P1 desea enviar un
mensaje m a P2. El sistema funciona con dos parámetros: un número primo grande
p ∈ Z+ y una raíz primitiva α ∈ Z+ .
El mensaje m verifica la condición de que:
0 < long(m) < p
Si m fuera más grande, debe ser descompuesto en bloques más pequeños. P2
también elige un número entero secreto a y calcula
18
2.4 Tipos de Aplicaciones Criptográficas
β ≡ αa(mod p) (2.4)
La tripla compuesta por (p, α, β) se hace pública y constituye la clave públicade P1.
Luego, P1 sigue los siguientes pasos:
1. Descarga la clave pública de P2, (p, α, β).
2. Elige un número entero secreto y aleatorio k. A continuación calcula:
r ≡ αk(mod p) (2.5)
3. Calcula t ≡ βk m (mod p)
4. Envía a P2 el par (r, t).
Para obtener el mensaje claro, P2 deberá calcular
tr−a = m (2.6)
El método exige el secreto del entero a; sin esa condición es imposible manteneren secreto la información para personas no autorizadas.
2.4 Tipos de Aplicaciones CriptográficasLa evolución de la tecnología ha dado origen a la necesidad de nuevas aplica-
ciones criptográficas. En efecto, desde el objetivo original de proteger un mensajedeterminado se desprenden:
Confidencialidad: Consiste en asegurar que solamente las personas autorizadastengan acceso a determinada información.
19
2. ÁMBITO DEL PROBLEMA
Firmas digitales: El tema se muestra de manera introductoria en [44] y se exami-
na en profundidad en [26]. Básicamente, una firma digital es un conjunto de
bits cuyo objetivo es garantizar la integridad de un mensaje. A los efectos de
asegurar tal condición, utiliza PKI, es decir Public Key Infraestructure, como
tecnología de encriptación y adiciona un certificado digital proveniente de
autoridad reconocida.
Las firmas digitales se implementan en base a las siguientes condiciones:
Autenticidad: Una firma debe poder ser generada solamente por el firman-
te.
Infalsificabilidad: Falsificar una firma digital implica resolver problemas
matemáticos; en consecuencia, tales problemas deben ser de alta com-
plejidad. Por tanto la firma debe depender del mensaje en sí.
Verificabilidad: Una firma digital debe ser fácilmente verificable por el re-
ceptor y por las autoridades pertinentes.
Innegabilidad: No puede existir la probabilidad de que un firmante pueda
negar su propia firma.
Viabilidad: Una firma digital debe poder generarse con relativa facilidad.
Identificación: En cualquier organización, cada uno de sus integrantes tiene un
rol, y, en consecuencia, privilegios. Es menester verificar que cada acción
que se lleve a cabo sea realizada por una persona autorizada. Tales cuestiones
se verifican a través de los sistemas de contraseñas.
Compartimiento de secretos: Generalizando el punto anterior, cualquier esque-
ma que necesite garantizar transparencia y anonimato en lo referido a cual-
quier mensaje que se desee compartir en una red, deberá contar con los me-
canismos criptográficos que respondan a las exigencias de seguridad reque-
ridas.
Voto Electrónico: Se presenta como una alternativa ante los esquemas manuales
tradicionales. Es fácil percibir las ventajas que un sistema electrónico de vo-
tación presenta. Sin embargo, solamente podrán imponerse en la medida en
20
2.4 Tipos de Aplicaciones Criptográficas
que demuestren una superioridad clara con respecto a los esquemas actua-les. Por lo tanto, es imprescindible contar con herramientas criptográficas dealtísima seguridad, a los efectos de asegurar la transparencia del conteo y elanonimato de los votantes.
e-commerce: Es extraordinario el incremento de los volúmenes de dinero que semueven por medios electrónicos. Las operaciones virtuales han pasado a ocu-par niveles muy significativos. Es evidente que la apoyatura criptográfica pa-ra esta actividad debe ser de máxima calidad, debiendo proveer altísimosniveles de seguridad.
En resumen, las aplicaciones criptográficas se han diversificado de manera no-table. Cada una de ellas presenta características propias y, en consecuencia, técni-cas criptográficas diferentes. En el siguiente capítulo se analiza un protocolo concaracterísticas muy interesantes para aquellas aplicaciones en las que sea necesa-rio mantener el anonimato sobre el emisor de un mensaje determinado, de maneraindefinida: Dining Cryptographers.
21
CHAPTER
3Dining Cryptographers
El presente capítulo describe el protocolo Dining Cryptographers, presentadopor Chaum en [11]. Se analiza su generalización, se proponen pruebas formalespara su seguridad y se analizan cuestiones prácticas relacionadas.
3.1 Descripción del EsquemaDining Cryptographers presenta niveles de seguridad incondicional, en lo refe-
rente al anonimato asociado a la emisión de una información determinada, a travésde canales públicos.
El problema inicial se presenta basado en tres participantes que sólo intercam-bian un bit de información, pero se generaliza a cualquier cantidad de participantesy a cualquier volumen de información, de manera natural y sin complicaciones deimportancia.
El modelo puede describirse de la siguiente manera:Tres criptógrafos comparten una cena en un restaurant. Al llegar el momento
de pagar, el mozo les indica que la adición ya ha sido abonada y, que quién lo hizo,
no desea que se conozca su identidad. Los criptógrafos desean saber si alguno de
los comensales fue quien realizó el pago, o si la misma fue abonada por alguien
externo al grupo de comensales. Ellos desean saber solamente eso: si pagó alguno
23
3. DINING CRYPTOGRAPHERS
de ellos o no. En caso de un pagador externo, el anonimato está garantizado, pero
si fuese un integrante del grupo, los demás respetan el derecho a invitar y no desean
saber la identidad del pagador.
Planteado de esta manera, la solución que encuentran es la siguiente:Cada uno de los comensales lanza una moneda al aire. Observa el resultado
obtenido y lo comparte con su vecino de la izquierda. Luego, cada uno de ellos ve
exactamente dos monedas, la propia y la del vecino que comparte con él. Final-
mente, cada uno debe indicar si las dos monedas que pudo observar son ”iguales”
o ”diferentes”, con la condición de que si alguno de ellos abonó la adición, debe
mentir con respecto a su afirmación.
En las condiciones descriptas, si el número de criptógrafos que proclama ”di-ferentes” es impar, el pagador se encuentra en el grupo de comensales. Un númeropar, en cambio, indica que el pagador es externo al grupo.
Es necesario destacar algunos puntos:
1. Se considera que las monedas utilizadas otorgan un resultado auténticamentealeatorio con respecto al experimento ”lanzar la moneda al aire”, de maneraque:
P (′′Cara′′) = P (′′Ceca′′) = 12
2. El esquema solamente otorga resultados correctos si se cuenta con la honesti-dad en la respuesta de todos los participantes. Si alguien pagó pero no mienteen su declaración el modelo no otorga las conclusiones correctas. Lo mismoocurre si un comensal que no abonó la cuenta, falta a la verdad al compararambas monedas. En el capítulo 6 del presente trabajo se realizará un análi-sis profundo de este tema, proponiendo soluciones orientadas a descubrir losintentos de fraude y valorando la calidad de las mismas.
3. El esquema funciona correctamente si se realizó un solo pago por la cena.Si el restaurante hubiese aceptado dos o más pagos anónimos, las conclusio-nes obtenidas no serán correctas. Este punto se relaciona con el anterior: elmodelo original de Chaum funciona apropiadamente solamente en el caso deque todos los participantes muestren una conducta honesta.
24
3.2 Generalización del Modelo de Dining Cryptographers
4. Si las condiciones requeridas son correctas, ninguno de los comensales ob-
tendrá ninguna información sobre la identidad del pagador. Como fue dicho,
si el pagador es externo, el anonimato está asegurado. Si el pagador pertene-
ce al grupo, es fácil analizar los casos para concluir que un criptógrafo que
no pagó la cuenta no recibe ninguna información que le permita deducir la
identidad del pagador. Esta propiedad hace muy atractivo el esquema, dado
que el un objetivo central (anonimato) es obtenido por defecto, como algo
incluido en el esquema sin esfuerzo adicional.
5. Un elemento de enorme valor en Dining Cryptographers pasa por la segu-
ridad incondicional que se otorga al anonimato. Se provee un sistema cu-
ya funcionalidad permite la transmisión de mensajes garantizando incondi-
cionalmente el anonimato de la fuente. Rápidamente aparecen aplicaciones
prácticas, como por ejemplo voto electrónico, para las cuales esta propiedad
es fundamental. Cualquier esquema de intercambio de información en que
se desee privacidad, encuentra en Dinig Cryptographers un esquema muy
atractivo.
3.2 Generalización del Modelo de Dining Cryptograp-hers
El esquema se generaliza con facilidad a n participantes, con n > 3, porque
con dos participantes, solamente personas externas al grupo podrían realizar la di-
ferenciación entre los dos participantes.
Se implementa de manera que cada participante comparta una clave secreta
con cada uno de los participantes restantes y luego, realice la suma módulo dos de
todos los bits que comparte, con la condición de que invierta su elección si desea
transmitir. Luego, si ningún participante desea transmitir, la suma dará cero; si, por
el contrario, un participante desea transmitir, la suma dará por resultado uno. Mas
precisamente, la suma dará cero siempre que el número de participantes que desea
transmitir es par y resultará uno para una cantidad impar. Si el número de rondas es
j, cada participante tendrá una clave de j bits en común con cada uno de los demás
25
3. DINING CRYPTOGRAPHERS
participantes y el bit j-ésimo será el utilizado en la ronda j. En caso de detectar
colisiones, se podría trabajar con retransmisiones.
En cualquier caso, entran en juego dos informaciones: Los bits que comparte
en cada ronda y la inversión o no de la comparación realizada. Entonces, la infor-
mación que circula por el sistema puede definirse a partir de dos elementos:
1. Quién comparte claves con quién.
2. Lo que cada participante genera en cada ronda. De acuerdo al esquema inicial
de Dining Cryptographers, el anonimato está garantizado.
El modelo es simple de interpretar si se utilizan grafos en la representación,
en donde cada participante será un vértice del grafo y cada clave, una arista. El
esquema no pierde generalidad si consideramos un grafo completo, es decir donde
cada integrante tiene comunicación con todos los demás participantes.
El modelo del grafo define la semántica de la relación entre los participantes del
esquema. Por ejemplo, un esquema de voto electrónico que implemente la figura de
las ”autoridades”, deberá incluir un modelo de grafo en el cuál todos los partici-
pantes puedan comunicarse con ellas. Un modelo en el que todos los participantes
tienen comunicación directa con todos los demás, define un esquema igualitario.
Para comprender la causa subyacente por la que el anonimato queda asegurado,
es necesario colocarse en el lugar de un comensal que no haya abonado la cuenta.
Obviamente, el caso en el que el pagador sea externo garantiza el anonimato en
base a los supuestos del esquema. Por lo tanto, se debe analizar el caso en que el
pagador pertenezca al grupo de criptógrafos. Esto solamente puede presentar dos
alternativas:
Las dos monedas que él ve son iguales. En este caso, necesariamente, uno de los
demás participantes indicó ”iguales” y el otro ”diferente”. Por lo tanto, si la
moneda que él no pudo observar fuese igual a las que vió, aquel participante
que declaró ”diferentes” es el pagador. Y, por el contrario, si la moneda des-
conocida fuera diferente de las que él pudo ver, el pagador es quien expresó
”iguales”. Sin embargo, ambos estados son equiprobables en el esquema. Por
lo tanto, no es posible obtener información relacionada con el pagador.
26
3.2 Generalización del Modelo de Dining Cryptographers
Las dos monedas que él observa son distintas. En tal caso, es inevitable que los
otros dos criptógrafos expresen resultados coincidentes. Si ambos dicen ”di-
ferentes”, el pagador será el participante que se encuentre más cerca de la
moneda que coincide con el resultado de la moneda oculta. Y si ambos pro-
claman ”iguales”, el pagador es quién se encuentra más cerca de la moneda
que difiere del valor de la moneda oculta. Tal como en el caso 1, ambos es-
cenarios son equiprobables. En consecuencia, no se puede obtener ninguna
información que delate la identidad del pagador.
Teniendo en cuenta que todos los participantes se encuentran online simultá-
nemente, es posible derivar una manera sencilla de enviar mensajes anónimos. Se
repite el protocolo, vez tras vez. Cuando un participante desea transmitir, invier-
te sus mensajes. En caso de notar que otro participante también desea transmitir,
se debe resolver con un esquema de retransmisiones. También, si la situación lo
necesita, se pueden definir prioridades en ese sentido.
Resulta interesante observar un detalle muy particular del esquema original:
cada uno de los participantes cuenta con dos informaciones que deben mantenerse
secretas:
1. La clave compartida con cada uno de los participantes.
2. La inversión (o no) de cada participante. En el esquema original planteamos
que quien invierte su resultado es el que abonó la cuenta. El anonimato de
este participante es un componente fundamental de el modelo.
Esto, desde el punto de vista de la información existente en el sistema se puede
describir en dos puntos:
1. Quién comparte claves con quién.
2. Cuál es el aporte que genera cada participante en una ronda del sistema.
La imposibilidad de definir el origen de una información exige que ambas in-
formaciones se mantengan absolutamente secretas. Lo que si se hace público es la
suma total de la ronda.
27
3. DINING CRYPTOGRAPHERS
Se puede empezar a plantear a esta altura, cual es el límite real del anonimato
si hubiera participantes que actúan de manera deshonesta. Es evidente que si en un
grupo de n participantes, n − 1 se pusieran de acuerdo, podrían descubrir cuales
son los mensajes del restante. Estas situaciones deben ser observadas por cada uno
de quienes colocan mensajes en la red: debe elegirse cuidadosamente con quién
intercambiar bits aleatorios. Si uno de los participantes no considera confiable a
otro, debería evitar compartir claves con él.
Se define como confabulación (collusion) al acuerdo de dos o más participan-
tes del proceso para intentar descubrir la identidad de los mensajes de uno o más
participantes, externos al grupo.
Un análisis más profundo de los límites de seguridad, más una propuesta con-
creta para evitar fraudes, se desarrolla en el capítulo 6 del presente documento.
3.3 Prueba Formal de la Seguridad de Dining Crypto-graphers
Se define el concepto de ”vista”, que nos permitirá demostrar la seguridad del
esquema propuesto:
Una vista es una variable aleatoria que describe cuál es el conjunto de in-
formación con la que cuenta un participante determinado al finalizar el proceso.
Por ejemplo, al finalizar el acto eleccionario si se trata de un esquema de voto
electrónico.
Si podemos probar que la vista de la que dispone un usuario determinado no
permite determinar las elecciones realizadas por los demás participantes en ningún
caso, el anonimato queda garantizado. En particular, para analizar el esquema Di-
ning Cryptographers, podemos distinguir los siguientes elementos y analizar cuáles
de ellos están visibles para cada participante:
Las monedas: de acuerdo a la mecánica del modelo DC, cada participante ve
su propia moneda y la de su vecino de la izquierda. Denominaremos xi ∈{Cara, Ceca} al valor obtenido en la acción de lanzar la moneda i.
28
3.3 Prueba Formal de la Seguridad de Dining Cryptographers
La información de inversión: El valor de este elemento serámi ∈ {True, False}.Si mi es True, implica que el participante pagó la cuenta y, por lo tanto,
miente al expresar el resultado que observa de la comparación de las dos
monedas que puede observar. Un valor False implica lo contrario.
La información de comparación de dos monedas: Para este dato se utilizará ri ∈{Iguales,Diferentes}. Obviamente un valor iguales implica que el parti-
cipante i declara que los valores de ambas monedas que puede ver son coin-
cidentes.
Por lo tanto, puede analizarse en esos términos la seguridad del esquema inicial.
Bastará con analizar las vistas que un participante determinado dispone ante todos
los casos posibles, dado que la simetría del esquema garantiza que las conclusiones
pueden generalizarse para todos los participantes.
Se observa entonces las vistas que el participante P1 podría tener a disposición.
Los casos son los siguientes:
El pagador es externo. En este caso, el anonimato está garantizado.
P1 es el pagador. Está situación también es trivial.
P2 es el pagador. La vista que P1 tiene a disposición es la siguiente:
V1 = (x1,−, x3,m1,−,−, r1, r2, r3) (3.1)
P3 es el pagador. Ante esta situación, P1 ve:
V1 = (x1,−, x3,m1,−,−, r1, r2, r3) (3.2)
Queda claro que las vistas de los dos últimos casos son coincidentes. Concre-
tamente, los valores de x1, x3,m1yr1 serán exactamente iguales en ambos casos.
29
3. DINING CRYPTOGRAPHERS
r2yr3, en cambio, presentarán valores opuestos dependiendo de quien haya pagado
la cuenta. Sin embargo, eso no le entrega información adicional a P1, porque tales
valores dependen de x2, valor que él no conoce y que presenta equiprobabilidad de
tomar cualquiera de los dos valores posibles.
Por lo tanto, si alguno de sus compañeros abonó la cena, P1 no puede distinguir
quién fue, dado que:
P (P1) = P (P2) =1
2(3.3)
Queda demostrada la seguridad del esquema original de Chaum, contando con
que los tres criptógrafos se comportarán de manera honesta. En el capítulo 6 del
presente trabajo se generaliza este enfoque a un número arbitrario de participantes
y se proponen una serie de técnicas para contrarrestar los intentos fraudulentos,
demostrando la seguridad de tal esquema de manera formal.
3.4 Cuestiones PrácticasExisten, además una serie de cuestiones prácticas que deben ser analizadas:
1. Establecimiento de las claves.
Debe analizarse cuidadosamente la forma concreta en que se implementarán
las claves necesarias para mensajes de longitud mayor que un bit. La forma
que suele utilizarse es que cada par de participantes compartan una secuencia
larga de bits (que debería estar almacenada en un soporte apropiado, como
por ejemplo un disco óptico). Las capacidades de almacenamiento que se
proveen en la actualidad aseguran la posibilidad de contar con claves alea-
torias durante largos períodos de tiempo. Y cuando los mismos se acaben,
simplemente se reemplazan los soportes.
El ancho de banda a utilizarse se puede reducir si sólo se amplía el mismo
con la aparición de un 1, que indicaría el comienzo de un mensaje.
30
3.4 Cuestiones Prácticas
2. Técnicas de comunicación subyacentes.
Existe un número importante de variantes que pueden ser usadas en este sen-
tido. Cualquier modelo basado en ciclos, se adapta naturalmente. En cambio,
la utilización eficiente de otras topologías exige un compromiso de los parti-
cipantes, que deberán destinar una serie de bits a tal efecto.
3. Privacidad y autenticación.
Un punto clave en el esquema está representado por la necesidad de asegu-
rar privacidad garantizando que todos los mensajes emitidos corresponden a
participantes autorizados. Ambos objetivos son, en cierto sentido, contradic-
torios. Sin embargo, es imprescindible garantizar la ocurrencia simultánea de
los dos.
Nos encontramos, entonces frente a un clásico problema de ”sender untracea-
ble”. Existe mucha literatura específica sobre ese particular. Por ejemplo, [4],
[6], [12], [13] [15], [43] y [49] abordan la problemática desde perspectivas
muy variadas.
4. Ruptura (disruption) del esquema.
El esquema original de Dining Cryptographers, tal como fue presentado, ne-
cesitaba en la honestidad del accionar de todos los participantes para garan-
tizar seguridad. Es evidente que esto no es realista: los intentos de obtener
ventajas con prácticas deshonestas aparecen en cualquier intercambio de in-
formación entre seres humanos. Es dable pensar que el nivel de deshones-
tidad aumenta de manera proporcional a la importancia de la información.
Baste pensar en un sistema de voto electrónico que defina las autoridades
nacianales, provinciales y municipales.
Los participantes honestos de un esquema de este estilo podrán detectar in-
tentos fraudulentos solamente si se cumplen tres condiciones:
La clave compartida es convenida por los participantes de manera pú-
blica. Esto significa, que, dicha clave, lejos de ser secreta, debe ser co-
nocida y aceptada por todos los participantes.
31
3. DINING CRYPTOGRAPHERS
El esquema debe asegurar que los participantes no puedan modificar
sus publicaciones en base a lo que publican otros participantes en esa
ronda. Condición indispensable para evitar especulaciones.
Alguna rondas contendrán inversiones que no deberían comprometer el
anonimato de un participante honesto. Es imprescindible que aquellas
rondas que implementen respuestas no identifiquen a un participante
con conductas correctas.
5. Identificación por consenso.
Por último, implementar algún tipo de autoridad permitiría que se exija a to-
dos los participantes exponer sus bits compartidos en una ronda determinada.
Un participante que haya actuado de manera deshonesta quedará expuesto
inevitablemente, si al mismo tiempo se implementa un sistema de firmas di-
gitales.
De la misma manera, detectar comportamientos inapropiados será posible si
el esquema admite la posibilidad de que la colaboración mayoritaria de los
participantes habilite el seguimiento de un mensaje. Para más detalles sobre
ese punto, ver [12].
El esquema planteado para resolver el problema de Dining cryptographers mues-
tra que es posible, partiendo de canales incondicionalmente secretos, generar cana-
les que garanticen la no identificación del emisor de un mensaje. La aproximación,
es aplicable a gran cantidad de problemas del mundo real.
De todo lo expuesto, se observa el valor teórico del esquema. Un método que
proporciona seguridad incondicional para la identidad del emisor de un mensaje
es extremadamente atractivo. Sin embargo deben considerarse dos cuestiones no
menores:
El esquema original se basa en que todos los participantes se comportan de
manera honesta. Sin embargo, esto no es una conducta esperable en muchos
problemas del mundo real. Por ejemplo, si se desea aplicarlo a voto electró-
nico, en elecciones que definan autoridades, las conductas deshonestas son
esperables. En definitiva, todas las técnicas que se implementen en pos de
32
3.4 Cuestiones Prácticas
detectar este tipo de comportamientos deben construirse de manera externaal modelo. Este punto se analiza en profundidad en el capítulo 6.
Los criptógrafos que cenan se encuentran todos simultáneamente en la me-sa. Sin embargo, existen múltiples problemas real en la que la privacidades esencial, pero no es condición necesaria que todos los participantes seencuentren online al mismo tiempo. El próximo capítulo aborda esta proble-mática detalladamente.
33
CHAPTER
4Non Interactive Dining
Cryptographers
En este capítulo se describe el modelo Non-Interactive Dining Cryptographers
(NIDC), una derivación del esquema original de Chaum que no exige la concurren-
cia online de todos los participantes, elemento que lo hace aplicable a un número
mayor de problemas del mundo real. Se plantean, a continuación, los puntos espe-
cíficos del modelo que serán optimizados en los dos capítulos siguientes.
4.1 DescripcionEn [48] se propone una modificación en el nivel de exigencia de seguridad en
los sistemas de voto electrónico. mencionando que la gran mayoría de los siste-
mas de votación conocidos hasta el momento de la publicación de ese documento,
proporcionan un nivel de seguridad computacional para el anonimato, y que eso re-
sulta inapropiado. En efecto, el bajo costo del almacenamiento hace pensar en que
la información podría mantenerse durante largos períodos de tiempo en soportes
físicos y, en consecuencia, la identidad del emisor de un voto determinado podría
ser descubierta después de un cierto tiempo. Esto no es un detalle menor; basta
35
4. NON INTERACTIVE DINING CRYPTOGRAPHERS
con imaginar las consecuencias de conocer por quién votó un candidato actual en
elecciones anteriores.
Una regla fundamental a la hora de analizar sistemas de voto electrónico afirma
que no existe interés en cambiar un sistema manual por uno electrónico cuyo nivel
de prestaciones sea inferior. Es claro que si se va a producir un reemplazo, el mis-
mo debe estar motivado por las ventajas que la nueva propuesta incluye. Pues bien,
las boletas involucradas en un proceso eleccionario manual, van a ser irremedia-
blemente destruidas. Esto no es así para los medios electrónicos, máxime cuando
se tiene en cuenta el permanente abaratamiento de los costos de almacenamien-
to. Por lo tanto, la información se va a ver expuesta a posibles ataques durante un
lapso mayor de tiempo y, en consecuencia, aumenta la posibilidad de éxito de los
criptoanalistas.
Como consecuencia de lo expresado en párrafos anteriores, se propone un mo-
delo completo basado en Dining Cryptographers, con la característica de que la
concurrencia online de todos los participantes del proceso no es exigida, garanti-
zando un nivel incondicional de seguridad en lo referido a la privacidad de cada
voto individual.
Al mismo tiempo, se aceptará un nivel computacional de seguridad en lo refe-
rente al proceso de votación. Esto, que contradice los esquemas tradicionales, tiene
una justificación muy clara: la protección de la información debe ser efectiva du-
rante un período de tiempo corto; a lo sumo, la duración del acto eleccionario. En
consecuencia, si garantizamos que la información será protegida durante el lapso
mencionado, será suficiente. Posteriormente, los resultados de las elecciones serán
publicados.
Más allá de que el análisis se origina en un esquema de e-Voting, se busca
generalizar el modelo a cualquier problema del mundo real donde el esquema pueda
resultar de interés. Aparece, en consecuencia, un novedoso esquema, que tiene dos
componentes fundamentales:
Firmas Ciegas.
Una variante del esquema original de Dining Cryptographers de Chaum, que
van de Graaf denomina ”Non Interactive Dining Cryptographers” (NIDC).
36
4.1 Descripcion
Ambos elementos serán descriptos en profundidad en las dos secciones siguien-tes.
4.1.1 Firmas CiegasLa idea es que, a través de la utilización de las firmas ciegas introducidas por
Chaum, el votante obtenga un voto válido de parte de las autoridades del procesoeleccionario. En particular, podría utilizarse el protocolo de Fujioka, Okamoto yOhta [24]. Dicho protocolo permite al votante comunicarse con las autoridadespara enviar un voto ciego. Éstas responden firmando (de manera ciega) el votoy reenviándoselo al votante. Cabe tener en cuenta que el proceso es perfecto yque todas las opciones son matematicamente equiprobables, razón por la cuál lasautoridades no pueden deducir ninguna información relacionada con las eleccionesel votante.
Obviamente, las autoridades deben dejar constancia de cada voto, para que nin-gún votante pueda reincidir. De la misma manera, ambas partes involucradas debe-rán fimar sus mensajes y mantener registros de los mismos a los efectos de resolvercualquier diferencia posterior.
Al recibir el mensaje de las autoridades, el votante lo recupera y puede verificarque contiene un voto válido y firmado.
4.1.2 Non Interactive Dining CryptographersEl esquema original de [24] se basa en Mix Nets. Dicho esquema se explica en
detalle en [39]. Lo importante a los efectos de esta investigación es que el modeloMix Net tiene un nivel de seguridad computacional y, en consecuencia, el anoni-mato podrá violarse en un determinado momento. Se explicó previamente que lanueva propuesta busca obtener seguridad incondicional y se expusieron las razo-nes de ese objetivo. Por lo tanto, tal esquema no resulta de interés a los efectos deesta investigación, en la que proveer seguridad incondicional al anonimato es unobjetivo central.
Conceptualmente, resulta bastante simple describir el modelo NIDC. La dife-rencia con el modelo original de Chaum radica en que no es necesario que losparticipantes se encuentren online, detalle imprescindible en la propuesta de [2],
37
4. NON INTERACTIVE DINING CRYPTOGRAPHERS
que es la tesis doctoral de Jurjen Bos. Esta última propuesta es de máximo interéspara aplicaciones en la que todos los participantes se encuentren online simultá-neamente. En el capítulo 7 se analiza en profundidad la probabilidad de utilizar talesquema relacionado con NIDC, para voto electrónico. Como alternativa, en [34],se expone un modelo cuyo esquema coincide en el objetivo de implementar segu-ridad incondicional para la privacidad de la elección individual, aunque aplicandometodologías muy diferentes.
Por tratarse de un esquema sin retroalimentación, el esquema tiene algunas ca-racterísticas novedosas. Sin embargo, su comportamiento no difiere demasiado delesquema original. Se puede describir en tres pasos:
1. En una fase preliminar, cada par de participantes intercambia bits aleatorios.
2. Basándose en los bits aleatorios y la entrada de las partes, se publica unmensaje.
3. Todos los mensajes se combinan, de tal manera que se cancelan todos los bitsaleatorios y lo único que permanece son las entradas de todos los participan-tes.
Es bueno recordar a esta altura, que el anonimato es garantizado directamentepor el esquema de Dining Cryptographers; los detalles de ese punto son explicadosen detalle en [11]. En consecuencia, si se prepara un esquema que permita distin-guir mensajes, los mismos serán interpretados evitando la posibilidad de conocerla autoría de cada mensaje.
En el caso de un modelo asíncrono como el que se describe, el nivel de redun-dancia es significativo. Esto se debe a que hace falta realizar múltiples verificacio-nes tendientes a evitar que un participante deshonesto arruine voluntariamente elproceso.
Del mismo modo, la protección de la información circulante sólo debe soportarel lapso de tiempo que corresponda al proceso. Por ejemplo, si se trata de un proce-so de e-Voting, todas las firmas se publicarán una vez cerrada la elección, haciendopública esa información en pos de aumentar la transparencia del procedimiento.
Para pasar a una descripción detallada del esquema NIDC, vale mencionar quela única restricción inevitable pasa por la longitud de los mensajes involucrados,
38
4.1 Descripcion
que deberá ser la misma en todos los casos. Esta condición es obligatoria y tiene que
ver con la interrelación entre los mensajes y con algunos significados semánticos
específicos relacionados con la ”posición” que una información determinada ocupa.
Aparecen entonces los flujos de información del tipo ”desafío y respuesta”. En
efecto, tras la publicación del compromiso se produce un esquema donde los par-
ticipantes pueden ”desafiar” a los efectos de verificar que el mensaje que se desea
publicar no contradice el compromiso previo. El modelo descripto se basa en la
heurística de Feige Shamir ([21]): con posterioridad al compromiso, se implemen-
ta un modelo que permite a los participantes verificar que el mensaje es coherente
con el compromiso inicial. Si la implementación es apropiada, el modelo se com-
porta de manera segura y, simultáneamente, es una manera correcta de reemplazar
la falta de concurrencia temporal.
La solución adoptada consiste en un esquema de compromisos basados en fun-
ciones de hash, que fueron presentadas originalmente en [29]. El esquema exacto
es descripto en detalle en [16] y es conocido como ”Bit Commitment con XOR”.
También es posible encontrarlo en la literatura por su abreviatura (BCX). La idea
es representar cada BCX como un vector de pares de ”bit commitments” simple,
tal que si a cada par se le aplica un XOR, el resultado obtenido es el valor del bit
comprometido. La técnica, entonces, habilita la posibilidad de desafíos sobre una
mitad del bit commitment, pero sin revelar su valor.
Vamos a ejemplificar. Supongamos que se desea representar un valor de x = 1,
lo hacemos a través de un vector X , que podría incluir los siguientes BCX:
0 1 - 1 0 - 0 1 - 0 1 - 0 1
Obviamente, el conjunto de compromisos elegidos podría haber sido otro, siem-
pre que se verifique la condición de que cada uno de los BCX sea 01 o 10. También
es importante aclarar que el número de compromisos implementados (cinco, en
este caso) es solamente a los efectos de ejemplificar. Concretamente, el número re-
sulta bajo si se desea un nivel de seguridad significativo. Más adelante se analizará
este detalle con mayor precisión.
Por tratarse de compromisos, el objetivo es demostrar la igualdad entre dos
elementos, sin dar a conocer los contenidos. Luego supongamos un vector Y , que
39
4. NON INTERACTIVE DINING CRYPTOGRAPHERS
Emisor Emisor Emisor ReceptorX = 1 Y = 1
0, 1 1, 0 1 01, 0 1, 0 0 10, 1 0, 1 0 00, 1 1, 0 1 00, 1 0, 1 0 1
Cuadro 4.1: Bit Commitments con XOR (BCX)
también corresponde a un valor y = 1 pero se representa por un conjunto de BCXdiferente:
1 0 - 1 0 - 0 1 - 1 0 - 0 1
Se describe a continuación el método que permite demostrar la igualdad entrex e y. La tabla 4.1 contiene los BCX de x e y, la condición de igualdad entre amboscompromisos (conocida por el emisor del mensaje) y un desafío aleatorio para cadaBCX (elegido por el receptor del mensaje).
En el cuadro 4.1, los valores de las columnas 3 y 4 responden a la siguientesemántica:
Columna 3 Un cero significa que ambos compromisos son iguales. Un uno indicalo contrario.
Columna 4 Un cero indica que el desafiante reta sobre la igualdad de los bits iz-quierdos del compromiso. Un uno indica lo contrario.
Basado en ese esquema general, van de Graaf propone en [48], un esquemaque permite comprometer el valor de cada bit del mensaje original, manteniendo laprivacidad de manera incondicional, que se basa en los siguientes pasos:
Se genera una permutación del vector de BCX.
Se construye un commitment sobre el orden exacto de dicha permutación.Esto significa que queda comprometido el conjunto de sustituciones concre-tas del vector original en el vector permutado.
40
4.1 Descripcion
El desafiante podrá elegir entre dos retos, de manera aleatoria:
1. Si opta por el primer desafío, el retador exige la apertura de la permu-
tación. Al hacerlo, el emisor demuestra la igualdad de los BCX que no
contienen mensajes.
2. Si se elige el segundo desafío, lo que se exige es la apertura de todos
los BCX, excepto el que contiene el mensaje. Es claro que todos deben
dar cero.
Es sencillo advertir que el esquema no revela el contenido. En el caso de bit
commitments y XOR, cada fraude individual tendrá una probabilidad igual a 12
de
ser descubierto. Por lo tanto, para llevar la seguridad hasta el nivel deseado, se
deberá implementar la cantidad apropiada de pares. El comportamiento, desde el
punto de vista probabilístico corresponde a los sucesos independientes, es decir que
la probabilidad de que un fraude no sea detectado disminuye al aumentar los pares.
Concretamente, la probabilidad de cometer fraude y que el mismo no sea detectado
es (12)p, donde p ∈ Z+ es la cantidad de pares que se implementen.
Se analiza el proceso en sus fases componentes:
1. Fase Preliminar.
Tal como ocurre en la versión sincrónica de Dining Cryptographers, duran-
te la fase preliminar, cada par de participantes i y j crea un string aleatorio
que denominaremos Rij , de tamaño fijo N bits. La diferencia que aparece
en la versión asincrónica es que surge la necesidad de que cada uno de los
dos participantes que comparten el string aleatorio, lo comprometan indivi-
dualmente, mediante la aplicación de las técnicas de BCX que se expusieron
anteriormente. Esto generará dificultades para cualquier intento fraudulento
por parte de cualquiera de los dos participantes. Obviamente, el nivel de pro-
babilidad de detectar un fraude crece con la cantidad de pares y basándose
en propiedades de los sucesos independientes, razón por la cual es posible
llevar el nivel de seguridad hasta el nivel que se desee.
La técnica utilizada para tal fin es la siguiente:
41
4. NON INTERACTIVE DINING CRYPTOGRAPHERS
En primer lugar, se considera a ambos pi y pi participantes como si fueranuno sólo, que será denominado pij . Ambos participantes, de manera conjunta,crearán un conjunto de N BCXs, pero con una medida 2K en lugar de K.Luego, ellos prueban la correctitud a los demás participantes mostrando quetodos los pares de un mismo BCX codifican el mismo valor, es decir que:
xki⊕
xk1 = x (4.1)
Con k ∈ 1, ..,2K. Los pasos para demostrar dicho punto son los siguientes:
Pij crea un BCX adicional y con el mismo valor que x.
Se crea una permutación ϕ, auténticamente aleatoria, de los BCXs.
Pij prueba la igualdad entre x e y aplicando la permutación ϕ paramezclar los pares, mostrando alguna de las dos igualdades siguientes,de acuerdo a la elección del desafiante.
xk0 = yϕ(k)1, o xk1 = yϕ(k1)
Es fácil observar que cualquier intento de engaño por parte de un par de par-ticipantes Pij , sobre un subconjunto S, sólo pasará inadvertido si la permuta-ción ϕ mapea sobre si misma. Luego si definimos s = ]S, la probabilidad deque el engaño no sea detectado es (1
2)s. Por lo tanto, tal probabilidad puede
llevarse a valores deseados mediante el incremento del valor de s, sin queexistan límites en ese sentido.
Una vez que el protocolo es completado, ambos participantes dividen el com-promiso dual en dos individuales, cada uno de longitud K. Por ejemplo, unode ellos podría quedarse con los bits inferiores y el restante, con los superio-res.
2. Fase de Publicación.
Esta etapa incluye dos pasos:
42
4.2 Optimización del Modelo
Pi compromete su mensaje Mi y demuestra que está bien formado.
Pi compromete su contribución Ci y demuestra que está bien formado.
Es fácil observar que ambos compromisos pueden resolverse con la aplica-
ción de las técnicas de BCX descriptas previamente. La descrición detallada
de la aplicación exacta en cada etapa se puede encontrar en [48]. En cualquier
caso, la cantidad de desafíos implementados permite llevar la seguridad al ni-
vel que se desee.
4.2 Optimización del ModeloHasta aquí se ha descripto el modelo Non Interactive Dining Cryptographers tal
como fue presentado por van de Graaf en [48]. Dicho trabajo deja pendientes dos
temas importantes que serán abordados en los próximos dos capítulos del presente
documento.
4.2.1 Optimización del Tratamiento de Colisiones
En [48] se enuncia un modelo que aporta seguridad incondicional para el anoni-
mato. Un pilar fundamental de la idea pasa por la elección aleatoria del slot donde
el voto se va a almacenar. Dicha aleatoriedad abre la posibilidad de la existencia de
colisiones, es decir que dos o más participantes elijan el mismo slot. Cuando esto
ocurre, todos los datos que colisionan, se pierden.
Es imprescindible conocer valores concretos relacionados con la probabilidad
de pérdida de información. Los participantes de un esquema de este tipo deben
conocer esos valores. Obviamente, se busca que los mismos se mantengan tan bajos
como se desee.
En su documento original ([48]), van de Graaf enumera posibles líneas de tra-
bajo tendientes a solucionar este problema:
Aumentar el número de slots. Esta alternativa, si se tiene en cuenta el bajo costo
relativo del almacenamiento, parece atractiva. Sin embargo, debe ser revisada
43
4. NON INTERACTIVE DINING CRYPTOGRAPHERS
en profundidad, dado que su aplicación aparece como cada vez más dificul-
tosa en la medida que el volumen de datos aumenta. ¿Hasta que límite es
razonable adicionar celdas?
Operar múltiples redes NIDC en paralelo. Por ejemplo, una conclusión rápida
nos indica que la pérdida efectiva de un dato determinado solamente puede
producirse si todas sus instancias colisionan.
Permitir que cada participante ocupe más de un slot. Si existen varias réplicas
del mismo dato, administradas apropiadamente, es posible que la utilización
de la estructura resulte más eficiente. Tal como se mencionó en el punto
anterior, la pérdida definitiva de un dato solamente puede producirse si todas
sus réplicas sufren colisiones.
Aplicar técnicas de recuperación de colisiones. Se pueden utilizar modelos con
la redundancia necesaria para que cuando un dato (o todas sus instancias si
existen réplicas múltiples) colisionan, sea posible reconstruir los datos origi-
nales. Por ejemplo, si en cada réplica se almacena la información relacionada
con la posición en la que se encuentran las restantes copias del mismo dato,
la reconstrucción será posible con la única condición de que exista alguna
instancia cuya colisión sea simple (es decir, entre dos datos) y el otro tenga
alguna instancia válida. La reconstrucción se llevará a cabo con una opera-
ción XOR entre el contenido del slot y el voto válido. Es dable pensar en
otras técnicas que se puedan aplicar de manera similar.
Como respuesta a este problema, el capítulo 5 propone soluciones alternativas
que buscan hacer más eficiente el uso del almacenamiento destinado a implementar
slots, con un análisis en profundidad de los puntos antes mencionados.
De la misma manera, se enuncian métodos para llevar las probabilidades de
pérdida de información a los valores que sean exigidos.
44
4.2 Optimización del Modelo
4.2.2 Optimización de las Políticas para Administrar ConductasDeshonestas
La manera exacta en que un esquema como el que se analiza administra lasconductas fraudulentas de los involucrados es crucial. Es un item que permite quelos análisis teóricos puedan derivar en aplicaciones prácticas viables, de utilizacióngeneralizada. Por ejemplo, es inaceptable un esquema de voto electrónico que nopresente altos niveles de seguridad relacionados con este punto. Y, en general, mu-chos problemas relevantes del mundo real presentan niveles similares en cuanto alnivel de seguridad exigido .
Como consecuencia de lo anterior, y teniendo en cuenta que el modelo originalde Dining Cryptographers de Chaum [8] se basa en el supuesto de que todos losparticipantes mostrarán conductas honestas, es necesario adosar al modelo algunasherramientas específicas en ese sentido.
En [48], se propone un modelo para detectar y administrar conductas fraudulen-tas, el cuál fue descripto previamente en este capítulo. El esquema provee niveles deseguridad apropiados, pudiéndose llevar la probabilidad de no detectar un intentodeshonesto a los niveles que se deseen.
Sin embargo, el esquema resulta ineficiente por exigir operaciones a nivel debit sobre la totalidad del mensaje. Además, la manera de aumentar el nivel de se-guridad pasa, como se describió previamente, por un aumento en la cantidad deoperaciones que deben llevarse a cabo. Este aumento resulta significativo porquecada BCX individual que se adicione, genera múltiples operaciones. El número deoperaciones resultantes es proporcional a la longitud (medida en bits) del mensajey también a la cantidad de participantes.
Se plantea entonces la idea de encontrar un esquema que, cumpliendo con losniveles de seguridad exigidos, muestre una eficiencia mayor. Esto es posible en lamedida en que la metodología aplique técnicas de verificación que operen sobrestrings de longitud n bits, con n > 1.
El capítulo 6 de esta tesis propone un modelo que, en lugar de los BCX delesquema original, implementa una solución basada en logaritmos discretos y com-promisos de Pedersen. La nueva propuesta mantiene los niveles de seguridad, conuna mayor eficiencia.
45
CHAPTER
5Un Modelo para Administrar
Colisiones
Este capítulo presenta un esquema novedoso para administrar las colisiones enun modelo de almacenamiento de votos, propuesto para optimizar el modelo ori-ginal de NIDC. El mismo comienza por mostrar una serie de resultados obtenidoscon la realización de simulaciones, para finalmente presentar un modelo matemáti-co que permite describir el comportamiento del protocolo.
5.1 IntroducciónEn muchas aplicaciones prácticas, las exigencias relacionadas con evitar la pér-
dida de información son muy altas. Por ejemplo, en un sistema de voto electrónico,la cantidad de sufragios que puedan perderse durante el proceso es una magnitudcrítica. En particular, los sistemas de votación manuales presentan garantías ra-zonables de que la pérdida de sufragios se va a mantener en valores aceptables.Tal afirmación es muy importante, porque no resulta interesante reemplazar un es-quema por otro que proporcione prestaciones inferiores. Consideraciones similarespueden hacerse en referencia a cualquier aplicación cuyo modelo de almacena-miento esté basado en un vector de slots.
47
5. UN MODELO PARA ADMINISTRAR COLISIONES
Se busca mantener el anonimato respecto de la identidad del emisor de un dato
específico. En un esquema que implemente un vector de slots, tal concepto se rela-
ciona con la aleatoriedad de la elección de la ubicación de dicha información en el
arreglo. Por lo tanto, es posible que dos o más usuarios elijan un mismo slot para
depositar una información. Tal coincidencia recibe el nombre de colisión.
Una colisión deriva en la pérdida de todos los datos que se almacenan en el
mismo slot. Simultáneamente, el planteo de aleatoriedad real para la elección de
la posición impide garantizar que no se producirán colisiones. Se busca, entonces,
asegurar que la proporción de datos perdidos se mantenga por debajo de un valor
deseado, con una probabilidad específica.
En ese contexto, un fundamento teórico para tener en cuenta es la Paradoja del
Cumpleaños (Birthday Paradox, [23]), que afirma lo siguiente:
En un grupo de 23 personas, la probabilidad de que haya al menos 2 que cum-
plan años el mismo día es muy cercana a 12.
Tal afirmación es muy poco auspiciosa a los efectos de esta investigación. El
tamaño del vector asociado resulta relativamente grande con respecto a la muestra
y, sin embargo, la seguridad asociada está muy lejos de niveles que pudieran ser
aceptables en una aplicación práctica. Podría imaginarse la inutilidad de un sistema
de e-Voting en el que la probabilidad de que se pierda al menos un voto se aproxime
a 12.
Por todo lo expuesto, resulta de interés analizar en profundidad la posibilidad
de encontrar métodos alternativos que optimicen la utilización del almacenamiento
asociado, dado que el esquema de vector simple parece exigir una cantidad signifi-
cativa de espacio en proporción a los datos efectivos.
Se comienza por describir los parámetros involucrados:
T : #slots total a implementar a implementar. T ∈ Z+.
S: #slots en cada canal paralelo. S ∈ Z+ ∧ S ≤ T .
N : #votantes. N ∈ Z+.
Q: #canales paralelos a implementar. Q ∈ Z+.
R: #replicas de un voto en un mismo canal .R ∈ Z+.
48
5.1 Introducción
Vi: #slots que almacenan i votos al finalizar el proceso. ∀i ∈ Z+ ⇒ Vi ∈ {0} ∪Z+.
Se analizan cuatro estrategias posibles:
Canal único y dato único (CUDU): Es lo expuesto en el modelo original de [48].
Se analiza su eficiencia y se exponen resultados. Se representa por el siguien-
te invariante:
(T = S) ∧ (Q = 1) ∧ (R = 1) (5.1)
El esquema se observa gráficamente en la figura 5.1.
Figura 5.1: Esquema CUDU
Canal único y múltiples datos (CUMD): En el modelo CUDU, V0 tiene un valor
significativo. En el caso de que no existan colisiones, se verifica:
V0 = T −N (5.2)
Como se ha mencionado anteriormente, T >> N , resultando desaprove-
chados un porcentaje significativo de slots. En consecuencia, es pertinente
49
5. UN MODELO PARA ADMINISTRAR COLISIONES
Figura 5.2: Esquema CUMD
analizar el comportamiento de un esquema que permite el envío de R repe-
ticiones del mismo dato utilizando un canal único, con R > 1. El mismo se
observa en la figura 5.2.
Múltiples canales y dato único (MCDU): Se divide el número total de slots T
enQ canales paralelos y se coloca una ocurrencia de cada dato en cada canal,
en posiciones potencialmente diferentes. Es dable pensar que este esquema
puede resultar más eficiente, dado que la pérdida de un mismo voto en distin-
tos canales se encuadra dentro de los sucesos independientes, lo cuál genera
un producto de las probabilidades. Debe tenerse en cuenta, además, que para
que un dato no se pierda, es suficiente con que no colisione en un sólo canal.
La propuesta se expone en la figura 5.3.
Figura 5.3: Esquema MCDU
50
5.2 Canal Unidimensional y Dato Único (CUDU)
Múltiples canales y múltiples datos (MCMD): Es similar al caso anterior, pero
se colocará R repeticiones de cada dato en cada canal, con R > 1, (figura
5.4). Se desea averiguar si el incremento del valor de R en busca de obtener
una optimización en el uso del espacio arroja resultados positivos.
Figura 5.4: Esquema MCMD
En las secciones siguientes se analizan detalladamente las cuatro técnicas men-
cionadas.
5.2 Canal Unidimensional y Dato Único (CUDU)El esquema descripto en el capítulo anterior, y mencionado en [48], se basa en la
implementación de slots, organizados en un arreglo unidimensional. Es condición
necesaria, para asegurar el anonimato, que el slot de cada participante sea elegido
de manera totalmente aleatoria. Por tal motivo, las colisiones (es decir, que dos o
más emisores elijan el mismo slot) son probables, coincidencia que deriva en la
pérdida de todos los datos concurrentes.
En este esquema, Birthday Paradox es una referencia que parece desalentar la
posibilidad de la aplicación de la idea original. Si con sólo 23 participantes y 365
slots, la probilidad de colisión es tan alta, no parece apropiado aplicar esta estrategia
a números más elevados. Por ejemplo, si hablamos de voto electrónico, un recinto
electoral en Brasil es de alrededor de 500 votantes. ¿Cuántos slots será necesario
implementar para asegurar una probabilidad de colisión tan baja como se desee?
51
5. UN MODELO PARA ADMINISTRAR COLISIONES
Debe tenerse en cuenta que muchas aplicaciones exigirán un nivel extremadamente
bajo de datos perdidos, como por ejemplo, e-Voting.
Sea el evento siguiente:
E="No se producen coincidencias en el cumpleaños de ningún par de personas
del grupo".
La probabilidad asociada a tal evento se calcula con la fórmula siguiente:
P (E) =T !
TN(T −N)!(5.3)
Aplicando la fórmula se observa que la probabilidad de que no se produzca al
menos una colisión disminuye rápidamente y toma valores muy cercanos a cero
con valores de N significativamente menores que T . Para ejemplificar, la figura
5.5 muestra el aspecto de la curva para el caso original, es decir con T = 365 y
N = 23.
Figura 5.5: Birthday Paradox
52
5.2 Canal Unidimensional y Dato Único (CUDU)
Para generalizar el enfoque, se suele utilizar una aproximación obtenida por la
aplicación de las series de Taylor. Tal aproximación indica que para T días (votos) y
N slots, la probabilidad de que se produzca al menos una colisión se puede calcular
con:
P (E) = 1− e−T2
2N (5.4)
Es claro que dar niveles de probabilidad aceptables usando este enfoque exigirá
un valor de T significativamente mayor que N . Por ejemplo, en la figura 5.5 se
observa que para T = 365 y N = 10, la probabilidad de que haya al menos una
colisión es mayor que 110
. Suponiendo que consideramos aceptables aquellos casos
en que el valor de la probabilidad de perder un voto se encuentre en el orden de 1106
,
el esquema exigirá un número de slots muy importante. Para el caso específico de
voto electrónico, el nivel de seguridad exigido puede ser aún mayor.
Feller en [22] propone una aproximación basada en la distribución de Poisson,
que permite resolver el denominado "Ocuppancy Problem", aclarando que la cali-
dad mejora a medida que los parámetros tienden a infinito. La fórmula propuesta
por Feller para obtener la probabilidad de que en una sesión se obtengan V0 celdas
vacías es la siguiente:
p(m;λ0) = e−λ0λV00V0!
(5.5)
Donde:
λ0 = Te−NT (5.6)
Luego, nos interesa el caso en que:
53
5. UN MODELO PARA ADMINISTRAR COLISIONES
V0 = T −N (5.7)
También es posible obtener una aproximación analizando V1. Si no se pierden
votos, se verifica que:
V1 = N (5.8)
La aproximación de Feller para este caso se representa por:
λ1 = Te−NTN
T(5.9)
Ambas aproximaciones muestran valores aceptables solamente cuando T →∞y N →∞.
El cuadro 5.1 muestra una serie de valores obtenidos en el esquema CUDU.
Para la misma se aplica la fórmula antes mencionada, que describe la probabilidad
de que no se produzca ninguna colisión en un esquema Birthday Paradox.
Los valores expuestos en la tabla anterior exhiben una importante ineficiencia
en la utilización del espacio. Por ejemplo, implementando T = 100 y N = 5, la
probabilidad de que no se produzca, al menos, una colisión, sigue siendo cercana a
0, 1.
En las secciones siguientes se analiza el comportamiento de los otros equemas
inicialmente propuestos (CUMD, MCDU y MCMD) para detectar mejoras en ese
aspecto.
5.3 SimulacionesPara analizar los tres esquemas restantes obteniendo conclusiones rápidas, se
utilizará, inicialmente, un esquema basado en simulaciones. Aquel esquema que
54
5.3 Simulaciones
N P10 0,11720 0,41123 0,50730 0,70650 0,9757 0,99
100 6 10−80
200 3 10−129
300 1,45 10−155
366 0
Cuadro 5.1: Probabilidad de que se produzca al menos una colision en Birthday Pa-radox
muestre mayor eficiencia se analizará formalmente, mediante métodos matemáti-
cos. Se elige esta modalidad porque es una manera rápida de concentrar la atención
en aquel modelo que demuestre de manera empírica un mejor comportamiento.
Se implementa, entonces el Simulador1, cuyo código en C++ se puede obser-
var en el apéndice del presente trabajo. Concretamente, el simulador opera de la
siguiente manera:
1. Se ingresan los parámetros relacionados con la simulación:
#slots a considerar, en total (T ).
#canales paralelos que se van a implementar (C). Vale aclarar que la
cantidad de slots del punto anterior es constante, de manera que si se
implementa más de un canal, la cantidad de slots de cada uno es el co-
ciente entre la cantidad de slots total y la cantidad de canales que se
implementan. La metodología consiste en que un mismo voto se coloca
en todos los canales implementados, siempre en posiciones aleatorias
potencialmente diferentes. La probabilidad de que un mismo voto se
pierda en todos los canales es relativamente baja, considerando que se
trata de sucesos independientes y por lo tanto, un producto de probabi-
lidades.
55
5. UN MODELO PARA ADMINISTRAR COLISIONES
#votos que cada participante va a colocar en un mismo canal (R).
#cantidad de votantes (N ).
#cantidad de corridas que se van a llevar a cabo en la simulación (S).
2. De acuerdo a la cantidad de canales paralelos se divide la cantidad total de
slots, que en todos los casos, se mantiene constante. Luego, la cantidad de
slots en cada canal paralelo es:
S =T
C(5.10)
Como paso preliminar, todos los arreglos paralelos se inicializan a cero.
3. Los votantes se numeran. Para cada uno de ellos se generan tantos números al
azar como canales paralelos se utilicen. Cada número representa la ubicación
(el número de slot, la posición en el vector) para un canal. Por lo tanto, el voto
se escribe R veces en cada canal.
4. Al generar una ubicación para colocar un voto, lo que se escribe en el slot
correspondiente es:
Si esa ubicación no fue utilizada (y por lo tanto, tiene un cero), se es-
cribe el número de votante.
Si, en cambio, el valor almacenado previamente es distinto de cero, se
produce una colisión. En tal caso, al valor almacenado se le suma la
constante 1.000.000.
El análisis final es simple: para cada voto, es condición suficiente encontrar
una sola instancia del mismo, para afirmar que el dato no se perdió. De la misma
manera, las celdas con valores mayores a un millón indican colisiones. El valor
exacto, además indica el grado de cada colisión, dado que el número de millones
representa el número de datos que eligieron ese slot.
56
5.3 Simulaciones
Slots Valor Birthday Paradox Simulador Diferencia10 0,3024 0,342422 -0,04002220 0,5814 0,581272 0,00012830 0,703733 0,70381 -0,00007640 0,771103 0,771066 0,00003750 0,813603 0,81,4427 -0.00082360 0,842825 0,842861 -0,00003570 0,864140 0,863812 0,00032880 0,880371 0,880284 0,00000890 0,893141 0,893773 -000631
100 0,903450 0,903324 0.000126110 0,911946 0,911953 0,0000006120 0,919068 0,919311 -0,000242130 0,925125 0,925433 -0,000307140 0,942377 0,930817 -0,000478150 0,934874 0,934137 0,000737160 0,938855 0,938785 0,000007170 0,942377 0,942576 -0,000198
Cuadro 5.2: Verificación de los Resultados del Simulador 1
Las estrategias para administrar las colisiones pasan por aumentar la redundan-
cia o generar más de un envío de cada voto, ya sea por el mismo canal de comuni-
cación o por otro. Vamos a analizar el comportamiento de distintas estrategias en
ese sentido.
Para verificar la calidad del simulador, se comparan los valores que entrega con
los valores obtenidos con la fórmula original de Birthday Paradox, con aquellos
valores en los que sea calculable con una planilla de cálculos estandar. En todos los
casos la cantidad de votantes es 5, mientras que la cantidad de slots varía desde 10
hasta 170, con un incremento de 10. Se utilizó Calc, del paquete Libre Office. La
Tabla 5.2 muestra los valores reales y los simulados para sesiones de 1.000.000 de
corridas:
Los resultados del cuadro 5.2 muestran que el nivel de aproximación del simu-
lador es en todos los casos del orden 10−4 o mejor. Esto alienta la utilización de
simulaciones a los efectos de obtener resultados iniciales aproximados.
Para confirmar lo expresado anteriormente, la tabla 5.3 exhibe además que los
57
5. UN MODELO PARA ADMINISTRAR COLISIONES
Corridas Simulador Diferencia10 0,9 -0,042377100 0,93 0,012377
1.000 0,941 -0,00137710.000 0.94189 -0,000487
100.000 0,941914 -0,0004631.000.000 0,942038 -0,0003392.000.000 0,942296 0,0000085.000.000 0,942385 0,000007
10.000.000 0,942466 0,0000008
Cuadro 5.3: Comportamiento del Simulador 1 aumentando el valor de T
resultados se aproximan cada vez con mayor precisión al valor real a medida que
se aumenta la cantidad de corridas que se implementa. En la misma se muestran
tres datos:
La cantidad de corridas que se implementó en cada sesión.
El valor obtenido mediante la aplicación del Simulador 1, de la probabilidad
de que no se pierda ningún voto, en un contexto de 170 slots y cinco votantes.
La diferencia existente con el valor exacto, obtenido con la aplicación de la
fórmula de Birthday Paradox para el mismo caso. Tal valor es 0,9423773949.
Dados los valores observados, se utilizará el método de simulación para obte-
ner un cuadro de situación inicial sobre el comportamiento del almacenamiento.
El error es razonablemente bajo, pero además se puede llevar a niveles deseados
mediante un incremento del número de repeticiones de una sesión. Todas las con-
clusiones que se exhiben en el presente trabajo, se basan en sesiones de 1.000.000
de corridas
Para el caso de canal único, los valores que se muestran en la tabla 5.2 nos
permiten concluir que si se desea asegurar que la probabilidad de no perder votos
sea razonablemente despreciable (digamos, del orden de 10−6) se debe utilizar un
número muy elevado de slots. En efecto, los valores que aparecen en la tabla 5.3
para sólo 5 votos, dejan entrever que el número de slots necesario para dar tal nivel
58
5.3 Simulaciones
de seguridad a una cifra cercana a los 500 sufragios es muy elevado. Por lo tanto,se analizarán otras alternativas que utilicen de manera más eficiente el número deslots que se dispongan a tal efecto.
En la sección en la que se implementan múltiples canales, se compararán losvalores obtenidos con el resultado de un canal único.
5.3.1 Canal Único y Múltiples Datos (CUMD)En un esquema de Birthday Paradox, N = 23 y T = 365, de acuerdo con
los días del año. Por lo tanto, la máxima ocupación ocurre cuando no se produceninguna coincidencia en la fecha de cumpleaños de participantes. En tal caso:
V0 = T −NV0 = 365− 23
V0 = 342
Por lo tanto, la proporción de slots que quedarán sin utilizar es:
342
365∼= 0, 93 (5.11)
Tal observación permite suponer que se podría mejorar la situación replican-do un mismo voto en varias posiciones aleatorias del arreglo unidimensional. Sibien va aumentar el índice de colisiones, será suficiente con que una sola de lasinstancias de un voto determinado no colisione para que el voto no se pierda.
Se desarrollaron a tal efecto una serie de corridas en el simulador que muestranresultados desfavorables. En efecto, el número de colisiones aumenta de maneramuy significativa (acentuando lo ocurrido en Birthday Paradox) y, en consecuencia,la cantidad de datos que se pierden por colisiones es alto.
La tabla 5.4 muestra los resultados de la simulación. Concretamente, la cantidadde votos que se perdieron en el mejor caso de cada corrida. Se realizaron corridascon 480 participantes y un millón de repeticiones. A su vez, se eligieron 4800,9600, 14400 y 19200 slots. Para cada una de esas medidas se colocaron 2, 3 y 4repeticiones de cada dato.
59
5. UN MODELO PARA ADMINISTRAR COLISIONES
Slots x Réplicas 2 3 44800 112 142 1569600 105 127 140
14400 100 121 13019200 97 121 132
Cuadro 5.4: Canal Único Múltiples Datos (CUMD)
Del análisis de los resultados de la tabla 5.4 se observa que para una cantidadespecífica de slots, el porcentaje de votos perdidos aumenta cuando se incluyen másrepeticiones de cada dato. La misma tendencia desfavorable se observa en todos losdemás indicadores. Se muestra, además que la mejoría es poco significativa, aúncuando la cantidad de slots se multiplica por cuatro. Por mencionar un ejemplo,este item se mueve sólo de 112 a 97 cuando la cantidad de slots se lleva de 4800 a19200, con dos repeticiones de cada dato. En consecuencia, no se profundizará enel análisis formal de este esquema.
5.3.2 Múltiples Canales y Dato Unico MCDUDesde la intuición parece evidente que si la misma cantidad constante de slots
se divide enQ canales paralelos, haciendo que un mismo voto se registre una vez encada uno de ellos, en posiciones aleatorias potencialmente diferentes, los resulta-dos obtenidos en términos de eficiencia deberían mejorar, dado que la probabilidadde que el mismo voto se pierda en dos canales paralelos diferentes implica suce-sos independientes (ver [33]), y, por lo tanto, se representa por el producto de lasprobabilidades. Pareciera que sólo debe observarse que la medida de cada canal in-dividual paralelo sea razonablemente mayor que el total de votos. El origen de esterazonamiento se relaciona con la alta proporción de slots vacíos que aparecen en elmodelo original, unidimensional. ¿No será factible utilizar esa capacidad de mane-ra más eficiente? A los efectos de obtener conclusiones, se implementan corridascon distintos valores en dos parámetros puntuales:
T : se implementan simulaciones que incluyan 4800, 9600, 14400 y 19200 slots. Esevidente que el aumento de esta magnitud disminuye la cantidad de pérdidaspor colisión. Se busca observar valores concretos de tal mejora.
60
5.3 Simulaciones
Q: se llevan a cabo simulaciones con 1, 2, 4, 5, 6, 8, 10 y 12 canales paralelos. Se
busca observar como se comportan determinadas variables al modificar este
valor. Los valores elegidos son divisores exactos de T .
Una primera hipótesis que se plantea es que una potencial optimización por
la incorporación de canales paralelos se contrapone al aumento de colisiones que
naturalmente se produce al disminuir el tamaño de cada canal individual. Por ejem-
plo, para 4800 slots, con 4 canales paralelos, cada uno tendrá 1200 posiciones para
albergar los 480 votos. Sin embargo, si usamos 12 vectores, cada uno tendrá 400
lugares, resultando incluso menor que la cantidad de datos y aumentando significa-
tivamente el número de colisiones locales.
La figura 5.6 muestra el comportamiento de la la variable CCCP (Cantidad de
Corridas con Pérdidas) para 4800 slots y variando la cantidad de canales paralelos,
desde 1 hasta 12.
Figura 5.6: Cantidad de Corridas con Pérdidas (4800 Slots)
Se observa que la cantidad de corridas disminuye hasta la implementación de 6
canales. En cambio, al implementar 8 canales o más, CCCP muestra un crecimiento
61
5. UN MODELO PARA ADMINISTRAR COLISIONES
significativo. Este hecho es consecuencia del aumento importante en la cantidad decolisiones que se generan cuando la cantidad de datos cercano a la cantidad deslots S. Teniendo en cuenta ese detalle, los resultados resultan coherentes con elsupuesto inicial.
Ese efecto que se observa en el caso anterior desaparece al aumentar el númerototal de slots a 9600. Esto se debe a que, aún con doce canales paralelos, cada vectorindividual tiene un valor mayor que el total de datos a publicar. En efecto, el arreglocontiene 800 posiciones. Por lo tanto la curva toma una mejora de optimizaciónpermanente a medida que se aumentan canales (Figura 5.7).
Figura 5.7: Cantidad de Corridas con Pérdidas (9600 Slots)
Acentuando lo mostrado en la gráfica anterior, la Figura 5.8 muestra que latendencia mencionada se observa nítidamente, con una evidente mejora en el valorde la variable CCCP, a medida que aumenta el número de canales paralelos.
Para completar este panorama, la Tabla 5.5 muestra los resultados obtenidospara la variable CCCP. En ella se comparan los valores simulados implementando
62
5.3 Simulaciones
Figura 5.8: Cantidad de Corridas con Pérdidas (por Slots)
1 sólo vector contra 12 canales paralelos para similar cantidad total de slots. Se
aumentó el número total de slots con un millón de corridas hasta que obtener un
valor de CCCP = 0. Los valores intermedios muestran niveles de seguridad que
podrían ser aceptables en determinadas aplicaciones criptográficas.
Los números obtenidos muestran una mejora muy significativa en la medida
en que se agregan canales paralelos. Un detalle importante pasa por la enorme di-
ferencia que se observa en el valor de la variable CCCP cuando se aumenta el
número total de slots desde 4800 a 9600: en el primer caso hay 997358 corridas
con pérdidas y en el segundo ese valor se reduce a 28009. La razón de este fenó-
meno se expuso previamente: el tamaño de cada canal paralelo en el primer caso es
menor que la cantidad de participantes y, en consecuencia, el número de colisiones
aumenta de forma considerable.
Se observa que a partir de la implementación de 28800 slots, la totalidad de
las corridas no presentan pérdidas de información en simulaciones que incluyan
1.000.000 de corridas, lo que implicaría que la probabilidad de perder votos es
menor que 1106
63
5. UN MODELO PARA ADMINISTRAR COLISIONES
Slots Canal Único Doce Canales4800 1000000 9973589600 999995 28099
14400 999697 57319200 997649 3824000 991779 328800 981800 033600 967465 038400 949883 0
Cuadro 5.5: Cantidad de Corridas con Pérdidas (CCCP)
La variable opuesta es CCSP (Cantidad de Corridas Sin Pérdidas). Para com-
pletar lo expuesto en párrafos anteriores, las tres figuras siguientes muestran su
evolución, incrementando en cada caso el nivel de detalle. La Figura 5.9 permi-
te una visión general, exhibiendo los valores obtenidos con 4800, 9600, 14400 y
19200 slots, para 1, 2, 3, 4, 5, 6, 8, 10 y 12 canales. La figura 5.10, entrega un
detalle mayor, al comparar, solamente, los valores obtenidos para 8, 10 y 12 ca-
nales paralelos. Por último, la figura 5.11 muestra exclusivamente los resultados
relacionados con un esquema de 10 canales paralelos.
Las tres figuras mencionadas muestran de manera clara que es mucho mayor la
influencia del agregado de canales paralelos que del agregado de mayor cantidad
de slots. Para avalar tal afirmación, basta con observar que para 10 slots, el compor-
tamiento de la variable CCSP no difiere de manera muy significativa si se aplican
9600 o 19200 slots. En cambio es notable la permanente mejora en la medida en
que se agregan canales paralelos.
Otro elemento que resulta de interés en el análisis es lo que llamamos Datos
Efectivos Acumulados (DEA). Esta magnitud representa cuantos de los datos re-
sultan publicados exitosamente, es decir, no colisionan. Se calcula en base a la
totalidad de los datos emitidos incluyendo todas las corridas. Las figuras 5.12 y
5.13 permiten observar como se comporta dicha variable.
La Figura 5.12 es un gráfico de líneas que muestra, para 9600, 1440 y 19200
slots, como evoluciona DEA si se agregan canales paralelos. En los tres casos se ob-
serva una mejora importante al agregar el segundo canal, observándose que la curva
64
5.3 Simulaciones
Figura 5.9: Cantidad de Corridas sin Pérdidas (1-12 Canales Paralelos)
Figura 5.10: Cantidad de Corridas sin Pérdidas (8, 10 y 12 Canales Paralelos)
65
5. UN MODELO PARA ADMINISTRAR COLISIONES
Figura 5.11: Cantidad de Corridas sin Pérdidas (10 Canales Paralelos)
sigue creciendo, aunque necesariamente de manera más suave, porque los valores
se aproximan al caso ideal, es decir que todos los datos emitidos sean efectivamen-
te totalizados. La elección exacta de la cantidad de slots y canales implementados
depederá del nivel de exigencia que presente la aplicación.
La Figura 5.13 permite observar el caso específico del comportamiento de DEA
para 12 canales paralelos. La optimización es evidente.
Otras variables de interés son el mejor y peor caso (MC y PC). MC representa,
para 1.000.000 de corridas, cuál fue el menor número de datos perdidos en alguna
de ellas. PC representa lo contrario.
La Figura 5.14 muestra la evolución de ambas variables para 4800 slots para
distintas cantidades de canales paralelos. Se observa que solamente se da un valor
de MC positivo en el caso de aplicar un solo canal. En todos los demás casos, tal
variable siempre toma un valor cero, lo cuál indica que, al menos, existió una corri-
da donde no se perdió infomación. También se puede observar que la variable PC
toma un valor óptimo para 5 y 6 canales, volviendo luego a mostrar una tendencia a
empeorar. Como ya fue mencionado oportunamente, tal comportamiento responde
66
5.3 Simulaciones
Figura 5.12: Datos Efectivos Acumulados (1-12 Canales Paralelos)
Figura 5.13: Datos Efectivos Acumulados (12 Canales Paralelos).
67
5. UN MODELO PARA ADMINISTRAR COLISIONES
al aumento en el número de colisiones cuando el tamaño de cada canal paralelo es
cercano al número de datos.
Figura 5.14: Mejor y Peor Caso (4800 Slots)
Las figuras 5.15, 5.16 y 5.17 son similares a la 5.14, pero para 9600, 14400 y
19200 slots. La mejoría es permanente en los tres casos cuando se agregan canales
paralelos.
La figura 5.18 completa el panorama de la variable PC. En ella se muestra un
gráfico de líneas que compara su evolución para todas las medidas y cantidades
de canales paralelos que se han utilizado hasta el momento. Salvo el caso de 4800
slots, las otras tres curvas se hacen asíntotas al cero.
Las Figuras 5.19 y 5.20 permiten observar más detalladamente lo expuesto en
el párrafo anterior. La Figura 5.19 compara la evolución para 8, 10 y 12 canales
paralelos. La Figura 5.20 muestra el caso específico de la utilización de 10 slots.
Por último, se analiza el porcentaje de datos perdidos (PDP). La figura 5.21 se
refiere al caso de implementar 4800 slots. Recurrentemente, la mejoría se observa
hasta los 6 canales, empeorando de allí en más.
68
5.3 Simulaciones
Figura 5.15: Mejor y Peor Caso (9600 Slots)
Figura 5.16: Mejor y Peor Caso (14400 Slots)
69
5. UN MODELO PARA ADMINISTRAR COLISIONES
Figura 5.17: Mejor y Peor Caso (19200 Slots)
Figura 5.18: Peor Caso (1-12 Canales Paralelos)
70
5.3 Simulaciones
Figura 5.19: Peor Caso (8, 10 y 12 Canales Paralelos)
Figura 5.20: Peor Caso (10 Canales Paralelos)
71
5. UN MODELO PARA ADMINISTRAR COLISIONES
Figura 5.21: Porcentaje de Datos Perdidos (4800 Slots)
Las tres figuras siguientes (5.18, 5.19 y 5.20) ilustran la misma situación para
9600, 14400 y 19200 slots. La optimización es cada vez mayor en la medida en que
se aumenta el número de slots. Pero es más notable la mejora obtenida agregando
canales paralelos para una misma cantidad total de slots.
5.3.3 Múltiples Canales y Múltiples Datos
Esto consiste en combinar las dos técnicas expuestas en los apartados anterio-
res, es decir, dividir la cantidad de slots en canales paralelos y permitir más de una
ocurrencia del mismo voto en un canal determinado.
Si se observan los resultados obtenidos en las secciones anteriores, parece evi-
dente que los resultados no van a ser mejorados. Buscando confirmar tal presun-
ción, se ejecutan múltiples simulaciones que terminan por confirmar tal suposición.
En particular, la figura 5.24 muestra los valores obtenidos con 480 participantes y
3 canales, para las cantidades de slots utilizadas hasta el momento. Los valores ob-
tenidos confirman que el esquema genera mayores ineficiencias en la utilización
72
5.3 Simulaciones
Figura 5.22: Porcentaje de Datos Perdidos (9600 Slots)
Figura 5.23: Porcentaje de Datos Perdidos (14400 Slots)
73
5. UN MODELO PARA ADMINISTRAR COLISIONES
Figura 5.24: Porcentaje de Datos Perdidos (19200 Slots)
del almacenamiento, debido al crecimiento significativo del número de colisiones.
Resultados similares se obtuvieron en todas las simulaciones realizadas.
5.4 Análisis Formal de MCDULas simulaciones desarrolladas muestran claramente que el esquema MCDU
genera una optimización sobre la utilización del espacio destinado al almacena-
miento de sufragios y, por el contrario, invitan a descartar los esquemas CUDU,
CUMD y MCMD.
Se busca dar precisiones sobre los valores exactos que deberían tener los dife-
rentes parámetros involucrados para obtener un esquema óptimo en el ámbito de
MCDU. Concretamente, se definen los siguientes objetivos::
Proponer una fórmula que permita obtener el valor ideal deQ, de manera que
se provea la mejor distribución de los T slots que se desee implementar.
Indicar una fórmula que describa el valor esperado de la variable PVP.
74
5.4 Análisis Formal de MCDU
Figura 5.25: Múltiples Canales Múltiples Datos (MCMD)
Enunciar una cota razonable para la probabilidad de que no se pierda ningún
voto en un proceso eleccionario con parámetros dados.
Las tres secciones siguientes proponen metodologías para dar respuesta a ta-
les planteos. Durante todo el desarrollo de las mismas se utilizarán las siguientes
convenciones:
T : # total de slots a implementar.
S : # slots en cada canal individual.
Q : # canales paralelos.
N : # votantes.
75
5. UN MODELO PARA ADMINISTRAR COLISIONES
Vi: i-ésimo sufragio.
Rij: Suceso que indica que Vi ocupa el j- esimo slot.
Cijk: Vi colisiona con Vj en el canal k.
Bij: Vi se pierde en el cana lj.
Ai: Vi se pierda en todos los canales.
X: Ningún voto se pierde simultáneamente en todos los canales.
L: # sufragios que se pierden en todos los canales simultáneamente.
I: Se produce al menos una colisión múltiple.
5.4.1 Obtención del Q ÓptimoEn el caso de que se decida destinar Ti slots al almacenamiento de los votos,
se busca determinar en cuantos canales paralelos deberá divirse esa cantidad paradar la mejor utilización posible al almacenamiento asignado. Para obtener un valoróptimo de Q es suficiente con encontrar el punto de inflexión en la ecuación quecalcula PV P .
Fórmula:
(1− e−x)x (5.12)
Derivada:
−(xe−x)
e−x − 1− ln(−e−x + 1)(−e−x + 1)x (5.13)
76
5.4 Análisis Formal de MCDU
La raíz de tal derivada se encuentra en X = 0, 69314718055995. Se observaque el valor obtenido coincide con el ln2.
Por lo tanto, se propone la siguiente fórmula para calcular el Q óptimo teórico(Qot):
Qot = ln2TiN
(5.14)
Obviamente, el resultado de la ecuación anterior puede no resultar entero. con-dición que debe cumplir el Q que se aplique finalmente. Por lo tanto se define el Qóptimo aplicable (Qoa):
Qoa =| Qot + 1 | (5.15)
Qoa = TECHO(Qot) (5.16)
La elección de la función TECHO se justifica por el comportamiento que se ob-serva a partir de un gran número de simulaciones. En efecto, la optimización crecerápidamente hasta el valor óptimo y en cambio se mantiene en valores similarespara los valores siguientes de Q, configurando una curva más suave, detalle quepuede observarse, por ejemplo en todos los gráficos estadísticos relacionados consimulaciones que se presentaron previamente.
Obtenido Qoa, es posible que haya que modificar el valor de Ti, dado que esprobable que no sea múltiplo exacto de Qoa. Por lo tanto, el número final de slots adestinar será Tf , que queda definido de la siguiente manera:
Ti ≤ Tf
Tf modQoa = 0
∀Tf | (Ti ≤ Tf∧Tf modQoa = 0)⇒ Tf < Tf ′
Concretamente, partiendo de Ti se va incrementando de a una unidad hastaencontrar un Tf que sea múltiplo exacto de Qoa.
77
5. UN MODELO PARA ADMINISTRAR COLISIONES
5.4.2 Valor Esperado para PV P
Tras verificar la utilidad de un esquema MCDU de manera empírica, una pre-
gunta que surge rápidamente es: ¿Qué valor mínimo debe tomar T para que en una
votación con N electores, la probabilidad de que se pierda al menos un voto sea
menor que un P dado?
Se busca, entonces, un enfoque alternativo que permita optimizar el almace-
namiento destinado a los sufragios. Se considera en primer lugar el planteo de
Birthday Paradox original. Lo primero que se observa es que aún en el mejor caso
(las 23 personas cumplen años en fechas diferentes), la cantidad de slots que no
serán utilizados es 342, entonces tenemos aproximadamente un 6,3 % de slots ocu-
pados y un 93,7 % de slots vacíos. En consecuencia, por cada slot que contiene un
sufragio, hay más de 15 que no reciben votos.
Aparece entonces la idea de buscar una manera de aprovechar de manera más
eficiente tal almacenamiento. La propuesta consiste en dividir la totalidad de slots
en Q>1 canales paralelos y depositar una ocurrencia de cada sufragio en cada uno
de los canales. Además de lo surgido en las simulaciones, la idea se relaciona con
que el hecho de que un voto se pierda en un canal determinado es independiente de
lo que ocurra en los demás Q− 1. Los sucesos independientes verifican que:
P (A ∩B) = P (A)P (B) (5.17)
Es evidente que un voto se perderá solamente si colisiona en todos los canales.
Si bien el número de colisiones va a aumentar, dado que cada canal tendrá una
medida menor que el vector único, es posible que se obtenga una optimización
basada en las réplicas.
Sea:
ε =N
S(5.18)
78
5.4 Análisis Formal de MCDU
Inicialmente se analiza la situación si se implementa un único vector, por lo tan-to, S = T . En [51] se presentan varias estrategias basadas en analizar la distribuciónde probabilidades. Ya se mencionó también las aproximaciones que propone Feller[22], aunque sólo muestra un buen comportamiento cuando N → ∞ y T → ∞.Una herramienta que puede resultar de utilidad es la aproximación de Stirling parael cálculo de los factoriales:
X! =√
2 PiN(X
E)X (5.19)
Se propone otro enfoque, que resulta más simple que el anterior por calcularsolamente valores esperados en lugar de distribución de probabilidades.
Considerando el primer voto, la probabilidad de que el mismo caiga en el slot1 es p = 1
S. En consecuencia, la probabilidad de que no caiga en el slot 1 es:
q = 1− p = (1− 1
S) (5.20)
Generalizando aN votos, obtenemos una distribución binomial con parámetrosN y P . Sea:
Xk ="Se almacenan exactamente k votos en el slot 1", con k ∈ Z+
P (Xk) =
(N
k
)pkqN−k (5.21)
P (Xk) =
(N
k
)(
1
S)k(1− 1
S)N−k (5.22)
Teniendo en cuenta que:
lımx→∞
(1 +1
n)n = e (5.23)
79
5. UN MODELO PARA ADMINISTRAR COLISIONES
Podemos afirmar:
P (X0) = (1− 1S
)N ≈ e−ε
P (X1) = N 1S
(1− 1S
)N−1 ≈ εe−ε
P (X2) = N(N−1)2
( 1S
)2(1− 1S
)N−2 ≈ 12ε2e−ε
Estas probabilidades también representan el número esperado de votos en elslot 1. Es obvio que el mismo razonamiento se puede aplicar a cualquier slot. Porlo tanto, es posible hallar la frecuencia esperada.
Tomando en cuenta que lımx→∞ (1 + 1n)n = e, para N = S = 1000, ε = 1.
Por lo tanto:
P (X0) = P (X1) = e−1 ≈ 0,3678 (5.24)
Análogamente, para N = 500, S = 1000, ε = 12, en cuyo caso:
P (X0) = e−12 ≈ 0,6065
P (X1) = 12e−
12 ≈ 0,3032
Sea E(k) = # slots esperado que contengan k votos. Su valor se obtiene de lasiguiente manera:
E(k) = Sp(Xk) (5.25)
Esto coincide con la aproximación de Poisson enunciada en [22]:
E(Poisson(λ)] = λ (5.26)
λ[X0] = Se−NS (5.27)
80
5.4 Análisis Formal de MCDU
Para k = 1:
λ[X1] =(ne
−rn )
k!(r
n)k =
Se(−ε)
k!ε = Sεe−ε (5.28)
Para k = 2:
λ[X2] =ne(
−rn
)
k!(r
n)k =
Se−ε
2ε2 = Sε2e−ε (5.29)
La aproximación de Poisson mejora su calidad cuando S yN tienden a infinito.La fórmula anterior se relaciona con S. Resulta más interesante obtener una rela-ción con la cantidad de votos exitosos, es decir que para k = 1, se divide E[1] porN y se obtiene:
Sεe−ε
N= e−ε (5.30)
Es posible generalizar el enfoque a Q canales, con Q > 1. Por ejemplo, paraS = N = 1000:
s[1] = 1000e−1 ≈ 368 (5.31)
En consecuencia, para Q = 1:
p(votoexitoso) ≈ 0,36 (5.32)
p(votoperdido) ≈ 1− 0,36 = 0,64 (5.33)
81
5. UN MODELO PARA ADMINISTRAR COLISIONES
Para Q = 2, un voto se pierde si colisiona en los dos canales:
(votoexitoso) = 1− 0,39 ≈ 0,61 (5.34)
P (votoperdido) = 0,642 ≈ 0,39 (5.35)
El mismo esquema se generaliza ∀Q > 2. De esa manera se obtiene una fór-mula para calcular el valor esperado de la variable Porcentaje de Votos Perdidos:.
| PV P |= (1− e−ns )q (5.36)
5.4.3 Cota para la Probabilidad de no Perder VotosSi se piensa en aplicar las metodologías propuestas en un sistema de voto elec-
trónico concreto, es imprescindible poder cuantificar la probabilidad de que no sepierdan votos en un acto eleccionario determinado. Para enunciar una cota, se pro-pone un enfoque que sa basa en analizar las colisiones.
Para Q = 1:Si V1 cae en el slot 1, la probabilidad de que colisone con V2, consiste en que
ambos caigan en el slot 1:
P (C121 | R11) =1
s
1
s=
1
s2(5.37)
Luego, la probabilidad de que los sufragios V1 y V2 colisionen en cualquier slotes:
P (C121) =1
s2S =
1
s(5.38)
82
5.4 Análisis Formal de MCDU
P (C121) = P (C1j1)∀j ∈ {3..N} (5.39)
En consecuencia, la probabilidad de que V1 se pierda en el canal único estádado por la expresión:
P (B11) =1
S(N − 1)− P (I) (5.40)
De la ecuación anterior se deriva una más conveniente:
P (B11) = 1− 1
S(N − 1) + P (I) (5.41)
El valor de P (I) es bajo, pero positivo. Por lo tanto:
P (B11) > 1− 1
S(N − 1) (5.42)
La fórmula anterior permite explicarle a un votante la probabilidad de que suvoto se pierda o no, en un esquema monocanal. La precisión de la fórmula aumentaen la medida en que S → ∞ ∧ N → ∞. Cuando se incorporan más canales, sepuede afirmar:
P (Ai) = P (Bi1)Q < (
1
S(N − 1))Q ∀i ∈ {1..N} (5.43)
Entonces, por ejemplo, para :
S = 10 slots.
N = 4 votantes.
83
5. UN MODELO PARA ADMINISTRAR COLISIONES
Q = 4 canales paralelos.
La probabilidad de que un voto específico se pierda es:
P (Ai) < ( 1S
(N − 1))Q
P (Ai) < ( 110
(4− 1))4
P (Ai) < ( 110
(3))Q
P (Ai) < ( 310
)4
P (Ai) < 0, 0081
Finalmente, la probabilidad de que ningún voto se pierda simultáneamente entodos los canales puede acotarse de la siguiente manera:
P (X) = P (A1) ∩ P (A2) ∩ ... ∩ P (An) (5.44)
Pero:
P (A1) = P (A2) = ... = P (AN)
Además, son sucesos independientes. Luego:
P (X) = P (A1)n (5.45)
O, lo que es lo mismo:
P (X) = 1− P (A1)n (5.46)
Finalmente, por la ecuación (5.43) se puede afirmar:
P (X) > (1− (1
s(n− 1))q)n (5.47)
84
5.4 Análisis Formal de MCDU
Lo cual constituye una cota inferior muy apropiada para describir la probabi-
lidad de pérdida de votos en una acto eleccionario concreto con los parámetros
descriptos. Para mostrar el comportamiento de la fórmula, la figura 5.26, compara
la curva correspondiente a la fórmula de Birthday Paradox, con la cota propuesta,
para un único canal y desde 1 a 170 slots.
Figura 5.26: Birthday Paradox vs. Cota Propuesta
5.4.4 Propuesta para una Solución Integral
En base a lo enunciado en las tres secciones anteriores se enuncia una propuesta
concreta para obtener valores de S y Qoa (y en consecuencia, T = Qoa S) para
que la probabilidad del evento:
X="No se pierde ningún voto".
tenga una probabilidad mayor que un valor dado. Se deben llevar a cabo los
siguientes pasos:
85
5. UN MODELO PARA ADMINISTRAR COLISIONES
A B C D E F G1 N S Q CS CO ¿Es Mayor? T2 480 Fórmula 1 1 0,999 Fórmula 2 Fórmula 3 =C2*D2
Cuadro 5.6: Tabla para definir S y Q
1. Se elige un valor de S, dado por la fórmula siguiente:
S =| Nln2| +1 (5.48)
La metodología de la selección permite ir incrementando el valor de Q, con
la garantía de que el mismo siempre responderá a la ecuación , que enuncia
el valor de Q óptimo. Además, se toma la parte entera del cociente y se le
suma 1.
2. A continuación, se arma en una planilla de cálculo como la de la tabla 5.6:
Donde:
CS: Cota solicitada.
CO: Cota obtenida.
Fórmula 1: =ENTERO (A2/LN(2))+1
Fórmula 2: =POTENCIA(1-(POTENCIA((1/C2)*(A2-1);D2));A2)
Fórmula 3: =SI(F2>E2;"SI";"NO")
Luego, para encontrar los valores que garanticen la seguridad buscada, basta
con incrementar el contenido de la celda D2, que contiene el valor deQ, hasta que la
celda G2 almacene el valor "SI", lo que indicará que el objetivo fue alcanzado. Para
ejemplificar, se muestran en la tabla 5.7 los valores obtenidos para 480 votantes con
diferentes niveles de seguridad.
86
5.4 Análisis Formal de MCDU
N S Q CS CO ¿Es Mayor? T480 693 23 0,9 0,9064621422 SI 15939480 693 30 0,99 0,9926259386 SI 20790480 693 36 0,999 0,9991932325 SI 24948480 693 42 0,9999 0,9999119929 SI 29106480 693 48 0,99999 0,9999904027 SI 33264480 693 55 0,999999 0,9999992766 SI 38115
Cuadro 5.7: Valores Obtenidos para S y Q
5.4.5 Recuperación de Colisiones
Se busca proponer una técnica tendiente a recuperar datos que hayan sufrido
una colisión. Cualquier enfoque que se plantee en ese sentido implica trabajar de-
talladamente sobre la semántica de los bits que componen un sufragio. Puede pen-
sarse una estructura donde cada voto almacene, en bits específicos, las posiciones
en las que se guardaron todas las instancias del presente voto en cada uno de los Q
canales.
Tal metodología permite recuperar un voto que participa en una elección de
X sufragios, siempre que se conozca al menos una réplica válida de los X − 1
restantes. Para ejemplificar, supongamos que V 1 = 0101 y V 2 = 1101
Luego el slot donde se produjo la colisión contiene:
Y = V 1⊗
V 2 = 1000
Si tenemos una réplica válida de V 1, podemos recuperar V 2:
V 2 = Y⊗
V 1
La técnica puede aplicarse a colisiones múltiples sin inconvenientes. En los
rangos que se han manejado en este documento, el porcentaje de colisiones múlti-
ples es despreciable. En consecuencia, la probabilidad de que un voto determinado
presente colisiones múltiples en todas sus réplicas es despreciable.
87
5. UN MODELO PARA ADMINISTRAR COLISIONES
5.5 ConclusionesLos resultados obtenidos demuestran que la utilización de canales paralelos de
slots genera una utililización más eficiente del espacio asignado para el almacena-miento de los datos cuando se utiliza un modelo MCDU. Cada canal implementadoagrega un factor al producto que determina la probabilidad de que el dato se pierdaen todos los canales, único caso en el que el mismo será efectivamente perdido.
Sin embargo, el número de slots de cada canal individual debe mantenerse enun nivel razonablemente superior a la cantidad de votos. Si no se verifica esa condi-ción, la cantidad de colisiones aumenta de manera considerable y la calidad de losresultados decae. Para garantizar que tal situación no se produzca, se puede utilizar:
1. Las fórmulas de Feller, complementando con la aproximación de Stirling.
2. Aplicar la fórmula original de Birthday Paradox.
3. Aplicar simulaciones.
A lo largo del capítulo 5 se han enunciado las siguientes conclusiones relevan-tes:
Para un número fijo de votantes N , el número aconsejable de slots para cadacanal paralelo (S) está dado por la fórmula:
S =| Nln2 | +1
Para valores dados de T y N , existe un número óptimo de canales paralelos.Tal valor se expresa por la ecuación (5.14):
Qot = ln2 TN
Tal fórmula debe llevarse al entero siguiente, tal como fue enunciado en lafórmula (5.16)
Qoa =| Qot | +1
88
5.5 Conclusiones
Como se explicó oportunamente, se redondea al entero siguiente, dado queel valor que se aplique de Q debe ser necesariamente entero.
El valor esperado para la variable PVP se obtiene mediante la aplicación dela ecuación (5.36):
| PV P |= (1− e−NS )Q
Se obtiene una cota inferior apropiada para la probabilidad de que no sepierdan votos mediante la aplicación de la ecuación (5.47):
P (X) > (1− (1s(n− 1))q)n
Se enuncia una técnica concreta para definir valores para S y Q de maneraque la probabilidad de que no se pierda ningún voto sea mayor que un valordado.
Se considera probado que la repetición de datos en un mismo canal no generabeneficios. Las simulaciones llevadas a cabo en ese sentido demuestran queresulta más relevante el aumento de las colisiones que el beneficio que re-portaría la publicación de múltiples instancias de un mismo dato en un canal.Efectivamente, al duplicar las instancias se genera una variante de birthdayparadox con el doble de participantes.
Se enuncia la utilidad de XOR para la recuperación de colisiones. Si se re-serva espacio adicional, podría colocarse para cada dato la información rela-cionada con cuáles son los slots en los que el mismo dato fue almacenado enlos otros canales. Esto permitiría reconstruir mediante una operación XORlos votos que hayan sufrido colisión simple. Incluso, con múltiples XOR sepodría reconstruir datos que sufrieron colisiones de grado m, si (m − 1) delos datos que colisionaron presentan alguna instancia válida en el recuentofinal. Este último punto es de interés, aunque no para los valores utilizadosen este trabajo, dado que el número de colisiones múltiples es despreciable.
89
CHAPTER
6Optimización del Protocolo
Antifraudes
Este capítulo presenta un protocolo de comunicaciones que mantiene el nivel deseguridad incondicional de seguridad para la privacidad, pero mejorando la eficien-cia. El mismo propone reemplazar el esquema original de NIDC, basado en BCX,por otro cuyos fundamentos son los commitments de Pedersen y los logaritmosdiscretos.
6.1 PreliminaresSe mencionó en capítulos anteriores la necesidad de dar respuestas apropiadas
a las conductas deshonestas que puedan producirse entre los participantes de unesquema Dining Cryptographers. Es fundamental, entonces, definir técnicas quepermitan detectar y administrar intentos fraudulentos. Por ejemplo, si el esquemaes aplicado a voto electrónico, la probabilidad de conductas incorrectas es signifi-cativa.
En [48] se describe un esquema basado en Bit Commitments y operacionesXOR, cuyo objetivo es administrar comportamientos deshonestos. El esquema pro-porciona resultados satisfactorios a nivel de seguridad, pero resulta ineficiente por
91
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
la cantidad de operaciones que deben implementarse a nivel de bit. Dicho esquemafue descripto detalladamente en el capítulo 4 de este documento.
Como ya se mencionó, el modelo alcanza los niveles deseados de seguridad.Sin embargo, se propone generar una solución alternativa, que además de protegerla privacidad de manera incondicional, implique una mayor eficiencia en las ope-raciones. El motivo de la ineficiencia es la utilización de un número muy elevadode operaciones a nivel de bits.
Teniendo en cuenta lo expuesto, se propone un nuevo modelo que reemplace lautilización de BCX por otros recursos que permitan mantener el nivel de seguridadpero ofreciendo una eficiencia mayor.
6.2 Un Protocolo para el Intercambio de Mensajes
6.2.1 IntroducciónSe propone un nuevo protocolo para la implementación del intercambio de men-
sajes, de manera que la funcionalidad expuesta en el punto anterior se mantenga,garantizando el mismo nivel de seguridad, pero que al mismo tiempo no exija ope-raciones a nivel de bit que generen niveles de ineficiencia significativos. La pro-puesta se basa en dos componentes fundamentales:
Logaritmos discretos.
Compromisos de Pedersen
A continuación se realiza una exposición de los fundamentos teóricos relacio-nados con ambos elementos, para, finalmente, enunciar una propuesta alternativapara mejorar el rendimiento del modelo original.
6.2.2 Logaritmos DiscretosLos logaritmos discretos resultan de sumo interés en temas criptográficos por-
que cumplen con una premisa fundamental: su aplicación garantiza un encriptadosencillo y un descifrado muy simple si se cuenta con la clave; al mismo tiempoes muy difícil de desencriptar si no se cuenta con dicha clave. En particular, los
92
6.2 Un Protocolo para el Intercambio de Mensajes
logaritmos discretos, según [30], resultan de interés criptográfico por la existenciade los algoritmos de exponenciación rápida. En efecto, cuando se desea calcular ab
, la manera más lógica es multiplicar a por si mismo b veces. Pero cuando el valorde b es grande, ese modelo resulta inaplicable. En cambio, se utiliza otra estrategia.Mediante la representación binaria de b:
b = 20b0 + 21b1 + ...+ 2nbn (6.1)
Por lo tanto, ab se puede expresar de la siguiente manera:
ab = a(20b0 + 21b1 + ..,2nbn) =∏
a2ibi (6.2)
Pero cada bi es binario, por lo que sólo toma los valores 0 y 1. Por este motivo,para calcular ab, solamente será necesario multiplicar los a2i que correspondan alos dígitos binarios de b que valgan 1. También debe tenerse en cuenta que:
a2i = (a2i−1)2 (6.3)
Por este motivo, partiendo de a es posible calcular el siguiente valor de la serieelevando al cuadrado el anterior. Con esas consideraciones, se obtiene el llamadoAlgoritmo de Exponenciación Rápida, descripto detalladamente en [30]. Dicho al-goritmo garantiza un cálculo eficiente del valor final asociado. Simultáneamente, laoperación inversa es extremadamente difícil de evaluar, lo cuál resulta de enormeinterés en términos de criptografía.
Concretamente, la operación inversa de la exponenciación es el cálculo de lo-garitmos discretos. Dados dos números a y b, y un módulo n, se define como ellogaritmo discreto de a en base b módulo n:
c = logb(a)(modn)⇐⇒ a ≡ bc(modn) (6.4)
93
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
A la fecha no existen algoritmos conocidos que puedan calcular en tiempo acep-
table este tipo de ecuaciones. Esto constituye su fortaleza frente a cualquier ataque
de un criptoanalista.
Sea n un número primo. Sean α y β enteros no negativos módulo p.
β ≡ αx(modn) (6.5)
El problema de encontrar x es llamado el Problema del Logaritmo Discreto.Si n es el entero positivo más pequeño tal que:
αx ≡ 1(modn) (6.6)
se puede asumir que:
0 ≤ x < n (6.7)
entonces se escribe:
x = Lα(β)
y es llamado el logaritmo discreto de β con respecto a α.
Obviamente, por tratarse de suma módulo n, existen infinitos valores que so-
lucionan la ecuación. En todos los casos se considerará el menor de ellos. Por
ejemplo, n=11,L2(9)=6. Es claro que 16 también verifica la ecuación, pero se elige
el menor valor no negativo.
Habitualmente, α es una raíz primitiva módulo n. Esto significa que todo β es
potencia de α (módulo p). Si α no fuera una raíz primitiva, entonces el logaritmo
discreto no estaría definido para determinados valores de β.
94
6.2 Un Protocolo para el Intercambio de Mensajes
6.2.3 Compromiso
En criptografía, un esquema commitment (compromiso) permite a alguien com-
prometer un valor sin develarlo, para que sea dado a conocer en el momento apro-
piado. Lo importante del enfoque es que garantiza una doble seguridad: el emisor
no devela el valor hasta el momento indicado, pero el receptor cuenta con la ga-
rantía de que quién publicó la información no podrá modificarlo posteriormente.
Luego, los compromisos son apropiados para situaciones en las que dos partes ne-
cesitan garantías sobre una situación de ese estilo.
Por ejemplo, si una persona desea vender un método infalible para predecir al-
gún acontecimiento, puede realizar un commitment del presagio, pero sólo develar
el misterio cuando el evento ocurre. Por ejemplo el resultado de un sorteo de algún
juego de azar o el score exacto de algún evento deportivo. En efecto, el esquema
garantiza que ninguna de las dos partes pueda obtener ventajas inapropiadas de la
situación.
Para explicarlo de manera sencilla, este tipo de soluciones equivalen a colocar
la solución en un sobre lacrado y colocarlo en algún lugar inviolable para los par-
ticipantes. Cuando el secreto, finalmente, puede ser develado, ambas partes abren
juntos el sobre.
El esquema es ampliamente utilizado en protocolos criptográficos, como por
ejemplo, Coin Flipping, Zero Knowledge Proofs y Secure Computation.
6.2.3.1 Coin Flipping
Este esquema es descripto en detalle en [17]. Decidir una situación que presenta
dos únicas alternativas resulta muy simple cuando los dos participantes involucra-
dos se encuentran en el mismo lugar físico. En tal caso, uno elige una de los dos
resultados posibles, el otro realiza la acción de lanzar una moneda equilibrada y, en
determinadas condiciones, puede asegurarse que ninguno de los participantes pue-
da ser engañado. Pero el esquema, en esos términos, falla cuando las dos personas
no se encuentran en el mismo lugar. Claramente, frente a esta situación, la persona
que hace un pronóstico no tiene ninguna garantía de que quien arroja la moneda se
exprese con honestidad sobre el resultado obtenido.
95
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
Luego, la situación se puede plantear en otros términos, mediante la utilización
de la técnica de bit commitment. Concretamente, llamando P1 a la persona que va a
arriesgar su pronóstico y P2 a quien lanzará la moneda, el procedimiento será como
sigue:
1. P1 elige su pronóstico, pero solo envía a P2 un commitment del mismo.
2. P2 lanza la moneda y comunica el resultado.
3. P1 revela lo que había comprometido.
Si se utilizó un esquema correcto de ”bit commitment”, P2 tendrá todas las
garantías de que P1 no modificó su elección original.
6.2.3.2 Zero Knowledge Proofs
El esquema Zero Knoledge Proofs, descripto en detalle en [37], es un esquema
criptográfico orientado a solucionar una situación que presenta dos actores:
Prover: posee un secreto por el cuál desea una contraprestación.
Verifier: desea conocer el secreto de Prover y está dispuesto a otorgar la contra-
prestación solicitada, pero busca evitar ser engañado.
El problema, entonces, se resuelve con el planteo de desafíos por parte de Ve-
rifier, que sólo pueden ser resueltos con la aplicación de la información secreta, la
cuál no será revelada.
En su versión más abstracta, se ejemplifica con una construcción circular con
una puerta que interrumpe el recorrido (ver figura 6.1). La misma sólo se puede
abrir con una palabra secreta. Prover elegirá en que sentido girar y (sin conoci-
miento de esa información), Verifier decidirá por donde debe salir. Es claro que
existe la probabilidad de que Prover deba aplicar la palabra es de 12. Es la repeti-
ción del experimento lo que permite llevar el nivel de seguridad hasta el nivel que
se desee.
El modelo es sencillo y de enorme interés en aplicaciones criptográficas. Es
fácil observar la similitud entre este esquema y la manera en que operan los BCX
descriptos en el capítulo 4.
96
6.2 Un Protocolo para el Intercambio de Mensajes
Figura 6.1: Esquema ZKP.Prover elige el sentido de giro y Verifier, la salida.
6.2.3.3 Secure Computation
En este esquema, la interacción entre las partes se lleva a cabo en dos etapasbien diferenciadas:
1. La fase de compromiso. Durante esta etapa un valor es elegido y especificado.Es evidente que el valor comprometido debe tener una relación lineal con elvalor que se desea proteger, de manera que la probabilidad de cambiar elmensaje posteriormente sea tan baja como se desee.
2. La etapa de revelación. Corresponde al momento en que el valor es reveladoy chequeado. Debe resultar indiscutible que el valor revelado corresponde alvalor previamente comprometido.
En protocolos simples, la fase de commit consiste en un mensaje simple (com-mitment) enviado desde un remitente hacia un destinatario. En esta etapa es im-prescindible que la propiedad de ocultamiento se cumpla: el valor no puede serconocido en esta etapa por el receptor. Por lo tanto, el mensaje debe incluir so-lamente la información necesaria para que se garantice que el receptor no podrá
97
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
ser engañado por un cambio posterior de la información por parte del emisor. Estapropiedad recibe el nombre de binding.
6.2.3.4 Seguridad en los esquemas de compromiso
Las diferentes definiciones formales existentes para los esquemas de compro-miso, varían notablemente, no solamente en su notación, sino también en su enfo-que. Una primera definición se basa en que bit commitment cumple estrictamentecon las propiedades de ocultamiento y vinculación. Esto significa la indestructiblerelación entre lo comprometido y el valor que se desea ocultar: la probabilidad derealizar una maniobra fraudulenta que permita modificar el valor sin que el com-promiso delate la situación, se mantiene en niveles tan bajos como se desee.
Otra característica muy favorable que presentan los compromisos es que pue-den aplicarse en ambientes interactivos y no interactivos. En efecto , el esquema seadapta perfectamente a las dos opciones. Es evidente que va a responder apropia-damente para un ambiente interactivo. En caso contrario, se implementa con dosalgoritmos: commit y checkreveal. En este último caso, checkreveal se considerauna versión no aleatoria de commit, con la aleatoriedad que utilizó commit comola información de apertura.
Si el valor comprometido C para un valor X es computado como
C=commit(X,open)
Esta notación, más la utilización de funciones matemáticas y teoría de la pro-babilidad permite formalizar diferentes versiones de las propiedades de vínculo yocultamiento. Las dos combinaciones más importantes son:
1. Vínculo perfecto y ocultamiento computacional.
2. Ocultamiento perfecto y vínculo computacional.
Es el segundo caso el que se plantea en [48]: la información de una votaciónelectrónica debe protegerse durante el tiempo de escrutinio (es decir, exige seguri-dad computacional) mientras que el anonimato debe protegerse indefinidamente (osea, se exige un ocultamiento perfecto que solamente puede garantizarse medianteun nivel de seguridad incondicional).
98
6.2 Un Protocolo para el Intercambio de Mensajes
6.2.4 Compromisos de Pedersen
Ya se describió con anterioridad el significado de los compromisos. Dentro de
los existentes, los compromisos de Pedersen presentan otra característica muy fa-
vorable: son homomórficos. Esto les otorga un interés especial en temas criptográ-
ficos. Más adelante se analizarán las principales propiedades de tales commitments.
La definición original utiliza expresiones del tipo:
h = (g0)r.(g1)
X1 ...(gl)Xl(modn) (6.8)
siendo p un número primo lo suficientemente grande. Los xi son los contenidos,
cuyos valores son definidos usando módulo q, con
q = ] G
El numero r es la clave que permite abrir el commitment. Es un número elegido
de manera totalmente aleatoria, con la condición de que se verifique que r ∈ (1...q).
Brand ([3]) propone la utilización de una credencial, la cuál consiste en una
firma de h, e introduce una serie de técnicas que permiten encontrar relaciones
lineales entre los xi. En particular, [48] demuestra las siguientes propiedades de los
BC de Pedersen, mencionadas originalmente en [4], que resultan de interés:
Medida constante para cualquier valor de l y de los xj .
Seguridad incondicional respecto del anonimato.
Nivel de seguridad deseado con respecto al compromiso.
Quien realiza un compromiso puede demostrar a cualquier participante de
que dos instancias son compromisos de un mismo valor con pruebas sólidas,
que además deben poder repetirse un número arbitrario de veces.
Es posible abrir un subconjunto arbitrario de xi, sin revelar ninguna informa-
ción relacionada con aquellos xi que no han sido abiertos.
99
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
Es posible modificar un compromiso tal que mantenga las propiedades ho-
momórficas operando con módulo m, si m es divisor de q.
Las propiedades mencionadas otorgan un enorme interés a la utilización de los
commitments de Pedersen. Algunas de ellas serán utilizadas para implementar el
nuevo modelo para administración de conductas deshonestas que se enuncia en la
sección siguiente.
6.2.5 Enunciado de una Propuesta Concreta
En base a los elementos teóricos mencionados, se propone un protocolo alter-
nativo para el intercambio de mensajes que mantenga los niveles de seguridad de
[48], pero que proporcione una mayor eficiencia. El nuevo modelo, aplicando pro-
piedades de los logaritmos discretos y los compromisos de Pedersen, presenta una
serie de características que resultan de sumo interés:
Permite verificaciones de que el compromiso original corresponde a un men-
saje bien formado en los términos del modelo propuesto. Esta es una condi-
ción fundamental, que será explicada detalladamente un poco más adelante.
Se garantiza que el compromiso representa de manera indiscutible una infor-
mación cuyo formato resulta válido.
Establece relaciones funcionales que permiten verificar que la contribución
definitiva se corresponde (con probabilidad tan alta como se desee) con el
compromiso original. Esto, por supuesto, complementa la condición ante-
rior. Si el compromiso original corresponde a un dato con formato válido y
la contribución final presenta una indiscutible relación lineal con dicho com-
promiso, el vector que se desea publicar es legal y debe ser aceptado.
Permite cualquier número de desafios. Cabe recordar que si se usan desafíos
múltiples, los mismos generan una probabilidad de evitar el fraude que equi-
vale al producto de las probabilidades. Esto garantiza la posibilidad de llevar
la probabilidad de fraudes a niveles tan bajos como se desee.
100
6.2 Un Protocolo para el Intercambio de Mensajes
Cada desafío unitario tiene una probabilidad baja de ser defraudado. Este
punto es muy ventajoso con respecto a la propuesta de BCXs del modelo ori-
ginal, dado que cada uno de ellos tenía una probabilidad 12
de ser defraudado.
En consecuencia, los niveles apropiados de seguridad pueden alcanzarse uti-
lizando un número de retos significativamente menor. Más concretamente,
y como veremos más adelante, la probabilidad de burlar un desafío muestra
niveles tan bajos que, para las mayoría de la aplicaciones será suficiente con
un único reto.
El nuevo modelo se implementa en los siguientes pasos:
1. Se elige P ∈ Z+, un primo grande para los commitments de Pedersen.
2. Cada par de participantes (pi y pj) intercambia bits aleatorios, formando rij .
Este valor se compromete ante los demás participantes.
Este paso se corresponde exactamente con la técnica del esquema Dining
Cryptographers de Chaum ([11]), que en su versión original consiste en com-
partir los demás participantes el valor (cara o ceca) que se obtuvo al lanzar
una moneda al aire. En el capítulo 3 de este documento se explicó en detalle
como el enfoque se generaliza desde tres criptógrafos que comparten infor-
mación de un bit a cualquier cantidad de participantes intercambiando datos
de cualquier tamaño, aunque todos de la misma dimensión.
3. Cada participante pi, elige un slot al azar. La aleatoriedad de la elección es
condición imprescindible para asegurar el anonimato. Esta técnica es presen-
tada en [48].
4. Cada pi construye mi, conteniendo un mensaje, en el slot elegido y 0 en
los demás. Este esquema también fue utilizado en [48]. La idea es que al
terminar el proceso, los slots elegidos por cada usuario contendrán los res-
pectivos datos y los que no resultaran seleccionados, contendrán solamente
ceros. Como fue mencionado anteriormente, la aleatoriedad hace que exista
la posibilidad de colisiones, las cuales derivan en la pérdida de todos los datos
que coinciden en un slot determinado. En el capítulo 5 se desarrolló a fondo
101
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
ese tema, proponiendo técnicas para mantener la probabilidad de colisión tanbaja como se desee
5. Se divide mi en bloques xi. Cada bloque será un slot del mensaje construidoen el paso 3. Es aconsejable que la medida de los slots sea razonablementemayor que el mensaje que se desea enviar, para disponer de una cantidadde almacenamiento para utilizar como redundancia orientada a elementosque garanticen la autenticidad. También es aconsejable que dicho tamañosea potencia de dos, para aprovechar de manera óptima el espacio.
6. Cada pi construye:
h = (g0)r(g1)
x1 ...(gl)xl mod (P − 1) (6.9)
Este punto representa un commitment del mensaje creado. La aparición de estecompromiso genera la necesidad de verificar dos condiciones:
Es imprescindible demostrar que h es un compromiso que corresponde a unmensaje bien formado de acuerdo a las reglas antes mencionadas, es decirque contiene ceros en todos los slots, excepto en uno, donde irá su voto.Esto, obviamente, debe realizarse sin denunciar la ubicación, es decir el sloten donde el usuario va a escribir el dato que desea publicar, ni el contenidodel mismo.
Debe demostrarse que existe relación lineal entre lo comprometido y la con-tribución final que se va a realizar. Es imprescindible que, luego de demos-trar que h corresponde a un mensaje bien formado, se demuestre también demanera fehaciente que la contribución final se corresponde con lo compro-metido.
La demostración de la primera de las dos condiciones mencionadas consiste enla aplicación de un subprotocolo específico, el cuál es una generalización del quese propone en la sección 3 de [48]. Concretamente, los pasos a seguir para resolvereste punto en particular, son los siguientes:
102
6.2 Un Protocolo para el Intercambio de Mensajes
Realizar una permutación h′ del compromiso h, en la que se altere el orden
de los slots.
Comprometer dicha permutación. Esto significa que se comprometerá de ma-
nera indiscutible en qué orden de la nueva permutación se encuentra cada uno
de los bloques de h.
Se permitirán dos tipo de retos, que el desafiante elegirá de manera aleatoria.
Si elige el primer tipo, el prover abrirá todos los commitments, menos aque-
llos que incluyen el mensaje. Obviamente, el resultado de los mismos debe
ser 0 en todos los casos. Pero si el verifier elige el segundo tipo de reto, lo
que se abre es la permutación completa.
Es fácil observar la equivalencia entre lo expuesto y el esquema que se propone
en [48]. En cualquier caso, queda claro que lo comprometido corresponde a un
mensaje bien formado.
Con respecto a la segunda condición, la misma se verifica durante la aplicación
de los siguientes pasos del proceso.
1. Cada pi computa su contribución final:
ci = mi +∑
rij (6.10)
2. Se divide la contribución en bloques wi, equivalentes a los xi, en el sentido
de que cada uno tiene el tamaño de un slot. La diferencia es que estos nuevos
bloques wi corresponden a un slot de la contribucion definitiva ci.
3. Se realiza un nuevo compromiso a, que hace referencia a la contribución final
ci:
a = gs0gw11 gwll mod (P − 1) (6.11)
103
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
Cada participante podrá realizar la comprobación de que este nuevo compro-
miso se corresponde fielmente con lo comprometido en h. Para ello podrá
desafiar con tantos valores vi como se desee. En todos los casos, quien publi-
ca responderá con:
b = gvir+s0 gvix1+w11 ...gvixl+wl
l mod (P − 1) (6.12)
Verifier podrá controlar que:
b = hca mod (P − 1) (6.13)
Si la probabilidad de fraude en el iésimo caso es pi, la probabilidad de enga-
ñar n desafíos será pni , en base a propiedades de los sucesos independientes,
las cuales se desarrollan en profundidad en [34].
Entonces, la probabilidad de fraude se puede hacer tan pequeña como se
desee. Cabe recordar que la probabilidad pi va a ser mucho más pequeña que
el 12
propuesto en el modelo original de [48], el cuál es un valor que se origina
en la propia operación de XOR. Por lo tanto, para alcanzar niveles satisfac-
torios de seguridad, el número de desafios necesario será relativamente bajo.
Más concretamente, la probabilidad del evento X=”falla un compromiso” es:
P (X) =1
P − 1(6.14)
Donde P − 1 es el orden del grupo utilizado y, en consecuencia un número
grande. En consecuencia, para la mayoría de las aplicaciones habituales, la
utilización de un único reto dará niveles suficientes de seguridad. Sin em-
bargo, si en alguna ocasión fuera necesario un nivel de seguridad extrema,
104
6.2 Un Protocolo para el Intercambio de Mensajes
el producto de dos o más valores tan cercanos a cero proporciona niveles
altísimos de seguridad.
4. Al finalizar el proceso, las autoridades podrán llevar a cabo el recuento, apli-
cando técnicas expuestas en [50], que serán explicadas más adelante (ver
ecuaciones 6.15 a 6.18).
6.2.6 Seguridad del Esquema
La seguridad del esquema puede probarse desde un análisis de las vistas (views)
que cada participante dispone, tal como fue presentado en el capítulo 3:
Se define como view a la información con que cada participante cuenta al fina-
lizar el proceso, es decir cuando el recuento final se da a conocer.
Luego, si es posible demostrar que todos los participantes dispondrán de infor-
mación que resulta insuficiente para reconstruir el resto de los datos, aún cuando
existan conspiraciones, el esquema debe considerarse seguro.
Se busca entonces que dado el resultado final, que posteriormente será publica-
do, ningún participante cuente con elementos que le permitan inferir la identidad
del emisor de un dato determinado. Para que los ejemplos resulten más claros se
ejemplificará este punto aplicándolo a voto electrónico. La generalización a cual-
quier otra aplicación es inmediata.
El protocolo deberá, entonces, cumplir con una serie de condiciones:
1. Aparece la necesaria restricción de que cada participante sólo puede emitir
un voto.
2. Si se aplica un protocolo que garantice anonimato, las entradas de todos los
participantes se conocen, pero debe protegerse la identidad del emisor.
3. Las conspiraciones son posibles. Significa que 2 o más participantes acuer-
den compartir su información a los efectos de deducir el resto de los votos.
Obviamente, el análisis de tales conspiraciones tiene como elemento funda-
mental el número de conspiradores.
Si la totalidad de los participantes conspira, el análisis no tiene sentido.
105
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
Si el grupo de conspiradores incluye a todos menos uno, la deducciónes trivial.
Cuando hay dos participantes honestos, si ambos hicieron la mismaelección, no hay forma de protegerlos. Si, en cambio, sus opciones fue-ron diferentes, no debe poder deducirse la elección de cada uno de ellos.
En el caso de que existan tres o más participantes honestos, se generali-za la idea anterior: la existencia de un voto diferente de los demás debegarantizar el anonimato de todos ellos.
Se deben diferenciar dos situaciones diferentes:
El proceso se lleva a cabo con la participación de un grupo reducido de au-toridades. Es el modo más aplicable a voto electrónico. En tal caso, cadavotante sólo debe intercambiar mensajes con dichas autoridades.
No se implementa la figura de las autoridades. Es una generalización del casoanterior. En este caso, cada participante cumple la función de autoridad detodos los votos, menos del propio.
Se pone énfasis en el modelo que incluya autoridades, dado que es el esque-ma más habitual para voto electrónico. Sin embargo, los conceptos son fácilmentegeneralizables a un modelo que no las implemente.
Se define:
Pi: Participante i-ésimo. Para el caso de un esquema de voto electrónico, esun votante.
Ai: Autoridad i-ésima. Si se trata de e-voting, es aquella persona designadacon funciones de control.
La tabla 6.1 muestra, de manera esquemática, el intercambio de información en-tre un participante y una autoridad. Obviamente, se generaliza con facilidad. Debeobservarse que en este caso, cada Pi tiene comunicación con todas las autoridadesAi, pero no con los demás participantes.
La seguridad del esquema puede confirmarse observando las vistas de los invo-lucrados en el proceso:
106
6.2 Un Protocolo para el Intercambio de Mensajes
Cada votante tendrá a la vista los siguientes datos de las autoridades:
1. Grupo de bits aleatorios rj .
2. Reto x.
3. Retos vi. Podrían ser n, con n ∈ Z+. Cuanto mayor sea el valor de n,mayor es el nivel de seguridad obtenido.
4. Respuesta b.
Los datos que observa un votante son exclusivamente desafíos más el in-tercambio inicial de bits aleatorios necesario para comenzar el proceso deintercambio.
Cada autoridad tendrá una vista consistente en los siguientes datos prove-nientes del votante:
1. Grupo de bits aleatorio rij .
2. Compromiso h′.
3. Respuesta y al desafío x.
4. Compromiso a.
5. Respuesta b a los desafíos vi.
Los datos que expone un participante a una autoridad son compromisos, res-puestas a desafíos más el necesario intercambio inicial de bits aleatorios. De acuer-do a los fundamentos matemáticos expuestos en la primera parte del presente ca-pítulo, la seguridad relacionada con tal información puede llevarse al nivel quese desee. La publicación final de los resultados no agrega información que puedacomprometer el anonimato. En consecuencia, queda demostrado que el proceso esconfiable.
Las autoridades pueden obtener el recuento en base a las siguientes ecuaciones:
h∗ = h(i) mod P (6.15)
107
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
Votante Autoridad
Bits aleatorios ri −→←− Bits aleatorios rj
Construye mi con elmensaje en la posición elegiday cero en el resto. Lo divide enbloques del tamaño de un slot.
Construye h:h = (g0)
r(g1)x1 ...(gl)
xl mod (P − 1)Construye h′, permutación
(por bloques) de h.h′ −→
Elige aleatoriamente z ∈ {0, 1}.Este paso puede repetirse varias veces,de acuerdo al nivel de seguridad exigido.
←− zGenera y:
Si z = 0⇒ y = abrir compromisos.Si z = 1⇒ y = Exhibir permutación.
y −→Correcto.⇒ o = OK.Incorrecto.⇒ o = CANCEL.
←− oCalcula la contribución definitiva:
c = ci = mi +∑rij
Calcula a = gs0gw11 gwll mod (P − 1)., (compromiso
de la contribución definitiva).a −→
Elige aleatoriamente vi ∈ Z+.←− vi
Calcula b = gvir+s0 gvix1+w11 ... gvixl+wl
l mod (P − 1)b −→
b = hca =⇒ r = OK.b 6= hca =⇒ r = CANCEL.
←− r
Cuadro 6.1: Esquema del Protocolo de Comunicaciones
108
6.2 Un Protocolo para el Intercambio de Mensajes
r∗ = r(i) mod (P − 1) (6.16)
x∗1 = x1(i) mod (P − 1) (6.17)
x∗l = xl(i) mod (P − 1) (6.18)
Los valoresx∗1...x∗l contienen el recuento final.
6.2.7 Análisis de la Optimización Obtenida
Es evidente la mejora en términos de eficiencia que el nuevo modelo propone
con respecto al modelo descripto en el capítulo 4, publicado originalmente en [48].
En aquel esquema, se realizaba una cantidad c de compromisos por cada bit del
mensaje. No sólo eso: cada uno de ellos, al comprometer un valor binario, presenta
una probabilidad 12
de fallar. Por lo tanto, llevar la seguridad a un nivel razonable
en tal esquema exige un número relativamente alto de compromisos.
Para ejemplificar la situación, si se exigiera un nivel de seguridad mayor que1
106, la cantidad de compromisos necesarios (por cada bit) sería de 20. Y, por su-
puesto el número de bits en este esquema resulta relativamente muy elevado por las
siguientes razones:
El tamaño de los slots. Como ya fue dicho, es aconsejable que esta medida sea
bastante mayor que el mensaje claro que se desea enviar, a los efectos de
permitir la utilización de redundancia tendiente a garantizar la autenticidad
de la información contenida. Por ejemplo, una medida razonable si se trata
de un esquema de voto electrónico podría ser de 256 bits.
La cantidad de slots. De acuerdo a todo lo expuesto en el capítulo 5, la cantidad
de slots que se van a utilizar debe ser significativamente mayor que el número
109
6. OPTIMIZACIÓN DEL PROTOCOLO ANTIFRAUDES
de participantes, a los efectos de mantener tan baja como se desee la probabi-lidad de pérdida de datos por colisiones. Más allá de las técnicas presentadasen dicho capítulo, que claramente optimizan la utilización del espacio desti-nado a tal efecto, el número final de slots a implementar es bastante mayorque el número de participantes.
En el desarrollo del capítulo 5 del presente trabajo se ejemplificó el compor-tamiento del esquema para 480 participantes, un número arbitrario inspirado en lamedida de un recinto eleccionario en Brasil. Y se observan niveles razonables deseguridad, cada vez mayores, pero que comienzan desde los 9600 slots, es decir,una cifra 20 veces superior a la cantidad de participantes. Y si el nivel de seguridadrequerido es mayor, esa cifra aumenta. Se mostraron ejemplos con 19200 slots, esdecir un número 40 veces mayor que el número de participantes.
En definitiva, si se definen los siguientes parámetros:
s: Cantidad de slots implementados.
t: Tamaño, en bits, de cada slot unitario.
c: Cantidad de compromisos que se implementaran para cada bit del mensaje apublicar.
y se denomina x al número total de compromisos implementados, se obtiene:
x = c s t (6.19)
Para un ejemplo que utilice s=9600 slots, t=256 bits y c=20 compromisos porbit, la cantidad de compromisos implementados sería de 49152000, para cada men-saje que se desee publicar.
Es evidente la optimización obtenida en términos de eficiencia con la nueva pro-puesta es significativa. Ya se indicó que en la etapa de publicación, será suficientecon un único desafío para obtener niveles de seguridad importantes. Con respectoa la etapa inicial, se implementa un compromiso para la permutación realizada ylos desafíos correspondientes serán función exclusivamente de la cantidad de slots
110
6.2 Un Protocolo para el Intercambio de Mensajes
que se implementen. Concretamente, ante el desafío se dan dos opciones: se abrela permutación o los compromisos que no contienen mensaje. En cualquiera de losdos casos, el costo de las operaciones es significativamente menor.
111
CHAPTER
7Dining Cryptographers y
Voto Electrónico
El presente capítulo busca exponer conclusiones concretas sobre la posibilidadreal de utilizar las técnicas previamente presentadas para votaciones electrónicas.Se relaciona, además, este trabajo con otros realizados por Bos ([2]) y Broadbent yTapp ([7] y [8]).
7.1 Voto ElectrónicoDentro del ámbito de las aplicaciones que podrían aplicar los conceptos desa-
rrollados hasta aquí, resulta particularmente interesante analizar el caso específicodel voto electrónico. Es evidente que Dining Cryptographers incluye una caracterís-tica de enorme valor en relación a un acto comicial: provee seguridad incondicionalpara el anonimato. Sin embargo, esto no es suficiente, porque el problema presentamatices adicionales que deben ser tenidos en cuenta.
Un proceso electoral trabaja sobre un aspecto nuy importante de las sociedadesdemocráticas modernas: la elección de autoridades. Aparecen, entonces, complejosintereses involucrados, y, en consecuencia, la exigencia en lo que respecta a latransparencia es máxima.
113
7. DINING CRYPTOGRAPHERS Y VOTO ELECTRÓNICO
Los esquemas de voto electrónico tienen un desafío claro: deben generar una
alternativa ventajosa con respecto a sus equivalentes manuales tradicionales, por-
que de no ser así, no tiene sentido pensar en un reemplazo. En consecuencia, es
necesario definir criterios de evaluación apropiados y analizar el comportamiento
de ambos esquemas, para obtener conclusiones en ese sentido.
Los procesos eleccionarios presentan dos aspectos que deben ser analizados:
Magnitud: es una característica que no puede obviarse en el análisis. Si se
trata de una reunión de un pequeño grupo (por ejemplo, integrantes de un equipo
deportivo o una orquesta sinfónica) o de la elección de autoridades municipales,
nacionales o provinciales.
Semántica de la elección: También es importante definir la importancia de lo
que se discute; si se desea elegir el nombre para la mascota de una familia o si se
consulta a todos los habitantes de un país sobre un tema de gran importancia.
En el caso de este trabajo, solamente se tendrán en cuenta los procesos elec-
cionarios con una magnitud de mediana a grande y que presenten un nivel de im-
portancia significativo, dado que otro tipo de elecciones no incluyen exigencias
relevantes.
Para formalizar una definición, se puede afirmar que “Voto electrónico” es un
concepto que:
1. Abarca diferentes formas de votación y de recuento de sufragios.
2. Incluye la incorporación del uso de tecnologías de la información en su pro-
cesamiento.
Entre los elementos tecnológicos involucrados aparecen las tarjetas perforadas,
scanners ópticos, equipos de cómputo especializados de votación, pantallas sensi-
bles al tacto, Internet, celulares y muchas otras.
El envío de las cédulas de votación, el conteo de votos y los resultados de la
elección exigen la utilización de redes telefónicas públicas, redes privadas, internet
y otros canales. Es necesario tener en cuenta el nivel de seguridad de dichos cana-
les al momento de aplicar un sistema de voto electrónico. En general, el acceso a
información enviada por canales públicos no presenta gran dificultad; por esa razón
es imprescindible que dicha información sea protegida con técnicas criptográficas
114
7.1 Voto Electrónico
que garanticen una seguridad absoluta, de manera que si el criptograma transmi-tido fuese interceptado por un criptoanalista, éste no pueda obtener informaciónsignificativa desde allí.
Existen múltiples modalidades para el voto electrónico. En el ámbito del pre-sente trabajo, resultará de máxima importancia analizar el nivel de ”presenciali-dad” del votante. Las condiciones se modifican de manera significativa en base aese punto en particular.
Si el esquema es totalmente online, es imprescindible analizar una serie decuestiones adicionales. En efecto, en este caso, aparecen problemas inherentes ala metodología. Peor aún: dichos inconvenientes no existen en los esquemas tra-dicionales de votación. Por ejemplo, no puede chequearse que el votante puedadecidir con libertad su opción, simple hecho que el ingreso individual al ”cuartooscuro” garantiza.
Para el caso de modelos mixtos, es posible obtener buenos niveles de seguri-dad, de un nivel similar a los esquemas manuales, obteniendo, además, las ventajasinherentes a un esquema electrónico:
Mayor velocidad en la obtención de resultados: Una ventaja evidente que apa-rece con la incorporación de las TICs al proceso eleccionario es la velocidadpara obtener resultados. En efecto, al aplicar voto electrónico, la informaciónes incorporada al sistema informático directamente por el votante; luego elproceso de obtener los resultados electorales queda totalmente a cargo de losmedios computacionales. La velocidad para obtener resultados no tiene lamisma importancia que la necesidad de seguridad y transparencia; sin em-bargo no es un dato menor. La extensión del proceso de votación en generaly el de recuento en particular generan problemas. La diferencia en el tiem-po utilizado puede ser muy considerable, sobre todo si uno tiene en cuentala complejidad que aparece en ocasiones relacionada con elementos propiosde la elección: partidos locales y nacionales, alianzas diferentes en distintosdistritos y muchas otras variantes que complican enormemente el procesomanual pero que pueden ser sistematizadas con un costo razonable.
Eliminación de algunas prácticas fraudulentas: El voto electrónico permite almismo tiempo superar una serie de ”vicios” que aparecen en el proceso de
115
7. DINING CRYPTOGRAPHERS Y VOTO ELECTRÓNICO
votación manual. Un problema habitual está relacionado con el robo de bo-
letas. Un votante ingresa a realizar su voto y en la misma acción procede a
llevarse las boletas de otro partido. El siguiente votante no encuentra boletas
de ese partido y puede tomar dos actitudes: votar diferente de lo que pensa-
ba o ”cantar” su voto indicando a las autoridades la falta de dichas boletas.
Existen variantes para la misma problemática: colocar boletas de un mis-
mo partido al tope de todas las pilas, mezclar las boletas, etc. También debe
tenerse en cuenta que los partidos pequeños tienen menores recursos (por
ejemplo en la Argentina el dinero que los partidos políticos reciben del go-
bierno es proporcional a los votos obtenidos en la última elección), razón por
la cuál se encuentran en situación desventajosa frente a estas prácticas. De
hecho, en un alto porcentaje de las mesas solamente hay fiscales de los par-
tidos mayoritarios. Es claro que el voto electrónico puede resultar un aporte
importante para disminuir el nivel de esas desigualdades.
Integración de personas con discapacidades: Puede afirmarse que el voto elec-
trónico facilita la integración para las personas con discapacidades, que en-
cuentran limitaciones importantes en el modelo tradicional.
Eliminación de inconvenientes de transporte: Si el esquema es totalmente elec-
trónico, desaparecen los inconvenientes relacionados con el transporte físico,
o por lo menos disminuyen en aquellos casos en los que se utilice un esquema
híbrido. Obviamente, el reemplazo por transmisiones digitales abre la posi-
bilidad de ataques informáticos. Por lo tanto, es imprescindible implementar
acciones que protejan la integridad de la información frente a tales intentos.
Disminución de votos inválidos: Los esquemas electrónicos disminuyen la pro-
porción de votos nulos. En los actos eleccionarios manuales se generan gran-
des discusiones con respecto a la validez (o no) de determinados sufragios.
Los electores muestran todo tipo de conductas extrañas: desde colocar pape-
les con algo escrito en birome, colocar votos de más de un candidato para el
mismo puesto, romper las boletas y colocar alguna porción de algún voto, y
muchos otras. Esto, finalmente puede derivar en largas discusiones (los fisca-
les de cada partido tratan de defender su conveniencia por todos los medios)
116
7.1 Voto Electrónico
y, en muchos casos, se termina en la figura del ”voto recurrido”, cuya valideztermina definiéndose en el terreno judicial, mucho tiempo después.
Disminución del número de autoridades: Finalmente, una ventaja pasa por lareducción de la cantidad de fiscales necesarios para las tareas de control.Este punto resulta controvertido en algún punto, pero es objetivamente ciertoque un modelo electrónico exige una cantidad menor de personas abocadas alas tareas inherentes al proceso. Este punto también aporta a la ecuanimidadentre partidos políticos grandes y pequeños.
La propuesta desarrollada a lo largo de los capítulos previos del presente docu-mento es de aplicación general a cualquier intercambio de información que exijaprivacidad incondicional. Se analiza en esta sección cuál es el comportamiento delesquema Dining Cryptographers. Ese análisis se divide en tres partes:
El modelo propuesto en este documento y su aplicación a voto electrónico.
Los protocolos de Broadbent y Tapp ([7] y [8]), desarrollados específicamen-te para voto electrónico.
Adaptación de Non Interactive Dining Cryptographers a la propuesta de Bos([2]), que expone un modelo Dining Cryptographers original para voto elec-trónico. Se desea generalizar hacia un modelo Asincrónico, pues en casocontrario sería condición necesaria la concurrencia de todos los votantes, demanera que se encuentreen online de manera simultánea.
7.1.1 Aplicación del Modelo Propuesto a Voto ElectrónicoEl modelo propuesto requiere la aplicación de una serie elementos, adicionales
a lo enunciado en los capítulos 5 y 6 del presente trabajo, si se desea aplicarlo enuna votación electrónica en la que se elijan autoridades de una comunidad (ciu-dad, provincia, país). Las votaciones de ese estilo exigen una serie de condicionesadicionales que deben observarse. En particular, [49] propone una lista de requeri-mientos que deben cumplirse para que proceso de votación resulte satisfactorio:
A: Solamente podrán votar los votantes que figuren en el padrón correspon-diente.
117
7. DINING CRYPTOGRAPHERS Y VOTO ELECTRÓNICO
B: Cada votante podrá emitir a lo sumo un voto.
C: La manera en que cada votante podrá expresar sus preferencias debe ser
definida de manera concreta y sin ambigüedades por la autoridad de la votación,
sin favorecer ninguna preferencia, más allá de lo que diga la ley y de manera similar
para todos los votantes.
D: El votante registrará sus preferencias en algún formato físico. Asimismo, de-
be poder verificar que él ha creado un voto legítimo y verificarlo antes de ingresarlo
al conteo.
E: Cuando el voto es incorporado al recuento, queda garantizada la imposibili-
dad de vincular el sufragio con el votante que lo emitió.
F: La creación y emisión del voto es confidencial y bajo ninguna circunstancia,
ni siquiera de acuerdo con el votante, debería alguien externo ser capaz de deducir
(ni siquiera con algún grado de probabilidad mayor a 1m
, siendo m el número de
opciones disponibles) cuales fueron las preferencias del votante.
G: Es indipensable garantizar la inviolabilidad de la urna hasta la finalización
del proceso de votación. Hasta ese momento, resultará imposible observar o modi-
ficar el contenido de la misma, excepto la incorporación de nuevos votos válidos.
H: Solamente se incluirán en el recuento final los votos que se encuentran den-
tro de la urna al final del proceso eleccionario.
I: Cada votante podrá verificar que su voto fue incluido en el recuento.
J: Cualquier votante que lo desse puede verificar que el resultado publicado por
la autoridad es correcto.
Por lo tanto, resulta evidente que el sistema propuesto no será suficiente, por si
mismo, para un acto eleccionario con un número elevado de votantes y en el que se
pongan en juego elementos de importancia, como por ejemplo, cargos nacionales.
Las cuestiones adicionales emergentes deberán resolverse de manera externa.
Concretamente, el modelo será aplicable si, de manera externa al mismo, se
garantizan algunas condiciones:
El votante se encontrará solo al momento de expresar su voluntad. Esto cla-
ramente excede las posibilidades de un esquema como el descripto en este
documento. Debe asegurarse esa condición de manera externa al mismo.
118
7.1 Voto Electrónico
El votante no podrá sufrir coerción de ningún tipo. Es necesario asegurar las
condiciones para que cada participante pueda expresar libremente su volun-
tad.
El votante no podrá demostrar de manera fehaciente cuál fue su elección. De
no ser así, se generaría un clima que favorece las maniobras relacionadas con
el clientelismo.
Cada sufragante sólo podrá emitir un voto en cada acto eleccionario. Este
detalle no es menor, pero puede solucionarse con la aplicación de varios có-
digos de votación de una cierta longitud y que sólo se acepten como válidos
aquellos que verifiquen todos ellos.
Si se verifica la seguridad en cuanto a las condiciones mencionadas, el esquema
puede aplicarse con seguridad a un proceso eleccionario. Tiene la cualidad funda-
mental de proteger de manera incondicional el anonimato. La seguridad ante ata-
ques durante el desarrollo del mismo puede proveerse con criptografía adicional,
siendo exigido un nivel computacional de seguridad, dado que el desarrollo del acto
lleva un tiempo limitado. En Argentina, por ejemplo, un día de votación comienza
a las 8 horas y concluye a las 18 horas.
7.1.2 Los Protocolos de Broadbent y Tapp
En [7], Broadbent y Tapp presentan seis protocolos que soportan un número
arbitrario de participantes deshonestos. En [8], los mismos autores proponen tres
protocolos concretos de votación que proporcionan seguridad incondicional, siem-
pre asumiendo algún límite en cuanto al número de participantes corruptos, ya sea
entre los votantes o en el grupo de autoridades que se implementa en los dos últimos
protocolos.
Los tres protocolos representan tres enfoques diferentes:
El primer protocolo permite que cada votante pueda interactuar para compu-
tar el recuento, con un canal simultáneo para todos los participantes. El mo-
delo garantiza la privacidad incondicional, pero cualquier participante puede
119
7. DINING CRYPTOGRAPHERS Y VOTO ELECTRÓNICO
propiciar la falla del sistema. En el modelo solamente existen votantes, to-
dos en un mismo nivel. No existen autoridades ni votantes diferenciados. La
existencia de un solo votante deshonesto es suficiente para que sea probable
de fallo del modelo. Si el protocolo no falla, se mantendrá la consistencia:
los votos honestos podrán ser totalizados y los votos inválidos podrán ser
distinguidos para contabilizarlos apropiadamente. Los votantes deshonestos
no podrán votar adaptar su voto.
El segundo protocolo implementa la figura de “autoridad”. Luego, limita la
interacción: los votantes solamente podrán interactuar con las autoridades.
Sólo las autoridades contarán con un canal simultáneo. La privacidad incon-
dicional depende de la honestidad de las autoridades, pero el sistema sigue
siendo permeable al accionar de votantes o autoridades corruptas. El proto-
colo incorpora un pequeño número de autoridades que, junto a los votantes,
son los únicos participantes del proceso. Las únicas interacciones existentes
en el modelo se llevan a cabo entre las autoridades y los votantes o entre
los votantes. Un solo votante o autoridad deshonesta puede provocar la falla
del protocolo. Si el protocolo no falla, la existencia de una única autoridad
honesta garantiza la correcta interpretación de los votos honestos. Si exis-
te al menos un autoridad honesta, una coalición de autoridades y votantes
deshonestos no pueden “adaptar” su voto.
El tercer protocolo implementa una técnica de verificación por parte de las
autoridades, las cuales podrán revocar votos incorrectos. La alternativa es de
interés porque el número de autoridades es menor y las mismas son parte in-
tegrante del proceso eleccionario. En consecuencia, es posible implementar
acciones de control sobre ellos. De manera similar al anterior, en el proce-
so eleccionario, solamente participan un número reducido de autoridades y
los votantes. Los votantes solamente puede interactuar con las autoridades.
Ninguna coalición de votantes puede hacer fallar el protocolo sin la compli-
cidad de una autoridad. Una simple autoridad deshonesta puede hacer que el
protocolo falle. Si el protocolo no falla, la existencia de una única autoridad
honesta garantiza la correcta interpretación de los votos honestos. Si existe al
120
7.1 Voto Electrónico
menos un autoridad honesta, una coalición de autoridades y votantes desho-
nestos no pueden “adaptar” su voto. Se podrán anular los votos deshonestos.
Una autoridad deshonesta podría anular un voto válido. La anulación de un
voto es conocida por todos los participantes.
Los tres protocolos se derivan de dos consideraciones fundamentales:
1. El modelo de Dining Cryptographers de Chaum se comporta de manera per-
fecta en términos de privacidad incondicional.
2. Si un string de n bits es compartido entre n participantes, y la paridad de
dichos bits es aleatoria y desconocida, ningún subconjunto de participantes
podrá obtener de manera local tal paridad.
El canal simultáneo solamente debe protegerse durante el proceso de elección.
Es fácil observar que si el protocolo cae durante dicho proceso, el fraude es posible,
pero la privacidad se mantiene incondicionalmente.
Se desarrollan a continuación los protocolos antes mencionados, de manera
evolutiva. Las demostraciones y lemas asociados se pueden observar en [8].
Los dos primeros protocolos se desarrollan en tres fases:
1. Cast (emisión): Descripción de la manera exacta en que el votante elige su
opción.
2. Broadcast (difusión): Transmisión de la información.
3. Tally (Recuento): Cálculo del resultado de la votación
Para ambos protocolos, la entrada es:
x1 ∈ 1...m (más un parámetro de seguridad s).
La salida correspondiente es:
∀k ∈ 1...m, y[k] = |xj|xj = k
121
7. DINING CRYPTOGRAPHERS Y VOTO ELECTRÓNICO
La diferencia entre ambos protocolos pasa por la aparición de la figura de lasautoridades. En el caso del protocolo 1, el modelo exige la concurrencia online deun grupo de votantes. Para el protocolo 2, dicha exigencia aparece para un grupode autoridades.
El protocolo 1 verifica las siguientes condiciones:
Si el protocolo no falla, el resultado de la votación es consistente con los vo-tos honestos registrados. Existe una proporción exponencialmente pequeñacon respecto al parámetro de seguridad s, de que los votos deshonesto nopuedan ser apropiadamente administrados.
Ningún grupo de votantes deshonestos puede obtener información sobre elresto de los votantes.
El protocolo 2 presenta las siguientes propiedades:
Es suficiente una que exista una autoridad honesta para obtener un recuentocorrecto de los votos válidos y administrar los intentos fraudulentos, con unapequeña probabilildad de falla, exponencial con respecto al parámetro deseguridad s.
Con que exista una autoridad honesta, se garantiza que ninguna combinaciónde votantes y autoridades pueda obtener información sobre el resto de losparticipantes.
El protocolo 3 agrega un proceso de verificación. Las etapas que incluye sonlas siguientes:
Aleatorización: en esta etapa las autoridades generan un número suficiente de bitsaleatorios comunes.
Elección y verificación: El usuario realiza su elección. La mecánica del protocolopermite que el voto incorrecto pueda ser detectado en esta etapa y, en conse-cuencia, revocado.
Difusión y recuento: Aquí se aplican las dos últimas etapas del protocolo 2, perosólo sobre los votos que no han sido revocados.
122
7.1 Voto Electrónico
La entrada coincide con la de los dos primeros protocolos. La salida difiere enla aparición de una lista de votantes cuyos votos han sido revocados.
El protocolo 3 cumple con las siguientes condiciones:
1. Solamente se necesita una autoridad honesta para que la cuenta sea correctapara todos los votos no revocados, con una pequeña probabilidad de fallaexponencial en base al parámetro de seguridad s.
2. La existencia de un juez honesto garantiza la imposibilidad de conjuros porparte de un grupo mixto de autoridades y votantes.
3. La probabilidad de que un complot de votantes provoque la falla del proto-colo es exponencial sobre el parámetro de seguridad s.
Es fácil observar puntos de contacto entre estos protocolos y lo expuesto enel capítulo 6. El modelo allí desarrollado corresponde a un modelo general conautoridades, pero tiene semejanzas con las modalidades propuestas en los tres pro-tocolos:
Protocolo 1: El esquema expuesto en el capítulo 6 es del estilo de este protocolo.Se diferencia en la manera exacta en que se implementan las técnicas paradetección de fraudes, basadas en las propiedades de los logaritmos discretos ylos compromisos de Pedersen. En este caso no se implementa la figura de lasautoridades, razón por la cuál la interacción es entre todos los participantes,perteneciendo todos ellos a una misma categoría semántica. Si bien la fase dedifusión del esquema original se basa en la concurrencia online de un númerode participantes, no se observan inconvenientes para adaptarlo a un modeloNIDC.
Protocolo 2: En este caso se implementan autoridades. Luego, la interacción decada votante es solamente con las autoridades, las cuales aportan solamentebits relacionados con la seguridad y privacidad. Este esquema resulta másrealista para ser aplicado a esquemas de voto electrónico. La exigencia deconcurrencia online de todas las autoridades simultáneamente es mucho me-nos problemática que la de los votantes, ya que se puede suponer que lasautoridades se encuentren online durante todo el proceso eleccionario.
123
7. DINING CRYPTOGRAPHERS Y VOTO ELECTRÓNICO
Protocolo 3: Valen las mismas consideraciones que en el caso anterior. Es clara-
mente posible agregar al esquema del capítulo 6, un modelo de verificación
equivalente al expuesto en el tercer protocolo.
En definitiva, el esquema propuesto en el capítulo 6 del presente documento
tiene similitudes con el esquema de [8]. De hecho, los propios autores mencionan
la posibilidad de modificar el esquema para que funcione de manera asíncrona.
La aparición de la figura de las autoridades permite generar un mayor nivel de
seguridad. Por ejemplo, si las autoridades involucradas pertenecen a los distintos
partidos políticos participantes y, dado que ya se analizaron esquemas en los que
los intentos de disrupción pueden ser detectados, el esquema aumenta su nivel de
confiabilidad. En general es difícil pensar en un esquema de voto electrónico sin
jueces.
7.1.3 Aplicación de NIDC al Esquema de Bos
En [2], Bos propone un esquema específico de votación basado en Dining Cry-
ptographers. Se destaca, allí, como la privacidad presenta múltiples aspectos. Con-
cretamente, se mencionan tres elementos que deben ocultarse:
La información en si misma, es decir el contenido de un mensaje que se
envía.
Las identidades del emisor y y receptor de un mensaje determinado.
La cantidad de mensajes que un emisor dado envía a un receptor específico.
Analizando los tres puntos anteriores, vemos que ellos pueden solucionarse de
manera razonablemente simple con la aplicación de técnicas criptográficas, excepto
en lo referido a la identidad del emisor, lo cual requiere de técnicas mas sofisticadas.
Los mensajes de este estilo se denominan “untraceable sending”. Un ejemplo claro
de este tipo de técnicas es Dining Cryptographers.
Bos menciona que la dificultad de Dining Cryptographers pasa por la necesi-
dad de que todos los participantes se encuentren simultáneamente online. Todos
124
7.1 Voto Electrónico
sus desarrollos se basan en esa suposición, la cual no resulta apropiada en mu-chos problemas reales. Es posible analizar, en tal caso, si se puede relacionar talesconceptos con el esquema NIDC.
Si se incluye la figura de las autoridades de votación, el esquema puede aplicar-se directamente, dado que cada votante solamente podrá comunicarse con dichasautoridades, razón por la cuál el proceso de cada votante corresponde directamentecon un Dining Cryptographers original de Chaum, dado que es dable exigir que lasautoridades estén online durante todo el proceso de votación.
Si en cambio se implementa un modelo sin autoridades, el esquema incluyesólo votantes. En ese caso se puede analizar si existe relación posible entre [2] y[48].
El protocolo propuesto por Bos incluye cinco rondas:
1. Construcción de los compromisos para el envío de las claves necesarias en elesquema Dining Cryptographers.
2. La cuenta del voto actual usando Dining Cryptographers.
3. Utilización de compromisos para asegurar la validez de los votos.
4. Construcción del bit de desafío.
5. Respuesta al reto.
No se observa que ninguna de las etapas mencionadas pueda presentar incon-venientes para su utilización con Non Interactive Dining Cryptographers. En con-secuencia, se considera posible combinar ambas técnicas.
125
CHAPTER
8Conclusiones
Las ideas originales relacionadas con voto electrónico se han plasmado en di-
versos modelos formales con diferentes grados de éxito. En la presente tesis se ha
trabajado bajo el convencimiento de que los niveles de seguridad deben ser imple-
mentados de manera opuesta a la tradicional, afirmación que se menciona en [48].
En efecto, los modelos previos se preocupan por otorgar una seguridad incondicio-nal al proceso de votación y sólo computacional al anonimato del voto a lo largo
del tiempo.
Las personas desean mantener su privacidad asegurada indefinidamente. Y exis-
ten casos en los que sería de suma gravedad que se conociera por quién votó alguna
persona en particular. Por ejemplo, conocer la trayectoria como votante de un can-
didato actual podría influir en el electorado. De la misma manera, el anonimato
permite evitar maniobras relacionadas con el ”clientelismo político”.
Es por lo expuesto anteriormente que un esquema como Dining Cryptographers
resulta particularmente atractivo, fundamentalmente por ser un modelo que imple-
menta por defecto el anonimato con seguridad incondicional. Si bien el esquema
NIDC fue desarrollado para voto electrónico, el protocolo presenta un interés más
amplio, generalizable a muchos otros casos del mundo real en los que el objetivo
127
8. CONCLUSIONES
es intercambiar información asegurando la privacidad, como por ejemplo encues-
tas, recolecciones estadísticas o cualquier tipo de investigación donde sea necesario
preservar el anonimato de las personas.
Tomando como referencia [48], se propusieron soluciones alternativas para dos
puntos:
1. El manejo de colisiones. Se presentó una forma alternativa para el almacena-
miento de los votos que permite llevar la probabilidad de perder información
a un nivel deseado.
2. La optimización de la eficiencia en lo referente a las condiciones de segu-
ridad provistas para evitar intentos fraudulentos. El esquema original que
David Chaum presentó en [4] supone que todos los participantes se van a
comportar de manera honesta. Este último escenario es muy difícil de con-
seguir, sobre todo cuando se trata de información importante que podría ge-
nerar beneficios o perjuicios para los participantes, como en el caso de una
votación electrónica para la presidencia de un país. Las maniobras fraudulen-
tas son tan antiguas como los procesos eleccionarios. Se propuso un modelo
que mantiene la seguridad incondiconal de NIDC, pero con mayor eficiencia.
Concretamente, el presente trabajo analizó ambos aspectos en profundidad, pro-
poniendo soluciones concretas:
1. Con respecto al manejo de colisiones, en el capítulo 5 del presente documen-
to, se demostró que reemplazar un único vector por un conjunto de canales
paralelos, dentro de ciertos parámetros, permite una utilización más eficiente
de los slots asignados, cuya cantidad total no se modifica. Esto deriva en una
menor probabilidad de pérdidas de votos. Se enunciaron además, cotas muy
concretas que permiten definir límites relacionados con dicha probabilidad.
Usando los modelos enunciados es posible afirmar que ”el modelo tiene una
probabilidad menor que un valor calculable de que no se pierdan votos”.
Los fundamentos teóricos principales utilizados fueron las probabilidades de
los sucesos independientes. Si la totalidad de slots se divide en ”canales”
y un mismo voto es colocado en todos los canales, en posiciones aleatorias
128
potencialmente diferentes, la probabilidad de que un voto determinado se
pierda en un canal específico es independiente de lo que ocurra con el mismo
sufragio en otros canales. Además, un voto solamente faltará en el recuento
final si se colisiona en todos los canales implementados. Por propiedad de
la independencia de sucesos, esto deriva en un producto de probabilidades.
En consecuencia, la probabilidad final de que un voto no sea incluido en el
recuento disminuye significativamente.
De acuerdo al planteo anterior, la probabilidad de no contabilizar algún voto
pudo hacerse tan baja como se desee, manipulando la cantidad S de slots y la
cantidad Q de canales paralelos a implementar. Y, conociendo una cota para
la probabilidad de que un voto se pierda en un canal determinado, fue posible
acotar la probabilidad de que dicho sufragio se pierda en todos los vectores
paralelos.
Se implementaron, como herramientas adicionales, dos simuladores, cuyo
listado fuente en lenguaje C++ se adjuntan en el apéndice B.
El primero de ellos es una herramienta muy general para observar co-
mo se comporta la estructura elegida de acuerdo a los parámetros que
presenta el fenómeno a analizar. Concretamente, simula procesos elec-
cionarios recibiendo los parámetros necesarios, como por ejemplo, can-
tidad de vectores paralelos o la cantidad de veces que se replicará un
sufragio.
Particularmente, uno de los elementos que permite mejorar la calidad
de los resultados que el mismo ofrece, pasa por la cantidad de repeti-
ciones del experimento que se llevarán a cabo. Cuanto más alto sea ese
número, más exactos serán los resultados. Esto se pudo comprobar al
probar el funcionamiento del simulador aplicado a problemas clásicos
ya conocidos, como por ejemplo, Birthday Paradox (ver [23]) o el pro-
blema de la Ocupación (ver [22]). Cuánto más alto era el número de
repeticiones, más precisos eran los resultados. Como ya se indicó an-
teriormente, todos los valores expresados en el presente documento se
basan en sesiones de 1.000.000 de corridas.
129
8. CONCLUSIONES
El segundo simulador trabaja implementando ”fuerza bruta” para en-
contrar los casos desfavorables para un escenario determinado. Fue la
herramienta utilizada para cuantificar el error cometido al utilizar apro-
ximaciones analíticas conocidas, como las fórmulas de Feller o la apro-
ximación de Stirling. Por ejemplo, la cota propuesta en la ecuación
(5.47), que se basa en descartar los casos de colisiones múltiples (es
decir cuando más de tres votos coinciden en la elección de un slot), fue
verificada de esta manera para evaluar su calidad.
Los resultados obtenidos con la aplicación del simulador 1 mostraron cla-
ramente la optimización generada en términos de utilización del espacio de
almacenamiento. Los resultados mejoraron de inmediato apenas se aumentó
de uno a dos vectores paralelos y la tendencia se mantuvo en la medida que
se fueron agregando canales. Por ejemplo, para 480 participantes se llegó a
niveles de seguridad de 10−6 implementando 19200 slots, distribuidos en 12
canales paralelos.
Para generalizar las conclusiones, puede afirmarse que los resultados mejo-
raron en la medida que se aumentó la cantidad de canales paralelos, siempre
que cada canal individual tuviera una medida razonablemente superior a la
cantidad de participantes. En las experiencias realizadas, el rendimiento de-
cayó cuando cada canal incluía un número de slots apenas superior a la canti-
dad de datos. Por el contrario, mientras se verificaba que la cantidad de slots
de cada arreglo era razonablemente mayor, el agregado de un nuevo canal
generaba una disminución en la pérdida de datos.
En definitiva, los experimentos demostraron que resulta mucho más im-portante la optimización obtenida por la inclusión de canales paralelosque por el agregado de slots a un único vector lineal.
Desde lo formal, resultan importantes tres fórmulas enunciadas en el capítulo
5:
La ecuación (5.14), que describe como obtener el número de canales
óptimo (Q) para un conjunto de T slot en total.
130
La fórmula (5.36), que calcula el valor esperado de la variable PV P ,(Porcentaje de Votos Perdidos).
La cota propuesta en (5.47), que otorga una cota inferior para la proba-bilidad de que no se pierdan votos.
2. En lo referente a la implementación de un protocolo para el intercambio demensajes en un esquema de NIDC, se propuso un modelo basado en las pro-piedades de los logaritmos discretos y los compromisos de Pedersen, toman-do como fuente fundamentalmente los desarrollos de [2]. El modelo expuestoen el capítulo 6 mantiene los niveles de seguridad enunciados por [48], peropermite una mayor eficiencia en las operaciones implementadas, por evitarel fatigoso trabajo a nivel de bit, reemplazándolo por operaciones sobre lo-garitmos discretos.
La optimización obtenida en términos de procesamiento también es im-portante. Concretamente, al aplicar operaciones que involucran a unacantidad de bits simultáneamente, el número de tareas a llevar a cabo sereduce de manera muy significativa. Este punto no es menor, dado quemuchas aplicaciones prácticas exigen un nivel importante de eficiencia.
Finalmente, en el capítulo 7 se desarrolló un análisis del esquema propuesto ysu interés para ser aplicado específicamente en voto electrónico. Parece claro queel sistema puede resultar de utilidad si se aseguran algunas condiciones adicionalesde contexto. En el mismo capítulo se analizan además los trabajos de Broadbenty Tapp ([7] y [8], y se relaciona Dining Cryptographers con La tesis doctoral deBos [2]. Las conclusiones obtenidas en esos puntos resultan de interés, dado quetodos los desarrollos presentados en esos trabajos se muestran compatibles con laaplicación de NIDC.
131
Bibliografía
133
Bibliografía
[1] Bacard A.: ”Computer Privacy Handbook” (ISBN 1-56609-171-3). Peach-
pit Press. 1995.
[2] Bos J.: ”Practical Privacy”- Technische Universiteit Eindhoven, ISBN: 90-
6196-405-9. 1992.
[3] Brands S.: ”A Technical Overview of Digital Credentials”. Credentica.
2002.
[4] Brands S.: ”Privacy-protected transfer of electronic information”. U.S. Pa-
tent ser. no.5,604,805, February 1997. Filed August 1993.
[5] Brands S.: ”Rethinking Public Key Infrastructures and Digital Certificates:
building in Privacy”. ISBN: 0-262-02491-8. Second Printing. 2001.
[6] Brands S.: ”Untraceable Online Cash in Wallets with Observers”. Interna-
tional Crytology Conference - CRYPTO. 1994.
[7] Broadbent A., Tapp A. ”Information-Theoretic Security without an Honest
Majority”. Computing Research Repository - CORR. vol. abs/0706.2, ps.
410-426, 2007.
[8] Broadbent A., Tapp A. ”Information-Theoretically Secure Voting Without
an Honest Majority”. Proceedings of the IAVoSS Workshop On Trust-
worthy Elections (WOTE 2008). 2008.
135
BIBLIOGRAFÍA
[9] Cabello Pardos A., Hernández Encinas A., Hoya White S., Martín Del ReyA., Rodríguez Sánchez G.: ”Un Protocolo de Votación Electrónica Basadoen Firmas Digitales Ciegas”. XX Congreso de Ecuaciones Diferenciales yAplicaciones. X Congreso e Matemática Aplicada. Sevilla 2007. Ps. 1-7
[10] Chaum D.: ”Achieving Electronic Privacy”. Scientific American. Vol. 267,no. 2, ps 96-101, 1992
[11] Chaum D.: ”The Dining Cryptographers Problem: Unconditional Senderand Recipient Untraceability”. Journal of Criptology. 1988.
[12] Chaum D.: ”Untraceable Electronic Mail, Return Addresses, and DigitalPseudonyms”. Communications of the ACM. Vol. 24. No.2. Febrero, 1981.Ps. 84 - 88.
[13] : Chaum D., Damgård I. van de Graaf J.: ”Multiparty computation ensuringprivacy of each party’s input and correctness of the result”. Advances inCryptology: Proc. Crypto ’87 (Santa Barbara, CA, August1987), pp. 87-119.
[14] : Comtet L.: ”Advanced Combinatorica: The Art of Finite and Infinite”. D.Reidel Publishing Company. ISBN: 90-277-0380-9. 1974.
[15] Coutinho S.: ”Números enteros y Criptografía RSA”. Instituto de Ma-temática y Ciencias Afines - Pontificia Universidad Católica del Perú -Universidad Nacional de Ingeniería. ISBN: 99-728-9936-5. 2003.
[16] : Crépeau, C., van de Graaf, J., Tapp, A.: ”Committed Oblivious Transferand Private e Multy-Party Computation”. CRYPTO’95, Springer, LNCS,vol. 963, 1995, pp.110-123.
[17] : Dahab R.: ”Alguns Aspectos da Criptografia Computacional”. Mestra-do em Ciência da Computação. Universidade Estadual de Campinas, UNI-CAMP, Brasil. 1984
[18] Damgaard I., Nielsen J.: ”Commitment Schemes and Zero-Knowledge Pro-tocols”. Aarhus University. BRICS. Cap 1 de Lectures on Data Security.ISBN:978-3-540-65757-6. Springer Berlin Heidelberg. 1999.
136
BIBLIOGRAFÍA
[19] Diffie W., Hellman E.: ”New Directions in Cryptograph”, IEEE Trans. In-
formation Theory IT-22 (No. 6, November 1976), pp. 644-654.
[20] El Gamal T.: ”A Public Key Cryptosystem and a Signature Scheme Based
on Discrete Logarithms” IEEE Transactions on Information Theory. Vol
31, ps. 469-472. 1985.
[21] Feige U., Fiat A., Shamir A.: ”Zero-Knowledge Proofs of Identity”. Journal
of Criptology. 1988.
[22] Feller W.: ”An Introduction to Probability Theory and its Applications”.
Volúmen I. Tercera Edición. John Wiley and Sons. New York, 1957.
[23] Flajolet P., Gardy D., Thimonier L.: ’Birthday paradox, coupon collectors,
caching algorithms and self-organizing search’. Discrete Applied Mathe-
matics 39, ps. 207-223. North-Holland. 1992
[24] Fujioka A., Okamoto T., Ohta K.: ”A Practical Secret Voting Scheme for
Large Scale Elections”. AUSCRYPT 1992. LNCS, Vol. 718. Páginas 244 a
251. Springer Heidelberg. 1993.
[25] Fuster Sabater A., De La Guía Martínez, D., Hernández Encinas L., Mon-
toya Vitini F., Muñoz Masqué J.: ”Técnicas Criptográficas de Protección
de Datos”. 3a Edición actualizada. ISBN: 978-84-7897-594-5. Editorial Ra
- Ma. 2004.
[26] Galan J., Tena J.: ”Some Efficient Distributed Digital Signatures”. Advan-
ces in Computer Science and Engineering. Vol 1. Issue 1. Ps 11-23. 2007.
[27] Grimaldi R: ”Discrete and Combinatorial Mathematics: an Applied Intro-
dution”. Quinta edición. ISBN: 0-201-72634-3. Addison-Wesley. 2003.
[28] Jakobsson M., Juels a., Rivest R.: ”Making Mix Nets Robust For Electronic
Voting By Randomized Partial Checking”. USENIX Security ’02, ps. 339-
353. 2002.
137
BIBLIOGRAFÍA
[29] Kizza J.: ”Feige-Fiat-Shamir ZKP Scheme Revisited”. Jour-
nal of Computing and ICT Research, Vol. 4, No. 1,pp. 9-19.
http://www.ijcir.org/volume4-number1/article2.pdf.
[30] Lucena López M.: ”Criptografía y Seguridad en Ordenadores”. Tercera
Edición. Kriptópolis. 2004.
[31] Mao W.: ”Modern Cryptography: Theory and Practice”. Prentice Hall -
ISBN: 978-0132887410. 2003.
[32] McEliece R.: ”A Public - Key Cryptosystem Based on Algebraic Coding
Theory”. DSN Progress Report. 1978.
[33] Menezes A., van Oorschot P. and Vanstone S.: ”Handbook of Applied Cry-
ptography”. CRC Press. ISBN: 0-8493-8523-7. 1996.
[34] Meyer P: ”Probabilidad y Aplicaciones Estadísticas”. Addison Wesley Ibe-
roamericana. Segunda edición.
[35] Moran T., Naor M.: ”Receipt-Free Universallity-Verifiable Voting with
Everlasting Privacy”. Advances in Cryptology - CRYPTO 2006, 26th An-
nual International Cryptology Conference. Volumen 4117. Ps. 373- 392.
2006.
[36] Paar C., Pelzl j.: ”Understanding Cryptography: A Textbook for Students
and Practitioners”. Springer. 2010.
[37] Raffo D.: ”Digital Certificates and the Feige-Fiat-Shamir zero-knowledge
protocol”. LIX - Laboratoire d’Informatique École polytechnique. 2002.
[38] R. Rivest, A. Shamir, L. Adleman.: ”A Method for Obtaining Digital Signa-
tures and Public-Key Cryptosystems”. Communications of the ACM, Vol.
21 (2), pp.120–126. 1978. Previously released as an MIT ”Technical Me-
mo” in April 1977. Initial publication of the RSA scheme.
[39] Roberts, Tesnam: ”Applied Combinatorics”. Second Edition. CRC Press.
ISBN: 978-1-4200-9982-9. 2009.
138
BIBLIOGRAFÍA
[40] Schneier B.: ”Applied Cryptography, Second Edition: Protocols, Al-
gorthms, and SourceCode in C (cloth)” - John Wiley and Sons. ISBN:
0471128457. 1996
[41] Schneier B.: ”Email Security”, (ISBN 0-471-0531-8). John Wiley & Sons.
1995.
[42] Shannon C.: ”A Mathematical Theory of Communication”. The Bell Sys-
tem Technical Journal, Vol. 27, pp. 379–423, 623–656.1948.
[43] Smart M: ”Anonymity vs. Traceability Revocable Anonimity in Remote
Electronic Voting Protocols”. Tesis doctoral. University of Birmingham.
2012.
[44] Stinson D.: ”Cryptography: Theory and Practice”. CRC Press. ISBN:
0849385210. 1995.
[45] Tanenbaun A: ”Redes de Computadoras”. Cuarta Edición. Pearson. ISBN
0-13-066102-3. 2003.
[46] Tena J.: ”Protocolos Criptográficos y Seguridad en Redes”. Servicio de Pu-
blicaciones Universidad de Cantabria. 2003.
[47] Trappe W., Washington L.: ”Introduction to Criptography with Coding
Theory”. Prentice Hall. ISBN: 0-13-061814-4. 2002.
[48] van de Graaf J.: ”Anonymous One Time Broadcast Using Non Interac-
tive Dining Cryptographer Nets with Applications to Voting”. Publicado
en: ”Towards Trustworthy Elections”. Ps 231-241. Springer-Verlag Berlin,
Heidelberg. ISBN:978-3-642-12979-7. 2010.
[49] van de Graaf, J., Henrich C., Müller-Quade, J.: ”Requirements for secure
voting”. Notas de Trabajo. 2011.
[50] van de Graaf J.: ”Voting with Unconditionally Privacy: CFSY for Booth Vo-
ting”. Presentado en IACR Cryptology ePrint Archive. Ps. 574-579. 2009.
139
BIBLIOGRAFÍA
[51] van de Graaf J., Montejano G., García P.: ”Optimización de un esquemaOcuppancy Problem orientado a E – Voting”. Memorias del XV Workshopde Investigadores en Ciencias de la Computación 2013 (WICC 2013). Ps.749 - 753. ISBN: 9789872817961. 2013.
[52] van de Graaf J., Montejano G., García P.: “Manejo de Colisiones en unProtocolo Non Interactive Dining Cryptographers ”. 42◦ Jornadas Argen-tina de Informática e Investigación Operativa (JAIIO, ISSN: 1850-2776).Workshop de Seguridad Informática (WSegI 2013, ISSN: 2313-9110). Ps.36 a 50. 2013.
[53] van de Graaf J., Montejano G., García P.: “Optimización de un Protoco-lo Non-Interactive Dining Cryptographers”. 1er Congreso Nacional de In-geniería Informática / Sistemas de Información. CoNaIISI 2013. Trabajoaceptado para su publicación.
140
APPENDIX
AGlosario
Algebra abstracta: El álgebra abstracta es la parte de la matemática que estu-
dia las estructuras algebraicas como las de grupo, anillo, cuerpo o espacio
vectorial. El estudio del álgebra abstracta ha permitido observar con clari-
dad lo intrínseco de las afirmaciones lógicas en las que se basan todas la
matemáticas y las ciencias naturales, y se usa hoy en día prácticamente en
todas las ramas de la matemática. Además, a lo largo de la historia, los alge-
bristas descubrieron que estructuras lógicas aparentemente diferentes muy a
menudo pueden caracterizarse de la misma forma con un pequeño conjunto
de axiomas. El término álgebra abstracta se usa para distinguir este campo
del álgebra elemental o del álgebra de la escuela secundaria que muestra las
reglas correctas para manipular fórmulas y expresiones algebraicas que con-
ciernen a los números reales y números complejos.
Ataque: Acción realizada por una tercera parte, distinta del emisor y del receptor
de la información protegida, para intentar contrarrestar esta protección.
Ataque por fuerza bruta: Ataque contra las funciones criptográficas, consistente
en probar todos los posibles valores de la clave hasta encontrar el correcto.
Autenticación: Protección de la información contra falsificaciones.
141
A. GLOSARIO
Autenticación de entidad: Servicio de seguridad que permite confirmar que un
participante en una comunicación es auténtico, y no se trata de un impostor
que está intentando suplantarlo.
Autenticación de mensaje: Servicio de seguridad que permite confirmar que el
originador de un mensaje es auténtico, y que el mensaje no ha sido creado o
modificado por un falsificador.
Autenticación de origen de datos: Nombre con el que se conoce a veces la au-
tenticación de mensaje.
Autoridad de certificación (CA): Entidad que emite certificados de clave públi-
ca, que sirven para que los usuarios que confíen en esta autoridad se conven-
zan de la autenticidad de les claves públicas.
Autoridad de certificación (CA) raíz: Autoridad de Certificación que no tiene
ninguna otra superior que certifique la autenticidad de su clave pública, y
que por tanto tiene un certificado firmado por ella misma.
Cadena de certificados: Lista de certificados, cada uno de los cuales permite ve-
rificar la autenticidad de la clave pública de la CA que ha emitido el anterior,
hasta llegar al certificado de una CA raíz.
Cantidad de información: Intuitivamente, se define como el nivel de previsibili-
dad asociada a un suceso determinado. Por ejemplo, en una bolsa con diez es-
feras rojas y una negra, si retiro una, pueden ocurrir dos eventos: ”se obtiene
una esfera roja” o ”se obtiene una esfera negra”. El segundo evento propor-
ciona una cantidad de información mucho mayor. Formalmente, la cantidad
de información que proporciona el evento i se expresa de la siguiente manera:
Ii = −logb(P (xi))
La base b del logaritmo define la unidad en que se cuantificará la cantidad de
información: si es 2, serán bits.
142
Certificado de clave pública: También conocido como certificado digital, es unaestructura de datos que contiene un nombre de usuario y su clave pública, yque está firmado digitalmente por una autoridad de certificación dando fe deesta asociación usuario-clave pública.
Certificado digital: Certificado de clave pública.
Cifrado: Transformación de un texto en claro, mediante un algoritmo que tienecomo parámetro una clave, en un texto cifrado ininteligible para quien noconozca la clave de descifrado.
Cifrado del Cesar: Cifrado consistente en el reemplazo de cada caracter, siemprepor el mismo, a partir de la utilización de una tabla. Su principal inconvenien-te radica en mantener la entropía del mensaje original, siendo muy simple sucriptoanálisis a partir de la frecuencia relativa de los símbolos.
Cifrado de Vernam: Primer criptosistema que verifica las condiciones del Secre-to Perfecto de Shannon. Su dificultad práctica radica en la utilización de unaclave tan larga como el propio mensaje.
Cifrado de Vigenere: Criptosistema que supera las deficiencias relacionadas conla entropía del mensaje original. Sin embargo muestra debilidades relaciona-das con el método Kasiski, basado en la coincidencia de aplicación ocasionalde la clave a palabras similares.
Cifrado en bloque: Transformación criptográfica en que el texto en claro se divi-de en bloques y se aplica un algoritmo de cifrado a cada uno de estos bloques.
Cifrado en flujo: Transformación criptográfica en que el texto en claro se combi-na con una secuencia pseudoaleatoria obtenida a partir de la clave.
Clave: Parámetro de un algoritmo de cifrado o de descifrado, que permite definirtransformaciones criptográficas distintas sin necesidad de cambiar el algorit-mo.
Clave privada: Clave que permite realizar la transformación criptográfica inver-sa a la quese obtiene con una clave pública, y que es computacionalmenteinviable obtener a partir de esta última.
143
A. GLOSARIO
Clave pública: Clave que permite realizar la transformación criptográfica inversa
a la que se obtiene con una clave privada.
Clave simétrica: Clave que permite realizar tanto una transformación criptográfi-
ca como la transformación inversa, es decir, cifrado y descifrado.
Compromiso: En el campo de la criptografía, un compromiso (commitment) ha-
ce referencia a las técnicas que permiten garantizar que un valor determinado
pueda ser comprometido previamente, de manera que al develarlo con pos-
terioridad, las partes involucradas tengan la certeza de que coincide con el
valor original. Resulta una herramienta criptográfica fundamental para la de-
tección y manejo de fraudes.
Compromisos de Pedersen: Los compromisos de Pedersen presentan la caracte-
rística fundamental de que son homomórficos y, por lo tanto. es posible defi-
nir relaciones lineales entre lo comprometido y el resultado revelado final.
Confidencialidad: Protección de la información contra lectura por parte de terce-
ros no autorizados. Es el campo centro de análisis de la criptografía clásica.
Contraseña: Palabra (“password’) o cadena de caracteres secreta, de longitud re-
lativamente corta, usada por una entidad para autenticarse.
Criptoanálisis: Estudio de las técnicas matemáticas para anular la protección que
proporciona la criptografía.
Criptoanalista: Se llama de esta manera a quien investiga y aplica técnicas desti-
nadas a descubrir información de manera no autorizada.
Criptógrafo: Se denomina criptógrafo a quien trabaja con técnicas destinadas a
proteger la privacidad de una información.
Criptografía: Estudio de las técnicas matemáticas para proteger la información,
de modoque no pueda ser interpretada por partes no autorizadas.
144
Criptografía de clave privada: Es la que involucra solamente una clave privadacompartida entre las partes que intercambian información. Se relaciona conla criptografía clásica.
Criptografía de clave pública: Es un modelo que utiliza dos claves, una privaday otra pública. Aparece con [DH76], trabajo que es considerado el origen dela criptografía moderna.
Criptología: Disciplina que engloba la criptografía y el criptoanálisis.
Criptosistema: Se denomina criptosistema (ver [30]) a la quíntupla (M,C,K,E,D),en la cuál cada variable indica un conjunto específico:
M : textos claros.
C: criptogramas.
K: claves.
E: funciones de cifrado.
D: transformaciones de descifrado.
Descifrado: Transformación inversa al cifrado, para obtener el texto en claro apartir del texto cifrado y la clave de descifrado.
Dining Cryptographers: Problema clásico de la criptografía enunciado por Chaumen [4]. Su principal aporte pasa por garantizar la privacidad de un mensaje.Si bien el esquema original incluye tres participantes que intercambian unbit, se generaliza a n participantes y a cualquier volumen de información.
El Gamal: Es un procedimiento de cifrado/descifrado. Se basa en propiedades delos logaritmos discretos. Es un algoritmo de criptografía asimétrica basadoen las ideas de Diffie y Hellman ([19]) y puede ser utilizado tanto para ge-nerar firmas digitales como para cifrar o descifrar. Fue descrito por TaherElgamal en 1984 y la seguridad del algoritmo se basa en la suposición que lafunción utilizada es de un sólo sentido y la dificultad de calcular un logaritmodiscreto.
145
A. GLOSARIO
Entropía: Es la suma ponderada de las cantidades de información asociadas a
todos los eventos de un espacio muestral. En criptografía es de sumo interés
por su estrecha relación con la frecuencia relativa de símbolos en un alfabeto
determinado. Formalmente, la entropía H de una variable aleatoria V es:
H(V ) = −∑P (xi)logb|P (xi)|
Extranet: Red privada de una organización en que una parte de sus recursos son
accesibles a determinados usuarios externos a esta organización.
Firma ciega: Permiten a un participante de un proceso de intercambio de informa-
ción, conseguir que una autoridad firme un mensaje sin conocer su contenido.
Firma digital: Valor calculado a partir de un texto con una clave privada, y que
puede ser comprobado con la correspondiente clave pública, la cual cosa
permite confirmar que solamente lo puede haber generado el poseedor de la
clave privada.
Hash: Cadena de bits, de longitud predeterminada, que se obtiene a partir de una
secuencia de bits de longitud arbitraria, como “resumen” de esta secuencia.
Intranet: Red privada corporativa de una organización, con acceso restringido a
los usuarios que pertenecen a esta organización.
Logaritmos Discretos: Se da este nombre a un problema clásico de la teoría de
números. Consiste en elegir un primo p lo suficientemente grande. Luego, si:
β ≡ αx
El problema de encontrar x recibe el nombre de ”problema de los logaritmos
discretos”. Presenta el atractivo de que es fácil de cifrar pero muy difícil de
descifrar. Por lo tanto, el modelo se utiliza como base de muchos sistemas
criptográficos.
146
McEliece: Diseñado en 1978 por Robert McEliece, este criptosistema se funda-
menta en otro problema de la clase NP, la corrección de códigos lineales. En
concreto, se usan códigos de Goppa, ya que para éstos se conocen algoritmos
de corrección eficientes. La idea principal es ocultar el mensaje introducien-
do errores de un modo que el receptor sepa corregirlos. La clave privada
consiste en una matriz G correctora de hasta un número t de errores, una ma-
triz binaria invertible S y una matriz de permutaciones P. La clave pública
consiste en el producto SGP de las tres matrices anteriores y el parámetro t.
A pesar de tratarse de un criptosistema cuyos procesos de cifrado y desci-
frado son relativamente rápidos, apenas recibe uso. Esto es debido principal-
mente a sus tamaños de clave y a su factor de expansión del mensaje (para
los parámetros recomendados por McEliece, el criptograma tiene un tamaño
un 60 % mayor que el mensaje en claro.
No repudio: Protección de la información contra denegación de autoría por parte
de su originador.
Padding: Datos adicionales que puede ser necesario añadir a un texto en claro
antes de aplicarle un algoritmo de cifrado en bloque, para que su longitud
sea múltiple de la longitud del bloque.
Passphrase: Cadena de caracteres secreta, de longitud generalmente mayor que
una contraseña, usada por una entidad para autenticarse.
Password: Ver Contraseña.
Resumen: Ver Hash.
Reto-respuesta: Método de autenticación de entidad basado en un valor secreto,
que la entidad a autenticar debe utilizar para calcular una respuesta válida a
un reto que le envía el verificador.
RSA: Algoritmo criptográfico propuesto por Rivest, Shamir y Adleman en 1977.
El algoritmo puede describirse en los siguientes seis pasos:
1. El emisor de la información elige dos primos p y q y computa n = pq
147
A. GLOSARIO
2. El emisor elige un entero e que verifique que el MCD (e, (p − 1)(q −1)) = 1
3. El emisor computa d, donde: d.e ≡ 1(mod(p− 1)(q − 1))
4. El emisor hace públicos n y d, manteniendo secretos p, q y d.
5. El receptor encripta m: c ≡ m(modn) y lo envía al emisor original.
6. El emisor descripta computando m ≡ cd(modn)
Secreto perfecto de Shannon: Conjunto de hipótesis y condiciones que aseguranque un criptosistema sea imposible de descifrar sin utilizar la clave original.
Seguridad computacional: Seguridad que proporciona una técnica criptográficael criptoanálisis de la cual requeriría una cantidad de recursos computacio-nales mucho más grande de lo que está al alcance de nadie.
Seguridad incondicional: Seguridad que proporciona una técnica criptográficaque no permite obtener ninguna información sobre el texto en claro, inde-pendientemente de la cantidad de recursos disponibles para el criptoanálisis.
Slot: En el ámbito de este documento, un slot es una posición de un arreglo, capazde almacenar un mensaje. El formato exacto de ese mensaje es variable enfunción del tipo de información que el esquema maneja.
Texto claro: Información directamente inteligible.
Texto cifrado: Resultado de aplicar un cifrado a un texto en claro.
148
APPENDIX
BCódigo Fuente de los
Simuladores
Simulador de colisiones: Este simulador fue utilizado durante el desarrollo de es-
ta tésis para estimar valores relacionados con las probabilidades de colisión.
Todas las simulaciones realizadas por el mismo se efectuaron con tandas de
un millón de corridas.
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
int main(int argc, char** argv)
{
int s,p,vp,cs,voto,votoe,votop,vacios,
colisiones_simples, colisiones_multiples;
int cp,tve,tvp,tcs,tcm,tv,cv,indice_definitivo,
acum_ve;
149
B. CÓDIGO FUENTE DE LOS SIMULADORES
acum_ve=0;
double acum_voto=0;
int mejor_caso,peor_caso,votos_perdidos;
mejor_caso=1000000;
peor_caso=0;
votos_perdidos=0;
int votacion_perfecta=0;
indice_definitivo=0;
tve=0;
tvp=0;
tcs=0;
tcm=0;
tv=0;
cv=0;
cp=0;
float num, cvse;
cvse=0.0;
bool exito;
float pve,pvp,pcs,pcm,pv,pep;
srand(time(NULL));
cout<<"ingrese el número de slots a considerar:";
cin>>(s);
cout<<"ingrese el número de participantes:";
cin>>(p);
cout<<"ingrese el número de votos por participante:";
cin>>(vp);
cout<<"ingrese el número de canales paralelos:";
cin>>(cp);
cout<<"ingrese el número de veces que desea
realizar la simulación:";
cin>>(cs);
int st=s;
s=s/cp;
int posiciones=0;
150
int arreglo[s][cp];
posiciones=cp*p;
int arreglo2[posiciones];
for (int i=1;i<=posiciones;i++)
arreglo2[i]=0;
for (int ics=1;ics<=cs;ics++)
{
votop=0;
votoe=0;
cout<<ics;
cout<<"\n";
for (int icp=1;icp<=cp;icp++)
for (int is=1 ;is<=s;is++)
arreglo[is][icp]=0;
for (int icp=1;icp<=cp;icp++)
for (int ip=1;ip<=p;ip++)
for (int ivp=1;ivp<=vp;ivp++)
{
voto=1+rand()%(s);
acum_voto=acum_voto+voto;
if (arreglo[voto][icp]==0)
arreglo[voto][icp]=ip;
else
if (arreglo[voto][icp]>0)
arreglo[voto][icp] =
arreglo[voto][icp] +1000000;
}
indice_definitivo=1;
for (int icp=1;icp<=cp;icp++)
{
for (int slot=1 ;slot<=s;slot++)
{
if (arreglo[slot][icp]!=0)
{
151
B. CÓDIGO FUENTE DE LOS SIMULADORES
arreglo2[indice_definitivo]=
arreglo[slot][icp];
indice_definitivo++;
}
}
}
cout<<"arreglo definitivo: ";
for (int idef=1;idef<=indice_definitivo-1;idef++)
{
cout<<arreglo2[idef];
cout<<" - ";
}
cout<<"\n";
tve=0;
for (int ip=1;ip<=p;ip++)
for (int idef=1;idef<=p*cp;idef++)
{
if (arreglo2[idef]==ip)
{
tve=tve+1;
break;
}
}
if (tve==p)
votacion_perfecta=votacion_perfecta+1;
votos_perdidos=p-tve;
if (votos_perdidos<mejor_caso)
mejor_caso=votos_perdidos;
if (votos_perdidos>peor_caso)
peor_caso=votos_perdidos;
votos_perdidos=0;
acum_ve=acum_ve+tve;
}
152
cout<<"\n";
cout<<"Slots: ";cout<<st;cout<<"\n";
cout<<"Participantes: ";
cout<<p;cout<<"\n";
cout<<"Votos por participante: ";
cout<<vp;cout<<"\n";
cout<<"Cantidad de corridas: ";
cout<<cs;cout<<"\n";
cout<<"Cantidad de canales en paralelo: ";
cout<<cp;cout<<"\n";
cout<<"Resultados: ";
cout<<"\n";
cout<<"Votos efectivos acumulados: ";
cout<<(acum_ve);
cout<<"\n";
cout<<"Votos perdidos acumulados: ";
cout<<(p*cs)-(acum_ve);
cout<<"\n";
pep=((float)cs-(float)votacion_perfecta)/(float)cs;
cout<<"Cantidad de corridas en las que
SI se perdieron votos: "
;cout<<cs-votacion_perfecta;
cout<<"(";cout<<pep;
cout<<")\n";
cout<<"Cantidad de corridas en las que
NO se perdieron votos: ";
cout<<cs-(cs-votacion_perfecta);
cout<<"(";cout<<1-pep;
cout<<")\n";
cout<<"Media del generador aleatorio: ";
cout<<(((double)acum_voto)/((double)p*(double)cp*(double)vp*(double)cs));
cout<<"\n";
acum_voto=0;
153
B. CÓDIGO FUENTE DE LOS SIMULADORES
cout<<"Porcentaje de Votos Perdidos: ";
cout<<((((float)p*(float)cs)-((float)(acum_ve)))
/((float)p*(float)cs));
cout<<"\n";
cout<<"Mejor caso: ";cout<<(mejor_caso);
cout<<" Votos Perdidos";
cout<<"\n";
cout<<"Peor caso: ";
cout<<(peor_caso);
cout<<" Votos Perdidos";
cout<<"\n";
return 0;
}
Simulador para verificación de valores para colisiones aplicando fuerza bruta:Este simulador fue desarrollado para calcular el margen de error que estamoscometiendo al calcular la probabilidad de perder un voto específico en uncanal determinado. Su forma de trabajar consiste en construir todos los ca-sos posibles y totalizar aquellos en los que el voto número 1 se pierde. Elesquema se generaliza porque todos los votos tienen la misma probabilidadde colisionar.
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
bool fracaso(int arreglo[5])
{
bool rta=false;
for (int i=2;i<=5;i++)
{
if (arreglo[i]==arreglo[1])
154
{
rta=true;
break;
}
}
return rta;
}
int main(int argc, char** argv) {
double slots;
double perdidos=0;
double total=0;
cout<<"ingrese cantidad de slots: ";
cin>>slots;
int arreglo[5]={0,0,0,0,0};
for (int i=1;i<=slots;i++)
for (int j=1;j<=slots;j++)
for (int k=1;k<=slots;k++)
for (int l=1;l<=slots;l++)
for (int m=1;m<=slots;m++)
{
total=total+1;
arreglo[1]=i;
arreglo[2]=j;
arreglo[3]=k;
arreglo[4]=l;
arreglo[5]=m;
if (fracaso(arreglo))
perdidos=perdidos+1;
}
cout<<"casos en los que se perdió el primer voto: ";
cout<<perdidos;
cout<<"\n";
155
B. CÓDIGO FUENTE DE LOS SIMULADORES
cout<<"casos totales: ";
cout<<total;
cout<<"\n";
cout<<"Proporción:";
cout<<(float)perdidos/(float)total;
return 0;
}
156