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 utilizadas para resolver desafios inerentes a outras técnicas criptográficas. Esta forma de criptografia tornou-se um elemento importante da segurança informática moderna, bem como um componente crítico do crescente ecossistema de criptomoedas.


Como funciona a criptografia de chave pública?

Num esquema PKC, a chave pública é usada por um remetente para criptografar informações, enquanto a chave privada é usada por um destinatário para descriptografá-las. Como as duas chaves são diferentes uma da outra, a chave pública pode ser compartilhada com segurança sem comprometer a segurança da chave privada. Cada par de chaves assimétricas é único, garantindo que uma mensagem criptografada com uma 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 vinculados, seus comprimentos de chave são muito maiores do que aqueles usados ​​na criptografia simétrica. Esse comprimento maior – 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 mais comuns para criptografia assimétrica em uso atualmente é conhecido como RSA.

No esquema RSA, as chaves são geradas usando um módulo obtido pela multiplicação de dois números (geralmente dois números primos grandes). Em termos básicos, 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 importante dos sistemas de criptografia de chave pública.


PKC como ferramenta de criptografia

A criptografia de chave pública resolve um dos problemas antigos dos algoritmos simétricos, que é a comunicação da chave usada tanto para criptografia quanto para descriptografia. O envio desta chave através de uma conexão insegura corre o risco de expô-la a terceiros, que podem então ler quaisquer mensagens criptografadas com a chave compartilhada. Embora existam técnicas criptográficas (como o protocolo de troca de chaves Diffie-Hellman-Merkle) para resolver este problema, elas ainda são vulneráveis ​​a ataques. Na criptografia de chave pública, por outro lado, a chave usada para criptografia pode ser compartilhada de forma segura em qualquer conexão. Como resultado, os algoritmos assimétricos oferecem um nível de proteção superior quando comparados aos simétricos.


Gerando assinaturas digitais

Outra aplicação de algoritmos de criptografia assimétrica é a autenticação de dados por meio do uso de assinaturas digitais. Basicamente falando, uma assinatura digital é um hash criado a partir dos dados de uma mensagem. Quando a mensagem é enviada, a assinatura pode ser verificada pelo destinatário usando a chave pública do remetente. Dessa forma, eles podem autenticar a origem da mensagem e garantir que ela não foi adulterada. Em alguns casos, as assinaturas digitais e a criptografia são aplicadas juntas, o que significa que o próprio hash pode ser criptografado como parte da mensagem. Deve-se notar, entretanto, que nem todos os esquemas de assinatura digital utilizam técnicas de criptografia.


Limitações

Embora possa ser usado para melhorar a segurança do computador e fornecer verificação da integridade das mensagens, o PKC tem algumas limitações. Devido às complexas operações matemáticas envolvidas na criptografia e descriptografia, os algoritmos assimétricos podem ser bastante lentos quando forçados a lidar com grandes quantidades de dados. Este tipo de criptografia também depende fortemente da suposição de que a chave privada permanecerá secreta. Se uma chave privada for acidentalmente partilhada ou exposta, a segurança de todas as mensagens que foram encriptadas com a sua chave pública correspondente será comprometida. Também é possível que os utilizadores percam acidentalmente as suas chaves privadas, caso em que se torna impossível para eles aceder aos dados encriptados.


Aplicações de criptografia de chave pública

Esse tipo de criptografia é usado por muitos sistemas de computadores modernos para fornecer segurança a informações confidenciais. E-mails, por exemplo, podem ser criptografados usando técnicas de criptografia de chave pública para manter seu conteúdo confidencial.

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

PKC também tem destaque na tecnologia blockchain e criptomoeda. Quando uma nova carteira de criptomoeda é configurada, é gerado um par de chaves (chaves pública e privada). O endereço da carteira é gerado usando a chave pública e pode ser compartilhado com segurança com outras pessoas. A chave privada, por outro lado, é utilizada para criação de assinaturas digitais e verificação de transações e, portanto, deve ser mantida em segredo.

Depois que uma transação for verificada, confirmando o hash contido na assinatura digital, essa transação poderá 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 à carteira de criptomoeda correspondente possa movimentar os fundos.

Deve-se notar que a criptografia assimétrica usada em aplicações de criptomoeda é diferente daquela usada para fins de segurança informática. Bitcoin e Ethereum, por exemplo, usam um algoritmo específico para verificar transações, conhecido como Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA). Além disso, o ECDSA cria assinaturas digitais sem o uso de criptografia. Isso significa que o blockchain não precisa de criptografia, ao contrário do que muitos tendem a acreditar.


Pensamentos finais

Da segurança informática à verificação de transações de criptomoedas, a criptografia de chave pública desempenha um papel importante na segurança dos sistemas digitais modernos. Ao usar chaves públicas e privadas emparelhadas, os algoritmos de criptografia assimétrica resolvem questões fundamentais de segurança apresentadas por cifras simétricas. Embora o PKC esteja em uso há muitos anos, novos usos e aplicações estão sendo desenvolvidos regularmente para ele, especialmente no espaço de blockchain e criptomoeda.