A criptografia de chave pública (PKC), também conhecida como criptografia assimétrica, é uma estrutura que utiliza chaves públicas e privadas, ao contrário das chaves únicas utilizadas no sistema de criptografia simétrica.
O uso de pares de chaves fornece a PKC um conjunto único de características e capacidades que podem ser usadas 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 moedas cripto.
Como Funciona a Criptografia de Chave Pública?
Em um sistema PKC, a chave pública é usada por um remetente para criptografar informações, enquanto a chave privada é usada pelo destinatário para decodificar essas informações. Como às duas chaves diferem uma da outra, a chave pública pode ser compartilhada livremente sem comprometer a segurança da chave privada.
Cada par de chaves assimétricas é único, garantindo que uma mensagem criptografada usando 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 que são ligados matematicamente, o comprimento destas chaves é muito maior que o das chaves de criptografia simétrica.
Este comprimento maior — normalmente entre 1.024 e 2.048 bits — torna extremamente difícil calcular uma chave privada usando a chave pública como base. Um dos algoritmos mais comuns de criptografia assimétrica em uso hoje em dia é conhecido como RSA. No esquema RSA, as chaves são geradas usando um módulo que é obtido multiplicando dois números (geralmente dois grandes números primos).
Em termos básicos, o módulo gera duas chaves (uma chave pública que pode ser compartilhada e uma chave privada que deve ser mantida em segredo). O algoritmo RSA foi descrito pela primeira vez em 1977 por Rivest, Shamir e Adleman (portanto RSA) e continua sendo um componente importante dos sistemas de criptográficos de chaves públicas.
PKC Como uma Ferramenta Criptográfica
A criptografia de chave pública resolve um dos problemas de longa data dos algoritmos simétricos, que é a comunicação da chave utilizada tanto para a criptografia como para a decodificação em simultâneo.
O envio desta chave sobre uma conexão insegura pode expô-la a terceiros, que podem ler qualquer mensagem criptografada 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 utilizada para a criptografia pode ser compartilhada com segurança através de qualquer conexão. Como resultado, os algoritmos assimétricos oferecem um nível mais alto de proteção quando comparados com os simétricos.
Uso na Geração de Assinaturas Digitais
Outra aplicação de algoritmos criptográficos assimétricos é a autenticação de dados através do uso de assinaturas digitais. Resumidamente, uma assinatura digital é um hash criado usando os dados em uma mensagem.
Quando esta mensagem é enviada, a assinatura pode ser verificada pelo destinatário usando a chave pública do remetente para autenticar a origem da mensagem e garantir que ela não tenha sido adulterada.
Em alguns casos, assinaturas digitais e criptografia são aplicadas em conjunto, pois o hash em si, 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
Ainda que possa ser utilizado para melhorar a segurança do computador e fornecer verificação da integridade da mensagem, o PKC tem algumas limitações. Devido às complexas operações matemáticas envolvidas na criptografia e decriptação, 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 muito da suposição de que a chave privada permanecerá secreta. Se uma chave privada for acidentalmente compartilhada ou exposta, a segurança de todas as mensagens criptografadas com sua chave pública correspondente é comprometida. Também é possível que os usuários percam acidentalmente suas chaves privadas, caso em que se impossibilita acessar os dados criptografados.
Aplicações da Criptografia de Chave Pública
Este tipo de criptografia é usado por muitos sistemas de computador modernos para fornecer segurança para informações sensíveis. Os 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 permite conexões seguras a sites da Web, também emprega criptografia assimétrica. Os sistemas PKC foram até explorados como uma forma de proporcionar um ambiente seguro para o voto eletrônico que potencialmente permitiria aos eleitores participar das eleições a partir de seus computadores domésticos.
O PKC também é proeminente no mundo dos Blockchains e das Criptomoedas. Quando uma nova carteira de moedas criptográficas é criada, um par de chaves é gerado (público e privado). O endereço público é criado usando a chave pública e pode ser compartilhado com segurança com outras pessoas.
A chave privada, de outro modo, é usada para criar assinaturas digitais e fazer verificação de transações, portanto, deve ser mantida em segredo. Uma vez verificada uma transação através da confirmação do hash contido na assinatura digital, essa transação pode ser adicionada ao registro Blockchain.
Este sistema de verificação de assinatura digital assegura que somente a pessoa que tem a chave privada associada à carteira de moeda digital correspondente pode liberar fundos da mesma. Deve-se observar que as cifras assimétricas utilizadas em aplicações de moeda digital diferem daquelas utilizadas para fins de segurança do computador.
Bitcoin e Ethereum, por exemplo, usam uma criptografia especializada, conhecida como ECDSA (Elliptic Curve Digital Signature Algorithm), para verificar as transações.
Da segurança informática à verificação de transações em moeda digital, a criptografia de chave pública desempenha um papel importante na proteção dos sistemas digitais modernos. Usando chaves públicas e privadas pareadas, os algoritmos de criptografia assimétrica resolvem os problemas fundamentais de segurança apresentados por cifras simétricas.
Embora o PKC exista há muitos anos, novos usos e aplicações estão sendo desenvolvidos regularmente para ele, particularmente no espaço Blockchains e Criptomoedas.