PGP (Pretty Good Privacy) é um software de criptografia projetado para fornecer privacidade, segurança e autenticação a sistemas de comunicação online. Phil Zimmerman criou o primeiro programa PGP e, segundo ele, tornou-se disponível ao público devido à crescente demanda por privacidade.
Desde a sua introdução em 1991, muitas versões do software PGP foram criadas. Em 1997, Phil Zimmerman fez uma proposta para criar a Internet Engineering Task Force (IETF), um padrão de código aberto amplamente aceito para PGP. A proposta foi aceita e levou à criação do protocolo OpenPGP, que define formatos padrão de criptografia para chaves e mensagens.
Embora o PGP tenha sido originalmente usado apenas para proteger e-mails e seus anexos, agora é usado de forma mais ampla, incluindo assinaturas digitais, criptografia completa de disco e segurança de rede.
A PGP era originalmente propriedade da PGP Inc, que mais tarde foi adquirida pela Network Associates Inc. Em 2010, a Symantec Corp. comprou o PGP por US$ 300 milhões e o termo agora é uma marca registrada usada para seus produtos compatíveis com OpenPGP.
Como é que isso funciona?
PGP é um dos primeiros programas amplamente disponíveis para implementar criptografia de chave pública. É um criptosistema híbrido que utiliza criptografia simétrica e assimétrica para atingir um alto nível de segurança.
No processo básico, criptografar dados de texto (que podem ser facilmente compreendidos) os converte em texto cifrado (dados ilegíveis). Mas antes do início do processo de criptografia, a maioria dos sistemas PGP realiza compactação. Ao compactar arquivos de texto, o PGP economiza espaço em disco e tempo de transferência, além de melhorar a segurança.
Depois que o arquivo for compactado, o processo de criptografia será iniciado. Neste estágio, o arquivo de texto compactado é criptografado com uma chave única chamada chave de sessão. Esta chave é gerada aleatoriamente usando criptografia simétrica e cada sessão PGP possui sua própria chave de sessão exclusiva.
A chave de sessão (1) é então criptografada usando criptografia assimétrica: o destinatário pretendido (Bob) fornece sua chave pública (2) ao remetente da mensagem (Alice) para que ela possa criptografar a chave de sessão. Esta etapa permite que Alice compartilhe a chave com segurança com Bob pela Internet, independentemente do nível de segurança.

A criptografia de chave de sessão assimétrica normalmente é executada usando o algoritmo RSA. Muitos outros sistemas de criptografia o utilizam, incluindo o protocolo Transport Layer Security (TLS), que protege grande parte da Internet.
Uma vez obtidos o texto cifrado da mensagem e a chave de sessão criptografada, Bob pode usar sua chave privada (3) para descriptografar a chave de sessão, que é então usada para descriptografar o texto cifrado.

Além do processo básico de criptografia e descriptografia, o PGP também oferece suporte a assinaturas digitais, que executam pelo menos três funções:
Autenticação: Bob pode verificar se o remetente da mensagem foi Alice;
Integridade: Bob pode ter certeza de que a mensagem está intacta;
Não repúdio: Depois que uma mensagem for assinada digitalmente, Alice não poderá alegar que não a enviou.
Opções de aplicação
Um dos usos mais comuns do PGP é proteger e-mail. Uma mensagem protegida com PGP se transforma em uma sequência de caracteres que não pode ser lida (texto cifrado) e só pode ser descriptografada usando a chave apropriada. Para garantir a segurança das mensagens, o mecanismo de segurança é essencialmente o mesmo, existindo também aplicações de software que permitem implementar PGP em cima de outras, integrando eficazmente a encriptação em serviços de mensagens inseguros.
Embora o PGP seja projetado principalmente para proteger as comunicações pela Internet, ele também pode ser usado para criptografar dispositivos individuais. Neste caso, o programa pode ser aplicado às partições do disco de um PC ou dispositivo móvel. Ao criptografar um disco rígido, o usuário deverá fornecer uma senha sempre que o sistema inicializar.
Vantagens e Desvantagens
Através do uso combinado de criptografia simétrica e assimétrica, o PGP permite aos usuários trocar informações e chaves criptográficas com segurança pela Internet. Como sistema híbrido, o PGP tem as vantagens tanto da segurança da criptografia assimétrica quanto da velocidade da criptografia simétrica. Além desses benefícios, o PGP implementa assinaturas digitais para garantir a integridade dos dados e a autenticidade do remetente.
O protocolo OpenPGP criou um ambiente competitivo padronizado e as soluções PGP são agora oferecidas por diversas empresas e organizações. No entanto, todos os programas PGP que cumprem os padrões OpenPGP são compatíveis entre si. Isso significa que arquivos e chaves criados em um programa podem ser usados em outro sem problemas.
Em termos de desvantagens, os sistemas PGP não são tão fáceis de usar e compreender, especialmente para utilizadores com fracas competências técnicas. Além disso, o grande comprimento das chaves públicas é considerado inconveniente por muitos.
Em 2018, a Electronic Frontier Foundation (EFF) publicou uma grande vulnerabilidade chamada EFAIL. Este problema permite que hackers usem conteúdo HTML ativo em e-mails criptografados para obter acesso à versão descriptografada das mensagens.
No entanto, alguns dos problemas descritos no EFAIL já eram conhecidos pela comunidade de utilizadores do PGP desde o final da década de 1990 e, de facto, a vulnerabilidade reside em várias implementações por parte dos clientes de e-mail, e não no próprio PGP. Assim, apesar das manchetes alarmantes e enganosas, o PGP ainda é altamente seguro.
Conclusão
Desde a sua criação em 1991, o PGP tem sido uma ferramenta essencial para a proteção de dados e é agora utilizado na maioria das aplicações, proporcionando privacidade, segurança e autenticação para sistemas de comunicações e fornecedores de serviços digitais.
Embora a revelação do EFAIL em 2018 tenha levantado sérias preocupações sobre a viabilidade do protocolo, a tecnologia subjacente ainda é considerada segura e criptograficamente sólida. Vale a pena notar que diferentes implementações de PGP podem ter diferentes níveis de segurança.
