5 comandos do GPG para criptografar e descriptografar arquivos

Os comandos que seguem, podem ser usados com o utilitário gpg, que pode ser instalado a partir dos repositórios oficiais da maioria das distribuições GNU/Linux.
Este post tem o propósito de fazer “um apanhado” geral do uso da ferramenta, nas funções de criptografia/descriptografia.

Caso tenha dúvidas ou queira se aprofundar mais sobre algum procedimento, clique nos links do texto.

gpg criptografia

Para criptografar um arquivo texto (por exemplo, ‘texto.txt’) com o uso de uma senha simples, definida durante o procedimento, use a opção ‘-c’:


gpg -c texto.txt

O comando irá lhe pedir uma senha (e confirmar, em seguida) e criar um novo arquivo, com extensão .gpg.
Se o arquivo, com esta extensão, já existir, você será avisado com a mensagem “File ‘texto.txt.gpg’ exists. Overwrite? (y/N) “.
Neste caso, tecle ‘y’ para sobrescrever ou ‘N’ para interromper a execução e voltar à linha de comando.
Leia mais sobre esta opção aqui.
Se usar ‘-e’, é possível criptografar usando a chave pública de um (ou mais) destinatário(s) — adicionando uma camada extra de proteção contra bisbilhoteiros corporativos ou governamentais.
Segue um exemplo:


gpg -e texto.txt

You did not specify a user ID. (you may use "-r")

Current recipients:

Enter the user ID.  End with an empty line: hermengardaafonso@yahoo.com.br
No such user ID.

Current recipients:
rsa2048/5ASDFS7832142418 2017-11-23 "Hermengarda Afonso" hermengardaafonso@yahoo.com.br

Enter the user ID.  End with an empty line: justincase@gmail.com

Current recipients:
rsa2048/4FE73CDD0A83E688 2017-11-23 "Justin Case justincase@gmail.com"
rsa2048/5ASDFS7832142418 2017-11-23 "Hermengarda Afonso" hermengardaafonso@yahoo.com.br

Enter the user ID.  End with an empty line:

Vamos entender o que houve aqui:

  • Você pode especificar mais de um destinatário a ter acesso ao arquivo. Digite o email dele ou dela e tecle Enter para fornecer o email do próximo.
  • Basta dar um ‘Enter’, para uma linha em branco, para o gpg entender que não há mais novos recipients a acrescentar.

Você também pode indicar o destinatário direto na linha de comando, com a opção ‘-r’:


gpg -er justincase@gmail.com texto.txt

Se quiser assinar um arquivo texto com sua chave secreta (privada), use a opção ‘-s’:


gpg -s texto.txt

Uma variante, para este comando é dado pela opção --clearsign.
Ele acrescenta a sua assinatura e mantém o arquivo legível para as pessoas que não possuem suporte ao GPG:


gpg --clearsign loremipsum.txt

cat loremipsum.txt.asc 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

O que é o Lorem Ipsum?

 O Lorem Ipsum é um texto modelo da indústria tipográfica e de impressão. 

 O Lorem Ipsum tem vindo a ser o texto padrão usado por estas indústrias desde o ano de 1500, quando uma misturou os caracteres de um texto para criar um espécime de livro.

 Este texto não só sobreviveu 5 séculos, mas também o salto para a tipografia electrónica, mantendo-se essencialmente inalterada.

 Foi popularizada nos anos 60 com a disponibilização das folhas de Letraset, que continham passagens com Lorem Ipsum, e mais recentemente com os programas de publicação como o Aldus PageMaker que incluem versões do Lorem Ipsum.


Fonte: https://pt.lipsum.com/
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEwiKr3xCRZwLRemeMKsDy8hFgxDsFAlodsXAACgkQKsDy8hFg
xDvtCQf9EqpnF++3RbYb+LJBhlmjKdflJTg8xDX8WWFKDxL52dRHx9Hy1K7SlOo5
7gm+O38u0OVlPMx2OeUEBj9QSw9E9rKBOr/sMT2uK5ZoRDvTRXsfhcm0/oI5Xowa
9CtG2rWcH2RBZ+wiuFOQmPzMv7/T50wyx1Vxcqrw264XQ/1zPDegBajhe8CrgTXY
HbkLDfXeNBwfOY3GAvTwbRFlUa/bJ2mOxkAJyn8bynU6VaqEXKNL1rKnazHNrNwp
kHaQHw5+ZEdWzpslxPnuLblsV8XjWIsLYsCND4gZhcAA0jCTEoTWScUd3BbWBjm7
zZFvpaRT1/Rjd74cwRI3DerMT4vy/g==
=Lpy5
-----END PGP SIGNATURE----

Como é possível observar, acima, o conteúdo continua visível a qualquer. Ele foi acrescido da assinatura (PGP signature) do seu criador.
Neste caso, o procedimento pode ajudar a dar legitimidade a um arquivo ou certificar sua procedência.

O comando que segue, pode ser usado para assinar seu arquivo com sua chave privada e, em seguida, criptografá-lo com a chave pública do destinatário (recipient).


gpg -se -r justincase@email loremipsum.txt

… que irá gerar um arquivo ‘loremipsum.txt.gpg’, que poderá ser descriptografado pelo usuário (userid) justincase@email.

Ao descriptografar o arquivo ‘loremipsum.txt.gpg’, o programa irá criar um arquivo de saída, chamado ‘loremipsum.txt’.
Se você prefere que ele crie um arquivo de saída, descriptografado, com outro nome, use a opção ‘-o’:


gpg -o outroarquivo.txt loremipsum.txt.gpg

Referências

Texto sobre o Lorem Ipsum: https://pt.lipsum.com/.

Entenda porque você deveria mudar seu site para HTTPS

Se você tem um blog ou um site de comércio eletrônico, deveria começar a pensar seriamente em adotar o recurso de conexão segura para você e seus leitores.
Há vários motivos para isto.

O motivo mais banal e não menos importante é que o Google irá (cada vez mais) priorizar sites seguros na sua indexação.

A audiência, para quem tem um site sério, não é a principal preocupação, mas é um fator a se levar em consideração, convenhamos.

O motivo desta política do Google é a segurança. E este deveria ser o seu motivo também.
Já discutimos o assunto antes, no artigo É hora de criptografar toda a Internet.
Desta vez, quero reforçar e acrescentar argumentos.

Os protocolos de criptografia

Neste tópico, vou repassar alguns dos aspectos técnicos. Se você detesta isto, pule para o próximo. Sem mágoas. 😉
Sites HTTPS são os que possuem certificados SSL/TLS.
O TLS é abreviatura para Transport Layer Security (ou camada de segurança de transporte) e o SSL, Secure Sockets Layer (ou camada de soquetes de segurança).
Ambos são protocolos criptográficos que oferecem proteção aos dados durante o tráfego em uma rede de computadores.
Sites seguros oferecem suporte a este tipo de proteção entre o servidor e o navegador do visitante.
O principal objetivo do TLS é dar privacidade e garantir a integridade dos dados entre duas aplicações de computador.
Uma vez que o cliente e o servidor estabelecem a primeira conexão e concordam em usar o TLS, negociam uma conexão a partir de um procedimento conhecido como handshaking (aperto de mãos).
Durante o aperto de mãos, as duas pontas concordam com certos parâmetros, usados para estabelecer a segurança da conexão.
O procedimento tem por objetivo trafegar dados de forma privada (ou segura) com uso de um sistema de criptografa simétrica.

Por que criptografar os dados é importante para o seu site

É importante deixar claro que o protocolo SSL/TLS não criptografa dados armazenados, mas apenas os que estiverem em tráfego entre o servidor e o visitante.

Com este procedimento, você aumenta as condições de segurança e privacidade dos seus leitores.

Em vez de acessar o site em HTTP, seus leitores passam a acessá-lo via HTTPS, uma versão mais segura do protocolo padrão da web.
Entre os dados que passarão a ser melhor protegidos, constam:

  • o conteúdo do site enquanto ele estiver em tráfego
  • dados que o visitante deseja enviar para o servidor, documentos, cartão de crédito etc.
  • senhas de acesso ao site, de administradores(as), editoras(es) etc.

Se você é blogueiro(a) e realiza atividades administrativas no seu site, fora da sua casa, usando o wi-fi de outros locais, certamente, deveria considerar o uso desta camada adicional de proteção.
Se você tem um site de e-commerce ou comércio eletrônico, provavelmente está perdendo clientes que se preocupam com a segurança.
Obviamente, adotar o HTTPS, somente, não resolve todos os seus problemas de segurança.
Mas é um dos procedimentos mais simples e (atualmente) é gratuito (só custa o seu tempo).

É um primeiro passo de um conjunto de ações que compõem uma necessária política de segurança.

Se as informações forem interceptadas durante o tráfego, elas estarão “embaralhadas” aos olhos do intruso.

Como proceder para começar a usar o HTTPS no site

Atualmente, a maioria dos provedores de hospedagem oferecem a opções pagas e gratuitas de certificação SSL/TLS.
Se estiver disponível, use a gratuita.
Provedores, como o Dreamhost, oferecem a opção “Let’s Encrypt“, que é grátis, confiável e implementa a mudança automaticamente.
dreamhost ssl tls encryption
Existe também a opção “Self-signed“, voltada para sites em teste ou para uso de um grupo restrito — em resumo, só serve para quem sabe o que está fazendo.
Se você tiver dúvidas, contate o suporte da hospedagem ou consulte um usuário mais experiente.

Referências

Link para o site de hospedagem web do DreamHost.

Criptografe arquivos usando uma chave pública GPG

Antes de armazenar um arquivo com conteúdo sensível, convém protegê-lo com uma camada de criptografia forte.
Se você não precisa de recursos criptográficos muito fortes e se sente melhor usando a interface gráfica (GUI) do Linux, experimente usar o Xarchiver.

Neste texto vou mostrar como criptografar um arquivo (ou vários), usando uma chave pública, na linha de comando (CLI) do Linux, usando o gpg.
Depois de seguro, o arquivo pode ser armazenado em CD/DVD, em flash drive (pendrive), na nuvem etc.
É claro que você ou o destinatário precisa ter criado uma chave pública antes, a ser usada no procedimento.
No artigo como encriptar seus arquivos com gpg, ensinei uma maneira um pouquinho mais simplificada de aplicar a criptografia a arquivos, usando apenas uma senha criada na hora.
Neste texto, vamos abordar um método mais sofisticado — sob o ponto de vista da segurança.
É necessário saber o nome do arquivo e o email usado para registrar a chave pública, em questão, além da sua própria chave privada.


Tá confuso? Então leia mais sobre o gpg.

O comando para criptografar um arquivo, com o uso da sua chave pública é o seguinte:

gpg -e -r email seu-arquivo

Troque, no comando acima, “email”, pela conta de email usada para definir a public key.
No lugar de “seu-arquivo”, use o nome do arquivo a ser criptografado.
Veja um comando real:


gpg -e -r justincase@gmail.com texto.txt

Será gerado um segundo arquivo criptografado ‘texto.txt.gpg’.
Por segurança, remova o original e mantenha apenas a versão segura — com extensão .gpg.
Este arquivo pode ser guardado em segurança.

Se você deseja enviar este arquivo para alguém, deve usar a chave pública do destinatário, ou seja, informar a conta de email que este usou pra registrar sua public key.
O destinatário do arquivo poderá abri-lo usando o gpg:


gpg texto.txt.gpg

Novamente será criado um arquivo ‘texto.txt’, descriptografado.
Se for texto puro, pode ser lido com o comando cat:


cat texto.txt

criptografia com o GNUPG para iniciantes

O GNU Privacy Guard ou GnuPG (GPG ou segurança da privacidade GNU, em uma tradução livre) é um software livre desenvolvido para oferecer uma solução segura, com padrões abertos e auditáveis para criptografar dados de usuários.
Com desenvolvimento iniciado em 1997, na Alemanha, teve sua primeira versão estável lançada em 1999.
É, hoje, uma solução madura e sólida para dar mais segurança às suas informações — tanto no armazenamento, quanto no tráfego.

O GPG pode dar uma camada concreta de segurança para arquivos desde os mais simples, de texto, a pacotes volumosos de backups.
O software pode manter suas conversas por chat ou email protegidas de olhares bisbilhoteiros do governo, de grandes corporações ou dos seus concorrentes empresariais.

Usuários Linux dispõem de clientes de email com a tecnologia integrada, desde a instalação — como o Kmail (KDE) e o Evolution (GNOME).
Outros aplicativos podem receber a funcionalidade através de plugins.

Resumidamente, é uma solução para criptografar e descriptografar, além de assinar digitalmente os dados que você envia — para garantir ao recebedor que as informações estão realmente vindo de você.
Quem ainda não tem o hábito de criptografar informações sensíveis, deveria começar a levar isto a sério.
Os tempos atuais já exigem que se tenha este tipo de cuidados com os dados, seja no servidor, no computador pessoal ou do trabalho.

Este post é baseado no GNU/Linux (Debian 10 testing “Buster”, mais especificamente). Os conceitos, contudo se aplicam a qualquer outra distribuição ou sistema operacional.

É importante garantir que seus dados não serão facilmente lidos pelas pessoas erradas.

Este artigo parte do zero, ou seja, do pressuposto de que você não sabe nada sobre o GPG ainda.
Inúmeras aplicações fazem uso da criptografia com o GPG.
Na medida em que o seu conhecimento sobre o assunto for se consolidando, sua compreensão irá melhorar sobre o funcionamento deste recurso.

Neste sentido, vamos fazer um passo a passo, que começa com a instalação à geração de uma chave pública e outra privada para você usar.
Vamos começar pela linha de comando (CLI) e, em outros artigos, vou mostrar como usar a criptografia em aplicativos (CLI e GUI).
Abra o terminal!

Instalação do GnuPG

Baixe e instale o pacote de criptografia dos repositórios.
No Debian, no Ubuntu e nas outras distribuições derivadas destas, use o apt (ou apt-get):


sudo apt install gnupg

Isto é tudo o que você precisa, por enquanto.
Vamos em frente.

Como funcionam as chaves criptográficas

Tecnicamente, o gpg já está pronto para ser usado para criptografar seus arquivos.
Para usar todos os recursos do software, é necessário gerar algumas chaves criptográficas.
São duas:

  • a chave pública ou public key
  • a chave privada ou private key

É com este par de chaves que seus dados são codificados/decodificados.
Elas são associadas ao seu endereço de email.
A chave pública é a que você compartilha com as pessoas que desejam se comunicar com você, em segurança.
A chave privada, como o nome sugere, é a que só lhe diz respeito. Esta não é para ser compartilhada.
Quando você e outra pessoa trocam suas chaves públicas, podem passar a trocar mensagens privadas entre si.

Por exemplo, para enviar uma mensagem criptografada para João, é necessário que você e ele troquem chaves públicas entre si.
Então você abre o seu email (com suporte a criptografia) e digita sua mensagem para João.
Antes de enviar sua mensagem, clique no botão para criptografá-la.
A mensagem será codificada (ou embaralhada) com a chave pública de João e só ele poderá abri-la, com a chave privada dele.

Como gerar suas chaves criptográficas


Segue o passo a passo para criar seu par de chaves (pública e privada) para usar todo o potencial do GPG
No terminal rode o comando


gpg --gen-key 

gpg (GnuPG) 2.1.18; Copyright (C) 2017 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Note: Use "gpg --full-generate-key" for a full featured key generation dialog.

GnuPG needs to construct a user ID to identify your key.

Real name: 

O seu nome real será pedido, como primeiro requisito.
Em seguida, seu endereço de email.
Seja cuidadosa(o) e verifique se as informações estão corretas.
O gpg irá pedir para entrar uma senha (sua chave privada) — que deve ser o mais complexa possível, envolvendo caracteres alfanuméricos, números, letras alternadamente maiúsculas/minúsculas e símbolos.

O ponto mais fraco do GPG é a senha que você escolhe como chave privada. Sugiro ler sobre o uso do apg, para ajudar a gerar senhas pessoais mais seguras.

Ao confirmar, uma série de bytes aleatórios serão gerados, para compor a sua nova chave pública.
Este processo pode demorar um pouco.
É uma boa ideia manter o sistema ocupado com outras ações: usar o teclado, o mouse, abrir o conteúdo do pendrive etc. Com isto, você ajuda a “gerar ruído” a ser usado para aumentar a complexidade da sua public key.
Ao fim do processo, o gpg irá reportar a criação com sucesso da chave e exibir sua ID de chave pública, sua “impressão digital” (fingerprint), entre outras informações.

Com isto, você está pronto para os próximos passos.
Continue no terminal!

Como exportar sua chave pública

Este procedimento é muito importante.
Sem isto, não é possível às outras pessoas criptografarem mensagens exclusivas para você.
Para exportar sua chave pública, rode o seguinte comando:


gpg --armor --export seu-email > chave_publica.asc

Acima, substitua “seu-email” pelo email usado para criar a chave pública, anteriormente.
Este comando cria o arquivo chave_publica.asc (você pode usar outro nome, se quiser).
Este arquivo contém a sua chave pública. Se quiser ver o seu conteúdo, use o comando cat:


cat chave_publica.asc 

-----BEGIN PGP PUBLIC KEY BLOCK-----

PkoQEWmlxNAEllQWoHwVbXBmgi6bkB945gg6M9QNLujLgfsDY0vAgeMMxTXbAnTR
BxL+w/PikSy44CIGy9EtQ+d27PpcrLkRM/HLABEBAAG0NkVsaWFzIFNlcnJhIFBy
YWNpYW5vIFBlcmVpcmEgPGVsaWFzcHJhY2lhbm9AZ21haWwuY29tPokBVAQTAQgA
PhYhBA2NPdDX0EfJoPcb2v2mn4cCXf7cBQJaB1EEAhsDBQkDwmcABQsJCAcCBhUI
CQoLAgQWAgMBAh4BAheAAAoJEP2mn4cCXf7cLU0H/3xW3ShRh1xXGQ5NLAmAuTOl
6D8ECyQmpxdhTJaiQ2wsosnrRIBi6XNuMj5b3Mhd51pVNlMadKRIWfNs99Yjaci5
S5oQz3oHwlIZ2C/g35utcHcTpShbSBJrm3bgY+dOeXtk2M0cuKPxJ4uyLvSfgknG
x1eqF6OAKhIqHi9NC7sW5YJ3Fq4zXh0gYyVTmLQ5O5LviPOGjn+B9IMg/Ewjk/vL
8rI4w1IRuXL+BAy3RKwv4Cb0qmsu2o0WfzkAEQEAAYkBPAQYAQgAJhYhBA2NPdDX

...

6D8ECyQmpxdhTJaiQ2wsosnrRIBi6XNuMj5b3Mhd51pVNlMadKRIWfNs99Yjaci5
S5oQz3oHwlIZ2C/g35utcHcTpShbSBJrm3bgY+dOeXtk2M0cuKPxJ4uyLvSfgknG
x1eqF6OAKhIqHi9NC7sW5YJ3Fq4zXh0gYyVTmLQ5O5LviPOGjn+B9IMg/Ewjk/vL
qGuITvoL2H2C+I6Z1hxLxnFq4BciiEXpErxTk+A+HbUYSTyCf4LsjZn0vVaYpq7C
sBBsFXTMWZS1osrgvkE9K05g/yEKBYxpFVR98hSKrmxfNSL8YPnjCXQ7vn7eV5K5
-----END PGP PUBLIC KEY BLOCK-----

Se quiser, você pode inserir este conteúdo no rodapé dos seus emails. Ele é para ser compartilhado com todo mundo que deseja te enviar informações criptografadas.
Se achar mais cômodo, apenas envie o arquivo chave_publica.asc para as pessoas.

Outra solução é enviar a sua chave pública para um servidor (public key server), de forma que ela fique catalogada e possa ser acessada por qualquer pessoa no mundo que queira trocar mensagens seguras com você.
Para isto, use a opção --list-keys:


gpg --list-keys 

/home/justincase/.gnupg/pubring.kbx
-----------------------------------
pub   rsa2048 2017-11-23 [SC] [expires: 2019-11-23]
      6750982194C7BB445CE45LL0B092D0E68C08315A
uid           [ultimate] Justin Case 
sub   rsa2048 2017-11-23 [E] [expires: 2019-11-23]

Preste atenção na cadeia de caracteres na segunda linha, logo após a data de expiração. No meu caso, é a seguinte: 6750982194C7GG445CE45FF0B092D0E68C08315A.
Esta é a identificação primária (primary ID), associada à chave que será exportada.
Agora rode o seguinte comando:


gpg --keyserver pgp.mit.edu --send-keys 6750982194C7CC445CE45BB0B092D0E68C08315A

gpg: sending key 2194C7GG445CE45FF0 to hkp://pgp.mit.edu

Você já deve ter deduzido que o comando acima envia sua chave pública para armazenamento em um dos servidores do MIT. Lá, ela poderá ser acessada e baixada por qualquer um.

Como acessar a chave pública de uma pessoa

Depois de exportada, sua public key poderá ser vista e usada para criar documentos criptografados para você, a partir do servidor do MIT:

https://pgp.mit.edu/

Se a pessoa souber o seu nome ou o seu email, ela pode fazer uma busca no servidor, conforme a imagem abaixo:
elias praciano chave publica no servidor do MIT
Resultado da busca:
mit public key

Como importar a chave pública de alguém

No caminho inverso, se você quiser enviar um email com conteúdo criptografado para alguém, vai precisar da chave pública desta pessoa.
Você pode obter a chave diretamente da pessoa ou de um servidor público.
De posse da chave, é necessário “importá-la”. Veja como fazer isso.
Vamos supor que a chave esteja dentro do arquivo ‘fulano_public_key.asc’. Use ‘--import‘:


gpg --import ~/.PUBKEYS/fulano_public_key.asc

De acordo com a configuração de cada aplicativo que usa o GPG, o seu sistema vai saber aonde encontrar as chaves públicas que você tiver, aí.
Ou seja, se estiver usando o plugin Enigmail, o cliente de email Thunderbird fará uso intuitivo e automático da criptografia, quando requerido.

referências

https://pt.wikipedia.org/wiki/GNU_Privacy_Guard.

https://www.linux.com/learn/how-send-and-receive-encrypted-data-gnupg.

Como gravar arquivos criptografados com o Vim

O editor de textos Vim tem suporte a diversos métodos de criptografia.
É possível guardar código ou qualquer outro texto (como senhas ou outras informações sensíveis) longe de olhares curiosos.

Uma vez criptografado, o texto não pode mais ser lido, sem a chave correta.
Tenha isto em mente, antes de usar este tipo de segurança em um arquivo — pra não ficar “trancado do lado de fora”.
Você pode enviar o texto codificado para outras pessoas, que usem o Vim no Windows ou no MacOS.
Se elas tiverem a senha para descriptografar, poderão ler o conteúdo da mensagem.

Para ativar a criptografia, a qualquer momento, use o comando ‘:X’.
Forneça a senha e a confirmação.
A criptografia será aplicada na hora de gravar o arquivo (:w).

criptografia no vim

É possível já abrir um arquivo com a criptografia ativada:

vim -x meu-arquivo-secreto.txt

Após este comando, o Vim iniciará pedindo uma nova chave de segurança para o seu arquivo.
Na próxima vez em que for abrir o arquivo, não precisa usar ‘-x’:

vim meu-arquivo-secreto.txt

Cuidados com a segurança criptográfica no Vim

Além de não perder a sua senha e usar, também, uma senha decente, há outros aspectos a levar em consideração, caso você se preocupe realmente com a sua segurança.
Quando tentar abrir o seu arquivo, só conseguirá ver um monte de caracteres desconexos.
texto criptografado

Tanto o texto contido no swap, quanto o do arquivo undo (usado para desfazer ações dentro do editor), são guardados sob criptografia.

Talvez não seja paranoia, mas a gente tem que falar sobre isso…
A codificação dos arquivos de swap e do undo são feitas bloco a bloco — fator que pode ajudar a reduzir o tempo necessário para um invasor quebrar sua senha.
Portanto, se quiser segurança extra, desative o swap e o undo (desfazer) para o arquivo.
Para desativar o recurso de swapping do Vim, entre no modo de comando (tecla ESC) e execute o seguinte:

:noswapfile

O comando abaixo, inicia a edição do arquivo ‘meus_segredos.txt’, com o swap desativado:

:noswapfile edit meus_segredos

Use o que achar melhor.
O lado ruim desta ação é que você pode perder texto, que ainda não tenha sido gravado, caso ocorra alguma queda de energia ou travamento no sistema operacional.
Já o arquivo undo pode ser desativado sem maiores problemas:

:set noundofile

Veja outros procedimentos adicionais (opcionais) de segurança que você pode adotar.
Para desativar também o backup automático:

:set nobackup

Para desativar o arquivo temporário:

:set nowritebackup

Para desativar a criptografia de um arquivo use o comando:

:set key=

Você também pode desativar o viminfo, que oferece informações sobre a sessão atual:

:set viminfo=

Quais métodos de criptografia estão disponíveis para o Vim

Você pode usar a opção ‘cryptmethod‘ (ou cm) para selecionar o tipo de criptografia a ser usado:

  1. zip: método mais fraco, porém rápido e mais difundido. Tem maior compatibilidade.
  2. blowfish: método mais seguro que o anterior.
  3. blowfish2: método atualizado e com segurança média para forte. É recomendado pela documentação oficial do Vim.

Para escolher o método de criptografia blowfish2, use o seguinte comando no Vim:

:setlocal cm=blowfish2

Você precisa fazer esta opção antes de começar a escrever no arquivo.
Quando você for abrir um arquivo, o Vim detecta automaticamente o método usado para criptografá-lo.
Você pode alterar o cryptmethod, ao abrir um arquivo, antes de começar editar.
Para definir permanentemente o método ou qualquer outro ajuste de que falamos neste post, edite o arquivo de configuração vimrc.

Como saber se a minha versão do Vim tem suporte a criptografia

Se você efetuou a instalação do aplicativo a partir dos repositórios oficiais da sua distro, não há muito o que fazer. E o suporte provavelmente já estará lá.
Alguns usuários preferem baixar e compilar o código fonte — entre outras coisas, isto lhes dá acesso a uma versão mais atual do aplicativo.
Neste caso, pode ser necessário compilar com a opção ‘cryptv’ selecionada.
Use a opção ‘–version’, combinada ao comando grep, para saber se a sua versão tem suporte a criptografia:


vim --version | grep crypt

Se o +cryptv estiver presente, então está tudo ok com a sua versão.

vim version

Referências

Como considerações finais, tenha cuidado para não começar a editar (e gravar em seguida) um arquivo criptografado, que você não descodificou adequadamente. Todo o conteúdo do arquivo será perdido, caso você o faça.
Lembre-se que o texto armazenado na memória não é criptografado.
Isto significa que o administrador do seu sistema, tecnicamente, poderá ler o seu conteúdo, enquanto você o estiver editando.
O manual do Vim também informa que, em uma máquina antiga (32 bit) é possível quebrar uma senha de 6 caracteres em menos de 1 dia, por força bruta, no caso de usar o cryptmethod zip.
Você pode iniciar o Vim com criptografia ativada e o swap desligado, com as seguintes opções:


vim -xn meuarquivo.txt

Leia mais:
https://linux-audit.com/using-encrypted-documents-with-vim/.