伪随机函数及基于伪随机函数的CPA不可区分私钥加密方案

本文探讨了在密码学中,伪随机函数如何用于构建在选择明文攻击下具有不可区分性的私钥加密方案。介绍了CPA不可区分实验的概念,以及基于伪随机函数的加密方案的构造和安全性证明。
摘要由CSDN通过智能技术生成
CPA不可区分实验 P r i v K A , Π c p a ( n ) PrivK_{\Alpha, \Pi}^{cpa}(n) PrivKA,Πcpa(n)
  • 定义

    1. 生成密钥 k ← G e n ( 1 n ) k \leftarrow Gen(1^n) kGen(1n)
    2. 输入 1 n 1^n 1n A \Alpha A A \Alpha A可以访问 E n c k ( ⋅ ) Enc_k(\cdot) Enck()预言机(即它可以加密任何它选择的消息),输出一对等长的消息 m 0 , m 1 m_0, m_1 m0,m1
    3. 选择一个随机比特 b ← { 0 , 1 } b \leftarrow \{0, 1\} b{ 0,1},计算密文 c ← E n c k ( m b ) c \leftarrow Enc_k(m_b) cEnck(mb),交给 A \Alpha A
    4. A \Alpha A依然可以访问 E n c k ( ⋅ ) Enc_k(\cdot) Enck()预言机,(在多项式时间内)加密任何它选择的消息,输出一个比特 b ′ b^{\\'} b
    5. 如果 b ′ = b b^{\\'} = b b=b,实验输出 1 1 1,否则输出 0 0 0。如果 P r i v K A , Π c p a ( n ) = 1 PrivK_{\Alpha, \Pi}^{cpa}(n) = 1 PrivKA,Πcpa(n)=1,则 A \Alpha A成功
  • 理解

    在这个实验中, A \Alpha A被赋予了更强的能力:它可以加密任何它希望的明文

    注意到生成密钥是本实验的第一步,这也是为 A \Alpha A提供的,它可以根据 A E n c k ( ⋅ ) \Alpha^{Enc_k(\cdot)} AEnck()来选择它输出的消息 m 0 , m 1 m_0, m_1 m0,m1

    显然,任何确定性加密无法通过本实验,它只需要通过访问预言机就可以知道哪条消息被加密了

CPA不可区分性
  • 定义

    对称密钥加密方案 Π = ( G e n , E n c , D e c ) \Pi = (Gen, Enc, Dec) Π=(Gen,Enc,Dec),如果对所有概率多项式敌手 A \Alpha A,存在一个可忽略函数 n e g l negl negl,使得
    P r [ P r i v K A , Π c p a ( n ) = 1 ] ≤ 1 2 + n e g l Pr[PrivK_{\Alpha, \Pi}^{cpa}(n) = 1] \le \frac{1}{2} + negl Pr[PrivKA,Πcpa(n)=1]21+negl
    则称 Π \Pi Π具备CPA条件下的不可区分性

伪随机函数
  • 定义

    F : { 0 , 1 } ∗ × { 0 , 1 } ∗ → { 0 , 1 } ∗ F: \{0, 1\}^* \times \{0, 1\}^* \rightarrow \{0, 1\}^* F:{ 0,1}×{ 0,1}

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值