【问题标题】:Analysis of pgpdump outputpgpdump 输出分析
【发布时间】:2013-01-15 13:02:43
【问题描述】:

我在一个加密文件(通过 BouncyCastle)上使用了pgpdump 来获取有关它的更多信息,并找到了几行关于部分开始、部分继续和部分结束的信息。 所以我想知道这到底是在描述什么。是不是纯文本的某种碎片化?

此外,在 RSA 算法之后,位数代表什么?在本例中是 1022 位,但我见过 1023 和 1024 位的文件。

【问题讨论】:

    标签: cryptography rsa bouncycastle openpgp


    【解决方案1】:

    this tumblr post 很好地解释了部分身体长度。 OpenPGP 消息由给定长度的数据包组成。有时对于大输出(或者对于来自 GnuPG 的数据包,短消息),会有部分正文长度指定另一个标头将显示,告诉读者继续阅读来自帖子:

    部分正文长度告诉解析器:“我知道这个数据包中至少还有 N 个字节。在多 N 个字节之后,将有另一个标头告诉您是否还要读取多少字节。”我猜这个想法是,您可以在数据流进入时对其进行加密,而不必知道它何时结束。也许您正在对语音进行 PGP 加密,或者正在对一些未播出的电视进行加密。我不知道。它可以是无限长的——你可以继续在其中扔更多的部分正文长度标头,每个标头可以处理高达 1 GB 的长度。每千兆字节它都会通知解析器:“是的,还有更多!”

    因此,在您的屏幕截图中,pgpdump 读取 8192 字节,然后遇到另一个标头,说要读取另外 2048 字节。在这 2k 字节之后,它会碰到另一个 1037 字节的标头,依此类推,直到最后一个 continue 标头。 489 字节之后是消息的结尾

    1022 位,是公共模数的长度。它总是接近 1024(如果您有 1024 位密钥),但最终可能会比最初选择 RSA 参数时的值略短。它们仍然被称为“1024 位密钥”,尽管它们比这略短。

    【讨论】:

    • 请不要只链接到带有答案的 tumblr 帖子。相反,请在此处合并答案的缩短版本并链接到 tumblr 帖子以供参考。链接可能会中断。
    • 好点,我已经被 tumblrs 突然消失在过去了。我从链接中添加了一堆摘要/解释,以后我会尽量记住这一点
    猜你喜欢
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2015-09-21
    • 2018-01-18
    • 2013-03-15
    • 1970-01-01
    相关资源
    最近更新 更多