답변:
나는 그것이 gpg 일 것이라고 생각합니다. 파일과 디렉토리의 구문은 다릅니다.
파일의 경우 (outputs filename.gpg) :
gpg -c filename
dirs의 경우 :
gpg-zip -c -o file.gpg dirname
파일의 경우 (outputs filename.gpg) :
gpg filename.gpg
dirs의 경우 :
gpg-zip -d file.gpg
편집 : @ Mk12가 암호화 / 암호 해독에 대한 압축 / 압축 해제의 실수를 지적했을 때 수정되었습니다.
openssl des3 -salt -in unencrypted-data.tar -out encrypted-data.tar.des3
해독 :
openssl des3 -d -salt -in encrypted-data.tar.des3 -out unencrypted-data.tar
aescrypt -e -p password file.jpg
해독 :
aescrypt -d -p password file.jpg.aes
이것은 openssl과 tar를 사용하는 방법입니다.
암호화 된 디렉토리를 엽니 다.
openssl enc -aes-256-cbc -d -in ~/vault.tar.gz.dat | tar xz; thunar ~/vault
암호화 된 디렉토리 잠금 :
tar cz vault/ | openssl enc -aes-256-cbc -out ~/vault.tar.gz.dat; rm -r ~/vault
rm -r
데이터를 삭제하지 않습니다. 그것은 단지 그것을 연결 해제합니다. srm
디스크에서 데이터를 지우는 것과 같은 것을 사용해야합니다 .
최고 수준의 보안이 큰 문제가 아닌 경우 (zip의 맨 페이지에서 zipfile 유틸리티가 사용하는 암호화 알고리즘이 PGP보다 약하다고 말하면) zip 및 unzip을 선호합니다. 내 디렉토리를 압축하고 동시에 암호화합니다. 압축을 선호하고 전체를 다시 압축하고 암호화하는 대신 증분 압축 및 암호화를 사용할 수 있기 때문에 zip을 선호합니다. 특히 디렉토리 크기가 매우 큰 경우에 유용합니다.
ZIP 및 암호화
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
압축 해제 및 암호 해독
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
인기가 없지만 몇 가지 Bash 스크립트를 사용하여 최소한의 사용자 상호 작용으로 아무것도 암호화 / 암호 해독하는 프로젝트를 진행하고 있습니다. 다음 은 테스트 설정을 설명 하는 Hak5 게시물에 대한 링크 입니다.
소스 코드 로직을 통한 절단 위의 링크 된 프로젝트에서 처리 할 수있는 각 유형의 데이터에 대해 어떻게됩니까?
_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}
변수는 읽기가 설정 mkfifo
명명 된 파이프 파일과 함께 배열로 읽는 모든 설정 mapfile -t _lines < "${_file_to_map}"
이후 확장과에 저장되어있는 ${_mapped_input}
... 조금 뒤얽힌하지만 실험적인 기능은 각각의 라인에 따라 행동하는 것이 허용합니다. 최종 결과는 암호화 된 파일 또는 압축 된 디렉토리를 보유하기위한 디렉토리와 다양한 암호화 된 데이터 패킷이있는 파일로 끝납니다.
암호화에 사용 된 공개 키와 관련된 개인 키가있는 장치에서는 파일 또는 압축 된 디렉토리의 암호 해독이 간단합니다. 그러나 여러 갑옷으로 암호화 된 데이터 패킷의 암호 해독은 조금 더 어려웠으므로 Paranoid_Pipes_Scenario_One.sh
위의 프로젝트에서 명명 된 스크립트 는 최소한의 사용자 상호 작용으로 모든 것을 수행하도록 작성되었습니다. 다음은 일반적인 암호화 된 파일 및 디렉토리에 대한 헬퍼 스크립트 소스 코드의 단순화 된 버전입니다.
_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}"
다른 기능이 작동하고 공개적으로 검증 가능한 방식으로 테스트되고 싶은 경우 Travis-CI 빌드 로그 (특히 로그 끝 근처) 를 확인하면 관련하여 진행중인 다른 멋진 것들이 있습니다. 거의 모든 데이터의 암호화 및 해독
자체적으로 일회용 패드 키를 생성합니다
java -cp FinalCrypt.jar rdj/CLUI --encrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
암호:
총 4 개 파일 암호화 시작 249,7 MiB
🔒 "/home/ron/My-Test-Directory/Video/Eerebegraafplaats.mp4.bit"🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256 "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA"-> "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA"58,4 % 🔒 "/ home / ron / My-Test-Directory / Video / castle-waxjo-sweden.mp4.bit "🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256 :"8AEFC9744143451F32B82BBAC6A4291BC76C747A6DA1EA024702AA51A966F810 "->"323618B7EDFBEDFBEDEDF2E2F2EF2EF2E2E /home/ron/My-Test-Directory/Brother_HL-2170W-usaeng_quick-setup.pdf.bit "🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256 :"0858D2D5A8CF118D40B517CD4A1F8D31D9F5A21221F75BD764B5E363FC1431FE "->"266CE42027F891DECF109D7A9DD69E8B42C0E43D35E952BEB89F7C7EA2DBE92C "95.7 % 🔒 "/ 가정 / 론 / 내 테스트 - 디렉토리 / 형제 dsmobile 700d_uke_usr.pdf.bit "🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256 :"8D718D2F29EF05BEB347D6920B3BFF5269685421B428E8D3ADFF569F67A716E0 "->"88A98D893B6D1E540039D3E9BC0B0C19B46A10A209967F3235D5DEEBF073EC1E "100,0 %
7,3 초 만에 [4/4] 파일 암호화 완료 [249,7 MiB / 249,7 MiB] (평균 : 34,2 MiB / s)
java -cp FinalCrypt.jar rdj/CLUI --decrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
암호:
총 124,9MiB의 4 개 파일 해독 시작
🔓 "/home/ron/My-Test-Directory/Video/castle-waxjo-sweden.mp4"🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256 : "323618B7ED12A1F92D8FFB306CEEC6DFFED6862B7BF3922902E8AED29DF57ECE"-> "8AEBB6693A 홈 /ron/My-Test-Directory/Video/Eerebegraafplaats.mp4 "🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256 :"D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA "->"C1E3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3A3F3F3F3A3F3F3F3F3F93 -Directory / Brother dsmobile 700d_uke_usr.pdf "🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256 :"88A98D893B6D1E540039D3E9BC0B0C19B46A10A209967F3235D5DEEBF073EC1E "->"8D718D69F69E3F3F5F3F5F3F3F3F3F3F3F3F3F3F3F3F3F3F69F69F69F69F69F69369/home/ron/My-Test-Directory/Brother_HL-2170W-usaeng_quick-setup.pdf "🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256 :"266CE42027F891DECF109D7A9DD69E8B42C0E43D35E952BEB89F7C7EA2DBE92C "->"0858D2D5A8CF118D40B517CD4A1F8D31D9F5A21221F75BD764B5E363FC1431FE "100,0 %
3,4 초 안에 [4/4] 파일의 완전히 [124,9 MiB / 124,9 MiB]의 암호 해독을 완료했습니다 (평균 : 36,3 MiB / s)
커뮤니티를 돕기 위해 노력하는 중 ...