49、公钥加密:原理、实现与安全挑战

公钥加密:原理、实现与安全挑战

解密算法中的错误情况

在某些解密算法中,存在两种可能出现错误的情况。以特定的构造为例,要么 $\hat{m} \in Z_N^*$ 过大,要么 $m’ \in {0, 1}^{\ell + k}$ 末尾的 0 数量不足。在标准构造里,接收方在这两种情况下应返回相同的错误(记为 $\perp$)。然而,在一些实现中,接收方会根据出错步骤的不同输出不同的错误信息。这额外的一位信息可能会被攻击者利用,发起选择密文攻击。攻击者只需向泄露解密错误类型的预言机发起约 $\approx |N|$ 次查询,就能从对应的密文中完整恢复出消息 $m$。这充分显示了严格按照规范实现密码学方案的重要性,因为一旦方案的某些方面被更改,原有的证明和分析可能就不再适用。

此外,即使在两种错误情况下返回相同的错误信息,若返回错误的时间不同,攻击者仍有可能判断出错误发生的位置。这表明攻击者不仅会关注算法的输入输出,还会利用旁道信息来攻击加密方案。因此,在实现时应确保在两种情况下返回错误的时间一致。

随机预言模型下的 CCA 安全 KEM

这里介绍一种基于 RSA 的密钥封装机制(KEM),它在随机预言模型下是 CCA 安全的,并且该方案被纳入了 ISO/IEC 18033 - 2 公钥加密标准。与上一节的 RSA - OAEP 方案相比,其主要优点是构造和安全性证明都较为简单。不过,在加密短消息时,它会产生更长的密文,因为它需要 KEM/DEM 范式,而 RSA - OAEP 则不需要。但在加密长消息时,RSA - OAEP 也会作为混合加密方案的一部分使用,此时其效率与这里展示的 KEM 方案相近。

该方案的公钥包含 $\langle

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值