我正在使用zip 3.0.0在macOS高中,塞拉和乌本图。以下是我在macOS上的压缩版本:
代码语言:javascript运行复制$ zip --version | head
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon. Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.
Compiled with gcc 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14) for Unix (Mac OS X) on Feb 22 2019.这是Ubuntu上的一个:
代码语言:javascript运行复制$ zip --version | head
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon. Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.
Compiled with gcc 6.3.0 20170221 for Unix (Linux ELF).我在https://security.stackexchange.com/a/186132/108239上读过这个答案,它建议不要使用zip进行加密。
但是,在我所处的环境中,我需要安全地向非技术用户发送文件。以下是我的制约因素:
允许我向收件人发送任意长的密码。我可以发送他们的压缩文件(加密或未加密)。我不允许我的收件人安装额外的软件。我只关心文件内容的机密性。我不关心文件名或文件元数据的机密性。我不关心正直或不可否认。考虑到这些限制,到目前为止,我一直以这种方式发送文件:
代码语言:javascript运行复制zip -e secret.zip secret.txt我使用一个80字符的长时间随机生成的字母数字(A-Za-z0-9)密码来加密这个秘密文件。zip实用程序不再接受密码。尝试这样做会导致(line too long--try again)错误。
这使用了以下密码方法:
代码语言:javascript运行复制$ 7z l -slt secret.zip | grep Method
Method = ZipCrypto Deflate我的问题:
80字符长时间随机生成的字母数字密码是否足够强以弥补zip实用程序的弱密码技术?密码必须有多少最小熵才能使其足够安全,以便与zip实用程序一起使用?要定义“足够安全”,例如,用当前的计算能力破解zip文件需要10年左右的时间(为了简单起见,暂时忽略计算能力的增加)。