首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >证明修改后的公钥加密方案不是CCA安全的

证明修改后的公钥加密方案不是CCA安全的
EN

Cryptography用户
提问于 2018-07-02 13:49:19
回答 1查看 579关注 0票数 0

设$\mathcal{E} = (G,E,D)$是在$(\mathcal{M,C})$上定义的CCA安全公钥加密方案,其中$\mathcal{C} := {0,1}^ell$。

设$\mathcal{E'} = (G,E',D')$是一个方案(在$(\mathcal{M,C'})$中,$\mathcal{C'} := {0,1}^{\ell + 1}$),其中:

  • $E'(pk,m) = E(pk,m) \Vert 0$
  • $D'(sk,c) = D(sk,c)$

也就是说,$E'$总是在密文中放置$0$,$D'$忽略最后一点的密文。

一个只需$1美元查询的攻击者如何破坏$\mathcal{E}'$ CCA的安全性?

其他信息:

查询可以是以下内容之一:

Encryption查询:攻击者发送一对os消息$(m_0,m_1)$,并获取其中之一的密文$c_i$。

Decryption查询:攻击者发送密文$c$并获取相应的消息。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-07-02 17:00:26

所以让我们通过CCA(2)对策,看看事情在哪里分崩离析,好吗?

  1. 挑战者:生成钥匙。
  2. 敌手:将加密或解密的预言称为多项式次数。我们这里不需要这个。
  3. 对手:挑选两条信息(如$m_0=0$和$m_1=1$ )。
  4. 挑战者:随机均匀选择一个位$b$,即$b\in{0,1}$
  5. 挑战者:加密$m_b$,并将结果作为$C$发送给对手,挑战密文。
  6. Adversay:执行多项式数量的操作,包括加密或解密甲骨文调用,例如,用最后一位翻转来解密$C$。
  7. 对手:输出比特$b$的猜测$b'$ (如最后一步解密查询的结果)。
  8. 如果b=b‘$对手赢了。如果这种情况发生的概率不超过1/2美元,则该计划将被破坏。

现在,您看到了如何使用1次查询破坏CCA安全性吗?

票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/60456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档