GPG 암호화를 사용하기 전에 tar 아카이브를 압축하는 것이 중복됩니까? 내가 아는 바로는 GPG는 암호화한 파일을 압축합니다. tar -> gpg
대신 하는 것이 더 낫습니까 tar -> gzip -> gpg
?
답변1
GnuPG는 기본적으로 ZIP 압축을 사용하는데, 이는 대부분의 경우 성능이 약간 떨어집니다 gzip
. 이는 별도의 gzip
단계가 유용할 수 있음을 의미하지만 GnuPG는 동일한 압축 알고리즘을 사용하여 zlib 압축도 지원 합니다 gzip
.--compress-algo zlib
bzip2
더 나은 압축을 위해 이를 지정할 수도 있습니다 --compress-algo bzip2
.
두 경우 모두 압축 "수준"은 -z
,예를 들어 -z 9
.
PGP는 ZIP 압축만 지원하지만 지금은 큰 문제가 아닐 수도 있습니다.
답변2
예, GPG는 파일을 암호화하기 전에 압축합니다(기본적으로 zip 사용). 따라서 파일을 미리 압축하는 것은 쓸모가 없습니다. 사용할 수 있으니 참고하세요gpgtar
파일을 아카이브로 암호화하고 단 한 단계로 모든 작업을 수행하세요.
GPG는 선택적으로 --compress-algo name
사용할 압축 알고리즘을 정의합니다. gpg2
매뉴얼 에서 :
--compress-algo <name>
Use compression algorithm <name> "zlib" is RFC-1950 ZLIB compression. "zip" is
RFC-1951 ZIP compression which is used by PGP. "bzip2" is a more modern compression
scheme that can compress some things better than zip or zlib, but at the cost of more
memory used during compression and decompression. "uncompressed" or "none" disables
compression. If this option is not used, the default behavior is to examine the
recipient key preferences to see which algorithms the recipient supports.
If all else fails, ZIP is used for maximum compatibility.
ZLIB may give better compression results than ZIP, as the compression window size is
not limited to 8k. BZIP2 may give even better compression results than that, but will
use a significantly larger amount of memory while compressing and decompressing. This
may be significant in low memory situations. Note, however, that PGP (all versions) only
supports ZIP compression. Using any algorithm other than ZIP or "none" will make the
message unreadable with PGP. In general, you do not want to use this option as it
allows you to violate the OpenPGP standard. --personal-compress-preferences
is the safe way to accomplish the same thing.
답변3
또 다른 관점을 제안하겠습니다. gzip
고정 숫자가 포함된 일정한 길이의 헤더를 사용하면 일반 텍스트 문서를 암호화하기 전에 해당 문서의 일부를 알 수 있습니다. 이는 권장되지 않습니다.
(내가 아는 한) Tar에는 아카이브에 대한 전역 헤더가 없으므로 위의 취약점이 존재하지 않습니다.
그래서 내 제안은 (보안 관점에서) 다음을 gpg
사용하는 것 입니다.tar