Ferramenta de Assinatura ECDSA
Algoritmo de Assinatura Digital de Curva Elíptica
Gerar Par de Chaves ECDSA
Gere um novo par de chaves ECDSA aleatório para a curva selecionada. A chave privada deve ser mantida em segredo; a chave pública pode ser compartilhada.
Derivar Chave Pública da Chave Privada
Insira uma chave privada existente para calcular a chave pública correspondente.
Documentação
ECDSA (Algoritmo de Assinatura Digital de Curva Elíptica) é um esquema de assinatura digital amplamente utilizado baseado em criptografia de curva elíptica. Fornece o mesmo nível de segurança que RSA, mas com tamanhos de chave muito menores, tornando-o ideal para ambientes com recursos limitados como dispositivos móveis e redes blockchain.
Características Principais
- Tamanho de Chave Pequeno: ECDSA de 256 bits fornece segurança comparável ao RSA de 3072 bits
- Operações Rápidas: Assinatura e verificação são significativamente mais rápidas que RSA
- Assinaturas Compactas: Assinaturas ECDSA são muito menores que assinaturas RSA
- Múltiplas Curvas: Suporte para curvas secp256k1, P-256, P-384 e P-521
- Padrão da Indústria: Usado em Bitcoin, Ethereum, TLS e muitos outros protocolos
Curvas Suportadas
- secp256k1: A curva usada pelo Bitcoin e Ethereum. Segurança de 256 bits, otimizada para implementação eficiente.
- P-256 (secp256r1): Curva padrão NIST, amplamente usada em TLS, aplicações governamentais e WebCrypto API.
- P-384 (secp384r1): Curva padrão NIST fornecendo nível de segurança de 192 bits, usada em aplicações de alta segurança.
- P-521 (secp521r1): Curva padrão NIST fornecendo nível de segurança de 256 bits, curva ECDSA de maior segurança.
Algoritmos Hash
- SHA-256: Escolha padrão para a maioria das aplicações. Usado com curvas P-256 e secp256k1.
- SHA-384: Recomendado para curva P-384 para corresponder ao nível de segurança.
- SHA-512: Recomendado para curva P-521. Fornece segurança de 256 bits.
- Keccak-256: Usado pelo Ethereum para assinatura de transações. Não é SHA-3, mas o Keccak original com saída de 256 bits.
Casos de Uso Comuns
- Bitcoin e Blockchain: secp256k1 com hash duplo SHA-256 para assinatura de transações.
- Ethereum: secp256k1 com Keccak-256 para assinatura de transações e mensagens.
- Certificados TLS/SSL: Curva P-256 para assinaturas de certificados HTTPS.
- Assinatura de Código: Assine releases de software para garantir autenticidade e integridade.
- Autenticação API: Assine requisições API para prevenir adulteração e verificar identidade.
Melhores Práticas de Segurança
- Proteja as Chaves Privadas: Nunca exponha ou compartilhe sua chave privada. Use HSM para aplicações críticas.
- Use Números Aleatórios Seguros: ECDSA requer números aleatórios criptograficamente seguros. Esta ferramenta usa Web Crypto API.
- Verifique as Chaves Públicas: Sempre verifique chaves públicas através de um canal confiável antes de aceitar assinaturas.
- Processamento do Lado do Cliente: Esta ferramenta roda inteiramente no seu navegador. Suas chaves nunca saem do seu dispositivo.
- Maleabilidade de Assinatura: Assinaturas ECDSA podem ser maleáveis. Use assinaturas canônicas (low-S) quando necessário.
ECDSA vs Outros Esquemas de Assinatura
| Característica | ECDSA (P-256) | RSA-2048 | Ed25519 |
|---|---|---|---|
| Tamanho Chave Privada | 32 bytes | 256 bytes | 32 bytes |
| Tamanho Chave Pública | 64 bytes | 256 bytes | 32 bytes |
| Tamanho Assinatura | 64 bytes | 256 bytes | 64 bytes |
| Velocidade de Assinatura | Rápido | Lento | Muito Rápido |
| Velocidade de Verificação | Moderado | Rápido | Muito Rápido |
| Determinístico | RFC 6979 | Sim | Sim |
Ferramentas Relacionadas
Ferramenta de Assinatura Ed25519
Gere pares de chaves Ed25519, assine mensagens e verifique assinaturas usando o Algoritmo de Assinatura Digital de Curva Edwards
Criptografia/Descriptografia RSA
Use criptografia assimétrica RSA para criptografia de chave pública, descriptografia de chave privada, assinatura digital e verificação
Gerador de Hash SHA
Gerador de hash SHA online suportando algoritmos SHA-1, SHA-256, SHA-384, SHA-512
Codificador/Decodificador JWT
Decodifique, verifique e gere JSON Web Tokens com suporte para múltiplos algoritmos de assinatura