zoukankan      html  css  js  c++  java
  • 第二十八个知识点:什么是公钥密码学的IND-CCA安全定义?

    第二十八个知识点:什么是公钥密码学的IND-CCA安全定义?

    我们将在这篇博客中讨论公钥加密的IND-CCA安全。

    IND-CCA安全代表选择明文的不可伪造性。这样的安全方案的思想就是给定一个密文,攻击者不能说出给定密文是什么样的明文加密得到的。在这个模型中,攻击者被允许使用加密问询和解密问询。闻讯既可以在第三步和第四步之前也可以在之后。公钥的IND-CCA的find-then-guess安全游戏的描述:

    1.生成公钥和私钥((p_k,s_k))。攻击者A能够获得公钥(p_k)

    2.私密的指定(b leftarrow {0,1})

    3.攻击者A可以进行解密问询(Dec_{s_k}),和加密问询(Enc_{p_k})

    4.A输出一对消息((m_0,m_1))

    5.我们输出加密(c = Enc_{p_k}(m_b))

    6.攻击者被允许使用更多的加密和解密,例如在第三步中,但是我们不被允许要求解密(c)

    7.A输出(b^{‘})。如果(b = b^{‘}),A就获胜了。

    我们说A获胜的概率(Adv(A) = 2*|Pr[A wins]-1/2|)。如果这个概率是可忽略的(negligible),那么就说这个方案是IND-CCA安全的。

    IND-CCA安全有另外一个版本,真实还是随机。主要的不同就是第五步中并不是由攻击者输出的消息。二十一个随机的(m^{‘})。A必须区分它是真的还是随机的。概率和安全和上述定义基本相同。

    这两个定义是等价的,如果一个方案在实数或随机意义上对对手a是IND-CCA安全的,我们可以构造一个对手B用于查找和猜测,这样两个优势都是相等的。类似地,如果一个方案对对手a是发现和猜测安全的,我们可以构造一个这样的对手B使得:

    [Adv_{find-and-guess}(A)=2 cdot Adv_{real-or-random}(B) ]

  • 相关阅读:
    03Qt信号与槽(2)
    01Qt中的隐式共享
    10GNU C语言函数调用
    09GNU C语言程序编译
    第一本C语言笔记(下)
    07控制器和控制卡(3)
    06控制器和控制卡(2)
    集合
    linux指令(目录类操作指令)
    面向对象三大特征
  • 原文地址:https://www.cnblogs.com/zhuowangy2k/p/12245569.html
Copyright © 2011-2022 走看看