我zip 3.0.0
在 macOS High Sierra 和 Ubuntu 上使用。这是我在 macOS 上的 zip 版本:
$ 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上的一个:
$ 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 进行加密。
但是,在我所处的环境中,我需要将文件安全地发送给非技术用户。这是我的限制:
- 我可以向我的收件人发送任意长的密码。
- 我可以向他们发送 zip 文件(加密或未加密)。
- 我不能要求我的收件人安装额外的软件。
- 我只关心文件内容的机密性。
- 我不关心文件名或文件元数据的机密性。
- 我不关心完整性或不可否认性。
鉴于这些限制,到目前为止,我一直以这种方式发送文件:
zip -e secret.zip secret.txt
我使用 80 个字符长的随机生成的字母数字 ( A-Za-z0-9
) 密码来加密机密文件。该zip
实用程序不再接受密码。尝试这样做会导致(line too long--try again)
错误。
这使用以下加密方法:
$ 7z l -slt secret.zip | grep Method
Method = ZipCrypto Deflate
我的问题:
- 一个 80 字符长的随机生成的字母数字密码是否足以弥补
zip
实用程序的弱密码技术? - 密码应该具有的最小熵是多少才能使其足够安全以与
zip
实用程序一起使用?要定义“足够安全”,比如说,以当前的计算能力破解 zip 文件应该需要 10 年左右的时间(为了简单起见,暂时忽略计算能力的增加)。