13.04.2013 Views

Capítulos 5,6 - Departamento de Ciência da Computação

Capítulos 5,6 - Departamento de Ciência da Computação

Capítulos 5,6 - Departamento de Ciência da Computação

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Esquema Meta-ElGamal<br />

O Meta-algoritmo <strong>de</strong> ElGamal é um esquema para se <strong>de</strong>rivar milhares<br />

<strong>de</strong> algoritmos assimétricos para assinatura digital (Horster, Petersen &<br />

Michels: 1994 ACM computer conference on communications security).<br />

Geração <strong>de</strong> parâmetros, chaves<br />

assimétricas e chave <strong>de</strong> sessão:<br />

p=geraprimo(rand( ))<br />

repeat<br />

q = rand( )<br />

until q | (p-1)<br />

repeat<br />

g = rand( ) mod p<br />

until g q mod p = 1<br />

x = rand( ) mod q{chave priva<strong>da</strong>}<br />

y = g x mod p<br />

e A = (p,q,g,y) {chave pública}<br />

Assinatura <strong>de</strong> m = (r,s):<br />

• Coeficentes no esquema meta-ElGamal -<br />

repeat<br />

k = rand( ) mod q {ch. sessão}<br />

until mdc(k,q) = 1 r = g k mod p<br />

t = r mod q<br />

equação <strong>de</strong> assinatura<br />

ak = b + cx mod q<br />

equação <strong>de</strong> verificação:<br />

r a =? g b y c mod q<br />

Tabela <strong>de</strong> possíveis valores dos coeficientes a, b, c<br />

± t ± s ± m<br />

± tm ± s 1<br />

± tm ± ms 1<br />

± tm ± ts 1<br />

± sm ± ts 1<br />

Exemplos: algoritmos <strong>de</strong>rivados <strong>da</strong> 1ª linha (+) <strong>da</strong> tabela acima<br />

Equação <strong>de</strong> assinatura Equação <strong>de</strong> verificação<br />

(1) mk = s+tx mod q r t = g s<br />

* ym mod q<br />

(2) tk = m+sx mod q r t = g m<br />

* ys mod q<br />

(3) sk = t+mx mod q r s = g t<br />

* ym mod q<br />

(4) sk = m+tx mod q r s = g m<br />

* yt mod q<br />

(5) mk = s+tx mod q r m = g s<br />

* yt mod q<br />

(6) mk = t+sx mod q r m = g t<br />

* ys mod q<br />

52

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

Saved successfully!

Ooh no, something went wrong!