热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【密码学复习】【Chapter2】【完美保密】

第二章完美保密Part0任务证明一比特完美保密证明完美保密的等价公式证明完美保密等价不可区分性证明一次一密是完美保密证明完美保密的局限性Part1定义和基




第二章 完美保密

Part 0 任务


  • 证明一比特完美保密
  • 证明完美保密的等价公式
  • 证明完美保密等价不可区分性
  • 证明一次一密是完美保密
  • 证明完美保密的局限性

Part 1 定义和基本属性


  • 随机变量:




    K


    ,


    M


    ,


    C



    K, M, C


    K,M,C
  • 概率:




    Pr





    [


    K


    =


    k


    ]


    ,


    Pr





    [


    M


    =


    m


    ]


    ,


    Pr





    [


    C


    =


    c


    ]



    \Pr[K = k], \Pr[M = m], \Pr[C = c]


    Pr[K=k],Pr[M=m],Pr[C=c]

1.1 定义完美保密







  • M



    \mathcal{M}


    M上




    Π



    \Pi


    Π是完美保密的,若对于




    M



    \mathcal{M}


    M上的任意概率分布,







    m





    M



    \forall m \in \mathcal{M}


    ∀m∈M 与







    c





    C



    \forall c \in \mathcal{C}


    ∀c∈C , 且




    Pr





    [


    C


    =


    c


    ]


    >


    0



    \Pr[C = c] > 0


    Pr[C=c]>0:






    Pr





    [


    M


    =


    m





    C


    =


    c


    ]


    =


    Pr





    [


    M


    =


    m


    ]


    .



    \Pr[M=m | C=c] = \Pr[M=m].


    Pr[M=m∣C=c]=Pr[M=m].

  • 某个明文被发送的后验似然与该明文被发送的先验概率没有差别


1.2 一比特上的完美保密







  • M


    =


    K


    =


    {


    0


    ,


    1


    }


    ,




    E


    n


    c



    k



    (


    m


    )


    =


    m





    k



    \mathcal{M}=\mathcal{K} = \{ 0,1 \} , \mathsf{Enc}_k(m)= m \oplus k


    M=K={0,1},Enck​(m)=m⊕k
  • 证明
  • 只要密钥是均匀随机的,那么密文的概率分布就不收明文概率分布的影响;
  • 虽然密文不独立与明文,但是密文是由明文和密钥共同决定的

1.3 完美保密的等价形式







  • Pr





    [


    C


    =


    c





    M


    =


    m


    ]


    =


    Pr





    [


    C


    =


    c


    ]



    \Pr[C=c | M=m] = \Pr[C=c]


    Pr[C=c∣M=m]=Pr[C=c]
  • 密文的先验概率等于其后验概率

1.4 完美不可区分性







  • Pr





    [


    C


    =


    c





    M


    =



    m


    0



    ]


    =


    Pr





    [


    C


    =


    c





    M


    =



    m


    1



    ]



    \Pr[C = c | M = m_0] = \Pr[C = c | M = m_1]


    Pr[C=c∣M=m0​]=Pr[C=c∣M=m1​]
  • 攻击者无法区分出密文是由哪个明文加密得到的

Part 2 一次一密 Vernam’s Cipher


  • 定义





    • M


      =


      K


      =


      C


      =


      {


      0


      ,


      1



      }


      l




      \mathcal{M} = \mathcal{K} = \mathcal{C} = \{0, 1\}^l


      M=K=C={0,1}l





    • k





      G


      e


      n



      k \leftarrow Gen


      k←Gen,以





      2






      l





      2^{-l}


      2−l的概率随机选择




      k



      k


      k





    • c


      :


      =


      E


      n



      c


      k



      (


      m


      )


      =


      k





      m



      c := Enc_k(m) = k \oplus m


      c:=Enck​(m)=k⊕m





    • m


      :


      =


      D


      e



      c


      k



      (


      c


      )


      =


      k





      c



      m := Dec_k(c) = k \oplus c


      m:=Deck​(c)=k⊕c
  • 证明其完美保密性

Part 3 完美保密的局限性


  • 密钥空间必须大于等于明文空间

  • 证明

  • 二次加密是错误的






  • c






    c






    =


    (


    m





    k


    )





    (



    m









    k


    )


    =


    m






    m







    c\oplus c'=(m\oplus k)\oplus (m'\oplus k)=m\oplus m'


    c⊕c′=(m⊕k)⊕(m′⊕k)=m⊕m′


Part 4 香农定理


  • 当明文空间、密钥空间和密文空间规模相同时,加密方案是完美保密的,当且仅当满足两个条件:
    • (1)每个密钥是从密钥空间中均匀随机生成的;
    • (2)对于任意明文和密文对,存在唯一的密钥使得该明文加密成该密文。

Part 5 窃听不可区分性


5.1 窃听不可区分实验




P


r


i


v



K



A


,


Π




e


a


v




(


n


)



PrivK_{\Alpha, \Pi}^{eav}(n)


PrivKA,Πeav​(n)


  • 定义


    1. 给敌手




      A



      \Alpha


      A指定





      1


      n




      1^n


      1n作为输入,(敌手在多项式时间内)输出一对等长的消息





      m


      0



      ,



      m


      1




      m_0, m_1


      m0​,m1​
    2. 产生随机密钥




      k





      G


      e


      n


      (



      1


      n



      )



      k \leftarrow Gen(1^n)


      k←Gen(1n),随机选择一个比特




      b





      {


      0


      ,


      1


      }



      b \leftarrow \{0, 1\}


      b←{0,1},计算密文




      c





      E


      n



      c


      k



      (



      m


      b



      )



      c \leftarrow Enc_k(m_b)


      c←Enck​(mb​)并交给




      A



      \Alpha


      A





    3. A



      \Alpha


      A输出一个比特





      b










      b^{\\'}


      b′
    4. 如果





      b









      =


      b



      b^{\\'} = b


      b′=b,则实验输出为




      1



      1


      1,否则为




      0



      0


      0。如果




      P


      r


      i


      v



      K



      A


      ,


      Π




      e


      a


      v




      (


      n


      )


      =


      1



      PrivK_{\Alpha, \Pi}^{eav}(n) = 1


      PrivKA,Πeav​(n)=1,则称敌手成功。
  • 注意:每次实验使用生成的密钥
    在这里插入图片描述


5.2 完美保密下的窃听不可区分性







  • Pr





    [


    P


    r


    i


    v



    k



    A


    ,


    Π




    e


    a


    v




    =


    1


    ]


    =



    1


    2




    \Pr[Privk_{\mathcal{A}, \Pi}^{eav} = 1] = \frac{1}{2}


    Pr[PrivkA,Πeav​=1]=21​


推荐阅读
  • 本文讨论了B360主板是否可以安装win7系统的问题。由于B360主板不支持win7系统且缺乏官方驱动的支持,安装win7系统可能存在兼容性和稳定性问题。然而,通过借助USB3.0转接卡,B360主板仍然可以安装win7系统,但USB接口无法使用。相比之下,B365主板可以直接支持win7系统,并提供了相应的驱动,具有更好的稳定性和兼容性。选择合适的主板对于安装win7系统至关重要。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Principle for Mac(交互式屏幕设计软件)免激活版
    Mac上好用的交互式屏幕设计软件,PrincipleforMac是一款交互式屏幕设计软件,principle mac让您的设计将以原则出现,随时为您注入新的活力。如果您进行更改,再 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在Pygame中使用矩形对表面进行涂色的方法。通过查阅Pygame文档中的blit函数,可以了解到如何将一个表面的特定部分复制到另一个表面的指定位置上。具体的解决方法和参数说明在文中都有详细说明。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • IB 物理真题解析:比潜热、理想气体的应用
    本文是对2017年IB物理试卷paper 2中一道涉及比潜热、理想气体和功率的大题进行解析。题目涉及液氧蒸发成氧气的过程,讲解了液氧和氧气分子的结构以及蒸发后分子之间的作用力变化。同时,文章也给出了解题技巧,建议根据得分点的数量来合理分配答题时间。最后,文章提供了答案解析,标注了每个得分点的位置。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了[从头学数学]中第101节关于比例的相关问题的研究和修炼过程。主要内容包括[机器小伟]和[工程师阿伟]一起研究比例的相关问题,并给出了一个求比例的函数scale的实现。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有