A → B : k * M ( k = fator de ocultação ) Assinaturas Cegas A idéia da assinatura cega é que alguém assine um documento sem nunca ter visto o conteúdo completamente. A → B : k * M ( k = fator de ocultação ) B → A : SKRB ( k * M ) A : M / k A : SKRB ( k * M ) / k
A : escolhe k ( randômico entre 1 e n ) Assinaturas Cegas (obs: protocolo só é válido sse função de assinatura e multiplicação são comutativas) A : escolhe k ( randômico entre 1 e n ) A : t = mke mod n ( aplica fator de ocultação a m ) A → B : t B : td = (mke)d mod n ( assina o texto ) B → A : td A : s = td / k mod n = md mod n
A → C : EKUC ( EKUB ( M ) || IDB ) Redes de Misturadores O propósito do misturador é obter o anonimato, independência de tempo, unicidade de processamento. A : EKUB ( M ) A → C : EKUC ( EKUB ( M ) || IDB ) C → B : EKUB ( M ) B : DKRB ( M )
Votação digital segura Voto computadorizado jamais será utilizado para eleições gerais, a menos que surja um protocolo que garanta a privacidade e previna coação. requisitos: Somente eleitores autorizados podem votar Ninguém pode votar mais de uma vez Ninguém pode provar seu voto O voto não poder ser duplicado Votos não podem ser alterados Todo eleitor pode verificar se seu voto foi computado
Votação digital, protocolo simples E → CV : EKUCV ( voto ) CV : DKRCV ( voto ) CV : Σ votos CV : divulga resultados requisitos atendidos ?
Votação digital, segundo protocolo E : SKRE ( voto ) E → CV : EKUCV ( SKRE ( voto ) ) CV : DKRCV ( SKRE ( voto ) ) CV : VKUE ( voto ) CV : divulga Σ SKRE ( voto )´s requisitos atendidos ?
Votação digital, com assinatura cega Eleitor gera um conjuntos de mensagens contendo votos válidos possíveis ( ex. se o voto é sim ou não, cada conjunto contém dois votos, um sim e um não). Cada mensagem também contém um número randômico usado como identificador. Eleitor oculta as mensagens, fator de ocultação próprio, e envia a Central de Votação. CV verifica se o eleitor já não submeteu seus votos cegos anteriormente. Assina individualmente cada mensagem do conjunto e envia ao eleitor, armazenando a identificação do eleitor. Eleitor retira o fator de ocultação da mensagem Eleitor escolhe o voto, cifra com KU da CV e envia a CV. CV decifra o voto, verifica assinatura, verifica BD duplicidade do número de identificação, gera um número serial, publica resultado, com número serial associado ao voto.
Votação digital, com duas centrais de votação Eleitor solicita a CV1 um número (randômico) de identificação. CV1 envia ao eleitor o número de identificação e os mantém em uma lista associado ao eleitor, para evitar duplicidade de solicitação. CV1 envia a CV2 a lista de números de identificadores. Eleitor gera um identificador randômico, cria uma mensagem com seu voto + o número de idenitificação recebido da CV1 e envia a CV2. CV2 valida a identificação, em caso afirmativo retira o identificador da lista, computa o voto para a opção escolhida. CV2 publica o resultado e a lista de identificadores com seu voto
Dinheiro eletrônico, protocolo #1 Alice prepara 100 ordens anonimas de R$ 1000,00 cada. Alice coloca cada ordem e um pedaço de carbono em 100 envelopes e entrega ao banco. O Banco abre 99 e confirma que todas são ordens de R$ 1000,00. Banco assina o envelope fechado, devolve a alice e debita R$ 1000,00 de suas conta. Alice abre o envelope a gasta o dinheiro no comércio. Comerciante aceita a ordem como legitima devido a assinatura do banco. Comerciante entrega a ordem ao banco Banco verifica a assinatura e credita R$ 1000,00 ao comerciante probabilidade do banco ter sido enganado é 1%
Dinheiro eletrônico, protocolo #1 identifique os recursos necessários para implementar um protocolo criptográfico para o exemplo, proponha um protocolo, aponte as vulnerabilidades,