无配对的基于身份的密钥交换协议
1. 新协议 IB - KA
1.1 协议设置
密钥生成中心(KGC)会进行如下操作:
- 选择一个素数阶 $q$($q$ 为 $\ell$ 比特长)的群 $G$。
- 选取一个随机生成元 $g \in G$。
- 确定两个哈希函数 $H_1 : {0, 1}^* \to Z_q$ 和 $H_2 : Z_q \times Z_q \to {0, 1}^\ell$。
- 随机选取 $x \overset{\$}{\leftarrow} Z_q$,并设置 $y = g^x$。
- 最终,KGC 输出公共参数 $MPK = (G, g, y, H_1, H_2)$,并将主秘密密钥 $MSK = x$ 保留给自己。
1.2 密钥推导
身份为 $ID$ 的用户会收到基于公钥 $y$ 对消息 $m = ID$ 的 Schnorr 签名作为其秘密密钥。具体步骤如下:
1. KGC 验证用户身份后,随机选取 $k \overset{\$}{\leftarrow} Z_q$,并设置 $r_{ID} = g^k$。
2. 使用主秘密密钥 $x$ 计算 $s_{ID} = k + H_1(ID, r_{ID})x$。
3. $(r_{ID}, s_{ID})$ 就是返回给用户的秘密密钥。用户可以使用公钥 $y$ 并检查等式 $g^{s_{ID}} \stackrel{?}{=} r_{ID} \cdot y^{H_1(ID, r_{ID})}$ 来验证其秘密密钥的正确性。
1.3 协议会话
假设 Alice 想与 Bob
超级会员免费看
订阅专栏 解锁全文
14

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



