O PGP tem fama de ser difícil, e a maior parte dessa fama vem da configuração, não da criptografia. Você pode usar o mesmo padrão e a mesma cifra a partir de uma aba do navegador, sem instalação e sem chaveiro. Veja como isso funciona, do que você abre mão e quando é melhor recorrer às ferramentas de desktop.
O que muda sem instalação
Nada no formato. Uma mensagem criptografada no navegador com o OpenPGP.js é uma mensagem OpenPGP comum: abre no GnuPG na linha de comando, no Kleopatra no Windows, no que quer que seu interlocutor já use. A interoperabilidade é a mesma porque o padrão é o mesmo.
O que muda é onde o código roda e a que ele tem acesso. O GnuPG de desktop roda como um processo nativo com um chaveiro no disco. Uma ferramenta de navegador roda como JavaScript em uma aba, sem nenhum armazenamento persistente de chaves.
Duas formas de criptografar sem chaves
Com senha (simétrica)
Você escolhe uma senha, a mensagem é criptografada com ela, e qualquer pessoa com essa senha consegue descriptografá-la. Sem pares de chaves, sem troca de chaves, nada para preparar de antemão. É o que a maioria quer para algo pontual: mandar credenciais a um colega, um endereço a um amigo.
O problema é que a senha precisa chegar ao destinatário de algum jeito, e não pode viajar junto com a mensagem. É nesse único requisito que acontece a maioria dos erros na prática — tratamos disso a fundo aqui.
Chave pública
Se o seu destinatário já tem uma chave pública PGP, você pode criptografar diretamente para ela e evitar por completo o problema da senha compartilhada. Só quem tem a chave privada correspondente consegue descriptografar o resultado, então não há segredo algum a transmitir. O CrypClip oferece isso em Opções avançadas.
Isso é estritamente melhor quando está disponível. Só que raramente está, porque exige que a outra pessoa já tenha um par de chaves.
As limitações, com honestidade
Uma ferramenta de navegador não substitui diretamente uma instalação PGP de desktop, e vale a pena ser claro sobre onde estão as lacunas.
Sem gestão de chaves
Não há chaveiro, geração de chaves, modelo de confiança nem tratamento de expiração. Se você precisa gerenciar identidades ao longo do tempo — exatamente aquilo para que o PGP foi projetado — você quer o GnuPG.
Sem assinatura
A criptografia prova que ninguém mais consegue ler a mensagem. Não prova quem a enviou. A assinatura prova, e ferramentas de navegador em geral não a oferecem. Se a autenticidade importa tanto quanto o sigilo, essa lacuna é significativa.
Uma superfície de ataque maior
Código entregue pela rede ao carregar a página pode, em princípio, ser adulterado — por um servidor comprometido ou por uma extensão de navegador maliciosa com acesso à página. Software de desktop que você instalou e verificou uma vez não tem essa propriedade. Essa é a troca de verdade, e ela não é zero.
A criptografia com senha vale o que a senha vale
O AES-256 não é o ponto fraco. Uma senha de oito caracteres é. O PGP simétrico deriva a chave da sua frase-senha, então uma frase previsível pode ser atacada offline por qualquer um que tenha o texto cifrado, por mais forte que seja a cifra por baixo.
Como verificar as afirmações em vez de confiar nelas
Qualquer ferramenta pode afirmar que não envia seus dados a lugar nenhum. A pergunta útil é se você consegue confirmar isso.
Com uma ferramenta de navegador você consegue, e leva um minuto: abra a aba Rede do seu navegador e criptografe algo — as únicas requisições que você verá são dos próprios arquivos de script do site, e nenhuma delas leva o seu texto. Ou deixe a página terminar de carregar, desconecte-se totalmente da rede e criptografe mesmo assim; se ainda funcionar, nada estava sendo enviado. O CrypClip também é distribuído sem minificação, justamente para que o JavaScript possa ser lido, e a página sobre como funciona percorre cada verificação.
Essa verificabilidade é a compensação pela superfície de ataque maior. Um binário de desktop também não é fácil de auditar — mas você também não o baixa de novo a cada uso.
Então, qual usar?
Use uma ferramenta de navegador quando precisar enviar uma mensagem a uma pessoa e a alternativa for enviá-la sem criptografia. Isso é uma melhoria real, e é o caso comum.
Use o GnuPG quando gerenciar chaves ao longo do tempo, quando precisar de assinaturas, ou quando seu modelo de ameaça incluir um adversário com recursos capaz de atacar a própria entrega da página. Detalhamos essa comparação em CrypClip vs. a linha de comando do GPG.