无配对的基于身份的密钥交换协议解析
1. 解决CDH问题的算法思路
在密码学中,CDH(Computational Diffie - Hellman)问题是一个重要的难题。我们可以构建一个高效算法S来解决CDH问题。算法S接收输入元组$(G, q, g, U = g^u, V = g^v)$,目标是计算$W = g^{uv}$。具体步骤如下:
1. 模拟KGC设置公共参数 :S选择一个随机的$x \stackrel{\$}{\leftarrow} \mathbb{Z} q$,并设置$y = g^x$。然后为对手提供输入$(G, q, g, y)$以及对随机预言机$H_1$和$H_2$的访问权限。由于$H_1$和$H_2$被建模为随机预言机,S可以对它们的输出进行编程。对于每个输入$(ID, r {ID})$,S选择一个随机的$e_{ID} \stackrel{\$}{\leftarrow} \mathbb{Z} q$,并设置$H_1(ID, r {ID}) = e_{ID}$,对$H_2$也进行类似操作。
2. 模拟密钥推导过程 :对手可以向KGC请求其选择的用户的秘密密钥,S必须能够模拟密钥推导过程。因为S自己选择了主秘密密钥$x$,所以当对手请求用户的秘密密钥时,S总是能够做出响应。
3. 猜测测试会话 :在游戏开始时,S猜测测试会话及其持有者(设为Bob),另一个参与方设为Alice。如果$n$是对手发起的所有会话数量的上限,那么这个猜测正确的概率至少为$1/n$。
4. 选择测试会话消息
超级会员免费看
订阅专栏 解锁全文
30

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



