Respostas:
Eu acho que seria gpg. A sintaxe para arquivos e diretórios é diferente.
Para arquivos (outputs filename.gpg):
gpg -c filename
Para dirs:
gpg-zip -c -o file.gpg dirname
Para arquivos (outputs filename.gpg):
gpg filename.gpg
Para dirs:
gpg-zip -d file.gpg
Editar: Corrigido como @ Mk12 apontou o erro de compressão / descompressão para criptografia / descriptografia.
openssl des3 -salt -in unencrypted-data.tar -out encrypted-data.tar.des3
Descriptografar:
openssl des3 -d -salt -in encrypted-data.tar.des3 -out unencrypted-data.tar
aescrypt -e -p password file.jpg
Descriptografar:
aescrypt -d -p password file.jpg.aes
Este é o meu método usando openssl e tar
Abra o diretório criptografado:
openssl enc -aes-256-cbc -d -in ~/vault.tar.gz.dat | tar xz; thunar ~/vault
Bloquear diretório criptografado:
tar cz vault/ | openssl enc -aes-256-cbc -out ~/vault.tar.gz.dat; rm -r ~/vault
rm -r
não exclui dados; apenas o desvincula. Você precisará usar algo como srm
para apagar os dados do disco.
Eu pessoalmente uso aescrypt
principalmente.
aescrypt -e "File"
e descriptografar:
aescrypt -d "File"
Ou há mcrypt:
mcrypt "File"
e descriptografar:
mcrypt -d "File"
E para um diretório, sugiro tar'ing o dir, e criptografar isso. Depois de descriptografar, basta descompactar o arquivo:
tar -cf "Dir.tar" Dir/
e desvendar
tar -xf "Dir.tar"
Se o nível mais alto de segurança não for um grande problema (a página de manual do zip diz que o algoritmo de criptografia usado pelos utilitários zipfile é mais fraco que o PGP), prefiro zip e descompacte. Ele fecha meus diretórios e criptografa ao mesmo tempo. Eu prefiro o zip porque você pode ter um tipo de zip incremental e criptografar em vez de compactar e criptografar tudo novamente. Especialmente, é útil quando os tamanhos de diretório são muito grandes.
ZIP e criptografar
zip file.zip file
zip -r directory.zip directory
zip --encrypt file.zip.enc file # prompt for password
zip --encrypt -r directory.zip.enc directory # prompt for password
Descompacte e descriptografe
unzip directory.zip.enc #Beware if any directory is present with the same name as the zipped file, then it would be overwritten. Hence I normally send the contents to another directory.
unzip directory.zip.enc -d directory-new # prompts for password
Pode não ser popular, mas estou trabalhando em um projeto para criptografar / descriptografar qualquer coisa com interação mínima do usuário por meio do uso de alguns scripts Bash. Aqui está um link para o post do Hak5 que explica a configuração para o teste.
Detalhando as lógicas do código-fonte, veja o que acontece para cada tipo de dado que pode ser tratado pelo projeto vinculado acima
_gnupg_encrypt_opts="--always-trust --armor --batch --encrypt --recipient user@host.domain"
_bulk_output_dir="some_path"
_arbitrary_parsed_output="some_file.gpg"
## If file make encrypted time stamped file with similar name
_path_to_file="${_mapped_input}"
_path_to_output="${_bulk_output_dir}/$(date -u +%s)_${_path_to_file##*/}.gpg"
cat "${_path_to_file}" | gpg ${gpg _gnupg_encrypt_opts} > "${_path_to_output}"
## else if directory make compressed encrypted time stamped output file
_path_to_dir="${_mapped_input}"
_path_to_output="${_bulk_output_dir}/$(date -u +%s)_dir.tgz.gpg
tar -cz - "${_path_to_dir}" | gpg ${gpg _gnupg_encrypt_opts} > "${_path_to_output}"
## else if something else append encrypted output to file
_path_to_output="${_arbitrary_parsed_output}"
cat <<<"${_mapped_input}" | gpg ${gpg _gnupg_encrypt_opts} >> "${_path_to_output}"
A ${_mapped_input}
variável é configurada lendo um mkfifo
arquivo pipe nomeado e configurando qualquer coisa lida para uma matriz com a mapfile -t _lines < "${_file_to_map}"
qual é expandida e salva posteriormente ${_mapped_input}
... um pouco complicada, mas permite que recursos experimentais atuem em linhas individuais. Resultados finais: você terá um diretório para armazenar arquivos criptografados ou diretórios compactados e um arquivo com vários pacotes de dados criptografados.
A descriptografia de arquivos ou diretórios compactados é bastante simples em um dispositivo com uma chave privada relacionada à chave pública usada para criptografia. Porém, a descriptografia de vários pacotes de dados criptografados com armaduras foi um pouco mais difícil; portanto, um script nomeado Paranoid_Pipes_Scenario_One.sh
no projeto acima foi escrito para fazer tudo isso com uma interação mínima do usuário. Abaixo está uma versão simplificada do código fonte dos scripts auxiliares para arquivos e diretórios criptografados normais.
_gnupg_decrypt_opts="--quiet --no-tty --always-trust --passphrase-fd 9 --decrypt"
_decryption_output_dir="some_directory"
# if file
exec 9<"${_pass[@]}"
_path_to_file="${_mapped_input}"
_output_name="${_path_to_file##*/}"
_output_name="${_output_name%.gpg*}"
cat "${_path_to_file}" | gpg ${_gnupg_decrypt_opts} > "${_decryption_output_dir}/${_output_name}"
# else if compressed file
_path_to_file="${_mapped_input}"
_output_name="${_path_to_file##*/}"
_output_name="${_output_name%.tgz.gpg*}"
mkdir -p "${_decryption_output_dir}/${_output_name}"
_old_pwd="${PWD}"
cd "${_decryption_output_dir}/${_output_name}"
cat "${_path_to_file}" | gpg ${_gnupg_decrypt_opts} | tar -xzf -
cd "${_old_pwd}"
# else if non-compressed directory
_path_to_file="${_mapped_input}"
_output_name="${_path_to_file##*/}"
_output_name="${_output_name%.tar.gpg*}"
mkdir -p "${_decryption_output_dir}/${_output_name}"
_old_pwd="${PWD}"
cd "${_decryption_output_dir}/${_output_name}"
cat "${_path_to_file}" | gpg ${_gnupg_decrypt_opts} | tar -xf -
cd "${_old_pwd}"
Se você deseja ver quais outros recursos estão funcionando e testados de uma forma publicamente verificável, verifique os logs de construção do Travis-CI (especialmente perto do final dos logs) e verá que há outras coisas interessantes sendo trabalhadas em relação para criptografia e descriptografia de quase todos os dados.
Ele cria as teclas One-Time Pad por si só
java -cp FinalCrypt.jar rdj/CLUI --encrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
Senha:
Começou a criptografar 4 arquivos totalmente 249,7 MiB
🔒 "/home/ron/My-Test-Directory/Video/Eerebegraafplaats.mp4.bit" 🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA" -> "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA" 58,4% 🔒 "/ home / ron / My-Test-Directório / Vídeo / castelo-waxjo-sweden.mp4.bit "🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "8AEFC9744143451F32B82BBAC6A4291BC76C747A6DA1EA024702AA51A966F810" -> "323618B7ED12A1F92D8FFB306CEEC6DFFED6862B7BF3922902E8AED29DF57ECE" 91,2% 🔒" /home/ron/My-Test-Directory/Brother_HL-2170W-usaeng_quick-setup.pdf.bit" 🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "0858D2D5A8CF118D40B517CD4A1F8D31D9F5A21221F75BD764B5E363FC1431FE" -> "266CE42027F891DECF109D7A9DD69E8B42C0E43D35E952BEB89F7C7EA2DBE92C" 95,7% 🔒 "/ Home / ron / My-Test-Directório / Brother DSmobile 700d_uke_usr.pdf.bit" 🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "8D718D2F29EF05BEB347D6920B3BFF5269685421B428E8D3ADFF569F67A716E0" -> "88A98D893B6D1E540039D3E9BC0B0C19B46A10A209967F3235D5DEEBF073EC1E" 100,0%
Criptografia finalizada [4/4] de arquivos totalmente [249,7 MiB / 249,7 MiB] em 7,3 segundos (média: 34,2 MiB / s)
java -cp FinalCrypt.jar rdj/CLUI --decrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
Senha:
Começou a descriptografar 4 arquivos totalmente 124,9 MiB
🔓 "/home/ron/My-Test-Directory/Video/castle-waxjo-sweden.mp4" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "323618B7ED12A1F92D8FFB306CEEC6DFFED6862B7BF3922902E8AED29DF57ECE" -> "8AEFC9744143451F32B82BBAC6A4291BC76C747A6DA1EA024702AA51A966F810" 32,8% 🔓 "/ home / ron / My-Test-Directório / Vídeo / Eerebegraafplaats.mp4" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA" -> "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA" 91,2% 🔓 "/ home / ron / My-Test -Directory / Brother dsmobile 700d_uke_usr.pdf "✔ ✔ 🔓✔ ℄✔ SHA-256:" 88A98D893B6D1E540039D3E9BC0B0C19B46A10A209967F3235D5DEEBF073EC1E5 - 95 "/home/ron/My-Test-Directory/Brother_HL-2170W-usaeng_quick-setup.pdf" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "266CE42027F891DECF109D7A9DD69E8B42C0E43D35E952BEB89F7C7EA2DBE92C" -> "0858D2D5A8CF118D40B517CD4A1F8D31D9F5A21221F75BD764B5E363FC1431FE" 100,0%
Descriptografada finalizada [4/4] arquivos totalmente [124,9 MiB / 124,9 MiB] em 3,4 segundos (média: 36,3 MiB / s)
Apenas tentando ajudar a comunidade ...