首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >常用压缩文件格式的加密- 7zip,RAR,Zip

常用压缩文件格式的加密- 7zip,RAR,Zip
EN

Cryptography用户
提问于 2016-09-14 11:16:48
回答 1查看 1.1K关注 0票数 2

在加密文件时,例如使用Winrar,您必须输入密码。我的印象是,这个密码不是存储在任何地方,而是密码与其他一些属性和一个IV创建一个哈希的一些sort.Is,哈希存储或附加到加密的文件?

然后,当试图通过用户提供的密码解密文件时,哈希过程是否重复,以验证存储的哈希是否与生成的哈希匹配,以便开始解密过程?

我的意思是,加密文件中一定有一些东西;也许不是密码,而是散列.

EN

回答 1

Cryptography用户

回答已采纳

发布于 2016-09-14 12:36:43

从密码生成的散列实际上是派生的密钥,并且绝对不存储在文件中(有例外)。它不与任何数据相比较,而是用于加密和解密。

除了密文之外,没有必要为软件确定密码是否正确。在许多情况下,解密遵循身份验证,但不需要确定任何内容。文件将被解密,在密码不正确的情况下,解压缩很可能会失败,如果解压缩,数据将是垃圾。

从可用性的角度来看,这当然不是最优的。如果用户知道密码不正确,这对他们是最好的。这必须以一种不会给攻击者带来巨大优势的方式进行。要做到这一点,有几种简单的方法,下面是其中的几种。

1:在加密之前添加压缩数据的校验和或散列。解密后,对数据进行散列处理,并与解密的哈希进行比较。如果匹配,则正确解密。这也可以在块级别上进行,例如每16 of,因此可以更早地确定解密的正确性。

2:在旧的加密存档格式中,“魔术字符串”是比较常见的方法。压缩数据包括一些已知的前缀或后缀,如0x52 0x61 0x72 0x21 0x1A 0x07 0x000xC4 0x3D 0x7B 0x00 0x40 0x07 0x00 (在WinRAR情况下),而且由于这些字符串的位置应该在预期位置,如果密码正确且数据未经修改,对这些位置的解密将显示该字符串。这不一定是WINRAR处理它的方式,但只是一个例子。

3:第二数据加密密钥使用从密码派生的密钥加密。这允许在不对数据进行重新加密的情况下更改密码,并允许对数据密钥组件进行身份验证,以确定密码是正确的,而不必查看归档的加密数据。

票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/39972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档