Odpowiedzi:
Myślę, że to byłby gpg. Składnia plików i katalogów jest jednak inna.
W przypadku plików (pliki wyjściowe nazwa pliku gpg):
gpg -c filename
Dla reżyserów:
gpg-zip -c -o file.gpg dirname
W przypadku plików (pliki wyjściowe nazwa pliku gpg):
gpg filename.gpg
Dla reżyserów:
gpg-zip -d file.gpg
Edycja: Poprawione, ponieważ @ Mk12 wskazywał na błąd kompresji / dekompresji w przypadku szyfrowania / deszyfrowania.
openssl des3 -salt -in unencrypted-data.tar -out encrypted-data.tar.des3
Odszyfruj:
openssl des3 -d -salt -in encrypted-data.tar.des3 -out unencrypted-data.tar
aescrypt -e -p password file.jpg
Odszyfruj:
aescrypt -d -p password file.jpg.aes
To jest moja metoda z wykorzystaniem openssl i tar
Otwórz zaszyfrowany katalog:
openssl enc -aes-256-cbc -d -in ~/vault.tar.gz.dat | tar xz; thunar ~/vault
Zablokuj zaszyfrowany katalog:
tar cz vault/ | openssl enc -aes-256-cbc -out ~/vault.tar.gz.dat; rm -r ~/vault
rm -r
nie usuwa danych; po prostu to rozłącza. Musisz użyć czegoś takiego, srm
aby usunąć dane z dysku.
Ja osobiście używam aescrypt
głównie.
aescrypt -e "File"
i odszyfruj:
aescrypt -d "File"
Lub jest mcrypt:
mcrypt "File"
i odszyfruj:
mcrypt -d "File"
A w przypadku katalogu sugeruję tar'owanie katalogu i szyfrowanie go. Następnie po odszyfrowaniu rozpakuj plik:
tar -cf "Dir.tar" Dir/
i do untar
tar -xf "Dir.tar"
Jeśli najwyższy poziom bezpieczeństwa nie jest dużym problemem (strona podręcznika zip mówi, że algorytm szyfrowania używany przez narzędzia zipfile jest słabszy niż PGP), wolę zip i rozpakuj. To zamyka moje katalogi i szyfruje w tym samym czasie. Wolę zip, ponieważ możesz mieć rodzaj przyrostowego zipu i szyfrowania zamiast zipowania i szyfrowania całego ponownie. Jest to szczególnie przydatne, gdy rozmiary katalogów są bardzo duże.
ZIP i szyfruj
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
Rozpakuj i odszyfruj
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
Może nie być popularny, ale pracowałem nad projektem szyfrowania / deszyfrowania czegokolwiek przy minimalnej interakcji użytkownika za pomocą kilku skryptów Bash. Oto link do postu Hak5, który wyjaśnia konfigurację do testowania.
Poniżej omówiono logikę kodu źródłowego, co dzieje się w przypadku każdego rodzaju danych, które mogą być obsługiwane przez powyższy powiązany projekt
_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}"
${_mapped_input}
Zmienna jest ustawiana przez czytanie mkfifo
o nazwie pliku i ustawienie rury niczego czytać do tablicy z mapfile -t _lines < "${_file_to_map}"
którą później rozbudowany i zapisane do ${_mapped_input}
... nieco zawiłe ale pozwala na funkcje eksperymentalne działania na poszczególnych liniach. Końcowe wyniki to koniec z katalogiem do przechowywania zaszyfrowanych plików lub skompresowanych katalogów oraz plikiem z różnymi pakietami zaszyfrowanych danych.
Deszyfrowanie plików lub skompresowanych katalogów jest wystarczająco proste na urządzeniu z kluczem prywatnym związanym z kluczem publicznym używanym do szyfrowania. Ale odszyfrowanie wielu zaszyfrowanych pakietów danych było nieco trudniejsze, więc istnieje skrypt o nazwie Paranoid_Pipes_Scenario_One.sh
w powyższym projekcie napisany, aby zrobić to wszystko przy minimalnej interakcji użytkownika. Poniżej znajduje się uproszczona wersja kodu źródłowego skryptów pomocniczych dla normalnie zaszyfrowanych plików i katalogów.
_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}"
Jeśli chcesz zobaczyć, jakie inne funkcje działają i zostały przetestowane w sposób publicznie weryfikowalny, zapoznaj się z dziennikami kompilacji Travis-CI (szczególnie pod koniec dzienników), a znajdziesz inne wymyślne rzeczy, nad którymi pracujemy w związku do szyfrowania i deszyfrowania prawie dowolnych danych.
Sam tworzy klucze jednorazowego pada
java -cp FinalCrypt.jar rdj/CLUI --encrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
Hasło:
Rozpoczęto szyfrowanie 4 plików całkowicie 249,7 MiB
🔒 "/home/ron/My-Test-Directory/Video/Eerebegraafplaats.mp4.bit" 🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256 "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA" -> "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA" 58,4% 🔒 „/ home / ron / My-test-katalog / video / zamek 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-katalog / Brother dsmobile 700d_uke_usr.pdf.bit”🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "8D718D2F29EF05BEB347D6920B3BFF5269685421B428E8D3ADFF569F67A716E0" -> "88A98D893B6D1E540039D3E9BC0B0C19B46A10A209967F3235D5DEEBF073EC1E" 100,0%
Zakończono szyfrowanie plików [4/4] całkowicie [249,7 MiB / 249,7 MiB] w 7,3 sekundy (średnio: 34,2 MiB / s)
java -cp FinalCrypt.jar rdj/CLUI --decrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
Hasło:
Rozpoczęto odszyfrowywanie 4 plików całkowicie 124,9 MiB
🔓 "/home/ron/My-Test-Directory/Video/castle-waxjo-sweden.mp4" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256 "323618B7ED12A1F92D8FFB306CEEC6DFFED6862B7BF3922902E8AED29DF57ECE" -> "8AEFC9744143451F32B82BBAC6A4291BC76C747A6DA1EA024702AA51A966F810" 32,8% 🔓 „/ home / ron / My-test-katalog / video / Eerebegraafplaats.mp4" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA" -> "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA" 91,2% 🔓 „/ home / ron / My-test -Directory / Brother dsmobile 700d_uke_usr.pdf "🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256:" 88A98D893B6D1E540039D3E9BC0B0C19B46A10A209967F3235D5DEEBF073EC1E "->" 8D718B5E5B5E5BEF5E5BEF5E5B5E5BEF5EFB/home/ron/My-Test-Directory/Brother_HL-2170W-usaeng_quick-setup.pdf”🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256 "266CE42027F891DECF109D7A9DD69E8B42C0E43D35E952BEB89F7C7EA2DBE92C" -> "0858D2D5A8CF118D40B517CD4A1F8D31D9F5A21221F75BD764B5E363FC1431FE" 100,0%
Zakończono całkowite odszyfrowanie [4/4] plików [124,9 MiB / 124,9 MiB] w 3,4 sekundy (średnio: 36,3 MiB / s)
Próbuję tylko pomóc społeczności ...