canal sub-liminar. algoritmo de assinatura digital modificado para que duas pessoas troquem segredos...

47
Canal Sub-liminar

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

CanalSub-liminar

Page 2: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Canal Sub-liminar

• Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

• Já foram descobertos canais sub-liminares em diversos algoritmos

• Por exemplo, para El-Gamal e DSA

• Não existe canal sub-liminar em RSA

Page 3: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Canal Sub-liminar em El-Gamal

• El-Gamal» p: primo (pode ser compartilhado por vários usuários)

» g: menor que p (pode ser compartilhado)

» Chave pública y: igual a gx mod p

» Chave privada x: menor que p

» Assinatura

• Escolher k: qualquer, primo relativo a p–1

• a (assinatura) = gk mod p

• b (assinatura) tal que M = ( x.a + k.b ) mod (p–1)

» Verificação

• Aceitar se (ya.ab ) mod p = gM mod p

Page 4: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Canal Sub-liminar em El-Gamal

• Para enviar a mensagem sub-liminar S através da mensagem M, os pares (M,p), (S,p) e (S,p-1) devem ser primos relativos.

• Alice envia S para Bob (que conhece a chave secreta de Alice) simplesmente enviando a mensagem M assinada

• Alice calcula:

a = gS mod p

• e resolve a sequinte equação para b:

M = ( x.a + S.b ) mod (p–1)

• a e b formam a assinatura da mensagem M

Page 5: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Canal Sub-liminar em El-Gamal

• Para recuperar S, calcula-se

S = (b–1. (M – x.a)) mod (p–1)

• Por exemplo, seja p = 11 e g = 2. A chave privada é escolhida como x = 8. A chave pública é então 28 mod 11 = 3

• Para enviar a mensagem S = 9 assinando a mensagem inóqua M = 5, calcula-se a = 29 mod 11 = 6, e resolve-se 5 = 8 . 6 + 9 . b mod 10, o que fornece b = 3

• A “assinatura” da mensagem M=5 com os valores a = 6 e b = 3 é confirmada por (28)6 . 63 = 25 mod 11, e a mensagem secreta é recuperada calculando-se

S = 3–1.(5 – 8.6) mod 10 = 7 . 7 mod 10 = 9

Page 6: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Canal Sub-liminar em DSA

• DSA possui o mesmo canal sub-liminar de El Gamal

• Duas pessoas que conheçam x (a chave secreta) podem trocar informação através do valor de k

• Além disto, DSA apresenta um canal sub-liminar que não requer o conhecimento da chave secreta

• Um bit de informação pode ser enviado escolhendo-se k de tal maneira que ele seja um resíduo quadrático de um número primo n previamente escolhido

Page 7: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Canal Sub-liminar em DSA

• Um valor a é um resíduo quadrático em módulo n se existir um valor qualquer que, elevado ao quadrado em módulo n, forneça como resultado o próprio a

• Deve existir um x tal que x2 = a mod n. Se n=7, tem-se que 1, 2 e 4 são resíduos quadráticos, enquanto que 3, 5 e 6 são resíduos não quadráticos:

Resíduos quadráticos Resíduos não quadráticos

12 = 1 = 1 mod 7 não existe x2 = 3 mod 7

22 = 4 = 4 mod 7 não existe x2 = 5 mod 7

32 = 9 = 2 mod 7 não existe x2 = 6 mod 7

42 = 16 = 2 mod 7

52 = 25 = 4 mod 7

62 = 36 = 1 mod 7

Page 8: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Canal Sub-liminar em DSA

Resíduos quadráticos Resíduos não quadráticos

12 = 1 = 1 mod 7 não existe x2 = 3 mod 7

22 = 4 = 4 mod 7 não existe x2 = 5 mod 7

32 = 9 = 2 mod 7 não existe x2 = 6 mod 7

42 = 16 = 2 mod 7

52 = 25 = 4 mod 7

62 = 36 = 1 mod 7

• Se n for primo, existem exatamente (n–1)/2 resíduos quadráticos e a mesma quantidade de resíduos não quadráticos

• Dos resíduos quadráticos, todos apresentam dois valores de x, um entre 1 e (n–1)/2 e outro entre (n+1)/2 e (n–1)

Page 9: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Canal Sub-liminar em DSA

• Para Alice e Bob trocarem um bit sub-liminarmente, eles só necessitam escolher um valor para um primo n qualquer

• Para transmitir o valor 1, Alice escolhe um valor de k para o qual r seja um resíduo quadrático em módulo n; e para transmitir o valor 0, escolhe k tal que r seja um resíduo não quadrático

• Ela faz isto assinando a mensagem com valores randômicos de k até obter o valor de a adequado

• Como resíduos quadráticos e não quadráticos existem em igual quantidade, esta tarefa não é complexa

• Ao receber a mensagem, Bob verifica a validade da assinatura e depois recupera o valor do bit transmitido sub-liminarmente testando se r é ou não um resíduo quadrático em módulo n.

Page 10: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolos Criptográficos

Page 11: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Assinatura simultânea de contrato

(1) Alice e Bob geram n pares de chaves AES (ou DES, ou IDEA, ou outro algoritmo de chave única) – 2n chaves, agrupadas aos pares. Cada par de chaves não tem nenhuma relação especial

(2) Alice e Bob geram n pares de mensagens. Cada par, quando reunido, contêm um hash do contrato, a assinatura de Alice (ou Bob) sobre o hash e eventualmente um timestamp. Cada mensagem de cada par também deve conter um identificador único em texto claro, algo do tipo “Esta é a metade esquerda do meu i-ésimo par”, “Esta é a metade direita do meu i-ésimo par”. O contrato é considerado assinado por Alice (ou Bob) se Bob (ou Alice) conseguir produzir as duas metades do mesmo par

Page 12: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Assinatura simultânea de contrato

(3) Alice e Bob cifram cada par de mensagens com um par de chaves AES (ou o algorimo previamente combinado), a metade esquerda com uma das chaves e a metade direita com a outra chave. Eles também acrescentam informação para que o outro saiba qual mensagem é qual metade de qual par

(4) Alice e Bob enviam um para o outro suas 2n mensagens cifradas

(5) Alice e Bob, alternadamente, trocam seus pares de chaves, usando transferência com esquecimento. Assim, cada um possui uma das duas chaves de cada par, mas o outro não sabe qual das duas chaves foi transferida com sucesso

Page 13: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Assinatura simultânea de contrato

(6) Alice e Bob decifram uma das metades de cada mensagem, usando as chaves que eles receberam no passo anterior. Eles podem neste instante verificar que as mensagens são válidas e bem-formadas

(7) Alice e Bob trocam o primeiro bit de cada uma das 2n chaves AES

(8) Alice e Bob trocam o segundo bit de cada chave, e assim por diante, até que todos os bits tenham sido transferidos

(9) Alice e Bob decifram as metades restantes de cada par de chaves, e o contrato é considerado assinado

Page 14: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Assinatura simultânea: falsificação

(1) Alice (ou Bob) pode enviar strings randômicos nos passos (4) e (5). Bob descobre isto no passo (6), e para antes que Alice possa decifrar qualquer um dos seus pares

(2) Alice pode enviar uma das metades corretamente, mas um string randômico para a outra metade. Devido à transferência com esquecimento, entretanto, ela tem 50% de enganar Bob em cada par, e 1/2n se considerarmos n pares

Page 15: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Assinatura simultânea: falsificação

(3) Alice pode enviar bits randômicos nos passos (7) e (8). Mas de novo Bob tem a probabilidade a seu lado, já que Alice não sabe quais chaves Bob recebeu nos passos (5) e (6)

(4) Alice pode seguir o protocolo até o passo 8, mas parar assim que tiver recebidos bits suficientes para montar um ataque de força bruta. Mas neste caso Bob também pode montar o mesmo ataque, com a mesma informação (ou no pior dos casos com um bit a menos)

Page 16: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Mensagem com recibo

Alice deseja enviar uma mensagem para Bob, mas não deseja que Bob a leia antes de assinar um recibo.

(1) Alice gera uma chave AES randômica R, cifra sua mensagem com esta chave e envia para Bob

(2) Alice gera n pares de chaves. A primeira chave de cada par é randômica; a segunda é o ou-exclusivo da primeira metade com R

(3) Alice cifra uma mensagem padrão qualquer com estas 2n chaves AES

(4) Alice envia todas as mensagens para Bob, devidamente identificadas (qual pertence a qual par)

Page 17: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Mensagem com recibo

(5) Bob gera n pares de chaves AES

(6) Bob gera n pares de mensagens. Cada par, quando reunido, forma um recibo válido para as chaves que Alice enviou

(7) Bob cifra cada par de mensagens com um par de chaves DES, a metade esquerda com uma das chaves e a metade direita com a outra chave. Ele também acrescenta informação para que Alice saiba qual mensagem é qual metade de qual par

(8) Bob envia todas as mensagens para Alice

Page 18: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Mensagem com recibo

(9) Alice e Bob, alternadamente, trocam seus pares de chaves, usando transferência com esquecimento. Assim, cada um possui uma das duas chaves de cada par, mas o outro não sabe qual das duas chaves foi transferida com sucesso

(10) Alice e Bob decifram uma das metades de cada mensagem, usando as chaves que eles receberam no passo anterior. Eles podem neste instante verificar que as mensagens são válidas e bem-formadas

Page 19: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Mensagem com recibo

(11) Alice e Bob trocam o primeiro bit de cada uma das 2n chaves AES

(12) Alice e Bob trocam o segundo bit de cada chave, e assim por diante, até que todos os bits tenham sido transferidos

(13) Alice e Bob decifram as metades restantes de cada par de chaves. Alice obtém um recibo válido de Bob, e este obtém a chave R de Alice (pelo ou-exclusivo de duas metades correspondentes)

Alice pode tentar trapacear, enviando uma outra chave (que não seja R) para Bob. Mas neste caso ela obtém um recibo pela chave falsa

Page 20: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Troca simultânea de segredo

• Este caso é uma variação do caso anterior, em que Alice e Bob trocam mensagens (com ou sem recibo). Tanto Alice como Bob executam os passos (1) a (4), cada um para o seu segredo. Se um recibo é desejado, tanto Bob quanto Alice executam os passos (5) a (8); se não se deseja recibo estes passos podem ser eliminados. Nos passos (9) a (12), Alice e Bob trocam os bits das suas chaves

• Este método garante a troca simultânea de duas mensagens cifradas, mas não garante nada sobre a utilidade (ou validade) de cada mensagem

Page 21: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital

(1) Alice pede ao Banco uma ordem de pagamento de $1000

(2) O Banco retira $1000 da conta de Alice, prepara uma ordem de pagamento digital e a entrega para Alice. Esta ordem deve conter o valor da quantia, um número randômico de identificação (que deve ser único entre os registros do Banco) e a assinatura digital do Banco

(3) Alice leva a ordem até Bob, que verifica a validade da assinatura do Banco

(4) Bob leva a ordem até o Banco, que confere o número de identificação e sua assinatura. Se são válidos, o Banco paga para Bob

Alice pode ser rastreada pelo Banco

Page 22: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital

(1) Alice prepara n ordens de pagamento (seja n = 100), nos moldes desejados pelo Banco (cada ordem deve conter o valor e um número randômico R único e diferente dos demais)

(2) Alice cega as 100 ordens e envia todas para o Banco

(3) O Banco escolhe aleatoriamente 99 destas ordens (n–1) e pede que Alice retire o fator de cegamento

(4) Verificando que as 99 ordens são bem-formadas, o Banco assina a ordem restante e debita $1000 da conta de Alice

Alice permanece anônima frente ao Banco

Page 23: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital

(5) Alice retira o fator de cegamento da ordem assinada, e fica com uma ordem anônima. Note-se que o Banco não sabe o valor do número R desta ordem, o que garante o anonimato de Alice. O Banco também não tem como garantir que a última ordem é bem-formada ou que o valor é de $1000, mas Alice tem somente 1% de chances de enganar o Banco

(6) Alice leva a ordem até Bob, que verifica a validade da assinatura do Banco

(7) Bob leva a ordem até o Banco, que anota o número de identificação R e verifica sua assinatura. Se a assinatura é válida e o número R ainda não consta como pago, o Banco paga para Bob

Alice tentar gastar a ordem duas ou mais vezes

Page 24: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital

(1) Alice prepara n ordens de pagamento (seja n = 100), nos moldes desejados pelo Banco. Cada ordem contém:

- o valor da ordem ($1000)

- um número R, randômico

- m pares de strings de Identidade (m deve variar entre 20 e 40); cada string contém a identidade de Alice, dividida pela própria Alice em duas metades por divisão de segredo e cegadas individualmente (com fatores de cegamento diferentes)

(2) Alice cega as 100 ordens e envia todas para o Banco

(3) O Banco escolhe aleatoriamente 99 destas ordens (n–1) e pede que Alice retire o fator de cegamento, tanto da ordem como dos 2m strings de Identidade

Page 25: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital

(4) Verificando que as 99 ordens são bem-formadas, ou seja, o valor está correto, o número R é unico e os m pares de strings, quando reunidos, revelam a identidade de Alice, o Banco assina a ordem restante e debita $1000 da conta de Alice

(5) Alice retira o fator de cegamento da ordem assinada, e fica assim com uma ordem anônima

(6) Alice leva a ordem até Bob, que verifica a validade da assinatura do Banco

Page 26: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital

(7) Bob fornece para Alice m bits de seleção. Em função dos valores destes bits, Alice retira o fator de cegamento ou da metade esquerda ou da metade direita de cada um dos m pares de strings de Identidade. Obs: para garantir que Alice fornece os fatores de cegamento corretos, cada metade pode conter, adicionalmente , um texto identificador

(8) Bob leva a ordem até o Banco, que anota o número de identificação R e verifica sua assinatura. Se a assinatura é válida e o número R ainda não consta como pago, o Banco paga para Bob

Page 27: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital

• Se a ordem é duplicada (R já consta como pago), o Banco examina os strings de Identidade das duas ordens

– Se são idênticos, Bob é quem duplicou a ordem

– Se são diferentes, Alice é quem duplicou a ordem. Para recuperar a Identidade de Alice, o Banco reúne o segredo dos strings de Identidade, utilizando as metades esquerda de uma ordem com as metades direita de outra, e vice-versa. As chances dos dois comerciantes terem escolhidos os mesmos bits de seleção são de 1 para 2m, e naquela posição em que os bits de seleção diferem a identidade de Alice é revelada

Page 28: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital - Micropagamentos

(1) Alice pede ao Banco uma “pilha de moedas”, indicando o número de moedas (n) desejadas e o valor de cada uma (v).

(2) O Banco fornece para Alice um identificador secreto S, e um identificador público P

(3) Alice calcula n vezes o hash de S. O último hash (hn(S)) é a moeda do topo da pilha; o penúltimo hash (hn-1(S)) é a moeda seguinte da pilha, e assim por diante

(4) O Banco calcula n+1 vezes o hash de S, e armazena hn+1(S), juntamente com P

Page 29: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Dinheiro Digital - Micropagamentos

(5) Para gastar uma moeda, Alice fornece ao vendedor a primeira moeda da pilha (hn(S)) e seu identificador público P

(6) O vendedor envia a moeda ao Banco, para ser validada

(7) O Banco calcula o hash da moeda e compara com o valor armazenado (se h(hn(S)) = (hn+1(S)) )

(8) O Banco debita $v da conta de Alice, e valida a moeda junto ao vendedor. A seguir o Banco substitui hn+1(S) por hn(S)

(9) Na próxima transação, Alice envia hn-1(S), e o Banco compara h(hn-

1(S)) com o hash armazenado (hn(S))

(10) O procedimento é repetido até Alice gastar todas suas moedas

Page 30: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Votação digital

(1) Somente eleitores cadastrados podem votar

(2) Ninguém pode votar duas vezes

(3) O voto é secreto

(4) Ninguém deve poder duplicar o voto de ninguém

(5) Ninguém deve poder alterar o voto de ninguém

(6) Cada eleitor deve poder verificar se o seu voto foi contado

Page 31: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 1

(1) Cada eleitor cifra seu voto com a chave pública de uma Central de Votação (CV)

(2) Cada eleitor envia seu voto

(3) A CV decifra os votos e realiza a contagem

O voto é secreto (requisito 3), mas todos os demais requisistos não são obedecidos

Page 32: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 2

(1) Cada eleitor assina seu voto com sua chave secreta e a seguir cifra com a chave pública de uma Central de Votação (CV)

(2) Cada eleitor envia seu voto

(3) A CV decifra os votos, verifica as assinaturas dos eleitores e realiza a contagem

Todos os requisitos são obedecidos, exceto que o voto não é secreto

Page 33: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 3

(1) Cada eleitor gera 10 (ou mais) conjuntos de mensagens. Cada conjunto contém votos para todas as situações possíveis (para todos os candidatos). Os votos de cada conjunto contêm todos um número randômico R, grande o suficiente para evitar duplicações com outros conjuntos

(2) Cada eleitor cega todos os seus conjuntos, e envia todos para a Central

(3) A Central verifica se o eleitor ainda não “votou” (ainda não executou o protocolo), seleciona 9 conjuntos (todos menos um) e pede ao eleitor os fatores de cegamento. Abrindo as mensagens, a Central pode ver que os votos são bem-formados. A seguir, a Central assina os votos do conjunto ainda cego

Page 34: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 3

(4) O eleitor recebe seu conjunto assinado e retira o fator de cegamento. A seguir, ele escolhe qual o voto que deseja usar, e destrói os demais

(5) O eleitor cifra seu voto (com uma outra chave pública da Central) e envia para a Central

(6) A Central decifra o voto, confere sua assinatura, registra o número R (e verifica duplicações) e realiza a contagem

(7) A Central publica o resultado, listando cada voto com seu número R. Através deste número cada eleitor pode conferir que seu voto foi contado

Page 35: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 4

Divide-se a Central em duas, uma de credenciamento (CC) e outra de Votação (CV)

(1) Cada eleitor envia uma mensagem assinada para a CC, pedindo uma “cédula eleitoral”

(2) A CC verifica a identidade do eleitor e envia para ele um número de autenticação K, cifrado com a chave pública do eleitor

(3) A CC envia os números de identificação válidos para a CV

Page 36: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 4

(4) Cada eleitor prepara seu voto, anexando o número K e um randômico R. Ele cifra este voto com a chave pública da CV e o envia para a CV

(5) A CV decifra o voto, verifica o número de identificação K, registra o número R e conta o voto

(6) A CV publica o resultado, listando cada voto com o R correspondente

Este protocolo funciona se a única comunicação que existir entre a CC e a CV for o envio da lista de números K

Page 37: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 4 modificado

Divide-se a Central em três, uma de credenciamento (CC), outra de Votação (CV) e outra de apuração (CA)

(1) Cada eleitor envia uma mensagem assinada para a CC, pedindo uma “cédula eleitoral”

(2) A CC verifica a identidade do eleitor e envia para ele um número de autenticação K, cifrado com a chave pública do eleitor

(3) A CC envia uma lista dos números de identificação válidos para a CA, e uma lista dos eleitores válidos para a CV

Page 38: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 4 modificado

(4) Cada eleitor prepara seu voto, anexando o número K e um randômico R. Ele cifra este voto com a chave pública da CA e após assina o voto, enviando-o para a CV

(5) A CV verifica a assinatura do eleitor, e a seguir devolve o voto original, assinado por ela, para o eleitor, como recibo

(6) A CV retira as assinaturas dos eleitores e envia os votos para a CA

Page 39: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 4 modificado

(7) A CA decifra os votos, verifica o número de identificação K, registra o número R e conta o voto

(8) A CA publica o resultado, listando cada voto com o R correspondente

Em caso de divergências, o eleitor usa o seu recibo (o seu voto original, assinado pela CV)

Este protocolo funciona se as três centrais somente se comunicam entre si para:

CC -> CV: lista de eleitores válidos (chaves públicas)

CC -> CA: lista de identificadores K

CV -> CA: votos (sem assinaturas dos eleitores)

Page 40: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 5 - Distribuído

(1) Cada eleitor prepara seu voto:

(a) Escreve o voto: V

(b) Acrescenta um randômico Rn e cifra com a chave pública do eleitor n: En(V,Rn)

(c) Acrescenta um randômico Rn-1 e cifra com a chave pública do eleitor n-1: En-1(Rn-1,En(V,Rn))

(d) Repete este procedimento até o eleitor número 1: R1,E1(R1,E2(R2,...,En-1(Rn-1,En(V,Rn)...)

(e) A seguir, repete todo o procedimento (passos (b), (c) e (d)), com outros randômicos

Assim, por exemplo, para quatro eleitores (A,B,C,D) cada voto teria a forma:

Ea(R8,Eb(R7,Ec(R6,Ed(R5,Ea(R1,Eb(R2,Ec(R3,Ed(V,R4))))))))

Page 41: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 5

(1) Cada eleitor prepara seu voto:

Por exemplo, para quatro eleitores (A,B,C,D) cada voto teria a forma:

Ea(R8,Eb(R7,Ec(R6,Ed(R5,

Ea(R1,Eb(R2,Ec(R3,Ed(V,R4))))))))

Page 42: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 5

(2) Todos os eleitores enviam seus votos para o eleitor número 1

(3) Cada eleitor, na sua, vez, confere se recebeu n votos, decifra todos os votos recebidos, verifica se um dos votos resultantes contem o seu randômico, embaralha os votos e envia todos para o eleitor seguinte (de acordo com a ordem inicial)

(4) O passo (3) é executado n vezes. O último eleitor (de número n) envia os votos que ele processou novamente para o eleitor número 1.

Page 43: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 5

(5) Este passo é semelhante ao passo (3). Cada eleitor, na sua vez, confere se recebeu n votos, decifra todos os votos, verifica se um deles contém o seu randômico, elimina os randômicos, assina os votos e envia todos para o eleitor seguinte

(6) O último eleitor (de número n) decifra os votos (confere a assinatura do eleitor anterior e decifra os votos com sua chave secreta), obtendo assim uma lista (V,R) de votos e números randômicos. Ele assina todos os votos e envia para todos os participantes

(7) Cada eleitor confere se o seu voto está presente e realiza a contagem

Page 44: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 5

Objetivo da primeira passagem: embaralhar os votos

Objetivo da segunda passagem: detectar substituição dos votos na primeira passagem

Não é necessário detectar substituição na segunda passagem porque os votos são assinados

Funções dos Randômicos: facilitar a identificação do voto pelo seu dono e impedir “engenharia reversa” do voto final para o inicial

Page 45: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 5

Exemplo para 4 pessoas (Alice, Bob Carol e Dave):

(1) Alice recebe 4 votos, no formato:

Ea(R8,Eb(R7,Ec(R6,Ed(R5,

Ea(R1,Eb(R2,Ec(R3,Ed(V,R4))))))))

(2) Alice decifra, confere seu randômico, embaralha e envia para Bob os votos,

Eb(R7,Ec(R6,Ed(R5,Ea(R1,Eb(R2,Ec(R3,Ed(V,R4)))))))

(3) Bob decifra, confere seu randômico, embaralha e envia para Carol os votos,

Ec(R6,Ed(R5,Ea(R1,Eb(R2,Ec(R3,Ed(V,R4))))))

Page 46: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 5

(4) Carol decifra, confere seu randômico, embaralha e envia para Dave os votos,

Ed(R5,Ea(R1,Eb(R2,Ec(R3,Ed(V,R4)))))

(5) Dave decifra, confere seu randômico, embaralha e envia para Alice os votos,

Ea(R1,Eb(R2,Ec(R3,Ed(V,R4))))

(6) Alice decifra, confere seu randômico, assina e envia para Bob os votos,

Sa(Eb(R2,Ec(R3,Ed(V,R4))))

Page 47: Canal Sub-liminar. Algoritmo de assinatura digital modificado para que duas pessoas troquem segredos através do uso aparentemente normal deste algoritmo

Protocolo 5

(7) Bob verifica a assinatura de Alice, decifra, confere seu randômico, assina e envia para Carol os votos,

Sb(Ec(R3,Ed(V,R4)))

(8) Carol verifica a assinatura de Bob, decifra, confere seu randômico, assina e envia para Dave os votos,

Sc(Ed(V,R4))

(9) Dave verifica a assinatura de Carol, decifra, confere seu randômico, assina e envia para todos os votos,

Sd(V,R4)

(9) Todos verificam a assinatura de Dave, conferem seu randômico e contam os votos,

V,R4