【发布时间】:2019-02-27 20:23:40
【问题描述】:
也许这个问题看起来有点奇怪,但它有一个非常实用的用例。
假设我们选择了 PDF 文件的任意部分来生成校验和,例如以下屏幕截图中的选定文本(突出显示的文本):
然后我们使用哈希函数从选定的文本中生成校验和。 我们交付(而不是发送)整个 PDF 文件连同此校验和到接收方,以便该接收方不知道 PDF 文件的哪个部分已被选择和散列。 并且这个接收者想要验证这个校验和。因此,他们需要确切地知道 PDF 文件的哪个部分已被选中和散列。所以,我们需要找到一个解决方案,让这个接收者可以找到所选和散列文本的确切位置。
由于散列函数不可逆,问题在于:
此接收器如何在 PDF 文件中准确找到选定和散列的文本?
例如,确定PDF文件中所选和散列文本的确切位置和位置是否可行? (它非常敏感,因为即使是错误的字符或空格也会导致校验和验证失败。)
是否有可靠的方法来应对这一挑战?
注意1:如果问题不够清楚,请告诉我更详细的解释。
重要提示:请注意,由于篇幅限制,我们只能存储校验和值加上一些显示所选文本位置的有限数据,这意味着我们无法存储整个选定的文本。
用例:我们打算通过验证者来验证文档中选定文本的完整性。校验和以及哈希文本地址的信息将存储在区块链中,因此由于存储在区块链中的限制(成本很高),我们无法将整个选定和哈希文本存储在区块链中,而是仅存储一些有用的信息,这些信息针对选定和散列文本的确切位置。验证者可以访问整个文档,但是他们不知道文档的哪个部分已被散列。他们需要知道它来验证校验和。
假设前。证明者有证书(纸质),他需要证明他是证书的所有者。他扫描证书(将其数字化为任何格式更好)。证书颁发者选择了证书的一些敏感部分(例如所有者信息等),并将它们分别散列到每个选定的部分以生成校验和。证明者(所有者)将证书交付给验证者时,验证者需要检查所有校验和。在这一步,他需要知道证书的哪些部分已经被散列。因此,我们需要将有用的数据附加到校验和中,以便验证者可以找到散列部分。
另请注意选中的文本不会被记录,但也会被选中生成校验和。然而验证者需要知道这个文本的内容来验证校验和。问题是由于区块链存储数据的限制,我们无法存储整个散列文本,而且我们只能存储一些有用的信息,这些信息指向散列文本的确切位置。
更新:这个问题与 (FREE Tool for watching coordinates in PDF) 相关,使用工具我们可以找到所选文本的准确 (x,y) 坐标。我还不确定这个工具是否可以用于我的问题。
【问题讨论】:
标签: pdf hash checksum coordinate-systems