Como criptografar texto sem formatação com uma senha no Linux?

2

http://www.unreadable.de/ pega uma mensagem de texto sem formatação + entrada de senha e criptografa o texto sem formatação. Eu quero fazer isso localmente no Linux. Existe um comando de uma linha que computará uma versão criptografada da minha mensagem para que eu possa enviar um email?

Meu objetivo é que o destinatário seja capaz de decodificar a mensagem com nada além da senha.

Para ser claro, não tenho idéia do que são os vários esquemas de criptografia (AES, openSSL, RSA, GPG, salt, base64, DES, CBC, reentrada) e não estou realmente interessado em um projeto de pesquisa. Eu só quero um comando de uma linha como

encrypt message.txt -password=secret.txt

que seria decodificado como

decrypt message.txt -password=secret.txt


(Sim, eu usei o google primeiro. Https://encrypted.google.com/search?q=encrypt+plain+text+files+with+password+linux não está me mostrando nada que eu entenda / que possa usar.)

isomorfismos
fonte
Quão forte criptografia você deseja? A solução mais universal seria anexar um arquivo ZIP protegido por senha: não a criptografia mais forte, mas qualquer pessoa com a senha poderá lê-la, independentemente do cliente de correio ou do sistema operacional. Se for apenas um grupo seleto de pessoas para quem você deseja enviar e-mails criptografados e todos usarem clientes de e-mail baseados em Mozilla, o complemento EnigMail [ enigmail.net/home/index.php] oferece o mais fácil solução para remetente e destinatário usar.
AFH 24/10
@ AFH Essa é uma boa ideia!
Isomorphismes

Respostas:

2

O OpenSSL funcionará. De Como posso criptografar uma string no shell? :

# generate a 2048-bit RSA key and store it in key.txt
openssl genrsa -out key.txt 2048

# encrypt "hello world" using the RSA key in key.txt
echo "hello world" | openssl rsautl -inkey key.txt -encrypt >output.bin

# decrypt the message and output to stdout
openssl rsautl -inkey key.txt -decrypt <output.bin

Para uma abordagem mais simples, mas menos segura, tente crypt: http://man7.org/linux/man-pages/man3/crypt.3.html

Joe Mornin
fonte
Obrigado José! Aprecio muito a pronta resposta.
Isomorphismes
2

A página de openssl(1)manual fornece alguns exemplos de como fazer isso:

 ENC EXAMPLES
      Just base64 encode a binary file:

            $ openssl base64 -in file.bin -out file.b64

      Decode the same file:

            $ openssl base64 -d -in file.b64 -out file.bin

      Encrypt a file using triple DES in CBC mode using a prompted password:

            $ openssl des3 -salt -in file.txt -out file.des3

      Decrypt a file using a supplied password:

            $ openssl des3 -d -in file.des3 -out file.txt -k mypassword

      Encrypt a file then base64 encode it (so it can be sent via mail for
      example) using Blowfish in CBC mode:

            $ openssl bf -a -salt -in file.txt -out file.bf

      Base64 decode a file then decrypt it:

            $ openssl bf -d -a -in file.bf -out file.txt

Quanto à questão em questão, o esquema de criptografia específico é importante apenas na medida em que ambos os lados devem, é claro, usar o mesmo. Se você não sabe qual usar, o Blowfish é provavelmente uma escolha sensata:

$ openssl bf -a -salt -in file.txt -out file.bf
$ openssl bf -d -a -in file.bf -out file.txt

Suponho que você saiba que criptografar algo sem saber pelo menos um mínimo sobre o sistema de criptografia usado é ... provavelmente imprudente. Pessoalmente, acho que um sistema como o GPG é mais adequado para sua tarefa, mas requer um pouco mais de configuração, portanto tecnicamente não se encaixa na sua pergunta.

Vucar Timnärakrul
fonte
Por que alguém rebaixou isso? Está errado?
Isomorphismes
@ isomorphismes Eu não sei, mas mais importante, por que você não votou? (Supondo que isso seja útil para você) #
slhck 24/10
@ slhck Ainda estou tentando executar e entender as duas respostas.
Isomorphismes