O esquema de assinatura criptográfica EdDSA é um dos sistemas de assinatura digital criptográfica mais seguros do momento e cuja evolução não para. Hoje, a EdDSA está demonstrando claramente o que promete: segurança, eficiência e velocidade.
EExistem vários esquemas de assinaturas criptográficas e um deles é um dos mais importantes EdDSA. Esse esquema foi criado para assinar digital e inequivocamente um documento ou informação. Isso para reconhecer sua autenticidade ou origem. Para conseguir isso, EdDSA faz uso de técnicas criptográficas assimétricas muito poderosas. Tudo isso para garantir que essa assinatura digital não possa ser duplicada.
Para facilitar, pense no EdDSA como um carimbo de carta que não pode ser duplicado. Um carimbo que, ao mesmo tempo, gera uma impressão diferente para cada carta que você emite e endereça aos destinatários. Uma impressão que permite que seus destinatários verifiquem se essa carta foi realmente feita e assinada por sua pessoa. Você gosta da ideia? Bem, é exatamente isso que a EdDSA faz e, portanto, seu enorme poder e usabilidade.
Por exemplo, o EdDSA pode ser usado para garantir a autenticidade de documentos digitais. Depois que um documento digital é criado e assinado, a assinatura digital cria uma área exclusiva para esse documento. Uma manipulação dele, não importa quão pequena a assinatura é inválida. Dessa forma, o documento é protegido contra manipulação e sua autenticidade é garantida em todas as situações.
A criação da EdDSA foi o resultado do trabalho de Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe e Bo-Yin Yang. Eles reuniram a tecnologia DSA e ECDSA, às quais aplicaram uma nova curva elíptica que garante segurança e desempenho. O primeiro documento da EdDSA foi apresentado em 2011 e toda a sua especificação técnica é de domínio público.
Características tecnicas
O EdDSA possui recursos que o tornam único em comparação com outras opções. Entre estes podemos destacar:
- Ele oferece um sistema de verificação de assinaturas muito mais rápido e eficiente em termos computacionais. Isso significa que requer pouco poder de computação para realizar verificações e pode ser usado em dispositivos menos potentes.
- Possui uma capacidade de verificação em lote mais rápida. Essa é uma característica relacionada à anterior. Consumir pouca energia para realizar uma verificação torna muito mais barato verificar. Mas também está relacionado à eficiência. O algoritmo do EdDSA é muito amigável com caches de CPU. Isso permite que o impacto sobre eles seja mínimo e a velocidade de verificação aumenta.
- O sistema de assinatura digital é muito rápido. O processo de leitura, verificação e assinatura do documento é quase instantâneo.
- Oferece uma geração rápida de chaves públicas e privadas. A geração de chaves é quase tão rápida quanto a assinatura.
- O esquema de assinatura oferece um alto nível de segurança. O nível de segurança da EdDSA é comparável ao de sistemas como RSA e ECDSA. Por exemplo, quebrar uma assinatura EdDSA bem construída pode levar cerca de 4 milhões de anos ou exigir um computador quântico.
- Resistência à colisão. As colisões da função hash não quebram este sistema. Isso adiciona uma camada de defesa contra a possibilidade de fraqueza na função de hash selecionada.
- As assinaturas e chaves geradas pelo EdDSA são pequenas. Uma assinatura EdDSA ocupa cerca de 64 bytes de dados. Por outro lado, as teclas ocupam metade desse tamanho, o que torna o sistema perfeito para ser aplicado em sistemas com largura de banda, armazenamento e energia reduzidos.
Como as assinaturas do EdDSA funcionam?
O processo operacional EdDSA é dividido em várias etapas, entre as quais temos:
Escolha do algoritmo
Antes de tudo, devemos escolher o algoritmo a ser usado para criar e usar nossa assinatura EdDSA. Em termos gerais, existem dois algoritmos cuja diferença de maioria está enquadrada na curva elíptica que ele usa. Essas curvas elípticas são as Ed25519 y Ed448. No caso do Ed25519, seu nível de segurança é muito alto e comparável a opções como RSA y ECDSA. Mas o Ed448 vai um pouco mais longe, oferecendo um nível claramente mais alto de segurança. No entanto, o Ed448 é incompatível com o Ed25519 e é mais complexo de implementar.
De qualquer forma, o pilar operacional da EdDSA é a escolha de sua curva e o nível de segurança necessário.
Geração de chaves
Depois que escolhemos nossa curva, iniciamos a geração do chave pública y chave privada. Se o EdDSA é um criptografia assimétrica e é precisamente esse modelo que permite que seu potencial seja explorado. Nesse ponto, a geração de chaves segue o mesmo esquema de geração que qualquer sistema assimétrico. Primeiro, o ambiente deve ter um gerador de números aleatórios e um pool de entropia seguro. Isso garante a qualidade dos números aleatórios aplicados à curva elíptica e seu resultado exclusivo.
Depois que esse ponto é verificado, a geração da chave privada começa. Essa chave é o que permitirá ao usuário criar assinaturas criptográficas seguras o tempo todo. Depois de gerar a chave privada, a criação da chave pública começa. Este último é gerado em um processo de hash a chave privada usando SHA-512. Depois que o hash é realizado, é feita uma codificação octal para o número gerado pela curva elíptica. O resultado é a chave pública que podemos ter para que outros possam verificar os documentos que assinamos. Dessa forma, mantemos a segurança do sistema e nossa chave privada, a origem da nossa assinatura digital.
Assinado e Verificação
Assinado usando o EdDSA é bastante simples, mas eficaz e seguro. O processo consiste em pegar as informações que queremos assinar e criar um hash. Esse hash garante que a chave aleatória para gerar a chave pública seja completamente diferente o tempo todo. Essa chave aleatória é então aplicada à formulação da curva elíptica que produz a assinatura do documento.
Isso garante:
- Cada documento gera uma "impressão digital" exclusiva na forma de um hash SHA-512. O SHA-512 é usado para adicionar segurança adicional e evitar colisões ou hashes repetidos. Essa impressão digital ou hash é então usada para gerar a chave aleatória que será usada para gerar a assinatura digital do referido documento.
- O processo de usar o SHA-512 e gerar uma chave aleatória exclusiva para cada documento aumenta a segurança. Dessa forma, cada assinatura é exclusiva para cada documento e permanece publicamente verificável.
Como você pode ver, a operação do EdDSA não é nada complicada e, de fato, oferece segurança que outros sistemas não. Isso torna o EdDSA um sistema de assinatura digital muito poderoso e seguro.
Diferenças entre EdDSA e ECDSA
- As curvas usadas pelos dois sistemas são diferentes. O EdDSA usa as chamadas curvas elípticas de Edwards, enquanto o ECDSA usa curvas elípticas mais variadas.
- O processo de geração de assinaturas é completamente diferente. O ECDSA gera uma assinatura criptograficamente verificável única. Mas o EdDSA gera assinaturas diferentes para cada documento e é igualmente verificável. Este é um salto claramente observável na segurança. De fato, o ECDSA pode ser totalmente explorado devido a essa falha, como aconteceu com o hack do PlayStation 3.
- As assinaturas e chaves do EdDSA são computacionalmente mais baratas que as do ECDSA. Além disso, ambos os elementos no EdDSA são menores em tamanho do que seus equivalentes no ECDSA. Isso dá à EdDSA a vantagem de ser muito amigável com o poder de computação e largura de banda.
Usos na tecnologia blockchain
A tecnologia EdDSA não é muito difundida na tecnologia blockchain. No entanto, muitos projetos começaram a considerar uma migração tecnológica para a EdDSA devido ao seu potencial.
Por exemplo Corda de R3 É um dos grandes projetos de blockchain que as empresas EdDSA usam. Da mesma forma, outros projetos preferem usar o EdDSA sobre o ECDSA por razões de segurança e otimização. E as razões para essa escolha são bastante óbvias, considerando os recursos da EdDSA.
Certamente a tecnologia EdDSA não é tão comprovada em relação a opções como RSA e ECDSA, mas abriu espaço. Um site que podemos ver expandido em um futuro não muito distante na próxima evolução da tecnologia blockchain.
Quanto você sabe, cryptonuta?
O EdDSA é um sistema de criptografia simétrico?FALSO!
EdDSA é um sistema de criptografia assimétrico. Lembre-se de que nesses sistemas são usados pares de chaves público-privadas e, portanto, a chave para criptografar e a chave para descriptografar são diferentes. E não é só isso, também é capaz de gerar uma chave pública em cada assinatura.
Vantagens e desvantagens
Vantagens
- Eles oferecem um alto nível de velocidade, otimização e segurança em um único aplicativo.
- As empresas da EdDSA são completamente determinísticas. Isso significa que as empresas sempre terão as mesmas propriedades e valores em todos os momentos.
- O sistema oferece resistência ao ataque do canal lateral. Essa é uma medida de segurança que evita que as assinaturas sejam quebradas por esse tipo de ataque de força bruta.
- As fórmulas são válidas para todos os pontos na curva, sem exceções. Isso evita a necessidade de a EdDSA executar validação de ponto onerosa em valores públicos não confiáveis.
- O EdDSA também fornece resistência à colisão, o que significa que as colisões da função hash não quebram esse sistema (aplica-se apenas ao PureEdDSA).
Desvantagens
- Falta o nível de teste e padronização de outras opções conhecidas como RSA e ECDSA.
- Seu entendimento do uso e da análise algorítmica é um pouco mais complexo, dificultando o design do software.
- Eles são incompatíveis com empresas como ECDSA e RSA. Isso evita que combinações de assinaturas sejam possíveis dentro de uma estrutura de blockchain sem indicadores.