CoderTools

Ferramenta de Criptografia/Descriptografia RSA

Criptografia com chave pública, descriptografia com chave privada com geração de chaves e assinatura digital

Sobre Criptografia RSA

RSA é um algoritmo de criptografia assimétrica inventado por Ron Rivest, Adi Shamir e Leonard Adleman em 1977. RSA é um dos algoritmos de criptografia de chave pública mais amplamente usados, aplicado em criptografia de dados, assinaturas digitais e troca de chaves.

A segurança do RSA é baseada na dificuldade de fatorar grandes números inteiros. Ele usa um par de chaves: uma chave pública para criptografia e uma chave privada para descriptografia. A chave pública pode ser distribuída abertamente, enquanto a chave privada deve ser mantida em segredo.

Recursos

  • Geração de par de chaves: Suporta tamanhos de chave de 1024, 2048, 4096 bits
  • Criptografia com chave pública: Criptografar dados sensíveis com chave pública
  • Descriptografia com chave privada: Descriptografar dados criptografados com chave privada
  • Assinatura digital: Assinar mensagens com chave privada
  • Verificação de assinatura: Verificar autenticidade da assinatura com chave pública
  • Múltiplos algoritmos de hash: SHA-1, SHA-256, SHA-384, SHA-512
  • Seleção de modo de preenchimento: Suporta OAEP (recomendado) e PKCS#1 v1.5 (compatibilidade legada)
  • Múltiplos formatos: Entrada/saída suporta Texto, Base64, Hex e mais

Seleção de Tamanho de Chave

Escolher o tamanho correto da chave é crucial para segurança e desempenho:

  • 1024-bit: 1024 bits: Não recomendado para novos sistemas, pode ser quebrado em anos
  • 2048-bit: 2048 bits: Mínimo recomendado atualmente, adequado para a maioria das aplicações
  • 4096-bit: 4096 bits: Fornece maior segurança, mas criptografia/descriptografia mais lenta

Modo de Preenchimento

Esta ferramenta suporta dois modos de preenchimento RSA. Escolha com base em requisitos de segurança e necessidades de compatibilidade:

  • OAEP: Preenchimento de Criptografia Assimétrica Ótimo, fornece segurança semântica e protege contra ataques de texto cifrado escolhido. Recomendado para novos sistemas.
  • PKCS#1 v1.5: Modo de preenchimento legado com vulnerabilidade conhecida ao ataque Bleichenbacher. Recomendado apenas para compatibilidade com sistemas legados.

Opções de Formato

Esta ferramenta suporta múltiplos formatos de dados para fácil integração com diferentes sistemas:

  • Texto: Entrada/saída de texto UTF-8 direto, adequado para strings regulares
  • Base64: Formato codificado em Base64, comumente usado para transmissão de rede e armazenamento de dados binários
  • Hex: Formato hexadecimal, conveniente para visualizar e depurar dados binários

Casos de Uso

  • Comunicação segura: Criptografar dados sensíveis antes da transmissão
  • Assinaturas digitais: Verificar autenticidade e integridade de mensagens
  • Troca de chaves: Trocar chaves simétricas com segurança
  • Autenticação de identidade: Verificar identidade do remetente
  • Licenciamento de software: Gerar e verificar licenças

Recomendações de Segurança

  • Use pelo menos tamanho de chave de 2048 bits
  • Mantenha as chaves privadas seguras, nunca transmita por canais inseguros
  • Rotacione os pares de chaves periodicamente
  • Considere chaves de 4096 bits para dados altamente sensíveis
  • Use criptografia híbrida (RSA + simétrica) para grandes volumes de dados

Limitações do RSA

  • RSA só pode criptografar comprimento limitado de dados (depende do tamanho da chave e preenchimento)
  • Criptografia/descriptografia RSA é muito mais lenta que criptografia simétrica
  • Normalmente usado para criptografar chaves simétricas, não grandes volumes de dados diretamente

Referências