• Nenhum resultado encontrado

Com base nas contagens de opera¸c˜oes sobre Fpapresentadas nas Tabelas 4.3 e 4.4, esta se¸c˜ao

traz uma compara¸c˜ao dos emparelhamentos Ate, R-Ate e Optimal Ate no n´ıvel de processador. As Tabelas 5.8, 5.9 5.10, 5.11, 5.12, 5.13 e 5.14 apresentam o custo de c´alculo destes empare- lhamentos utilizando coordenadas afins e projetivas em arquiteturas com palavra de 8, 16, 32, 64, 128 e 256 bits e com as raz˜oes entre m0 e a0 variando entre 10, 4 e 1. Deve ser ressaltado que metade das opera¸c˜oes de adi¸c˜ao sobre Fp necess´arias no c´alculo de cada emparelhamento

Tabela 5.5: Custo das opera¸c˜oes aritm´eticas sobre Fp em um processador com palavra de 64

bits (unidade: n´umero de adi¸c˜oes a0).

w = 64 bits (W = 4)

Opera¸c˜ao m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Adi¸c˜ao 18 18 18 Adi¸c˜ao (com redu¸c˜ao) 46 46 46 Multiplica¸c˜ao 385 289 241

Quadrado 309 249 219 Redu¸c˜ao 1.653 1.293 1.113 Invers˜ao (m´edio) 34.188 34.188 34.188 Invers˜ao (m´aximo) 38.966 38.966 38.966

Tabela 5.6: Custo das opera¸c˜oes aritm´eticas sobre Fp em um processador com palavra de 128

bits (unidade: n´umero de adi¸c˜oes a0).

w = 128 bits (W = 2)

Opera¸c˜ao m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Adi¸c˜ao 10 10 10 Adi¸c˜ao (com redu¸c˜ao) 24 24 24 Multiplica¸c˜ao 105 81 69

Quadrado 91 73 67

Redu¸c˜ao 489 381 327 Invers˜ao (m´edio) 17.918 17.918 17.918 Invers˜ao (m´aximo) 20.334 20.334 20.334

como sendo de adi¸c˜oes com redu¸c˜ao. As Tabelas 5.8 e 5.9 apresentam o custo de c´alculo destes emparelhamentos para processadores com palavras de oito bits, por´em estes casos se diferenciam na forma como a opera¸c˜ao de invers˜ao foi analisada; na Tabela 5.8 foi considerado o custo m´edio da opera¸c˜ao de invers˜ao (Equa¸c˜ao 5.9). Na Tabela 5.9 os custos se baseiam no pior caso de execu¸c˜ao da opera¸c˜ao de invers˜ao (Equa¸c˜ao 5.13). Nos demais casos (Tabelas 5.10 a 5.14) os emparelhamentos foram avaliados com base no custo m´aximo da opera¸c˜ao de invers˜ao para se ter uma vis˜ao mais conservadora dos custos e ter ficado claro que o impacto da diferen¸ca entre estes dois custos no custo final dos emparelhamentos n˜ao ´e significativo, como ser´a mostrado mais adiante.

Observando as Tabelas 5.8 a 5.14 nota-se que o emparelhamento Ate ´e menos eficiente que os outros dois em todos os casos. Portanto a partir deste ponto, para efeitos de compara¸c˜ao ser˜ao considerados apenas os emparelhamentos Optimal Ate e R-Ate. Pode-se observar tamb´em que

Tabela 5.7: Custo das opera¸c˜oes aritm´eticas sobre Fp em um processador com palavra de 256

bits (unidade: n´umero de adi¸c˜oes a0).

w = 256 bits (W = 1)

Opera¸c˜ao m0/a0 = 10 m0/a0 = 4 m0/a0 = 1

Adi¸c˜ao 6 6 6

Adi¸c˜ao (com redu¸c˜ao) 13 13 13 Multiplica¸c˜ao 31 25 22

Quadrado 30 24 21

Redu¸c˜ao 162 126 108 Invers˜ao (m´edio) 9.783 9.783 9.783 Invers˜ao (m´aximo) 11.018 11.018 11.018

Tabela 5.8: Custo de c´alculo dos emparelhamentos em um processador com palavra de 8 bits considerando o custo m´edio da opera¸c˜ao de invers˜ao (unidade: n´umero de adi¸c˜oes a0).

w = 8 bits (W = 32) Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Ate Afins 2.072.455.483 1.627.380.475 1.404.842.971 Projetivas 2.422.465.891 1.892.479.459 1.627.486.243 R-Ate Afins 1.323.879.974 1.039.793.126 897.749.702 Projetivas 1.503.689.227 1.175.966.731 1.012.105.483 Optimal Ate Afins 1.326.163.296 1.041.652.704 899.397.408

Projetivas 1.506.344.035 1.178.087.011 1.013.958.499

o emparelhamento R-Ate se mostrou levemente mais eficiente que o emparelhamento Optimal Ate em todos os casos avaliados. A Tabela 5.15 apresenta uma compara¸c˜ao do emparelhamento Optimal Ate em rela¸c˜ao ao emparelhamento R-Ate para processadores com palavras de 8, 16, 32, 64, 128 e 256 bits, respectivamente, e diferentes raz˜oes entre m0 e a0. Com base nestas tabelas ´e f´acil ver que a vantagem do R-Ate cresce com o aumento no tamanho da palavra do processador, principalmente para coordenadas afins. Em coordenadas projetivas esta diferen¸ca se mant´em quase que constante, mesmo com o aumento do tamanho da palavra ou variando a eficiˆencia do multiplicador. Conclui-se portanto que a escolha do Optimal Ate no lugar do R-Ate traz um acr´escimo no custo de menos de 1% em qualquer das situa¸c˜oes tratadas neste trabalho, o que provavelmente n˜ao justifica esta escolha, dado que h´a na literatura um desenvolvimento matem´atico mais bem fundamentado para o Optimal Ate, o que faz com que seu comportamento seja mais bem conhecido e ele se torne a op¸c˜ao mais escolhida.

Tabela 5.9: Custo de c´alculo dos emparelhamentos em um processador com palavra de 8 bits considerando o custo m´aximo da opera¸c˜aode invers˜ao (unidade: n´umero de adi¸c˜oes a0).

w = 8 bits (W = 32) Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Ate Afins 2.077.683.363 1.632.608.355 1.410.070.851 Projetivas 2.422.615.259 1.892.628.827 1.627.635.611 R-Ate Afins 1.326.643.282 1.042.556.434 900.513.010 Projetivas 1.503.838.595 1.176.116.099 1.012.254.851 Optimal Ate Afins 1.328.963.946 1.044.453.354 902.198.058

Projetivas 1.506.493.403 1.178.236.379 1.014.107.867

Tabela 5.10: Custo de c´alculo dos emparelhamentos em um processador com palavra de 16 bits (unidade: n´umero de adi¸c˜oes a0).

w = 16 bits (W = 16) Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Ate Afins 546.868.755 432.874.227 375.876.963 Projetivas 625728299 489.997.163 422.131.595 R-Ate Afins 348.183.762 275.393.970 238.999.074 Projetivas 388.683.395 304.723.331 262.743.299 Optimal Ate Afins 348.857.186 275.958.434 239.509.058 Projetivas 389.370.971 305.272.667 263.223.515

A Tabela 5.16 apresenta uma avalia¸c˜ao dos custos dos emparelhamentos Optimal Ate e R- Ate calculados utilizando coordenadas projetivas em rela¸c˜ao ao custo com coordenadas afins. Observando esta tabela pode-se perceber que na arquitetura com palavra de 64 bits e mul- tiplicador eficiente (m0/a0 = 1) as coordenadas projetivas se mostram mais eficientes que as coordenadas afins no cen´ario avaliado. Para os casos hipot´eticos de processadores com palavras de 128 e 256 bits a implementa¸c˜ao utilizando coordenadas projetivas ´e mais eficiente para os trˆes tipos de multiplicadores avaliados. Constata¸c˜oes deste tipo podem servir como guia para implementadores, que poder˜ao escolher o tipo de coordenada em fun¸c˜ao das caracter´ısticas da arquitetura alvo, tendo em vista que esta escolha muitas vezes baseia-se apenas no custo da opera¸c˜ao de invers˜ao em rela¸c˜ao `as demais opera¸c˜oes.

Vale ressaltar que os resultados comparando a eficiˆencia dos emparelhamentos Optimal Ate e R-Ate quando utilizadas coordenadas afins e projetivas divergem de outros apresentados na literatura (Aranha et al.; 2010), (Grewal et al.; 2012), (Aranha et al.; 2013) pois aqui as ope-

Tabela 5.11: Custo de c´alculo dos emparelhamentos em um processador com palavra de 32 bits (unidade: n´umero de adi¸c˜oes a0).

w = 32 bits (W = 8) Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Ate Afins 150.623.659 120.762.139 105.831.379 Projetivas 166.588.915 131.038.867 113.263.843 R-Ate Afins 95.416.226 76.334.738 66.793.994 Projetivas 103.609.123 81.604.387 70.602.019 Optimal Ate Afins 95.631.894 76.521.654 66.966.534 Projetivas 103.793.083 81.751.483 70.730.683

Tabela 5.12: Custo de c´alculo dos emparelhamentos em um processador com palavra de 64 bits (unidade: n´umero de adi¸c˜oes a0).

w = 64 bits (W = 4) Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Ate Afins 44.797.823 36.650.999 32.577.587 Projetivas 46.845.423 37.149.279 32.301.207 R-Ate Afins 28.151.270 22.938.878 20.332.682 Projetivas 29.197.995 23.189.451 20.185.179 Optimal Ate Afins 28.229.570 23.009.234 20.399.066 Projetivas 29.250.147 23.231.235 20.221.779

ra¸c˜oes aritm´eticas sobre corpos finitos foram implementadas de forma gen´erica, ou seja, esta implementa¸c˜ao n˜ao foi direcionada a uma arquitetura em espec´ıfico. Foi utilizado um mesmo conjunto de instru¸c˜oes gen´ericas para cada uma das situa¸c˜oes avaliadas.

Antes de analisar a varia¸c˜ao de custo para diferentes tamanhos de palavras, ´e interessante avaliar o impacto de se adotar o caso m´edio ou o pior caso de execu¸c˜ao do Algoritmo Estendido de Euclides. A Tabela 5.17 mostra que h´a um aumento de menos de 0, 5% no custo total dos emparelhamentos para coordenadas afins quando ´e considerado o pior caso de execu¸c˜ao da opera¸c˜ao de invers˜ao ao inv´es do caso m´edio. Mantendo a palavra em 8 bits, para coordenadas projetivas essa varia¸c˜ao ´e quase que impercept´ıvel. Se esta an´alise for estendida para os demais casos (variando o tamanho de w) a varia¸c˜ao m´axima do custo total dos emparelhamentos chega a menos de 4% para coordenadas afins e menos de 0, 5% para coordenadas projetivas no caso de um processador com palavra de 256 bits. Ou seja, o impacto de se adotar um custo de invers˜ao mais conservador ´e muito pequeno no custo total e, por este motivo, todas as demais

Tabela 5.13: Custo de c´alculo dos emparelhamentos em um processador com palavra de 128 bits (unidade: n´umero de adi¸c˜oes a0).

w = 128 bits (W = 2) Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Ate Afins 14.961.393 12.583.965 11.409.129 Projetivas 14.430.293 11.601.941 10.203.893 R-Ate Afins 9.299.716 7.775.608 7.024.036 Projetivas 9.023.999 7.268.183 6.401.891 Optimal Ate Afins 9.332.226 7.805.754 7.053.054 Projetivas 9.040.247 7.281.263 6.413.459

Tabela 5.14: Custo de c´alculo dos emparelhamentos em um processador com palavra de 256 bits (unidade: n´umero de adi¸c˜oes a0).

w = 256 bits (W = 1) Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Ate Afins 5.811.530 5.046.812 4.664.453 Projetivas 5.086.860 4.177.614 3.722.991 R-Ate Afins 3.568.763 3.077.231 2.831.465 Projetivas 3.194.871 2.629.077 2.346.180 Optimal Ate Afins 3.584.096 3.091.784 2.845.628 Projetivas 3.200.667 2.633.793 2.350.356

an´alises ser˜ao feitas usando os dados baseados no pior caso de execu¸c˜ao da opera¸c˜ao de inverso multiplicativo.

As Tabelas 5.18 a 5.22 apresentam as varia¸c˜oes que o aumento no tamanho da palavra do processador trazem ao custo dos emparelhamentos. Para estas compara¸c˜oes, a base ´e o c´alculo em um processador com palavra de 8 bits. Nestas tabelas ´e adotado o conceito de speed-up, que denota a raz˜ao entre o n´umero de opera¸c˜oes com processador de w = 8 (Tabela 5.9) e o n´umero com processador de w = 16, 32, 64, 128 e 256 bits (Tabelas 5.10 a 5.14). Desta forma, ´e poss´ıvel avaliar em quantas vezes o n´umero de opera¸c˜oes caiu comparado com o processador de referˆencia.

Analisando estas tabelas ´e poss´ıvel constatar que h´a um speed-up relativamente alto a cada aumento da palavra do processador. Entretanto, como a maior parte das express˜oes de custo derivadas no decorrer do trabalho s˜ao fun¸c˜oes quadr´aticas em rela¸c˜ao ao n´umero de palavras W necess´arias para representar os valores em Fp, isto ´e, tem complexidade O(W2), estima-se

Tabela 5.15: Compara¸c˜ao do custo computacional do emparelhamento Optimal Ate em rela¸c˜ao ao R-Ate em um processador de 8 bits considerando o custo m´edio da opera¸c˜ao de invers˜ao.

Varia¸c˜ao R-Ate → Optimal Ate (%)

w Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 8 (Tab. 5.8) Afins 0, 172 0, 179 0, 184 Projetivas 0, 177 0, 180 0, 183 8 (Tab. 5.9) Afins 0, 175 0, 182 0, 187 Projetivas 0, 177 0, 180 0, 183 16 (Tab. 5.10) Afins 0, 193 0, 205 0, 213 Projetivas 0, 177 0, 180 0, 183 32 (Tab. 5.11) Afins 0, 226 0, 245 0, 258 Projetivas 0, 178 0, 180 0, 182 64 (Tab. 5.12) Afins 0, 278 0, 307 0, 326 Projetivas 0, 179 0, 180 0, 181 128 (Tab. 5.13) Afins 0, 350 0, 388 0, 413 Projetivas 0, 180 0, 180 0, 181 256 (Tab. 5.14) Afins 0, 430 0, 473 0, 500 Projetivas 0, 181 0, 179 0, 178

que um speed-up limite seria proporcional ao quadrado da raz˜ao entre o tamanho da palavra (w bits) considerado e o tamanho tomado como base (8 bits). A Tabela 5.23 mostra, para cada valor de w em rela¸c˜ao a 8, os valores de speed-up m´edio obtidos dos conjuntos de dados tratados, o speed-up limite te´orico e a raz˜ao entre os dois para cada arquitetura. `A medida que a arquitetura conta com palavras maiores, menor ´e o n´umero de palavras W e maior ´e a influˆencia dos termos n˜ao-quadr´aticos das express˜oes de custo apresentadas, o que resulta em um maior distanciamento entre o speed-up m´edio e o speed-up limite te´orico. ´E poss´ıvel que, com vers˜oes mais otimizadas dos algoritmos b´asicos apresentados aqui, esta diferen¸ca entre speed-up m´edio e limite n˜ao seja t˜ao acentuada para tamanhos de palavras mais pr´oximos do n´umero de bits do corpo Fp. Tais otimiza¸c˜oes dos algoritmos ser˜ao temas de trabalhos futuros.

5.7

Conclus˜ao

Este cap´ıtulo apresentou de forma detalhada uma avalia¸c˜ao do custo das opera¸c˜oes de adi¸c˜ao, multiplica¸c˜ao, quadrado, invers˜ao e redu¸c˜ao modular sobre Fp no n´ıvel do processador. Foram

deduzidas express˜oes que representam o custo destas opera¸c˜oes para palavras de tamanho arbi- tr´ario, o que possibilitou efetuar uma an´alise destes custos em arquiteturas gen´ericas.

Tabela 5.16: Compara¸c˜ao do custo computacional dos emparelhamentos com Coordenadas Pro- jetivas em rela¸c˜ao a Coordenadas Afins.

Varia¸c˜ao Coordenadas Afins → Coordenadas Projetivas (%) w Emparelhamento m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 8 (Tab. 5.8) R-Ate 13, 58 13, 10 12, 74 Optimal Ate 13, 59 13, 10 12, 74 8 (Tab. 5.9) R-Ate 13, 36 12, 81 12, 41 Optimal Ate 13, 36 12, 81 12, 40 16 (Tab. 5.10) R-Ate 11, 63 10, 65 9, 93 Optimal Ate 11, 61 10, 62 9, 90 32 (Tab. 5.11) R-Ate 8, 59 6, 90 5, 70 Optimal Ate 8, 53 6, 83 5, 62 64 (Tab. 5.12) R-Ate 3, 72 1, 09 −0, 73 Optimal Ate 3, 62 0, 96 −0, 87 128 (Tab. 5.13) R-Ate −2, 96 −6, 53 −8, 86 Optimal Ate −3, 13 −6, 72 −9, 07 256 (Tab. 5.14) R-Ate −10, 48 −14, 56 −17, 14 Optimal Ate −10, 70 −14, 81 −17, 40

Com base nos custos de opera¸c˜oes b´asicas, foi poss´ıvel estimar o custo total de cada um dos trˆes emparelhamentos em an´alise neste trabalho e avaliar as varia¸c˜oes causadas neste custo pela altera¸c˜ao de parˆametros como eficiˆencia do multiplicador, tipo de coordenada e tamanho de palavra do processador. Apesar dos resultados mostrarem um custo ligeiramente menor para o emparelhamento R-Ate em todas as situa¸c˜oes avaliadas, o emparelhamento Optimal Ate deve continuar sendo a op¸c˜ao preferida dos implementadores dado o maior conhecimento sobre sua estrutura matem´atica e, consequentemente, a maior confian¸ca no comportamento do mesmo.

As avalia¸c˜oes tamb´em mostraram que o uso de coordenadas projetivas s´o traz economia ao c´alculo dos emparelhamentos (para os parˆametros adotados) se os processadores tiverem palavras igual ou superior a 64 bits, e no caso de w = 64, possu´ırem um multiplicador eficiente (caso m0/a0 = 1).

Finalmente, o detalhamento dos custos no n´ıvel do processador mostrou que os maiores gan- hos em desempenho s˜ao obtidos quando se aumenta o tamanho da palavra do processador, j´a que diversas das opera¸c˜oes que comp˜oem o c´alculo dos emparelhamentos possuem seu custo de- scrito por uma fun¸c˜ao quadr´atica em rela¸c˜ao ao n´umero de palavras necess´arias para representar cada elemento do corpo finito Fp.

Tabela 5.17: Varia¸c˜ao no custo dos emparelhamentos quando considerado o pior caso de exe- cu¸c˜ao da opera¸c˜ao de invers˜ao em um processador com palavra de 8 bits.

Invers˜ao caso m´edio → Invers˜ao pior caso (%)

Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 Ate Afins 0, 252 0, 320 0, 371

Projetivas 0, 006 0, 008 0, 009 R-Ate Afins 0, 208 0, 265 0, 307 Projetivas 0, 010 0, 013 0, 015 Optimal Ate Afins 0, 211 0, 268 0, 310 Projetivas 0, 010 0, 013 0, 015

Tabela 5.18: Varia¸c˜ao do n´umero de opera¸c˜oes (speed-up) para o c´alculo de emparelhamentos com o aumento da palavra de 8 para 16 bits.

Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 R-Ate Afins 3, 78 3, 74 3, 72

Projetivas 3, 87 3, 86 3, 85 Optimal Ate Afins 3, 78 3, 74 3, 72 Projetivas 3, 87 3, 86 3, 85

Tabela 5.19: Varia¸c˜ao do n´umero de opera¸c˜oes (speed-up) para o c´alculo de emparelhamentos com o aumento da palavra de 8 para 32 bits.

Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 R-Ate Afins 13, 57 13, 26 13, 03

Projetivas 14, 50 14, 39 14, 31 Optimal Ate Afins 13, 56 13, 24 13, 02 Projetivas 14, 50 14, 39 14, 31

Tabela 5.20: Varia¸c˜ao do n´umero de opera¸c˜oes (speed-up) para o c´alculo de emparelhamentos com o aumento da palavra de 8 para 64 bits.

Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 R-Ate Afins 44, 90 42, 86 41, 48

Projetivas 51, 37 50, 55 49, 96 Optimal Ate Afins 44, 83 42, 78 41, 40 Projetivas 51, 37 50, 55 49, 96

Tabela 5.21: Varia¸c˜ao do n´umero de opera¸c˜oes (speed-up) para o c´alculo de emparelhamentos com o aumento da palavra de 8 para 128 bits.

Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 R-Ate Afins 131, 54 121, 89 115, 51

Projetivas 165, 85 160, 86 157, 06 Optimal Ate Afins 131, 22 121, 54 115, 15 Projetivas 165, 84 160, 86 157, 06

Tabela 5.22: Varia¸c˜ao do n´umero de opera¸c˜oes (speed-up) para o c´alculo de emparelhamentos com o aumento da palavra de 8 para 256 bits.

Emparelhamento Coordenadas m0/a0 = 10 m0/a0 = 4 m0/a0 = 1 R-Ate Afins 330, 67 296, 52 275, 65

Projetivas 467, 11 443, 22 427, 00 Optimal Ate Afins 329, 51 295, 35 274, 49 Projetivas 467, 09 443, 23 427, 03

Tabela 5.23: Speed-up m´edio, limite te´orico e raz˜ao entre os dois para cada varia¸c˜ao no tamanho da palavra w.

Varia¸c˜ao em w Speed-up m´edio Speed-up limite Raz˜ao (m´edio/limite)

8 → 16 3, 80 4 0, 95

8 → 32 13, 84 16 0, 86

8 → 64 46, 83 64 0, 73

8 → 128 142, 03 256 0, 55 8 → 256 373, 07 1024 0, 36

Cap´ıtulo

6

Conclus˜oes e Trabalhos Fututros

6.1

Conclus˜oes

O primeiro objetivo deste trabalho foi comparar os emparelhamentos Ate, R-Ate e Opti- mal Ate sob condi¸c˜oes similares. Para efetuar esta compara¸c˜ao, foi utilizada como m´etrica a contagem de opera¸c˜oes aritm´eticas sobre um determinado corpo finito primo.

Como apoio te´orico para esta compara¸c˜ao, primeiramente foi apresentada uma breve re- vis˜ao do desenvolvimento da criptografia baseada em emparelhamentos bilineares at´e os dias atuais (Cap. 1). Na sequˆencia foram apresentados conceitos matem´aticos necess´arios para a compreens˜ao das fun¸c˜oes de emparelhamentos bilineares (Cap. 2). No Cap. 3 foram definidos os principais tipos de emparelhamentos utilizados em aplica¸c˜oes criptogr´aficas, e o algoritmo de Miller, tradicionalmente utilizado para calcular emparelhamentos. Para exemplificar a uti- liza¸c˜ao de emparelhamentos em criptografia, tamb´em nesse cap´ıtulo foram apresentados breve- mente os conceitos de Criptografia Baseada em Identidades e Acordo Triplo de Chaves de Diffie-Hellman. No Cap. 4 foram feitas algumas an´alises detalhadas das opera¸c˜oes presentes no c´alculo dos emparelhamentos Ate, R-Ate e Optimal Ate em curvas Barreto-Naehrig definidas sobre um corpo finito de 254 bits, que garante um n´ıvel de seguran¸ca equivalente a um sis- tema AES com chaves de 128 bits. Com base nestas an´alises, foi poss´ıvel efetuar compara¸c˜oes considerando quantas opera¸c˜oes de adi¸c˜ao, multiplica¸c˜ao, quadrado, redu¸c˜ao e invers˜ao sobre Fp s˜ao necess´arias para calcular estes emparelhamentos. Destas compara¸c˜oes, pˆode-se concluir

que o emparelhamento R-Ate ´e mais eficiente que o emparelhamento Ate e levemente mais eficiente que o emparelhamento Optimal Ate para os parˆametros adotados, tanto para coorde- nadas afins como coordenadas projetivas. Por´em, esta conclus˜ao precisava ser confirmada no n´ıvel de opera¸c˜oes do processador, ou seja, avaliando quantas opera¸c˜oes b´asicas do processador

s˜ao necess´arias no c´alculo de cada um dos emparelhamentos considerados, o que justificou o segundo objetivo deste trabalho.

Este segundo objetivo foi estimar o impacto que diferentes processadores podem causar no c´alculo dos emparelhamentos bilineares avaliados. Primeiramente foram deduzidas express˜oes gen´ericas que descrevem o custo das opera¸c˜oes de adi¸c˜ao, multiplica¸c˜ao, quadrado, redu¸c˜ao modular e invers˜ao sobre corpos finitos no n´ıvel de processador. Com estas express˜oes foi poss´ıvel desenvolver uma estimativa te´orica do custo de c´alculo dos emparelhamentos Ate, R-Ate e Optimal Ate para arquiteturas gen´ericas, comprovando o resultado do Cap. 4 sobre a melhor eficiˆencia do emparelhamento R-Ate em rela¸c˜ao ao emparelhamento Ate e seu custo levemente menor que o custo do Optimal Ate. Estas express˜oes possibilitaram tamb´em o desenvolvimento de um exerc´ıcio que tentou prever o impacto que uma evolu¸c˜ao no tamanho da palavra do processador pode causar no c´alculo dos emparelhamentos. Foi poss´ıvel perceber que o aumento na palavra do processador de 8 at´e 256 bits traz uma redu¸c˜ao significativa no custo de c´alculo dos emparelhamentos. Pˆode-se perceber que `a medida que a palavra do processador cresce ocorre uma acelera¸c˜ao (speed-up) relativamente alta no c´alculo dos emparelhamentos. Outra conclus˜ao obtida destas an´alises no n´ıvel do processador foi que, para processadores com tamanho de palavra maior ou igual a 64 bits, as coordenadas projetivas se mostram mais eficientes que as coordenadas afins (para o caso w = 64, apenas quando m0/a0 = 1), fato que se justifica pelo alto custo das opera¸c˜oes de invers˜ao sobre Fp quando comparado ao das demais opera¸c˜oes. O

custo das opera¸c˜oes b´asicas sofre grandes redu¸c˜oes com a evolu¸c˜ao no tamanho da palavra do processador, mas isto n˜ao ocorre em escala similar com a opera¸c˜ao de invers˜ao.

Al´em disso foram testadas diferentes suposi¸c˜oes para a velocidade de uma multiplica¸c˜ao nativa (m0) em rela¸c˜ao a uma adi¸c˜ao nativa (a0) do processador. Esta varia¸c˜ao mostrou que, `

a medida que s˜ao disponibilizados recursos para multiplica¸c˜ao mais r´apida, o c´alculo dos em- parelhamentos sofre redu¸c˜oes importantes, uma vez que cada multiplica¸c˜ao tende a ser feita no mesmo tempo que uma adi¸c˜ao. Entretanto, tais redu¸c˜oes n˜ao s˜ao t˜ao acentuadas como as que causam um aumento na palavra do processador, visto que a multiplica¸c˜ao r´apida traz benef´ıcios mais vis´ıveis quando se trata de operandos que cabem na palavra do processador. Como os c´al- culos de emparelhamentos necessitam ser feitos em Fp, os valores precisam ser representados em

m´ultiplas palavras, o que reduz o impacto da ado¸c˜ao de um multiplicador r´apido. Al´em disso, como o n´umero de multiplica¸c˜oes cresce como o quadrado do n´umero de palavras usadas para representar cada valor, uma redu¸c˜ao (ainda que pequena) no n´umero de palavras tem um im- pacto bem mais forte no custo total do c´alculo dos emparelhamentos que os demais parˆametros

avaliados.