ECC (P-256) Criptografar

Ferramenta gratuita de ECC (P-256) Criptografar online. Processamento 100% local — seus dados nunca saem do seu dispositivo.

National Standards
Other
Saída

O resultado será exibido aqui...

Entrada Criptografar

Usage Guide

Sobre ECC/ECIES (P-256)

ECC/ECIES (Esquema de Criptografia Integrada de Curva Elíptica) baseado na curva NIST P-256 é um esquema de criptografia assimétrica híbrido. Combina ECDH (Diffie-Hellman de Curva Elíptica) para acordo de chaves com AES-256-GCM para criptografia simétrica autenticada. O ECIES fornece confidencialidade, integridade e autenticidade em uma única operação. As chaves são compactas — uma chave privada P-256 tem apenas 32 bytes contra 256 bytes do RSA-2048 com segurança equivalente.

Algoritmo de criptografia — não de assinatura: ECC/ECIES é um algoritmo de criptografia que mantém os dados confidenciais. É completamente diferente do ECDSA, que é um algoritmo de assinatura que prova autenticidade mas não criptografa dados. Use ECIES quando precisar enviar uma mensagem secreta a um destinatário usando sua chave pública.

Etapas de uso

Esta ferramenta suporta geração de par de chaves ECIES, criptografia (com chave pública) e descriptografia (com chave privada):

1. Gerar par de chavesClique em 'Generate Key Pair' para criar um par de chave privada/pública vinculado. Ambas as chaves são emitidas no formato PEM (-----BEGIN PRIVATE KEY----- / -----BEGIN PUBLIC KEY-----).
2. Criptografar uma mensagemSelecione o modo 'Encrypt'. Digite o texto simples no campo de entrada e cole a chave pública PEM no parâmetro de chave. Clique em 'Encrypt' — a saída é um objeto JSON contendo a chave pública efêmera (epk) e o texto cifrado (ct).
3. Descriptografar uma mensagemSelecione o modo 'Decrypt'. Cole o texto cifrado JSON no campo de entrada e a chave privada PEM no parâmetro de chave. Clique em 'Decrypt' — a saída é o texto simples original.
4. Armazenamento seguro de chavesArmazene a chave privada em um local seguro (gerenciador de senhas, cofre criptografado, HSM). A chave pública pode ser compartilhada livremente. Perder a chave privada significa perder a capacidade de descriptografar todas as mensagens criptografadas com ela.
Apenas no navegador: Todas as operações de geração de chaves e criptografia são executadas inteiramente no seu navegador usando a API WebCrypto. Nenhuma chave ou mensagem é jamais transmitida a um servidor.

Formato de saída

A criptografia ECIES produz um objeto JSON com dois campos:

epk (Chave pública efêmera)66 caracteres hexadecimais = 33 bytes. Este é o ponto P-256 comprimido do par de chaves de uso único do remetente. O destinatário usa isso junto com sua chave privada para reconstruir o segredo compartilhado via ECDH.
ct (Texto cifrado)String hexadecimal. Contém o texto simples criptografado com AES-256-GCM seguido de uma tag de autenticação GCM de 16 bytes (32 caracteres hexadecimais). A tag garante que o texto cifrado não foi adulterado.
Exemplo de saída{"epk":"02a3f1e2d4c5b6...","ct":"7f8e9d0c1b2a...f3e4d5c6b7a8"}
Nonce (IV)O nonce AES-GCM de 12 bytes é derivado deterministicamente da etapa de derivação de chave HKDF — está incorporado na derivação de chave e não precisa ser armazenado separadamente no JSON.

Como o ECIES funciona

ECIES é um esquema de criptografia híbrido que internamente realiza estas etapas:

Etapa 1 — Par de chaves efêmeroO remetente gera um novo par de chaves P-256 efêmero para cada operação de criptografia. Este par de chaves é usado apenas uma vez e depois descartado.
Etapa 2 — Acordo de chave ECDHO remetente calcula um segredo compartilhado usando ECDH: segredo_compartilhado = ECDH(chave_privada_efêmera_remetente, chave_pública_destinatário). O destinatário também pode calcular o mesmo valor com ECDH(chave_privada_destinatário, chave_pública_efêmera_remetente).
Etapa 3 — Derivação de chave HKDFO segredo compartilhado passa pelo HKDF-SHA256 para derivar 44 bytes: os primeiros 32 se tornam a chave de criptografia AES-256-GCM e os próximos 12 o nonce GCM (IV).
Etapa 4 — Criptografia AES-256-GCMO texto simples é criptografado usando AES-256-GCM com a chave e o nonce derivados. A saída é o texto cifrado concatenado com uma tag de autenticação de 16 bytes.
Etapa 5 — SaídaA chave pública efêmera (comprimida, 33 bytes) e o texto cifrado são codificados como strings hexadecimais e retornados como um objeto JSON.
Sigilo futuro: Como cada criptografia usa um par de chaves efêmero novo, mesmo que a chave privada de longo prazo do destinatário seja comprometida no futuro, os textos cifrados passados não podem ser descriptografados. Esta propriedade é chamada de sigilo futuro (ou sigilo futuro perfeito). RSA-OAEP não fornece sigilo futuro.

FAQ

Q: Qual é a diferença entre ECIES e criptografia RSA?

A: Tanto ECIES quanto RSA-OAEP são esquemas de criptografia assimétrica, mas diferem em vários aspectos importantes. Tamanho da chave: Uma chave privada P-256 tem 32 bytes; RSA-2048 precisa de 256 bytes para segurança equivalente. Velocidade: As operações ECIES são significativamente mais rápidas que RSA. Sigilo futuro: ECIES fornece sigilo futuro via pares de chaves efêmeros — RSA-OAEP não fornece. Para novos sistemas, ECIES é geralmente preferível ao RSA para criptografia assimétrica.

Q: O que é sigilo futuro e por que é importante?

A: Sigilo futuro (também chamado de sigilo futuro perfeito, PFS) significa que mensagens criptografadas no passado permanecem seguras mesmo que a chave privada de longo prazo seja comprometida posteriormente. No ECIES, cada criptografia gera um par de chaves efêmero completamente novo que é descartado após o uso. O segredo compartilhado é derivado da chave privada efêmera, que não existe mais após a criptografia. RSA-OAEP usa diretamente a chave pública de longo prazo do destinatário — se essa chave privada for comprometida, todos os textos cifrados passados podem ser descriptografados.

Q: O que significam os campos na saída JSON?

A: O JSON de saída ECIES tem dois campos: epk (chave pública efêmera) são 66 caracteres hexadecimais representando o ponto P-256 comprimido de 33 bytes do par de chaves de uso único do remetente. ct (texto cifrado) é uma string hexadecimal com os dados criptografados AES-256-GCM seguidos de uma tag de autenticação GCM de 16 bytes. Você deve preservar o JSON completo — se qualquer campo for modificado ou truncado, a descriptografia falhará com um erro de autenticação.

Q: Posso criptografar múltiplas mensagens com a mesma chave pública?

A: Sim. Você pode criptografar quantas mensagens quiser com a mesma chave pública do destinatário. Cada criptografia gera automaticamente um novo par de chaves efêmero, então cada texto cifrado é independente e usa uma chave derivada e nonce diferentes. Não há risco de reutilização de nonce.

Q: ECC/ECIES é resistente a computadores quânticos?

A: Não. ECIES é baseado no Problema do Logaritmo Discreto de Curva Elíptica (ECDLP), que um computador quântico suficientemente grande executando o algoritmo de Shor poderia resolver. O mesmo se aplica ao RSA. Para criptografia assimétrica pós-quântica, o NIST padronizou o ML-KEM (anteriormente CRYSTALS-Kyber). ECIES continua sendo a melhor escolha prática para modelos de ameaça clássicos hoje.

Use Cases

Recomendado: Mensagens criptografadas de ponta a ponta

ECIES é adequado para mensagens criptografadas de ponta a ponta onde o remetente conhece a chave pública do destinatário. O sigilo futuro incorporado significa que mesmo que a chave privada do destinatário seja comprometida mais tarde, as mensagens enviadas anteriormente permanecem protegidas.

Recommended Configuration:
  • ✅ Distribua sua chave pública PEM aos remetentes
  • ✅ Mantenha sua chave privada PEM em um cofre criptografado ou HSM
  • ✅ O sigilo futuro está incorporado — cada mensagem usa um par de chaves efêmero novo
  • ❌ Não compartilhe sua chave privada com ninguém, incluindo o remetente
Recomendado: Criptografia híbrida para grandes dados

ECIES é tipicamente usado em um padrão de criptografia híbrida para arquivos grandes: use ECIES para transmitir de forma segura uma chave simétrica AES-256-GCM e então use essa chave para criptografar o arquivo grande real. É assim que TLS, PGP e a maioria dos protocolos de criptografia do mundo real funcionam.

Recommended Configuration:
  • ✅ Use ECIES para envolver/transmitir a chave de criptografia de dados (DEK) simétrica
  • ✅ Use AES-256-GCM ou ChaCha20-Poly1305 para o conteúdo real do arquivo
  • ✅ Armazene a chave envolta pelo ECIES junto ao arquivo criptografado
  • ❌ Não use ECIES para criptografar diretamente arquivos maiores que alguns KB
Recomendado: Substituir RSA-OAEP

Para novos sistemas que atualmente usam RSA-OAEP para criptografia assimétrica, ECIES com P-256 é o substituto moderno recomendado. Fornece segurança equivalente ou melhor com chaves muito menores e o benefício adicional do sigilo futuro.

Recommended Configuration:
  • ✅ Prefira ECIES ao RSA-OAEP para novas necessidades de criptografia assimétrica
  • ✅ Chaves P-256 (ECIES) são 8× menores que chaves RSA-2048
  • ✅ ECIES adiciona sigilo futuro que RSA-OAEP não pode fornecer
  • ❌ Não mantenha RSA-OAEP em novos sistemas a menos que seja necessária compatibilidade com sistemas legados
Recomendado: Transmissão segura de payloads de API

ECIES pode proteger dados sensíveis em requisições de API — por exemplo, criptografar o número de cartão de crédito ou dados pessoais de um usuário com a chave pública do servidor antes da transmissão. Isso fornece defesa em profundidade além da segurança de transporte.

Recommended Configuration:
  • ✅ Publique a chave pública PEM do servidor para clientes de API
  • ✅ Criptografe campos sensíveis (PII, informações de pagamento) antes de enviar
  • ✅ Combine com TLS para defesa em profundidade
  • 💡 Cada requisição usa automaticamente uma chave efêmera nova — sem rotação de chaves por requisição necessária
Não recomendado: Criptografia direta de arquivos grandes

ECIES é projetado para mensagens curtas e encapsulamento de chaves — não para criptografar diretamente arquivos grandes. O padrão correto é criptografia híbrida: use ECIES para criptografar uma chave AES-256-GCM gerada aleatoriamente (32 bytes), então use essa chave AES para criptografar o arquivo real.

Recommended Configuration:
  • ❌ Não use ECIES para criptografar diretamente arquivos maiores que alguns KB
  • ✅ Use ECIES para criptografar uma chave de criptografia de dados (DEK) AES-256-GCM aleatória
  • ✅ Use o DEK com AES-256-GCM para criptografar o conteúdo do arquivo
  • 💡 Armazene: DEK criptografado por ECIES + conteúdo do arquivo criptografado por AES juntos

Resumo das melhores práticas

  • ECC/ECIES é um algoritmo de criptografia — fornece confidencialidade. Não é um algoritmo de assinatura. Use ECDSA para assinaturas digitais.
  • O sigilo futuro está incorporado: cada criptografia gera um par de chaves efêmero novo, então os textos cifrados passados permanecem seguros mesmo que a chave privada seja comprometida posteriormente.
  • Para grandes dados, use criptografia híbrida: ECIES para envolver a chave, AES-256-GCM ou ChaCha20-Poly1305 para os dados em si.
  • A chave privada (formato PEM) deve ser mantida em segredo. A chave pública (formato PEM) pode ser distribuída livremente a qualquer pessoa que precise enviar mensagens criptografadas para você.

Discussão e Feedback

0 comentários
Eu