A criptografia usando chave pública (PKC) também é conhecida como criptografia assimétrica e é um framework que utiliza uma chave pública e uma chave privada, ao contrário da chave única utilizada na criptografia simétrica. O uso de pares de chaves na PKC proporciona um conjunto único de características e capacidades que podem ser usadas para resolver os desafios inerentes a outras técnicas de criptografia. Esse tipo de criptografia se tornou um elemento importante da segurança moderna de computadores, bem como um elemento crucial no ecossistema das criptomoedas emergentes.
Como funciona a criptografia usando chave pública?
No sistema de criptografia com chave pública, a chave pública é usada pelo remetente para criptografar a informação, enquanto a chave privada é usada pelo destinatário para descriptografá-la. Como as duas chaves são completamente 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, o que garante que a 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 relacionados matematicamente, seus comprimentos de chave são muito maiores do que os utilizados na criptografia simétrica. Este comprimento geralmente varia entre 1.024 e 2.048 bits. Isso torna extremamente difícil calcular a chave privada a partir da sua correspondente pública. Um dos algoritmos mais comuns de criptografia assimétrica em uso hoje é chamado de RSA. No esquema RSA, as chaves são geradas usando um fator obtido ao multiplicar dois números (geralmente dois grandes números primos). Em outras palavras, o padrão gera duas chaves (uma pública que pode ser compartilhada e uma privada que deve permanecer secreta). O algoritmo RSA foi descrito pela primeira vez em 1977 por Rivest, Shamir e Adleman (daí RSA é uma sigla composta pelas iniciais de cada um dos co-autores) e ainda é um componente principal dos sistemas de criptografia com chaves públicas.
A PKC como ferramenta de criptografia
A criptografia de chave pública resolve um dos problemas de longa data das algoritmos simétricos, que é a conexão da chave usada para criptografar e descriptografar. Enviar essa chave através de uma conexão insegura a torna suscetível a partes externas, permitindo que elas leiam quaisquer mensagens criptografadas usando a chave compartilhada. Embora existam técnicas de criptografia (como o protocolo de troca de chaves Diffie-Hellman-Merkle) para resolver esse problema, elas ainda são vulneráveis a ataques. Em contraste, na criptografia de chave pública, a chave utilizada para criptografar 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 aos simétricos.
Seu uso na criação de assinaturas digitais
Outra aplicação dos algoritmos de criptografia assimétrica é a autenticação de dados através do uso de assinaturas digitais. Simplesmente, a assinatura digital é um hash gerado a partir dos dados na mensagem. Ao enviar essa mensagem, a assinatura pode ser verificada pelo destinatário usando a chave pública do remetente como um meio de autenticar a fonte da mensagem e garantir que não foi adulterada. Em alguns casos, as assinaturas digitais e a criptografia são aplicadas juntas, onde o próprio hash pode ser criptografado como parte da mensagem. No entanto, nem todos os esquemas de assinatura digital utilizam técnicas de criptografia.
Limitações
Embora possa ser utilizado para melhorar a segurança do computador e fornecer verificação da integridade da mensagem, a criptografia usando chave pública tem algumas limitações. Devido às complexas operações matemáticas envolvidas na criptografia e descriptografia, os algoritmos assimétricos podem ser um pouco lentos ao lidar com grandes quantidades de dados. Esse tipo de criptografia também depende fortemente da suposição de que a chave privada permanecerá secreta. Se a chave privada for compartilhada ou exposta inadvertidamente, a segurança de todas as mensagens criptografadas usando a chave pública correspondente será comprometida. Também é possível que os usuários percam suas chaves privadas acidentalmente, e nesse caso se torna impossível para eles acessarem os dados criptografados.
Aplicações da criptografia usando chave pública.
Esse tipo de criptografia é utilizado em muitos sistemas de computador modernos para fornecer segurança para informações sensíveis. Por exemplo, e-mails podem ser criptografados usando técnicas de criptografia de chave pública para manter a confidencialidade de seu conteúdo. O protocolo de camada de soquetes seguros (SSL), que fornece comunicações seguras com sites, utiliza um método de criptografia assimétrica. Sistemas PKC também foram explorados como uma forma de fornecer um ambiente seguro para votação eletrônica, permitindo que os eleitores participem das eleições de seus computadores pessoais.
A criptografia usando chave pública também é proeminente em tecnologias de blockchain e criptomoedas. Quando uma nova carteira de criptomoeda é configurada, um par de chaves (chaves pública e privada) é criado. O endereço público é gerado usando a chave pública e pode ser compartilhado com segurança com outros. Por outro lado, a chave privada é usada para criar assinaturas digitais e verificar transações, e, portanto, deve permanecer secreta. Uma vez que a transação é verificada confirmando o hash presente na assinatura digital, essa transação pode ser adicionada ao livro-razão público da blockchain. Esse sistema de verificação da assinatura digital garante que apenas a pessoa que possui a chave privada associada à carteira de criptomoeda possa liberar os fundos dela. Vale ressaltar que as chaves assimétricas usadas em aplicações de criptomoedas diferem daquelas usadas para fins de segurança de computador. Por exemplo, Bitcoin e Ethereum usam uma criptografia especializada conhecida como algoritmo de assinatura digital de curva elíptica (ECDSA) para verificar transações.
Da segurança do computador à verificação de transações criptográficas, a criptografia de chave pública desempenha um papel importante na segurança de sistemas digitais modernos. Usando chaves públicas e privadas emparelhadas, os algoritmos de criptografia assimétrica resolvem problemas de segurança fundamentais apresentados pelas chaves simétricas. Embora a criptografia usando chave pública esteja em uso há muitos anos, novos usos e aplicações estão sendo regularmente desenvolvidos para ela, especialmente no campo do blockchain e das criptomoedas.
