• Nenhum resultado encontrado

4.2 Aritm´ etica de Opera¸c˜ oes B´ asicas de Emparelhamentos sobre Curvas El´ıpticas

4.2.2 Custo de Opera¸c˜ oes B´ asicas do La¸co de Miller

Antes de dar in´ıcio `as an´alises de opera¸c˜oes, vale a pena recordar a estrutura dos empa- relhamentos em quest˜ao. Pela Se¸c˜ao 4.2.1, E(Fp) ´e uma curva el´ıptica definida sobre Fp. Sendo

E0(Fp2) um D-twist de E(Fp), pode-se definir o emparelhamento bilinear e da seguinte forma:

e : E(Fp) × E0(Fp2) → F∗

pk

Desta forma, as opera¸c˜oes de aritm´etica el´ıptica no c´alculo destes emparelhamentos ser˜ao efe- tuadas sobre a curva el´ıptica E0(Fp2).

Coordenadas Afins

Para o c´alculo do emparelhamento bilinear e(Q, P ), ´e fundamental a execu¸c˜ao da fun¸c˜ao de Miller gT ,Q(P ). Esta fun¸c˜ao tem o seguinte significado: gT,Q representa a equa¸c˜ao da reta

(fun¸c˜ao linha) que passa por T e Q. J´a, gT ,Q(P ) representa o valor dessa equa¸c˜ao quando

aplicado a ela o ponto P , onde gT ,Q(P ) ∈ F∗pk. Ent˜ao, gT ,Q(P ) ´e denominada fun¸c˜ao linha

avaliada a partir de P . Se T = Q, ent˜ao calcular gT ,T(P ) consiste em encontrar no ponto P o

valor da equa¸c˜ao da reta tangente `a curva el´ıptica E0 no ponto T . Sejam P = (xP, yP) ∈ E(Fp)

e T = (xT, yT) ∈ E0(Fp2). Ent˜ao, gT ,T(P ) = yP − λxPw + (λxT − yT)w3. (4.6) Fazendo, xP = −xP, x0P = xP yP0 e y 0 P = 1 yP

. Ent˜ao, a Equa¸c˜ao 4.6 pode ser reescrita como:

yP0 · gT,T(P ) = 1 + λx0Pw + y 0

P(λxT − yT)w3. (4.7)

Desta forma, a Equa¸c˜ao 4.7 pode ser calculada da seguinte forma:

y0P · gT ,T(P ) = 1 + F w + Gw3. (4.8) Onde, A = 1 2yT ; B = 3x2T; C = A · B; D = 2xT xR = C2− D; E = CxT − yT; yR= E − CxR; F = Cx0P; G = EyP0 . Considere que xP, y0P e x 0

P sejam pr´e-computados. O custo para calcular a Equa¸c˜ao 4.8 ´e de

3 ˜m + 2˜s + 7˜a + ˜i + 5˜r + 4m. Neste custo, est´a inclu´ıdo o custo de calcular gT,T(P ) (Equa¸c˜ao

4.6) e de duplicar R = 2T . O custo da pr´e-computa¸c˜ao de xP, x0P y 0

Se T 6= Q, ent˜ao yP0 · gT ,Q(P ) = 1 + F w + Gw3, (4.9) onde, A = 1 xQ− xT ; B = yQ− yT; C = A · B; D = xT + xQ xR = C2− D; E = CxT − yT; yR= E − CxR; F = Cx0P; G = EyP0 .

O custo de c´alculo da Equa¸c˜ao 4.9 ´e de 3 ˜m + ˜s + 6˜a + ˜i + 4˜r + 4m. Neste custo, est´a inclu´ıdo o custo de calcular gT ,Q(P ) (Equa¸c˜ao 4.9) e da somar os pontos R = T + Q.

Coordenadas Projetivas Homogˆeneas

Seja T = (XT, YT, ZT) ∈ E0(Fp2) um ponto representado em coordenadas projetivas ho-

mogˆeneas. Portanto, pode-se efetuar a duplica¸c˜ao de T , ou seja, R = 2T = T + T = (XR, YR, ZR), mediante utiliza¸c˜ao das seguintes equa¸c˜oes:

XR = XY 2 (Y 2− 9b0Z2 T) YR =  1 2(Y 2 T + 9b 0 ZT2) 2 − 27b02ZT4 (4.10) ZR = 2YT3ZT.

Seja P = (xP, yP) ∈ E(Fp). Quando E0 ´e um D-twist, ent˜ao gT,T(P ) pode ser calculado da

seguinte forma:

gT ,T(P ) = −2YTZTyp+ 3XT2xpw + (3b0ZT2 − Y 2 T)w

3. (4.11)

Fazendo yp = −yp e x0p = 3xp, ent˜ao, a Equa¸c˜ao 4.11 pode ser reescrita como

gT ,T(P ) = Hyp+ 3XT2x 0 pw + (E − B)w 3, (4.12) onde A = XTYT 2 ; B = Y 2 T; C = ZT2; E = 3b0C F = 3E; XR = A(B − F ); G = B + F 2 YR = G 2− 3E2; H = (Y T + ZT)2− (B + C); ZR= BH.

A multiplica¸c˜ao por b0 tˆem custo de uma adi¸c˜ao sobre Fp2, fato f´acil de ser verificado via

tamb´em apresenta custo de uma adi¸c˜ao sobre Fp2, pois pode ser efetuada por uma opera¸c˜ao de

shift para a direita. Considerando que yp e x0p na Equa¸c˜ao 4.12 sejam pr´e-computados, o custo

de c´alculo da Equa¸c˜ao 4.12 ´e 3 ˜m + 6˜s + 17˜a + 8˜r + 4m. Neste custo, est´a inclu´ıdo o custo de encontrar gT ,T(P ) (Equa¸c˜ao 4.12) e da duplica¸c˜ao R = 2T (Equa¸c˜ao 4.10).

Sejam T = (XT, YT, ZT), Q = (xQ, yQ) ∈ E0(Fp2) pontos representados em coordenadas pro-

jetivas e afins, respectivamente. Ent˜ao, a soma R = T +Q = (XR, YR, ZR) pode ser determinada

por meio das seguintes equa¸c˜oes:

XR = λ(λ3+ ZTθ2− 2XTλ2)

YR = θ(3XTλ2− λ3− ZTθ2) − YTλ3 (4.13)

ZR = ZTλ3.

Seja P = (xP, yP) ∈ E(Fp). Quando E0 ´e um D-twist, ent˜ao gT ,Q(P ) pode ser calculado da

seguinte forma:

gT,Q(P ) = −λyP − θxPw + (θxQ− λyQ)w3. (4.14)

Fazendo, xP = −xP. Ent˜ao, a Equa¸c˜ao 4.14 pode ser reescrita como:

gT,Q(P ) = λyP + θxPw + J w3, (4.15) onde, A = yQZT; B = xQZT; θ = YT − A; λ = XT − B C = θ2; D = λ2; E = λ3 F = Z TC; G = XTD; H = E + F − 2G; XR= λH; I = YTE; YR= θ(G − H) − I; ZR= ZTE; J = θxQ− λyQ.

O custo de c´alculo da Equa¸c˜ao 4.15 ´e 11 ˜m + 2˜s + 8˜a + 11˜r + 4m. Neste custo, est´a inclu´ıdo o custo de calcular gT ,Q(P ) (Equa¸c˜ao 4.15) e de somar R = T + Q (Equa¸c˜ao 4.13).

Para utiliza¸c˜ao de coordenadas projetivas homogˆeneas, o custo das pr´e-computa¸c˜oes necess´arias para tornar a computa¸c˜ao das fun¸c˜oes de linha mais eficientes ´e de 4a.

Outras opera¸c˜oes definidas sobre curvas el´ıpticas necess´arias no c´alculo de emparelhamentos bilineares s˜ao: nega¸c˜ao de pontos e potˆencias de Frobenius. Seja Q = (xQ, yQ) ∈ E0(Fp2): a

tais que φp : E0(Fp2) −→ E0(Fp2) (4.16) (x, y) 7−→ (xp, yp) e φ2p : E0(Fp2) −→ E0(Fp2) (4.17) (x, y) 7−→ (xp2, yp2)

para todo (x, y) ∈ E0(Fp2). Estas fun¸c˜oes s˜ao denominadas p−potˆencia de Frobenius e p2−potˆen-

cia de Frobenius, respectivamente. O custo de execu¸c˜ao destas fun¸c˜oes ´e de 2 ˜m + 2a (Equa¸c˜ao 4.16) e 2m + ˜a (Equa¸c˜ao 4.17). Para mais detalhes sobre como efetuar as potˆencias de Frobenius sobre E0(Fp2) a referˆencia (Hoffstein et al.; 2008) pode ser consultada.

As fun¸c˜oes linha, tradicionalmente representadas por gA,Ae gA,Bnos Algoritmos 3.2, 3.4 e 3.5,

retornam valores tempor´arios obtidos no decorrer do c´alculo do la¸co de Miller. Estes valores s˜ao elementos de Fp12 = Fp2[w]/(w6−ε), ou seja, s˜ao polinˆomios de grau m´aximo cinco e coeficientes

em Fp2 que podem ser representados de forma gen´erica por a0+a1w +a2w2+a3w3+a4w4+a5w5,

com ai ∈ Fp2. Por´em, os valores destas vari´aveis s˜ao bem esparsos (possuem v´arios coeficientes

nulos) quando s˜ao utilizadas curvas el´ıpticas com grau de imers˜ao par, como por exemplo as curvas BN (Costello; 2010). No caso k = 12, estas fun¸c˜oes linha possuem trˆes dos seis coeficientes base nulos (Equa¸c˜oes 4.8, 4.9, 4.12, 4.15). Na i−´esima itera¸c˜ao dos Algoritmos 3.2, 3.4 e 3.5, o valor gA,A(P ) ´e multiplicado por (fi−1)2 e o resultado dessa multiplica¸c˜ao ´e armazenado em

fi. Se o i−´esimo bit do valor que descreve o comprimento do la¸co de Miller for um, nessa

mesma itera¸c˜ao ´e calculado um valor gA,B(P ) que ´e multiplicado pelo valor fi e o resultado ´e

armazenado novamente em fi. Pelo fato dos valores gA,Ae gA,Bserem esparsos as multiplica¸c˜oes

(fi−1)2 · gA,A e fi · gA,B s˜ao denominadas multiplica¸c˜oes do tipo 1-esparsa. O custo de uma

multiplica¸c˜ao 1-esparsa varia de acordo com o tipo de coordenada que esta sendo utilizada; no caso das coordenadas afins utilizando pr´e-computa¸c˜ao de dados, ´e possivel tomar a0 = 1

(Aranha et al.; 2013) e o custo desse tipo de multiplica¸c˜ao ´e de 10 ˜mu + 26˜a + 2mε+ mv + 6˜r.

Se forem utilizadas representa¸c˜oes em coordenadas projetivas, o custo de uma multiplica¸c˜ao 1-esparsa ´e de 16 ˜mu + 28˜a + 2mε+ mv + 6˜r.

Nas linhas 8 e 16 do Algoritmo 3.5 ´e utilizado um tipo de multiplica¸c˜ao que difere das definidas at´e ent˜ao. Esta multiplica¸c˜ao ´e entre dois valores esparsos (d · e), e o resultado dessa multiplica¸c˜ao gera um valor completo de Fp12. Este tipo de opera¸c˜ao ser´a denominada

multiplica¸c˜ao do tipo 2-esparsa. De forma similar a multiplica¸c˜ao 1-esparsa, o custo dessa opera¸c˜ao varia de acordo com o tipo de coordenadas que est˜ao sendo adotadas. Para coordenadas afins o custo desta opera¸c˜ao ´e de 3 ˜mu + 9˜a + mε+ 5˜r, e no caso de coordenadas projetivas o

custo ´e de 6 ˜mu+ 20˜a + mε+ 5˜r.

Os custos das multiplica¸c˜oes 1-esparsa e 2-esparsa diferem dos apresentados na literatura, como, por exemplo, em (Aranha et al.; 2013), pois aqui estas opera¸c˜oes foram executadas como multiplica¸c˜oes simples de polinˆomios (multiplica¸c˜ao via regra distributiva). Vale a pena ressaltar que o custo das multiplica¸c˜oes 1-esparsa com coordenadas afins e 2-sparsa com coordenadas projetivas utilizando este m´etodo pode trazer uma economia de 2˜a e 1˜a, respectivamente em rela¸c˜ao ao m´etodo utilizado na referˆencia (Aranha et al.; 2013); por´em este m´etodo n˜ao ´e vantajoso em nenhum dos outros casos. Esta redu¸c˜ao s´o ´e poss´ıvel se forem utilizadas formas de postergar redu¸c˜oes modulares.

Considereraremos a partir daqui, que o custo das multiplica¸c˜oes pelas constantes ε e v ´e equivalente ao custo de uma adi¸c˜ao sobre Fp2.