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.