O que e PGP? Guia completo sobre criptografia Pretty Good Privacy
O que e criptografia PGP?
PGP (Pretty Good Privacy) e um programa de criptografia que fornece privacidade e autenticacao criptografica para comunicacoes de dados. A criptografia PGP usa uma combinacao de criptografia de chave simetrica e criptografia de chave publica para permitir que usuarios criptografem mensagens, arquivos e outros dados de forma que somente o destinatario pretendido possa le-los. Criado originalmente por Phil Zimmermann em 1991, o PGP se tornou o padrao de criptografia de e-mail mais utilizado no mundo e constitui a base da especificacao OpenPGP definida no RFC 4880. Seja para enviar um e-mail confidencial, verificar a identidade de um editor de software ou proteger arquivos sensiveis, o PGP fornece um arcabouco criptografico comprovado, no qual confiam jornalistas, pesquisadores de seguranca, governos e usuarios comuns.
Se voce quiser experimentar a criptografia PGP imediatamente sem instalar software, o KeychainPGP oferece uma ferramenta PGP online que funciona inteiramente no seu navegador.
Historia do PGP
Phil Zimmermann publicou o PGP 1.0 em junho de 1991 como software livre, motivado pela conviccao de que a criptografia forte deveria ser acessivel a todos os cidadaos — nao apenas a governos e militares. Na epoca, a criptografia forte era classificada como municao segundo as regulamentacoes americanas de exportacao, e Zimmermann foi alvo de uma investigacao criminal de tres anos pelo Servico de Alfandega dos EUA por ter distribuido o PGP internacionalmente. A investigacao foi finalmente encerrada em 1996 sem indiciamento, e o caso se tornou um marco na historia das liberdades digitais.
O PGP evoluiu atraves de varias encarnacoes comerciais. Zimmermann fundou a PGP Inc. em 1996, que foi adquirida pela Network Associates (atual McAfee) em 1997, e finalmente pela Symantec em 2010. Ao longo dessas transicoes, o protocolo criptografico subjacente foi padronizado com o nome de OpenPGP pela Internet Engineering Task Force (IETF), garantindo que o protocolo permanecesse aberto e interoperavel independentemente da propriedade comercial.
A publicacao do padrao OpenPGP significou que qualquer pessoa poderia criar implementacoes compativeis. Isso levou a criacao do GNU Privacy Guard (GnuPG ou GPG), uma implementacao livre e open source que continua sendo uma das ferramentas PGP mais utilizadas hoje. Para entender as diferencas entre essas implementacoes, consulte nosso guia sobre PGP vs GPG.
Como funciona a criptografia PGP
A criptografia PGP se baseia em uma combinacao sofisticada de tecnicas criptograficas. Em vez de usar um unico metodo, o PGP emprega um modelo de criptografia hibrida que combina a velocidade da criptografia simetrica com as vantagens de distribuicao de chaves da criptografia assimetrica (de chave publica).
Criptografia de chave publica
No nucleo do PGP esta a criptografia de chave publica, tambem chamada de criptografia assimetrica. Cada usuario PGP gera um par de chaves composto por duas chaves matematicamente vinculadas:
- Chave publica — compartilhada abertamente com qualquer pessoa. Outros usam essa chave para criptografar mensagens destinadas a voce e para verificar suas assinaturas digitais.
- Chave privada (tambem chamada de chave secreta) — mantida estritamente confidencial. Voce usa essa chave para descriptografar mensagens enviadas a voce e para criar assinaturas digitais.
A propriedade fundamental desse sistema e que os dados criptografados com uma chave publica so podem ser descriptografados com a chave privada correspondente, e vice-versa. Isso elimina a necessidade de transmitir um segredo compartilhado entre as partes antes que possam se comunicar de forma privada.
O modelo de criptografia hibrida
Embora a criptografia de chave publica resolva o problema de distribuicao de chaves, algoritmos assimetricos como RSA sao computacionalmente caros para criptografar grandes volumes de dados. O PGP resolve esse problema usando uma abordagem hibrida:
- Geracao de chave de sessao — O PGP gera uma chave simetrica de sessao aleatoria e unica (geralmente 128 ou 256 bits) para cada mensagem.
- Criptografia dos dados — O conteudo da mensagem e criptografado usando criptografia simetrica rapida (como AES-256) com a chave de sessao.
- Criptografia da chave de sessao — A chave de sessao e entao criptografada usando a chave publica do destinatario (operacao assimetrica).
- Empacotamento — A mensagem criptografada e a chave de sessao criptografada sao agrupadas e enviadas ao destinatario.
Quando o destinatario recebe a mensagem, o processo e invertido: ele usa sua chave privada para descriptografar a chave de sessao, e entao a chave de sessao descriptografada e usada para descriptografar o conteudo da mensagem.
Assinaturas digitais PGP
Alem da criptografia, o PGP fornece assinaturas digitais que cumprem duas funcoes essenciais: a autenticacao (provar quem enviou uma mensagem) e a integridade (provar que a mensagem nao foi alterada em transito).
O processo de assinatura funciona da seguinte forma:
- O PGP calcula um hash criptografico (um resumo de tamanho fixo) do conteudo da mensagem usando um algoritmo como SHA-256 ou SHA-512.
- O hash e entao criptografado com a chave privada do remetente, produzindo a assinatura digital.
- A assinatura e anexada a mensagem.
Qualquer destinatario pode verificar a assinatura descriptografando-a com a chave publica do remetente para recuperar o hash original, calculando independentemente o hash da mensagem recebida e comparando os dois hashes. Se eles corresponderem, a mensagem e autentica e nao foi modificada.
O padrao OpenPGP
OpenPGP e o padrao aberto que define os formatos de mensagens, os algoritmos e os procedimentos utilizados por softwares compativeis com PGP. Nao e um produto de software em si, mas sim uma especificacao que qualquer desenvolvedor pode implementar.
Os documentos de referencia sao:
- RFC 4880 (novembro de 2007) — A especificacao principal atual do formato de mensagem OpenPGP.
- RFC 6637 (junho de 2012) — Estende o OpenPGP com suporte a criptografia de curva eliptica (ECC).
- RFC 9580 (2024) — A revisao mais recente que moderniza o padrao com suporte obrigatorio a Ed25519/X25519, modos de criptografia AEAD e impressoes digitais de chaves aprimoradas.
O OpenPGP garante a interoperabilidade: uma mensagem criptografada com o KeychainPGP pode ser descriptografada pelo GnuPG, Mailvelope ou qualquer outra implementacao compativel.
Rede de confianca
Uma das caracteristicas distintivas do PGP e seu modelo descentralizado de rede de confianca (Web of Trust) para estabelecer a autenticidade das chaves publicas. Diferentemente do modelo centralizado de autoridade certificadora (CA) usado pelo TLS/SSL, o PGP permite que os proprios usuarios garantam uns pelos outros.
A rede de confianca funciona por meio da assinatura de chaves: quando voce verifica a identidade de alguem e confirma que essa pessoa controla uma chave publica especifica, voce assina a chave dela com a sua. Essa assinatura e uma declaracao publica de que voce acredita que a chave pertence a pessoa que ela afirma representar.
Ferramentas como o KeychainPGP simplificam esse processo, permitindo que os usuarios trabalhem com chaves diretamente atraves de uma interface intuitiva, utilizando a criptografia por area de transferencia para compartilhar facilmente mensagens criptografadas e chaves publicas.
Algoritmos e tipos de chaves PGP
O PGP suporta uma variedade de algoritmos criptograficos que evoluiram ao longo dos avancos do campo.
Algoritmos classicos
- RSA (Rivest-Shamir-Adleman) — O algoritmo assimetrico mais implantado na historia do PGP. Chaves RSA de 2048 bits sao consideradas o minimo de seguranca atualmente, com chaves de 4096 bits recomendadas para protecao de longo prazo.
- DSA (Digital Signature Algorithm) — Usado para assinaturas em combinacao com ElGamal para criptografia. Menos utilizado atualmente.
- AES (Advanced Encryption Standard) — O padrao de criptografia simetrica dominante usado para criptografar o conteudo das mensagens. AES-128 e AES-256 sao suportados.
- SHA-2 (SHA-256, SHA-384, SHA-512) — Funcoes de hash criptografico usadas para o calculo de resumos em assinaturas digitais.
Algoritmos modernos
A ultima geracao de implementacoes OpenPGP suporta criptografia de curva eliptica (ECC), que oferece seguranca equivalente ao RSA com tamanhos de chave consideravelmente menores:
- Ed25519 — Um algoritmo de assinatura digital baseado na Curve25519. Produz assinaturas rapidas e compactas. Recomendado no RFC 9580.
- X25519 (Curve25519 ECDH) — Usado para troca de chaves (criptografia). Oferece excelente desempenho com solidas propriedades de seguranca.
- NIST P-256 / P-384 / P-521 — Curvas elipticas padronizadas pelo NIST. Suportadas pelo OpenPGP, mas geralmente menos preferidas que os algoritmos baseados na Curve25519.
Ferramentas modernas como o KeychainPGP suportam esses algoritmos contemporaneos, tornando a geracao de chaves com Ed25519 e X25519 simples e direta.
Casos de uso comuns do PGP
- E-mail seguro — O caso de uso original e mais conhecido. O PGP permite criptografar o conteudo de e-mails e assinar mensagens para provar sua autenticidade.
- Criptografia de arquivos — O PGP pode criptografar arquivos individuais ou arquivos compactados inteiros para armazenamento ou transferencia seguros.
- Verificacao de software — Projetos open source assinam regularmente suas versoes com chaves PGP. Os usuarios podem verificar essas assinaturas para confirmar a autenticidade de um download.
- Mensagens seguras — O PGP pode ser usado para criptografar qualquer mensagem de texto, particularmente util em plataformas que nao oferecem criptografia de ponta a ponta.
- Verificacao de identidade — As impressoes digitais de chaves PGP servem como identidades digitais verificaveis. Desenvolvedores no GitHub podem assinar seus commits com PGP.
- Assinatura de documentos — Fluxos de trabalho juridicos as vezes usam assinaturas PGP para estabelecer a nao-repudiacao.
PGP hoje
Mais de tres decadas apos sua criacao, o PGP continua sendo uma das ferramentas criptograficas mais importantes disponiveis. O padrao OpenPGP continua a evoluir, com o RFC 9580 introduzindo modernizacoes significativas, incluindo suporte obrigatorio a algoritmos modernos de curva eliptica e modos de criptografia AEAD.
O ecossistema de ferramentas PGP se enriqueceu consideravelmente. O GnuPG continua sendo a implementacao de referencia para uso em linha de comando. Ferramentas modernas como o KeychainPGP oferecem aplicativos desktop nativos (Windows, macOS, Linux), um aplicativo Android, um CLI para scripting e um aplicativo web no navegador — tudo construido sobre o mesmo motor Sequoia-PGP em Rust.
Comecando com PGP
Pronto para comecar com a criptografia PGP? Aqui estao os melhores proximos passos:
- Experimente no seu navegador — Use a ferramenta PGP online do KeychainPGP para gerar um par de chaves, criptografar uma mensagem ou verificar uma assinatura sem instalar nada.
- Leia o guia para iniciantes — Se voce e novo em criptografia, nosso guia PGP para iniciantes acompanha voce passo a passo.
- Aprenda o fluxo de trabalho pratico — Nosso guia Como usar PGP cobre a geracao de chaves, criptografia e descriptografia, gerenciamento do chaveiro e boas praticas.
- Entenda a criptografia por area de transferencia — Descubra a criptografia PGP por area de transferencia para criptografar e descriptografar texto diretamente da sua area de transferencia.
- Conheca as ferramentas — Entenda as diferencas entre PGP e GPG para escolher a ferramenta certa para seu fluxo de trabalho.
A criptografia PGP protege comunicacoes sensiveis ha mais de trinta anos. Com as ferramentas e padroes modernos, ela esta mais acessivel do que nunca.