https://emn178.github.io/online-tools/md5.html
Diferença para encoding.
Não permite computadores intermediários à saber o conteúdo da mensagem.
Verifica que tudo o que eu te enviei chegou sem falta.
Atesta que minha mensagem fui eu quem mandei.
Você de posse da mensagem pode provar que fui eu quem escrevi.
Não adianta eu mudar de idéia.
- Um orgão certificador assina a chave pública
- Teia de confiança
- Chave pública do CA
- O órgão certificador “Assina” a sua chave pública
Ou seja, eu entrego para você minha chave pública junto com o hash gerado pela chave privada do órgão certificador.
Assim você pode pegar minha chave pública, a informação do órgão certificador e comparar as duas.
Tanto quanto você acredite no órgão certificador.
GNU Privacy Guard
PGP
RFC 4880
Troca de chaves:
- entre pessoas
- servidores de chaves
gpg --version
gpg --symmetric document.txt
gpg --decrypt document.txt.gpg
Também é possível gerar com `gpg -c filename` e descriptografar com `gpg filename.gpg`, repare que `gpg -d filename.gpg` joga a saída para o stdout.
Também é possível ser muito mais específico:
gpg --symmetric --cipher-algo AES256 --output encrypted_file filename
Sobre o agent e senha cacheada:
Pode-se ver o agente gpg rodando com o `ps aux | grep gpg`.
gpg-connect-agent “getpinentry” /bye
(Retorna pinetry-curses, pinentry-gtk-2, …)
Para reiniciar o agent. gpg-connect-agent reloadagent /bye
Para apagar a senha cacheada no agent. gpg-connect-agent “CLEAR_PASSPHRASE” /bye
gpg --help | grep genera
gpg --gen-key
gpg --full-generate-key
gpg --list-keys
gpg --list-secret-keys
gpg --search-keys PESQUISA
gpg --keyserver keyserver.ubuntu.com --search-keys richard stallman
gpg --keyserver pgp.mit.edu --search-keys richard stallman
gpg --recv-keys ID_CHAVE
gpg --recv-keys ID_CHAVE --keyserver keyserver.ubuntu.com
gpg --refresh-keys
gpg --delete-keys
gpg --delete-secret-keys
gpg --delete-secret-and-public-keys
gpg --send-keys --keyserver pgp.mit.edu ID_DA_CHAVE
Par assinar:
gpg --sign ARQUIVO
gpg --sign --armor ARQUIVO
gpg --sign -a ARQUIVO
Para verificar a autencidade:
gpg --verify ARQUIVO.gpg
gpg --verify ARQUIVO.asc
Geramos um arquivo com uma mensagem secrega
echo "Essa é uma mensagem muito secreta!" >> msg.txt
Agora de posse da chave PÚBLICA do recipiente, importada em nosso chaveiro, rodamos o comando:
gpg --recipient RECIPIENT_EMAIL --encrypt FILENAME
Somente a pessoa que detém a chave PRIVADA pode descriptografar um arquivo.
Dessa forma, supondo que alguém criptografou um arquivo com sua chave PUBLICA, enviou para você, você pode então descriptografar:
gpg --decrypt --output FILENAME FILENAME.gpg
Tudo o que é seu fica em ~/.gnupg, mas não é uma boa idéia copiar arquivos diretamente dali.
O melhor é usar o comando de exportação para ter certeza de que você está enviando a chave pública.
Binário:
gpg --output my_public_key_filename.gpg --export USER_EMAIL
Armoured version:
gpg --armor --export USER_EMAIL
Um fluxo normal envolveria importar a chave pública que a pessoa te enviou ou do servidor.
Ter um contato pessoal com a pessoa para ela confirmar a fingerprint da chave pública.
Conferir com `gpg -k` tanto na sua máquina quanto na da pessoa que é a mesma.
E agora você pode “assinar” essa chave como confiável.
gpg --sign-key OTHER_PERSON_EMAIL
Também é possível inicializar em modo interativo com
gpg --edit-key OTHER_PERSON_EMAIL
E navegar por comandos, exemplo:
fpr
sign
check
save
[fn:1] All pictures created by Prof. Paulo Kretcheu