加密的 PDF 文档如何同时使用用户和所有者密码进行加密?

Posted

技术标签:

【中文标题】加密的 PDF 文档如何同时使用用户和所有者密码进行加密?【英文标题】:How is an encrypted PDF document encrypted by both user and owner password? 【发布时间】:2019-07-24 22:21:09 【问题描述】:

当我加密提供用户密码和所有者密码的 PDF 文档时,我可以使用其中任何一个密码打开文档。

据我了解,现代 PDF 加密使用 AES128/256,它使用一个密钥(密码)。

文档是否在内部复制并且每个副本都使用密码加密?从加密文档文件的大小来看,文件中有两个加密文档并不明显。

PD:我知道 PDF 中用户和所有者密码之间的“用户体验”差异。

【问题讨论】:

【参考方案1】:

一般来说,在这种情况下,会随机创建一个“主密钥”并用于加密。对于实际用于访问文档的每个密钥,我们使用该用户或所有者密钥加密主密钥。这些(小型)加密操作的结果直接包含在文件中(例如,加密主密钥的多个副本,而不是文档)。

因此,要解密文件,我们需要主密钥,而要获得主密钥,我们可以提供“用户”或“所有者”密钥,并使用该密钥来解密其中一个主密钥密文。

【讨论】:

谢谢!这是它在 PDF 中的完成方式还是可能如何完成的示例? PDF 或多或少是这样处理的。虽然很明显,但很简单! 这里的主要简化是,在旧的 (ISO 32000-1) PDF 加密方案的情况下,用户密码本身就是主密钥,并且对于所有者访问,PDF 包含使用加密的用户密码所有者密码。结果,知道所有者密码的人可以检索用户密码!较新的 (ISO 32000-2) 加密方案使用的架构更像此答案中描述的架构。【参考方案2】:

在一个 PDF 中没有文档的两个不同的加密副本。

用户密码严格用于限制打开文档的能力。

ma​​ster 密码控制文档的权限。例如。不允许文件汇编或不允许填写表格。主密码也可以用于代替用户密码打开 PDF。

所使用的加密类型不取决于是否只有主密码或同时存在用户和主密码。

【讨论】:

以上是关于加密的 PDF 文档如何同时使用用户和所有者密码进行加密?的主要内容,如果未能解决你的问题,请参考以下文章

PDF用户密码可以用来解除加密吗?

如何将pdf文档设置为不能打印

在Android可以对pdf文件进行加密和解密吗

如何设置PDF文档使其禁止打印!急!!

Linux文档怎么加密,用啥办法好

如何利用JAVA对文档进行加密和解密处理,完整的java类