· a los dres. roberto uzal y daniel riesco, quienes junto con germán mon-tejano son permanentes...

176
UNSL (Argentina) UFMG (Brasil) Optimización de un Protocolo Dining Cryptographers Asíncrono Tesis Maestrí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 -

Upload: others

Post on 03-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1:  · 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

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 -

Page 2:  · 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

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

Page 3:  · 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

A Gilda, Agustina e Ignacio

Page 4:  · 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
Page 5:  · 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

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

Page 6:  · 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

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

Page 7:  · 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

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

Page 8:  · 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

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

Page 9:  · 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

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

Page 10:  · 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

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

Page 11:  · 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

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

Page 12:  · 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
Page 13:  · 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

Í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

Page 14:  · 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

Í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

Page 15:  · 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

Í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

Page 16:  · 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
Page 17:  · 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

Í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

Page 18:  · 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

Í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

Page 19:  · 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

Í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

Page 20:  · 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
Page 21:  · 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

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

Page 22:  · 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

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

Page 23:  · 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

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

Page 24:  · 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

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

Page 25:  · 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

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

Page 26:  · 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

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

Page 27:  · 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

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

Page 28:  · 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

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

Page 29:  · 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

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

Page 30:  · 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

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

Page 31:  · 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

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

Page 32:  · 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

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

Page 33:  · 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

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

Page 34:  · 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

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

Page 35:  · 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

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

Page 36:  · 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

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

Page 37:  · 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

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

Page 38:  · 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

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

Page 39:  · 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

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

Page 40:  · 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

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

Page 41:  · 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

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

Page 42:  · 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
Page 43:  · 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

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

Page 44:  · 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

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

Page 45:  · 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

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

Page 46:  · 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

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

Page 47:  · 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

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

Page 48:  · 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

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

Page 49:  · 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

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

Page 50:  · 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

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

Page 51:  · 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

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

Page 52:  · 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

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

Page 53:  · 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

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

Page 54:  · 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
Page 55:  · 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

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

Page 56:  · 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

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

Page 57:  · 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

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

Page 58:  · 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

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

Page 59:  · 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

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

Page 60:  · 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

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

Page 61:  · 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

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

Page 62:  · 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

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

Page 63:  · 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

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

Page 64:  · 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

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

Page 65:  · 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

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

Page 66:  · 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
Page 67:  · 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

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

Page 68:  · 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

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

Page 69:  · 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

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

Page 70:  · 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

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

Page 71:  · 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

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

Page 72:  · 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

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

Page 73:  · 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

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

Page 74:  · 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

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

Page 75:  · 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

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

Page 76:  · 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

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

Page 77:  · 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

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

Page 78:  · 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

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

Page 79:  · 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

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

Page 80:  · 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

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

Page 81:  · 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

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

Page 82:  · 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

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

Page 83:  · 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

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

Page 84:  · 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

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

Page 85:  · 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

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

Page 86:  · 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

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

Page 87:  · 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

5.3 Simulaciones

Figura 5.12: Datos Efectivos Acumulados (1-12 Canales Paralelos)

Figura 5.13: Datos Efectivos Acumulados (12 Canales Paralelos).

67

Page 88:  · 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

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

Page 89:  · 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

5.3 Simulaciones

Figura 5.15: Mejor y Peor Caso (9600 Slots)

Figura 5.16: Mejor y Peor Caso (14400 Slots)

69

Page 90:  · 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

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

Page 91:  · 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

5.3 Simulaciones

Figura 5.19: Peor Caso (8, 10 y 12 Canales Paralelos)

Figura 5.20: Peor Caso (10 Canales Paralelos)

71

Page 92:  · 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

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

Page 93:  · 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

5.3 Simulaciones

Figura 5.22: Porcentaje de Datos Perdidos (9600 Slots)

Figura 5.23: Porcentaje de Datos Perdidos (14400 Slots)

73

Page 94:  · 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

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

Page 95:  · 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

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

Page 96:  · 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

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

Page 97:  · 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

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

Page 98:  · 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

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

Page 99:  · 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

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

Page 100:  · 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

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

Page 101:  · 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

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

Page 102:  · 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

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

Page 103:  · 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

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

Page 104:  · 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

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

Page 105:  · 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

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

Page 106:  · 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

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

Page 107:  · 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

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

Page 108:  · 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

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

Page 109:  · 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

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

Page 110:  · 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
Page 111:  · 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

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

Page 112:  · 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

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

Page 113:  · 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

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

Page 114:  · 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

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

Page 115:  · 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

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

Page 116:  · 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

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

Page 117:  · 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

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

Page 118:  · 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

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

Page 119:  · 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

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

Page 120:  · 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

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

Page 121:  · 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

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

Page 122:  · 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

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

Page 123:  · 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

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

Page 124:  · 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

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

Page 125:  · 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

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

Page 126:  · 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

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

Page 127:  · 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

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

Page 128:  · 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

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

Page 129:  · 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

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

Page 130:  · 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

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

Page 131:  · 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

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

Page 132:  · 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
Page 133:  · 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

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

Page 134:  · 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

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

Page 135:  · 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

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

Page 136:  · 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

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

Page 137:  · 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

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

Page 138:  · 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

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

Page 139:  · 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

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

Page 140:  · 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

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

Page 141:  · 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

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

Page 142:  · 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

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

Page 143:  · 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

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

Page 144:  · 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

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

Page 145:  · 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

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

Page 146:  · 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
Page 147:  · 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

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

Page 148:  · 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

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

Page 149:  · 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

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

Page 150:  · 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

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

Page 151:  · 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

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

Page 152:  · 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
Page 153:  · 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

Bibliografía

133

Page 154:  · 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
Page 155:  · 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

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

Page 156:  · 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

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

Page 157:  · 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

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

Page 158:  · 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

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

Page 159:  · 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

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

Page 160:  · 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

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

Page 161:  · 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

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

Page 162:  · 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

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

Page 163:  · 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

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

Page 164:  · 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

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

Page 165:  · 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

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

Page 166:  · 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

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

Page 167:  · 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

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

Page 168:  · 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

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

Page 169:  · 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

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

Page 170:  · 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

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

Page 171:  · 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

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

Page 172:  · 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

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

Page 173:  · 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

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

Page 174:  · 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

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

Page 175:  · 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

{

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

Page 176:  · 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

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