Criptografia Assimétrica: Guia Completo com Vantagens, Desvantagens e Exemplos

Os dados são ativos valiosos e, quando caem em mãos erradas, podem gerar sérias consequências para indivíduos, terceiros ou organizações.

É nesse cenário que a criptografia se destaca como uma ferramenta crucial, protegendo dados tanto durante o armazenamento quanto nas transferências online.

Neste artigo, vamos explorar em detalhes a criptografia assimétrica.

Vamos começar a nossa jornada!

O que é Criptografia?

Criptografia é o processo computacional de transformar dados em um formato indecifrável, conhecido como texto cifrado. Isso é realizado através de algoritmos de criptografia robustos.

Essencialmente, a criptografia embaralha os dados para garantir que apenas partes autorizadas tenham acesso a eles, seja para armazenamento seguro ou durante a transmissão.

No coração da criptografia estão as chaves criptográficas, que são geradas matematicamente com base em diversos parâmetros, levando em consideração o acordo entre o remetente e o destinatário.

Vamos analisar um exemplo simples de criptografia.

Imagine que você (vamos chamá-lo de Bob) queira enviar uma mensagem a um amigo, John, que é fascinado por textos cifrados.

Bob escreve a mensagem e a passa por um processo de “criptografia”. O algoritmo de criptografia usado é simples: ele desloca o valor ASCII de cada caractere em 4 pontos para criar o texto cifrado.

Por exemplo, o valor ASCII “A”, que é 65, se torna 69, o que corresponde a “E”. Aplicando esse método, Bob cria sua mensagem codificada e a envia para John.

Como Bob e John já combinaram o método de codificação e decodificação, eles podem se comunicar de forma segura.

Assim, se Bob escrever “Olá, John”, o texto cifrado resultante seria “LIPPS0$NRLR”.

A decodificação da mensagem recebida de Bob é chamada de descriptografia.

Para uma melhor compreensão, consulte uma tabela ASCII.

Leia também: Os melhores conversores de texto para ASCII que você deveria experimentar

O que é criptografia assimétrica?

A criptografia assimétrica, também conhecida como criptografia de chave pública, utiliza dois pares de chaves para criptografar e descriptografar mensagens:

  • Chave pública: usada para criptografar a mensagem.
  • Chave privada: usada para descriptografar a mensagem. Esta chave é mantida em segredo pelo proprietário e não deve ser compartilhada.

Como funciona a criptografia assimétrica?

Voltando ao exemplo anterior, Bob sabe que o método que usava para enviar mensagens criptografadas a John não era totalmente seguro, pois era vulnerável a quebra de criptografia.

Por isso, ele decide usar a criptografia assimétrica.

Inicialmente, Bob solicita a chave pública de John. Caso se conheçam pessoalmente, ele pode fazer o pedido diretamente.

Em outros casos, existem diretórios de chaves públicas (PKD) onde as entidades podem registrar e compartilhar suas chaves. Assim, qualquer pessoa que queira enviar uma mensagem segura para John pode obter a sua chave pública.

Agora, Bob pode usar a chave pública de John para criptografar a sua mensagem.

John recebe a mensagem e usa sua chave privada para descriptografá-la.

O inverso também é possível. Ou seja, os dados podem ser criptografados e descriptografados usando uma chave privada.

Se Bob criptografar a mensagem com a sua chave privada, John poderá descriptografá-la com a chave pública de Bob!

A criptografia assimétrica funciona porque requer acesso a duas chaves para ser eficaz. Isso a difere da criptografia simétrica, que usa uma única chave tanto para criptografar quanto para descriptografar.

Como funciona a criptografia assimétrica?

Para compreender melhor como a criptografia assimétrica opera, vamos detalhar seu funcionamento.

O processo fundamental depende de um algoritmo que utiliza uma função matemática específica para gerar o par de chaves.

A geração de chaves pode variar conforme o acordo entre o remetente e o destinatário.

A maioria das ferramentas e linguagens de programação já oferece bibliotecas pré-construídas para lidar com a criptografia. Portanto, se você precisar implementar a criptografia assimétrica, é melhor usar essas bibliotecas em vez de tentar reinventar a roda.

O fluxo comum de eventos quando alguém envia uma mensagem criptografada para outra pessoa é:

➡️ Remetente e destinatário geram chaves pública e privada, utilizando determinados parâmetros.

➡️ O remetente pesquisa a chave pública do destinatário em um diretório de chaves públicas.

➡️ Com a chave pública em mãos, o remetente a utiliza para cifrar a mensagem.

➡️ A mensagem criptografada é enviada ao destinatário, que a descriptografa com sua chave privada.

➡️ O destinatário pode responder à mensagem, repetindo o processo no sentido inverso.

Vantagens da criptografia assimétrica

A criptografia assimétrica possui diversos benefícios. Entre eles:

  • Autenticação de mensagens: A criptografia assimétrica garante a autenticidade da mensagem e do remetente. Isso a torna ideal para assinaturas digitais.
  • Conveniência: A implementação é facilitada, pois a distribuição de chaves é simples. As chaves públicas são facilmente acessíveis, permitindo que remetentes criptografem mensagens sem dificuldades. Os destinatários podem descriptografá-las com suas chaves privadas.
  • Detecção de adulteração: A criptografia assimétrica consegue detectar qualquer modificação da mensagem durante a transmissão.
  • Não repúdio: O funcionamento é semelhante a documentos assinados fisicamente, impedindo que o remetente negue o envio da mensagem.

A seguir, abordaremos as desvantagens da criptografia assimétrica.

Desvantagens da criptografia assimétrica

Os pontos negativos do uso da criptografia assimétrica incluem:

  • Lentidão: A criptografia assimétrica é mais lenta e não adequada para a transferência de grandes volumes de dados.
  • Chaves públicas não autenticadas: As chaves públicas são abertamente acessíveis, mas não há um mecanismo para validar a autenticidade de uma chave e sua associação com um indivíduo, deixando essa responsabilidade para o usuário.
  • Chave privada irrecuperável: Não há como recuperar uma chave privada perdida, impossibilitando a descriptografia das mensagens.
  • Vazamento da chave privada: Se a chave privada for comprometida, a segurança dos dados e das mensagens poderá ser prejudicada.

Agora, vamos explorar alguns casos de uso da criptografia assimétrica.

Casos de uso da criptografia assimétrica

#1. Assinaturas digitais

As assinaturas digitais são comuns atualmente. Elas empregam o algoritmo Rivest-Shamir-Adleman (RSA), que gera duas chaves conectadas matematicamente: uma pública e outra privada. A assinatura digital é criada com a chave privada e pode ser verificada com a chave pública do signatário.

#2. E-mail criptografado

E-mails podem ser enviados com segurança pela Internet, com conteúdo criptografado usando a chave pública do destinatário e descriptografado com a chave privada.

#3. SSL/TLS

SSL/TLS é um protocolo seguro para comunicação em redes, que utiliza criptografia simétrica e assimétrica para estabelecer conexões seguras. Em geral, a criptografia simétrica é a mais utilizada, mas a criptografia assimétrica pode ser necessária quando as partes precisam gerar suas chaves de sessão, usando-a para verificar a identidade do servidor de origem.

#4. Criptomoedas

As criptomoedas são um dos casos de uso mais comuns para a criptografia assimétrica. Chaves públicas e privadas são usadas para realizar a criptografia. A chave pública facilita a transferência, enquanto a chave privada desbloqueia transações e permite receber criptomoedas. Criptomoedas como Bitcoin utilizam esse tipo de criptografia.

#5. Navegação criptografada

Os navegadores também usam criptografia assimétrica para proteger os dados durante a transferência. O protocolo HTTPS antes da URL, por exemplo, indica uma conexão segura. Para garantir essa segurança, o navegador realiza um handshake com o servidor para definir como os dados serão criptografados.

Tanto a criptografia simétrica quanto a assimétrica podem ser usadas durante esse processo, sendo que a criptografia assimétrica facilita a criação de conexões seguras.

Em cenários reais, os navegadores utilizam ambos os tipos de criptografia para estabelecer a conectividade segura.

#6. Compartilhamento de chaves para criptografia de chave simétrica

A criptografia de chave assimétrica também pode ser usada para compartilhar chaves simétricas em uma conexão.

Simétrico vs. Criptografia assimétrica

A tabela a seguir resume as diferenças entre a criptografia simétrica e assimétrica.

Criptografia assimétrica Criptografia simétrica
Chaves Requer duas chaves: a pública para criptografia e a privada para descriptografia. O inverso também é possível. Utiliza uma única chave para criptografar e descriptografar a mensagem.
Tamanho do texto cifrado O texto cifrado gerado é semelhante ou maior em comprimento do que a mensagem original. O texto cifrado gerado é similar ou menor em comprimento do que a mensagem original.
Velocidade e eficiência O processo é mais lento, o que torna o envio de grandes volumes de dados menos eficiente. O processo de criptografia é mais rápido do que na criptografia assimétrica, sendo eficiente para o envio de grandes quantidades de dados.
Algoritmos Algoritmos populares incluem RSA, ECC, EL, Gamal e Diffie-Hellman. Algoritmos populares incluem RC4, DES, 3DES e AES.
Tamanho da chave Tamanhos de chave podem ser de 2.048 bits ou mais. Tamanhos de chave são de 128 ou 256 bits.
Finalidade Utilizada para criptografia de dados, autenticação e criação de conexões seguras. Usada principalmente para transferências de dados em massa.

Quando usar criptografia assimétrica?

A criptografia assimétrica é recomendada quando:

  • É necessário um método mais seguro de criptografia e envio de mensagens.
  • O volume de dados a serem transferidos é pequeno, já que a criptografia assimétrica é lenta para grandes transferências.
  • É preciso validar assinaturas digitais.
  • Há necessidade de autorizar transações e confirmar identidades no contexto de criptomoedas.

Considerações Finais

A criptografia assimétrica é a base de várias tecnologias. Seus usos são diversos, desde TLS/SSL até a verificação de assinaturas digitais.

A disponibilidade de bibliotecas de criptografia torna a implementação da criptografia assimétrica em suas ferramentas e linguagens de programação preferidas muito mais fácil. Não há necessidade de desenvolver sua própria solução, você pode usar as soluções já existentes.

Se quiser se aprofundar no assunto, não deixe de conferir o nosso artigo detalhado sobre criptografia simétrica.