目录

3.2.1 安全的基本定义(EAV-安全)

不可区分实验 The adversarial indistinguishability experiment

DEFINITION 3.8 EAV-安全的等价定义(一)

DEFINITION 3.9 EAV-安全的等价定义(二)

证明EAV-安全的两个定义等价


3.2.1 安全的基本定义(EAV-安全)

现代密码学导论-4-完美保密及其三个等价定义_南鸢北折的博客-CSDN博客

EAV-安全和完美不可区分性一样,都是基于不可区分实验而定义的。回顾一下上面链接文章中的不可区分实验。在原实验的基础上做出一些修改:

  • 我们现在只考虑在多项式时间内运行的敌手,而定义2.6考虑的甚至是具有无限运行时间的敌手
  • 我们现在做出让步,对手确定加密消息的概率可能优于1/2
  • 我们用一个安全参数n来参数化实验。敌手A的运行时间和它的成功概率都被看作是n的函数。正在使用安全参数n运行的实验记作

该实验的输出等于1的概率可以表示为

注意,当A和Π固定时,上述表达式是关于n的函数。

  • 我们现在明确地要求对手输出两个长度相等的消息m0,m1。这意味着,在默认情况下,我们不需要一个安全的加密方案来隐藏明文的长度

不可区分实验 The adversarial indistinguishability experiment

  1. 给定一个输入1^n,敌手A输出一对消息m0,m1,其中|m0| = |m1|。对m0和m1的长度没有限制,只要它们是相同的即可。
  2. 通过运行Gen(1^n),产生一个输出k;随机选取一个比特b ∈ {0, 1},计算c ← Enck(mb)并返回给敌手A。我们称c为挑战密文
  3. 敌手A输出一个比特b’
  4. 如果b ' = b,则定义实验输出为1,否则为0。如果实验的输出为1,我们说敌手A成功了

DEFINITION 3.8 EAV-安全的等价定义(一)

私钥加密方案Π =(Gen,Enc,Dec)如果对于所有PPT敌手,存在一个可忽略函数negl,对于所有的n,

那么我们就说此方案在窃听者存在的情况下具有难以区分的加密,或者是EAV安全的


DEFINITION 3.9 EAV-安全的等价定义(二)

在不可取分实验中,当随机比特b被选定后的实验我们可以表示为:

我们将敌手A在上述实验中输出的b’表示为:

私钥加密方案Π =(Gen,Enc,Dec)如果对于所有PPT敌手,存在一个可忽略函数negl,对于所有的n,

 那么我们就说此方案在窃听者存在的情况下具有难以区分的加密,或者是EAV安全的


证明EAV-安全的两个定义等价

敌手A成功分为两种情况outA(PrivK(n,0)) = 0和outA(PrivK(n,1)) = 1

我们令P0=Pr[outA(PrivK(n,0)) = 1],P1=Pr[outA(PrivK(n,1)) = 1]

Pr[PrivK(n)=1]=Pr[b=0]*Pr[PrivK(n)=1 | b=0]+Pr[b=1]*Pr[PrivK(n)=1 | b=1]

=0.5*Pr[outA(PrivK(n,0)) = 0]+0.5*Pr[outA(PrivK(n,1)) = 1]

=0.5*(1-P0)+0.5*P1

因此 |Pr[PrivK(n)=1]-1/2|=0.5*|P0-P1|

现代密码学导论-10-EAV安全相关推荐

  1. 现代密码学导论-2-古典密码及其密码分析

    目录 1.3 古典密码和密码分析 1.3.1 凯撒密码 Caesar's cipher 1.3.2 移位密码 shift cipher 1.3.3 充分密钥空间原则 1.3.4 单表代换密码 mono ...

  2. 前言 - 现代密码学导论 Introduction to Modern Cryptography

    Introduction to Modern Cryptography - Jonathan Katz and Yehuda Lindell 前言 ​    这本书介绍了密码学的基本原理和原则.旨在作 ...

  3. 椭圆曲线密码学导论pdf_椭圆曲线密码学

    椭圆曲线密码学导论pdf 历史 (History) The use of elliptic curves in cryptography was advised independently by Ne ...

  4. 数学 - 线性代数导论 - #10 线性相关性、向量空间的基和维数

    线性代数导论 - #10 线性相关性.向量空间的基和维数 这节课中,我们先讲了前面的课程中一直提及的线性相关性的具体定义,并以此为基础建立了向量空间的"基"和"维数&qu ...

  5. 算法导论 10.1-6

    题目:用两个栈实现一个队列,并分析相关队列操作的运行时间 解答: 1.使用两个栈S1与S2: 2.通过栈S1的Push执行队列入队操作,通过栈S2的Pop执行队列出队操作 3.当栈S2为空后,即S1- ...

  6. 算法导论练习 10.4-5及12.1-3

    //算法导论10.4-5及12.1-3 //1. 10.4-5 //给定一个n节点的二叉树,写出一个O(n)时间的非递归过程,将该树每个节点的关键 //字输出.要求除该树本身的存储空间外只能使用固定量 ...

  7. 10门必看的机器学习免费课程

    整理 | 琥珀 出品 | AI科技大本营(ID: rgznai100) 文本将介绍来自全球10所著名学府的机器学习和数据科学领域的免费公开课程,范围涉及从入门机器学习到自然语言处理等. 1.机器学习 ...

  8. 10 门必修的机器学习名校公开课,旨在完善你的 AI 学习路线!

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 编辑 | 红色石头 本文将给大家介绍机器学习和数据科学领域 10 个全球知名的免费公开课!这些 ...

  9. 密码学和加密数字货币的简介

    所有货币都需要一些方法来控制供应,并强制执行各种安全属性以防止作弊.在法定货币方面,像中央银行这样的组织控制货币供应量,并对实体货币增加防伪功能.这些安全功能提高了对攻击者的防范能力,但是他们不可能不 ...

最新文章

  1. 彻底透析SpringBoot jar可执行原理
  2. 程序员应当学会“偷懒”
  3. linux 中*与?结合起来的威力,匹配一个或者多个
  4. js中的错误missing ( before function parameter
  5. NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
  6. C++ 贪吃蛇小游戏
  7. kettle mysql_KETTLE7如何连接MYSQL8?
  8. 95-070-040-源码-源码调试-FLINK源代码调试方式
  9. LeetCode(118)——杨辉三角(JavaScript)
  10. ngin IP跳域名 域名跳域名 if多判断
  11. Js中apply和Math.max()函数的问题及区别
  12. python 实现 画图器_python实现画图工具
  13. 微型计算机原理及应用 阶段作业,微机原理及应用第三次作业
  14. C++实现均值滤波器和中值滤波器
  15. 与现代教育技术有关的计算机知识,基于计算机的现代教育技术手段的利用与开发...
  16. 12个开源的后台端管理系统
  17. 影单:分享一下最近在看的一些电影
  18. 计算机教室云教学反思,《观察云》教学反思
  19. 手机开USB热点给电脑使用失败
  20. Linux下C语言调用paly播放音频文件

热门文章

  1. Martin Fowler三万字解读源代码分支管理模式 | IDCF
  2. python车牌识别系统抬杆_昆明车牌识别自动抬杆系统
  3. 计算机二级论文大纲,计算机二级论文
  4. 标段(包)分类 字典sql
  5. 滴滴云GPU服务器做深度学习之tensorflow object detect 对象检测 实践
  6. Android studio飞机大战游戏分析-月末总结
  7. B.FRIEND背光防水静音键盘,高剪刀脚键盘GK4
  8. 在vue项目中引用萤石云播放器插件
  9. 在计算机软件中怎么拍照,计算机相机相机软件,这三个软件不仅用于拍照
  10. Floodlight模块分析:forwarding模块