OpenPGP技术全面解析
一、OpenPGP的密钥ID
在OpenPGP中,密钥ID起着至关重要的作用。通常情况下,两个密钥(对于同一用户ID)具有相同密钥ID的概率可以忽略不计。例如,一个曾使用过的公钥的密钥ID为8E50 BDB3 0AC2 9A5B(十六进制表示),对应的二进制值如下:
1000 1110 0101 0000
1011 1101 1011 0011
0000 1010 1100 0010
1001 1010 0101 1011
为了更简洁,有时仅显示密钥ID的低32位。这32位是公钥 pkA 对 2^32 取模的结果。所以,上述公钥的密钥ID也可表示为0AC2 9A5B(十六进制),对应的二进制值为:
0000 1010 1100 0010
1001 1010 0101 1011
一般来说,32位的密钥ID被称为短密钥ID,64位的则称为长密钥ID。无论哪种情况,密钥ID对于OpenPGP的正常运行都非常关键。
二、OpenPGP的消息格式
OpenPGP有旧的PGP消息格式和新的OpenPGP消息格式。OpenPGP消息格式基于“包(packet)”的概念,所有OpenPGP对象(如消息、密钥环、证书等)都由包组成,且每个包可能包含其他包,这种包机制是递归的。
2.1 OpenPGP包的结构
一个Op
超级会员免费看
订阅专栏 解锁全文

472

被折叠的 条评论
为什么被折叠?



