Introdução

A criptografia de chave pública (PKC), também conhecida como criptografia assimétrica, é uma estrutura que usa uma chave privada e uma pública, em oposição à chave única usada na criptografia simétrica. O uso de pares de chaves dá ao PKC um conjunto único de características e capacidades que podem ser usadas para resolver problemas inerentes a outros métodos criptográficos. Esta forma de criptografia tornou-se um elemento importante da segurança informática moderna, bem como um componente importante do crescente ecossistema de criptomoedas.


Como funciona a criptografia de chave pública?

No esquema PKC, a chave pública é usada pelo remetente para criptografar as informações e a chave privada é usada pelo destinatário para descriptografá-las. Como as duas chaves são diferentes uma da outra, a chave pública pode ser usada com segurança sem comprometer a segurança da chave privada. Cada par de chaves assimétricas é único, o que garante que uma mensagem criptografada com a chave pública só possa ser lida pela pessoa que possui a chave privada correspondente.

Como os algoritmos de criptografia assimétrica geram pares de chaves matematicamente relacionados, seus comprimentos de chave são muito maiores do que os da criptografia simétrica. Este grande comprimento, normalmente entre 1.024 e 2.048 bits, torna extremamente difícil calcular uma chave privada a partir de sua contraparte pública. Um dos algoritmos de criptografia assimétrica mais comuns em uso atualmente é conhecido como RSA.

No esquema RSA, as chaves são geradas usando o módulo obtido pela multiplicação de dois números (geralmente dois números primos grandes). Simplificando, o módulo gera duas chaves (uma pública que pode ser compartilhada e outra privada que deve ser mantida em segredo). O algoritmo RSA foi descrito pela primeira vez em 1977 por Rivest, Shamir e Adleman (daí RSA) e continua sendo um componente central dos sistemas de criptografia de chave pública.


PKC como ferramenta de criptografia

A criptografia de chave privada resolve um dos antigos problemas dos algoritmos simétricos, ou seja, a transmissão de uma chave que é usada tanto para criptografia quanto para descriptografia. O envio desta chave através de uma conexão insegura poderia expô-la a terceiros, que poderiam então ler quaisquer mensagens criptografadas com a chave compartilhada. Embora existam métodos criptográficos (como o protocolo de troca de chaves Diffie-Hellman-Merkle) para resolver este problema, eles ainda são vulneráveis ​​a ataques. Por outro lado, na criptografia de chave privada, a chave usada para criptografia pode ser transmitida com segurança por qualquer conexão. Como resultado, os algoritmos assimétricos fornecem um nível de proteção mais elevado do que os simétricos.


Criação de assinaturas digitais

Outra aplicação de algoritmos de criptografia assimétrica é a autenticação de dados com assinaturas digitais. Essencialmente, uma assinatura digital é um hash criado usando os dados da mensagem. Quando esta mensagem é enviada, a assinatura pode ser verificada pelo destinatário utilizando a chave pública do remetente. Desta forma, podem identificar a origem da mensagem e garantir que esta não foi adulterada. Em alguns casos, assinaturas digitais e criptografia são usadas juntas, o que significa que o próprio hash pode ser criptografado como parte da mensagem. No entanto, deve-se notar que nem todos os esquemas de assinatura digital utilizam métodos de criptografia.


Limitação

Embora possa ser usado para melhorar a segurança do computador e fornecer verificações de integridade de mensagens, o PKC tem algumas limitações. Devido às complexas operações matemáticas relacionadas à criptografia e descriptografia, os algoritmos assimétricos podem ser bastante lentos ao trabalhar com grandes volumes de dados. Este tipo de criptografia também depende da suposição de que a chave privada permanecerá sempre secreta. Se a chave privada for partilhada ou divulgada acidentalmente, a segurança de todas as mensagens encriptadas com a chave privada correspondente será comprometida. Os usuários também podem perder acidentalmente suas chaves privadas e não conseguirão acessar os dados criptografados.


Aplicação de criptografia de chave pública

Este tipo de criptografia é utilizado por muitos sistemas de computadores modernos para garantir a segurança de informações confidenciais. Os e-mails, por exemplo, podem ser criptografados usando técnicas de criptografia de chave pública para preservar a confidencialidade do seu conteúdo.

O protocolo Secure Sockets Layer (SSL), que permite conexões seguras a sites, também utiliza criptografia assimétrica. Os sistemas PKC foram até considerados como um meio de fornecer um ambiente de votação electrónica seguro, permitindo potencialmente aos eleitores participar nas eleições a partir dos seus computadores domésticos.

O PKC também desempenha um papel importante na tecnologia blockchain e nas criptomoedas. Ao configurar uma nova carteira criptográfica, é gerado um par de chaves (pública e privada). O endereço da carteira é gerado usando uma chave pública e pode ser compartilhado com segurança com outras pessoas. Por outro lado, a chave privada é utilizada para criar assinaturas digitais e verificar transações, por isso deve ser mantida em segredo.

Uma vez que uma transação tenha sido verificada através da verificação do hash contido na assinatura digital, essa transação pode ser adicionada ao livro-razão do blockchain. Este sistema de verificação de assinatura digital garante que apenas a pessoa que possui a chave privada associada à respectiva carteira criptográfica pode movimentar fundos.

Deve-se notar que a criptografia assimétrica usada em aplicações de criptomoeda é diferente daquela usada para fins de segurança de computadores. Por exemplo, Bitcoin e Ethereum usam um algoritmo especial para verificar transações conhecido como “Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA)”. A ECDSA também cria assinaturas digitais sem usar criptografia. Isso significa que o blockchain não precisa de criptografia.


Resultados

A criptografia de chave pública desempenha um papel importante na segurança dos sistemas digitais atuais, desde a segurança informática até à verificação de transações de criptomoedas. Ao utilizar pares de chaves públicas e privadas, os algoritmos de criptografia assimétrica resolvem os principais problemas de segurança associados às cifras simétricas. Embora o PKC esteja em uso há muitos anos, novos aplicativos e aplicações estão sendo desenvolvidos regularmente para ele, especialmente em blockchain e criptomoeda.