A criptografia de chave pública (PKC), também conhecida como criptografia assimétrica, é uma estrutura que usa uma chave privada e uma chave 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 recursos e capacidades que podem ser usados para resolver os desafios inerentes a outras técnicas criptográficas. Esta forma de criptografia tornou-se um elemento importante da segurança ciberné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 uma 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 pode expô-la a terceiros, que poderão 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. Por outro lado, na criptografia de chave pública, a chave usada para criptografia pode ser compartilhada com segurança em qualquer conexão. Como resultado, os algoritmos assimétricos oferecem um nível de proteção mais elevado em comparação com os simétricos.
Uso na geração de assinaturas digitais
Outra aplicação de algoritmos de criptografia assimétrica é a autenticação de dados através do uso de assinaturas digitais. Basicamente, uma assinatura digital é um hash criado com os dados de uma mensagem. Quando a mensagem é enviada, o destinatário pode verificar a assinatura usando a chave pública do remetente como forma de 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, uma vez 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 usuários percam acidentalmente suas chaves privadas, caso em que será impossível acessar os dados criptografados.
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 usa 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 é proeminente na tecnologia blockchain e criptomoeda. Quando uma nova carteira de criptomoeda é configurada, um par de chaves (chaves públicas e privadas) é gerado. O endereço público é gerado usando a chave pública e pode ser compartilhado com segurança com outras pessoas. A chave privada, por outro lado, é utilizada para criar assinaturas digitais e verificar 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 liberar fundos dela. Deve-se notar que as cifras assimétricas usadas em aplicações de criptomoeda são diferentes daquelas usadas para fins de segurança de computadores. Bitcoin e Ethereum, por exemplo, usam uma criptografia especializada conhecida como algoritmo de assinatura digital de curva elíptica (ECDSA) para verificar transações.
Da segurança cibernética à verificação de transações de criptomoedas, a criptografia de chave pública desempenha um papel importante na proteção dos sistemas digitais modernos. Ao usar chaves públicas e privadas emparelhadas, os algoritmos de criptografia assimétrica resolvem problemas fundamentais de segurança apresentados 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.
