Criptografia de curva elíptica

A criptografia sustenta os esquemas de assinatura digital de criptomoedas e é a base para sua verificação de transação segura entre duas partes em uma rede descentralizada. Existem vários métodos criptográficos usados ​​por diferentes criptomoedas hoje, com foco em fornecer modelos de transação eficientes e seguros.

A criptografia de curva elíptica (ECC) é um dos métodos mais amplamente utilizados para esquemas de assinatura digital em criptomoedas, e um esquema específico, o algoritmo de assinatura digital de curva elíptica (ECDSA) é aplicado em Bitcoin e Ethereum para assinar transações.

Criptografia de curva elíptica

Histórico de ECC e ECDSA

A criptografia de curva elíptica foi sugerida pelos matemáticos Neal Koblitz e Victor S Miller, independentemente, em 1985. Embora fosse uma inovação na criptografia, a ECC não foi amplamente usada até o início de 2000, durante o surgimento da Internet, onde governos e provedores de Internet começaram a usá-la como um método de criptografia.

Comparado à criptografia RSA, o ECC oferece uma vantagem significativa. O tamanho da chave usado para ECC é muito menor do que o necessário para criptografia RSA, embora ainda forneça o mesmo nível de segurança. Embora a criptografia RSA seja mais amplamente usada na Internet hoje, ECC é essencialmente uma forma mais eficiente de RSA, que é um dos principais motivos pelos quais é usada em criptomoedas.

Criptografia RSA

Leia: O que é criptografia RSA? Guia completo para este algoritmo de criptografia

O Instituto Nacional de Padrões e Tecnologia dos EUA (NIST) endossa o ECC como seu “Suite B”Algoritmos recomendados, e a NSA oficialmente suporta a classificação de informações ultrassecretas com chaves de 384 bits. Como exemplo da eficiência do ECC em comparação ao RSA, a mesma chave de 384 bits usada na criptografia de informações classificadas exigiria uma chave de 7680 bits usando criptografia RSA. A eficiência proporcionada pelo ECC é, portanto, extremamente útil para redes de blockchain, uma vez que reduz o tamanho das transações.

Como funciona

Criptografia de curva elíptica é um método de chave pública criptografia baseada na função algébrica e estrutura de uma curva sobre um gráfico finito. Ele usa uma função de alçapão baseada na inviabilidade de determinar o logaritmo discreto de um elemento de curva elíptica aleatório que tem um ponto de base conhecido publicamente.

Funções de alçapão são usadas na criptografia de chave pública para torná-lo assim, indo de A -> B é trivial, mas indo de B -> A é inviável, alavancando um problema matemático específico. Por exemplo, a criptografia RSA é baseada no conceito de Fatoração Prime, e ECC baseia-se no conceito de Multiplicação de pontos, onde o multiplicando representa a chave privada e é inviável calcular a partir dos pontos de partida fornecidos.

A curva elíptica deve consistir em pontos que satisfaçam a equação:

y ^ 2 = ax ^ 3 + b

(x, y) na curva representam um ponto, enquanto a e b são constantes. Teoricamente, existem curvas infinitas que poderiam ser criadas, mas aplicadas especificamente a criptomoedas (no caso do Bitcoin e Ethereum), uma curva elíptica particular chamada secp256k1 é usado. Está representado na imagem abaixo.

Como você pode ver, as curvas elípticas são simétricas em relação ao eixo x. Devido a isso, se você desenhar uma linha reta começando de um ponto aleatório na curva, a linha cruza a curva em não mais do que 3 pontos. Você desenha uma linha através dos dois primeiros pontos e determina onde a linha se cruza com o terceiro ponto. Em seguida, você reflete esse terceiro ponto no eixo x (é simétrico) e esse ponto é o resultado da adição dos primeiros dois pontos. Isso é demonstrado na imagem abaixo.

No gráfico acima, V e A representam os pontos de partida, X representa o terceiro ponto e o ponto final (vamos chamá-lo de Z) representa a adição de V e A juntos. Quando usado em um esquema de assinatura digital, o ponto base da linha é geralmente predefinido.

Para que o ECC crie uma função de alçapão, a criptografia de curva elíptica usa a multiplicação de pontos, onde o ponto de base conhecido é repetidamente adicionado a si mesmo. Nesse caso, vamos usar um ponto base P, onde o objetivo é encontrar 2P, conforme descrito abaixo.

Acima, uma tangente vai do ponto P ao ponto R, que é o ponto de interseção. O reflexo desse ponto é 2P. Suponha que queiramos continuar e encontrar 3P, 4P e assim por diante. Em seguida, juntamos P e 2P e, subsequentemente, refletimos este ponto sobre a interseção e continuamos a fazer isso para 4P. Ilustrado abaixo:

Esta é a propriedade multiplicativa do gráfico porque estamos encontrando pontos que são a multiplicação de um inteiro com o próprio ponto. O resultado é o que confere à função seu alçapão, conhecido como o problema de logaritmo discreto.

Se representarmos uma variável x como um inteiro de 384 bits e o multiplicarmos pelo ponto base P, o resultado é um ponto na curva, chamado Z. Aplicado a criptomoedas, Z é público, mas a variável original x é secreta (privada chave). Para determinar x de Z e P, você precisaria determinar quantas vezes P foi adicionado a ele mesmo para obter o ponto Z na curva. Este problema é uma forma de aritmética modular isso é matematicamente inviável e é por isso que ECC é tão seguro.

Uso em criptomoedas

Ao analisar a necessidade de esquemas de assinaturas digitais em criptomoedas, existem 4 requisitos principais de qualquer esquema que devem ser atendidos para que o esquema de assinatura seja comprovadamente autêntico e verificável. Esses incluem:

  1. Deve ser comprovadamente verificável que um signatário de uma transação é o signatário.
  2. A assinatura não deve ser falsificada.
  3. A assinatura deve ser irrecusável, o que significa que as assinaturas são finais e não podem ser associadas a outra identidade.
  4. Deve ser computacionalmente inviável derivar a chave privada de uma chave pública correspondente.

A criptografia de curva elíptica satisfaz todas as 4 condições e também é particularmente eficaz ao fazê-lo. Usando ECC, as coordenadas (x, y) de um ponto no gráfico seriam sua chave pública, e o inteiro aleatório de 384 bits x seria sua chave privada.

Também é possível provar a alguém que você sabe o valor de x, sem realmente revelar o que é x. Esta propriedade ainda ajuda a satisfazer as condições necessárias para o uso sustentável em um esquema de transação de assinatura digital.

Preocupações quânticas

O uso de ECC em esquemas de assinatura digital para criptomoedas é excepcionalmente seguro. No entanto, preocupações foram levantadas recentemente em relação ao futuro potencial dos computadores quânticos e seu poder substancial de quebrar o ECC. Embora sua possibilidade seja considerada a anos de distância, Algoritmo de Shor seria teoricamente capaz de calcular logaritmos discretos em um computador quântico hipotético com potência suficiente.

Várias criptomoedas adotaram uma abordagem com visão de futuro para a ameaça potencial levantada por computadores quânticos, implementando algoritmos resistentes ao quantum como a base de seus esquemas de assinatura digital. Até mesmo a NSA em 2015 anunciou sua futura transição planejada de ECC, e para um conjunto diferente de cifras para suas necessidades de criptografia devido à inevitabilidade iminente do poder da computação quântica.

Bitcoin de computação quântica

Leia: Computação quântica: que ameaça representa para o bitcoin?

Essas preocupações são principalmente especulação neste ponto, já que o poder de computação quântica necessária para o algoritmo de Shor calcular logaritmos discretos é substancialmente maior do que até mesmo os computadores quânticos em estágio inicial mais poderosos existentes hoje.

Conclusão

Olhando para o futuro, gerações sucessivas de criptomoedas podem eventualmente fazer a transição para métodos de criptografia mais avançados para proteger suas transações e, potencialmente, Bitcoin e Ethereum podem precisar fazer a mesma transição.

Por enquanto, ECC e outros esquemas de assinatura digital que utilizam funções de alçapão continuam sendo alguns dos métodos de criptografia mais seguros do mundo e devem continuar assim por algum tempo.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me