Risposte:
Penso che sarebbe gpg. La sintassi per file e directory differisce però.
Per i file (output nomefile.gpg):
gpg -c filename
Per dir:
gpg-zip -c -o file.gpg dirname
Per i file (output nomefile.gpg):
gpg filename.gpg
Per dir:
gpg-zip -d file.gpg
Modifica: corretto come @ Mk12 ha sottolineato l'errore di compressione / decompressione per crittografia / decrittografia.
openssl des3 -salt -in unencrypted-data.tar -out encrypted-data.tar.des3
Decrypt:
openssl des3 -d -salt -in encrypted-data.tar.des3 -out unencrypted-data.tar
aescrypt -e -p password file.jpg
Decrypt:
aescrypt -d -p password file.jpg.aes
Questo è il mio metodo usando openssl e tar
Apri directory crittografata:
openssl enc -aes-256-cbc -d -in ~/vault.tar.gz.dat | tar xz; thunar ~/vault
Blocca directory crittografata:
tar cz vault/ | openssl enc -aes-256-cbc -out ~/vault.tar.gz.dat; rm -r ~/vault
rm -r
non elimina i dati; semplicemente lo scollega. Dovrai usare qualcosa di simile srm
per cancellare i dati dal disco.
Personalmente uso aescrypt
principalmente.
aescrypt -e "File"
e decifrare:
aescrypt -d "File"
O c'è mcrypt:
mcrypt "File"
e decifrare:
mcrypt -d "File"
E per una directory, suggerisco di tarare la directory e crittografarla. Quindi dopo la decodifica, basta decomprimere il file:
tar -cf "Dir.tar" Dir/
e di sparare
tar -xf "Dir.tar"
Se il massimo livello di sicurezza non è un grosso problema (la pagina man di zip dice che l'algoritmo di crittografia usato dalle utility zipfile è più debole di PGP), allora preferisco zip e unzip. Comprime le mie directory e crittografa allo stesso tempo. Preferisco zip perché puoi avere una sorta di zip incrementale e crittografare invece di zippare e crittografare di nuovo il tutto. Soprattutto è utile quando le dimensioni della directory sono molto grandi.
ZIP e crittografare
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
Decomprimi e decodifica
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
Potrebbe non essere popolare, ma ho lavorato a un progetto per crittografare / decrittografare qualsiasi cosa con una minima interazione dell'utente attraverso l'uso di alcuni script Bash. Ecco un link al post di Hak5 che spiega la configurazione per i test.
Analizzando le logiche del codice sorgente, ecco cosa succede per ogni tipo di dati che possono essere gestiti dal progetto collegato sopra
_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}"
La ${_mapped_input}
variabile viene impostata leggendo un mkfifo
file di pipe denominato e impostando qualsiasi cosa letto in un array con il mapfile -t _lines < "${_file_to_map}"
quale viene successivamente espanso e salvato in un ${_mapped_input}
... un po 'contorto, ma consente alle funzioni sperimentali di agire su singole righe. Risultati finali si finisce con una directory per contenere file crittografati o directory compresse e un file con vari pacchetti di dati crittografati.
La decrittografia per file o directory compresse è abbastanza semplice su un dispositivo con una chiave privata correlata alla chiave pubblica utilizzata per la crittografia. Ma la decrittografia di pacchetti di dati crittografati con più armature era un po 'più dura, quindi c'è uno script chiamato Paranoid_Pipes_Scenario_One.sh
nel progetto sopra scritto per fare tutto con un'interazione minima da parte dell'utente. Di seguito è riportata una versione semplificata del codice sorgente degli script helper per i normali file e directory crittografati.
_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 desideri vedere quali altre funzioni stanno funzionando e testando in modo verificabile pubblicamente, dai un'occhiata ai registri di build di Travis-CI (specialmente vicino alla fine dei registri) scoprirai che ci sono altre cose fantasiose su cui si sta lavorando in relazione alla crittografia e alla decrittografia di quasi tutti i dati.
Crea i tasti One-Time Pad da solo
java -cp FinalCrypt.jar rdj/CLUI --encrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
Parola d'ordine:
Iniziato a crittografare 4 file per un totale di 249,7 MiB
🔒 "/home/ron/My-Test-Directory/Video/Eerebegraafplaats.mp4.bit" 🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA" -> "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA" 58,4% 🔒 "/ home / ron / My-test-Directory / Video / castello-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-directory / Brother DSmobile 700d_uke_usr.pdf.bit" 🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "8D718D2F29EF05BEB347D6920B3BFF5269685421B428E8D3ADFF569F67A716E0" -> "88A98D893B6D1E540039D3E9BC0B0C19B46A10A209967F3235D5DEEBF073EC1E" 100,0%
File di crittografia [4/4] terminati totalmente [249,7 MiB / 249,7 MiB] in 7,3 secondi (media: 34,2 MiB / s)
java -cp FinalCrypt.jar rdj/CLUI --decrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
Parola d'ordine:
Iniziato a decodificare 4 file per un totale di 124,9 MiB
🔓 "/home/ron/My-Test-Directory/Video/castle-waxjo-sweden.mp4" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "323618B7ED12A1F92D8FFB306CEEC6DFFED6862B7BF3922902E8AED29DF57ECE" -> "8AEFC9744143451F32B82BBAC6A4291BC76C747A6DA1EA024702AA51A966F810" 32,8% 🔓 "/ home / ron / My-test-Directory / Video / Eerebegraafplaats.mp4" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA" -> "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA" 91,2% 🔓 "/ home / ron / My-test -Directory / Brother dsmobile 700d_uke_usr.pdf "🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256:" 88A98D893B6D1E540039D3E9BC0B0C19B46A10A209967F3235D5DEEBF073ECB05EF05295FB/home/ron/My-Test-Directory/Brother_HL-2170W-usaeng_quick-setup.pdf" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "266CE42027F891DECF109D7A9DD69E8B42C0E43D35E952BEB89F7C7EA2DBE92C" -> "0858D2D5A8CF118D40B517CD4A1F8D31D9F5A21221F75BD764B5E363FC1431FE" 100,0%
Decifratura completa dei file [4/4] in totale [124,9 MiB / 124,9 MiB] in 3,4 secondi (media: 36,3 MiB / s)
Sto solo cercando di aiutare la community ...