ZIP 文件规范加密标头

问题描述 投票:0回答:3

我正在阅读 zip 文件规范,但没有解释存档中文件的加密标头是如何构造的。标题顺序是这样的:

[本地文件头1] [加密头1] [文件数据1] [数据描述符1]

在本地文件头之后,规范说明以下内容,同时跳过加密头部分:

紧跟在文件的本地标头之后 应放置文件的压缩或存储数据。 如果文件已加密,则文件的加密标头 应放置在本地标头之后、文件之前 数据。 【本地文件头】【加密头】系列 [文件数据][数据描述符]对每个文件重复 .ZIP 存档。

我正在寻找这个加密标头的结构,因为这个规范没有解释它。有谁知道这是如何工作的吗?

file zip file-format
3个回答
0
投票

6.1 传统PKWARE解密

...

6.1.3 每个加密文件在开头都存储了额外的 12 个字节 定义该文件的加密标头的数据区域。这 加密头最初设置为随机值,然后 本身使用三个 32 位密钥进行加密。关键值是 使用提供的加密密码进行初始化。每个字节之后 被加密,然后使用伪随机数更新密钥 与相同 CRC-32 算法相结合的生成技术 在 PKZIP 中使用并在本文档的其他地方进行了描述。

...

解密标头的规范取决于所使用的加密算法。有一个传统 PKWARE 加密(标准),但它已经过时,因此应使用自定义加密/解密。


0
投票

RAR 5.0 archive format
看起来不错的文档,位于 https://www.rarlab.com/technote.htm

您可能会发现它对项目很有帮助

sharpcompress
https://github.com/adamhathcock/sharpcompress/tree/master/src/SharpCompress/Common/Zip


0
投票

以下是 6.3.5 版本规范的链接。 zip 版本 6.3.5 规范.

第7.2.4节解密压缩文件数据之前的头记录

Archive Decryption header 和 Decryption header 类似。

我没看到哪里提到Decryption header的签名。

第 4.2.1 节 每条记录必须有以“PK”开头的签名。

© www.soinside.com 2019 - 2024. All rights reserved.