• Nenhum resultado encontrado

Existem diversos fatores a serem considerados na hora de projetar um criptossisstema ba- seado em curvas el´ıpticas. A escolha de parˆametros deve levar em conta n˜ao s´o a seguran¸ca contra ataques de c´alculo de ´ındices, como tamb´em ataques ao corpo finito resultante da transferˆencia do problema do logaritmo discreto em curvas el´ıpticas atrav´es de empare- lhamentos bilineares ou outras id´eias como por exemplo usando espa¸cos vetorais sobre Fq ou ent˜ao pela t´ecnica da descida de Weil. Por outro lado, existem circunstˆancias que

imp˜oe restri¸c˜oes `a escolha de parˆametros, seja por limita¸c˜oes de recursos computacionais, como em arquiteturas embarcadas de pouco poder de processamento e principalmente com pouco poder de armazenamento, seja por peculiaridades da plataforma que per-

mitem otimiza¸c˜oes espec´ıficas para uma determinada escolha de parˆametros, como por exemplo instru¸c˜oes especiais para manipula¸c˜ao de polinˆomios; ou mesmo por mecanismos de prote¸c˜ao contra ataques de canal lateral, ou qualquer outro mecanismo que permita o uso de parˆametros que em outros sistemas n˜ao poderiam ser selecionados.

Existem diversas estruturas alg´ebricas que podem ser usadas juntamente com o pro- blema do logaritmo discreto para projetar criptossistemas, desde corpos finitos at´e corpos de fun¸c˜oes. Como foi apresentado anteriormente, o PLD em corpos finitos pode ser re- solvido em tempo subexponencial. Outro caso em que temos algoritmos subexponenciais para resolver o PLD s˜ao os corpos num´ericos, isto ´e, extens˜oes alg´ebricas dos racionais, como por exemplo o corpos constitu´ıdos de elementos da forma a + b√2, para a, b ∈ Q.

Assim, pode-se usar variedades alg´ebricas, onde n˜ao s˜ao conhecidos ataques por c´alculo de ´ındices em tempo subexponencial. Portanto, podemos escolher uma curva C de genus g, sobre um corpo finito Fq, onde q = pd. O grupo de Picard Pic0C ´e canonicamente

isomorfo `a variedade Jacobiana JC de C, que ´e uma variedade abeliana. Al´em disso,

existe um divisor da forma

r

P

i=1

Pi− rP∞, para r ≤ g, que representa um elemento de JC.

Em curvas el´ıpticas, que s˜ao variedades alg´ebricas de genus 1, temos que para cada ponto P ∈ E, existe um divisor D ∼ |P | − |∞|.

Mas existem ataques a curvas de genus g = 3 e 4, capazes de resolver o problema do lo- garitmo discreto em Pic0C respectivamente em complexidade O(| Pic0C|0.375) e O(| Pic0

C|0.44).

De forma geral, s˜ao utilizadas apenas curvas hiperel´ıpticas de genus g = 1, 2 e 3 e mesmo o caso g = 3 precisa levar em conta o tamanho do grupo para n˜ao sofrer ataques de c´alculo de ´ındices

Al´em disso, precisamos tomar cuidado para evitar a transferˆencia do problema do logaritmo discreto. Ou seja, ´e preciso garantir as seguintes condi¸c˜oes:

1. o grau de imers˜ao k grande o suficiente para que o PLD em Fqk seja dif´ıcil de resolver.

Com isso, evita-se ataques atrav´es de emparelhamentos bilineares;

2. se o corpo finito subjacente ´e Fpd, ent˜ao deve-se evitar que d tenha um divisor d0,

n˜ao permitindo o uso do m´etodo da descida de Weil. Ou seja, deve-se usar corpos primos, ou ent˜ao corpos bin´arios e tern´arios de grau d, que n˜ao seja um primo de Mersenne ou de Fermat.

Al´em de tudo, os parˆametros devem ser escolhidos de modo que as opera¸c˜oes ne- cess´arias para executar os protocolos sejam eficientes e exijam pouco espa¸co de armaze- namento.

5.2.1

Escolha do corpo finito

Devido a eficiˆencia da aritm´etica, geralmente s˜ao utilizados corpos primos Fp, ou cor-

pos bin´arios F2d. Mas existem casos em que corpos de extens˜ao podem oferecer certas

vantagens. Tamb´em existem muitos estudos realizados para corpos tern´arios.

No caso de corpos primos, geralmente s˜ao escolhido primos p com pequeno peso de Hamming, ou seja, p = 2k + c, onde c ´e pequeno, permitindo calcular redu¸c˜oes modu-

lares eficientemente. A multiplica¸c˜ao pode ser feita usando o m´etodo de Karatsuba. A representa¸c˜ao Montgomery tamb´em pode representar um ganho de eficiˆencia.

Para corpos bin´arios F2d, ´e importante que d seja um primo grande. O uso de ba-

ses normais conv´em em casos em que s˜ao necess´arias mais opera¸c˜oes de quadrado que multiplica¸c˜ao, ou ent˜ao em casos em que ´e necess´ario calcular ra´ız quadrada, pois estas opera¸c˜oes s˜ao aplica¸c˜oes do mapa de Fr¨obenius, que resumem-se a deslocamentos circu- lares.

5.2.2

Escolha da curva el´ıptica

A escolha da curva el´ıptica deve levar em conta a eficiˆencia das principais opera¸c˜oes, como a multiplica¸c˜ao por escalar e portanto a soma e a duplica¸c˜ao. Para isso, sabendo-se pre- viamente qual ´e o corpo finito subjacente, ´e poss´ıvel escolher o sistema de coordenadas afins, ou ent˜ao o sistema de coordenadas projetivas, que podem ter pesos n˜ao triviais, como por exemplo em coordenadas jacobianas e L´opez-Dahab. Outro fato a ser conside- rado ´e se a curva el´ıptica em quest˜ao ´e supersingular ou n˜ao-supersingular. Em curvas supersingulares, temos sempre um grau de imers˜ao pequeno, de forma que ´e preciso to- mar cuidado para n˜ao ser poss´ıvel transferir o problema do logaritmo discreto atrav´es de emparelhamentos bilineares.

Existem tamb´em m´etodos para gerar curvas aleat´orias, como por exemplo o m´etodo da multiplica¸c˜ao complexa . Uma grande quantidade de curvas el´ıpticas est˜ao descritas detalhadamente nos padr˜oes NIST, SEC-G, FIPS186-2, etc. Estes padr˜oes apresentam to- dos os parˆametros necess´arios para implementar um criptossistema de forma segura. Com isso, ´e poss´ıvel analisar os requisitos de seguran¸ca necess´arios e os recursos computacionais dispon´ıveis para a melhor escolha de parˆametros.