A criptografia de chave pública (PKC), também chamada de criptografia assimétrica, é um campo da criptografia 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 confere ao PKC um conjunto único de características e funcionalidades que podem ser utilizadas para resolver problemas inerentes a outras técnicas criptográficas. Esta forma de criptografia tornou-se uma parte importante da segurança informática moderna, bem como uma parte essencial do ecossistema de criptomoedas em constante evolução.
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, a chave pública pode ser partilhada de forma segura 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 relacionados, seu comprimento é muito maior do que o usado na criptografia simétrica. Este comprimento incrementado – normalmente entre 1.024 e 2.048 bits – torna extremamente difícil calcular uma chave privada a partir do seu equivalente público. Um dos algoritmos mais populares para criptografia assimétrica usado 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). Ou seja, o módulo gera duas chaves: uma pública que pode ser compartilhada e outra privada e 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 recorrentes dos algoritmos simétricos, nomeadamente a comunicação da chave utilizada tanto para encriptação como para desencriptação. 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 permanecem 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 fornecem um nível mais alto de proteção do que os algoritmos simétricos.
Uso na geração de assinaturas digitais
Outra aplicação de algoritmos de criptografia assimétrica é a autenticação de dados por meio de assinaturas digitais. Basicamente, uma assinatura digital é um hash criado a partir de dados de uma mensagem. Quando esta mensagem é enviada, o destinatário pode verificar a assinatura usando a chave pública do remetente para 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, com o próprio hash possivelmente criptografado como parte da mensagem. Deve-se notar, entretanto, que nem todos os sistemas de assinatura digital utilizam técnicas de criptografia.
Limites
Embora possa ser usada para melhorar a segurança do computador e permitir a verificação da integridade das mensagens, a criptografia 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 processar 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 compartilhada ou exposta acidentalmente, a segurança de todas as mensagens criptografadas com a 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
Este tipo de criptografia é usado por muitos sistemas de computadores modernos para proteger informações confidenciais. Mensagens de e-mail, por exemplo, podem ser criptografadas usando técnicas de criptografia de chave pública para manter seu conteúdo confidencial. O protocolo Secure Sockets Layer (SSL), que possibilita a conexão segura a sites, também usa criptografia assimétrica. Os sistemas PKC foram até explorados como uma forma de criar um ambiente de votação electrónica seguro que potencialmente permitiria aos eleitores participar nas eleições a partir dos seus computadores domésticos.
A tecnologia PKC também ocupa um lugar importante na tecnologia blockchain e criptomoeda. Quando uma nova carteira de criptomoeda é configurada, é gerado um par de chaves (chaves públicas e privadas). O endereço público é gerado usando a chave pública e pode ser compartilhado com segurança com terceiros. 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. Deve-se notar que as criptografias 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 criptografia especializada chamada Elliptic Curve Digital Signature Algorithm (ECDSA) para verificar transações.
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 acopladas, os algoritmos de criptografia assimétrica resolvem os problemas fundamentais de segurança apresentados pelas cifras simétricas. Embora a criptografia PKC seja usada há muitos anos, novos usos e aplicações são desenvolvidos regularmente, especialmente nas áreas de blockchain e criptomoedas.
