18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

simulação.<br />

Respostas aos Oráculos<br />

Uma vez iniciado o jogo, o simulador <strong>de</strong>ve respon<strong>de</strong>r às consultas realizadas pelo adversário<br />

aos oráculos disponíveis. O comportamento do simulador para tratar essas consultas<br />

varia <strong>de</strong> acordo com cada um dos nove casos. Os oráculos H e RevealSessionKey,<br />

que respectivamente calcula e revela a chave <strong>de</strong> sessão, são os mais críticos a serem<br />

tratados pelo simulador. Por esse motivo, eles serão <strong>de</strong>scritos mais <strong>de</strong>talhadamente no<br />

Apêndice A.1. Os <strong>de</strong>mais oráculos são tratados como segue:<br />

H 1 (ID i ). Se S está simulando os casos 5 a 9, S embute convenientemente as entradas<br />

do <strong>de</strong>safio BDH:<br />

• casos 5, 7 e 9: H 1 (A) = bP , ou seja, Q A1 é <strong>de</strong>finido como bP<br />

• casos 6 e 8: H 1 (B) = bP , ou seja, Q B1 é <strong>de</strong>finido como bP<br />

• caso 9: H 1 (B) = cP , ou seja, Q B1 é <strong>de</strong>finido como cP<br />

Para os <strong>de</strong>mais participantes nos casos 5 a 9 e para os casos 1 a 4, S escolhe l i ∈ Z q<br />

ao acaso e respon<strong>de</strong> l i P . Todas as respostas e os valores l i são armazenados em<br />

uma lista.<br />

H 2 (ID i ). Análogo a H 1 , porém S sorteia z, y ∈ Z q (ou z, y A , y B , para o caso 9) e <strong>de</strong>fine:<br />

• casos 5 e 7: H 2 (A) = yP −zbP , ou seja, Q A2 é <strong>de</strong>finido como yP −zQ A1<br />

• casos 6 e 8: H 2 (B) = yP −zbP , ou seja, Q B2 é <strong>de</strong>finido como yP −zQ B2<br />

• caso 9: H 2 (A) = y A P − zbP , isto é, Q A2 = y A P − zQ A1 e<br />

H 2 (B) = y B P − zcP , ou seja, Q B2 = y B P − zQ B1<br />

Para os <strong>de</strong>mais participantes nos casos 5 a 9 e para os casos 1 a 4, S escolhe p i ∈<br />

Z q ao acaso e respon<strong>de</strong> p i P . Todas as respostas e os valores p i são armazenados<br />

em uma lista.<br />

RequestPublicKey(ID i ). S respon<strong>de</strong> x i P .<br />

EstablishParty(ID i , x i P ). O simulador cria o usuário <strong>de</strong>sonesto com i<strong>de</strong>ntificador<br />

(ID i ), caso ainda não exista, chamando os oráculos H 1 , H 2 . S registra a chave<br />

pública x i P , <strong>de</strong>fine x i =⊥. Nos casos 5 a 9, entrega ao adversário a chave secreta<br />

parcial (d i1 = l i aP, d i2 = p i aP ); nos casos 1 a 4, S recebe a chave secreta parcial<br />

como entrada à consulta ao oráculo e a armazena.<br />

Send(Π s i,j, m). Se a sessão Π s i,j ainda não existe, S cria uma sessão para onwner ID i e<br />

peer ID j , com estado in<strong>de</strong>finido e com o papel <strong>de</strong> emissor (se m = λ) ou receptor<br />

(em caso contrário). Se m = λ e Π s i,j é sessão <strong>de</strong> Teste, então <strong>de</strong>fine r iP = aP<br />

(nos casos 2 e 4) ou r i P = cP (no caso 8). Se m ≠ λ, Π s i,j é sessão <strong>de</strong> Teste<br />

com papel <strong>de</strong> receptor, então <strong>de</strong>fine r i P = bP (nos casos 2 e 3) ou r i P = cP<br />

(no caso 7). Nos <strong>de</strong>mais casos, S escolhe r i ao acaso. S executa o protocolo,<br />

extraindo r B P <strong>de</strong> m quando necessário, atualiza o estado da sessão e entrega r i P<br />

ao adversário.<br />

RevealPartialKey(ID i ). Se S está tratando os casos 1 a 4, aborta. Se ID i = A e S está<br />

tratando os casos 5, 7 ou 9, aborta. Se ID i = B e S está tratando os casos 6, 8<br />

ou 9, aborta. Caso contrário, respon<strong>de</strong> a chave secreta parcial (d i1 = l i aP, d i2 =<br />

p i aP ).<br />

RevealSecretValue(ID i ). Se x i =⊥, aborta. Se ID i = A e S está tratando os casos 1,<br />

3 ou 6, aborta. Se ID i = B e S está tratando os casos 1, 4 ou 5, aborta. Caso<br />

contrário, respon<strong>de</strong> o valor secreto x i .<br />

274

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!