如标题中所示:这些加密方法中的哪一种(ZipCrypto,AES-256)更安全,为什么?我问这个问题是因为我想知道在使用Zip压缩文件时应该首选哪个。

#1 楼

根据7-Zip的说明,如果要获得与大多数ZIP存档程序兼容的存档,请使用ZipCrypto。 AES-256提供了更强大的加密,但是现在7-Zip,WinZip和其他一些ZIP存档器仅支持AES-256。您需要牺牲兼容性来提供更好的安全性,还是牺牲安全性来获得更多的兼容性?在做出决定时,请记住这一点。 />

评论


$ \ begingroup $
的确,ZipCrypto很弱。它容易受到已知明文攻击,请参阅已知明文减少的ZIP攻击。当至少存在AES-256实现具有这种可能性时,ZipCrypto也没有认真尝试减慢详尽的密码搜索。
$ \ endgroup $
–fgrieu♦
2012年9月13日在16:26



$ \ begingroup $
用计算机术语来说,手段薄弱,永远不要使用它。求爱
$ \ endgroup $
–UğurGümüşhan
15年4月25日在15:37

$ \ begingroup $
仅供参考:我测试了“ AES-256”选项,Windows 10不支持该选项。
$ \ endgroup $
– mgutt
16年11月23日在8:27

$ \ begingroup $
现在您知道Windows 10有多少兴趣来保护您的个人数据
$ \ endgroup $
– aliopi
17年7月13日在11:49



#2 楼

使用Zip存档文件格式的主要优点是,它是一种标准格式(至少对于所有较新版本的Windows,我认为可以追溯到Windows 2000)是Windows OS直接支持的格式。也就是说,您无需下载任何其他软件即可压缩或解压缩Zip文件。 Windows虽然不支持加密Zip文件,但是像7Zip这样的第三方软件却可以。但是,Windows确实支持解密Zip文件,至少支持使用ZipCrypto加密的文件。 7Zip支持使用两种加密类型之一进行加密。这些是ZipCrypto和AES-256。到目前为止,AES是这两种类型中最强的一种,但它有一个主要缺陷。缺点是无法使用Windows解密,只能使用支持AES解密的第三方软件(例如7Zip本身)进行解密。可以解密而无需要求他们下载其他软件,最好的选择是使用7Zip集执行ZipCrypto加密。为什么不只使用AES加密的Zip,然后告诉接收者下载7Zip,以便他们可以解密它呢?答案很简单。毫无意义。实际上,发送AES加密的Zip文件毫无意义。更好的压缩文件类型7Z已经支持AES,它当然是7Zip的默认文件。 7Z的压缩率比Zip好。因此,如果要使用AES对其进行加密,并确保发送方和接收方在其PC上均安装了7Zip,则最好不要再使用Zip文件格式,而应使用7Z文件格式。 7Z文件格式在加密方面也有一个主要优势,因为它可以加密文件名以及文件本身的实际字节。如果您真的不想让别人知道您要发送的内容,并且文件名可以提供一个线索,则希望能够对文件名本身进行加密。

至于为什么Windows不支持带有AES加密的Zip,这是因为它不是官方Zip标准的一部分。它是在7Zip中添加的,作为对Zip标准的非正式扩展。 Windows的Zip实用工具完全基于官方的Zip格式规范。

所以这是我的建议:
如果要发送不需要外部软件的文件,请在ZipCrypto中使用Zip文件。进行解密。
如果想要最强的加密,请使用带有AES的7Z文件。
不要使用带有AES加密的Zip文件,因为这样做没有意义。

评论


$ \ begingroup $
$ \ endgroup $
–森林
19年1月6日23:20

$ \ begingroup $
MS不支持AES的原因也不正确:devblogs.microsoft.com/oldnewthing/20180515-00/?p=98755对该代码进行许可并对其进行更改不切实际。自2003年以来,它就记录在PKWare的zip规范中。
$ \ endgroup $
– Gert van den Berg
19-10-15在9:07