现代密码学导论-14-基于伪随机发生器的EAV安全

news2025/7/14 10:43:35

目录

3.3.3 基于伪随机发生器的EAV安全

用伪随机发生器进行加密的图示

CONSTRUCTION 3.17 一种基于伪随机发生器的私钥加密方案

THEOREM 3.16 基于伪随机发生器的私钥加密方案的EAV安全

THEOREM 3.16 的证明

最后来理一下


3.3.3 基于伪随机发生器的EAV安全

用伪随机发生器进行加密的图示


CONSTRUCTION 3.17 一种基于伪随机发生器的私钥加密方案

设G是一个膨胀系数为l(n)的伪随机发生器,定义一个对于消息长度为l(n)的固定长度的私钥加密方案

Gen:在输入为1^n时,均匀选择k∈{0,1}^n作为密钥输出。

Enc:输入为k和消息m∈{0, 1}^l(n),输出密文c := G(k)⊕m

Dec:输入为k和密文c∈{0, 1}^l(n),输出明文m := G(k)⊕c


THEOREM 3.16 基于伪随机发生器的私钥加密方案的EAV安全

如果G是一个伪随机发生器,那么对于消息长度为l(n)的固定长度的私钥加密方案3.17是EAV安全的


THEOREM 3.16 的证明

设Π表示方案3.17,其满足定义3.8。关于定义3.8的内容见下文

现代密码学导论-10-EAV安全_南鸢北折的博客-CSDN博客

我们证明了对于任何PPT敌手A,有一个可忽略的函数negl,使得

 

通过敌手 A 构造一个区分器 D ,将 D 的区分G的输出和一个随机字符串的能力直接与 A 分辨 Π 加密明文的能力建立联系。即区分器将敌手 A 作为自己的一个子程序来完成区分实验。假设A是一个任意的PPT敌手。我们构造了一个区分器D,它以一个字符串w作为输入,它的目标是判断w究竟是真随机比特串,还是由伪随机发生器生成的伪随机比特串。我们构造D,使它模拟A的窃听实验,如下所述,并观察A是否成功。如果A成功了,那么D猜测w一定是一个伪随机字符串,而如果A不成功,那么D猜测w是一个随机字符串。详细构造:

区分器D:

D的输入是字符串w∈{0, 1}^l(n)。我们假设n可以由l(n)来确定

运行A(1^n)以获得一对消息m0、m1∈{0,1}^l(n)

随机均匀选择b∈{0,1},令c:= w⊕mb。

将c交给A,得到输出b’。如果为b’ = b,则输出1,否则输出0

定义加密方案Π’ = (Gen', Enc', Dec')

Π’实际上是引入了安全参数n的一次性密码本方案,这意味着Gen(1^n)输出长度为l(n)的随机均匀密钥k,使用k∈{0,1}^l(n)加密消息m∈{0,1}^l(n)得到c:= k⊕m。由于一次性密码本是具有完善保密性的,因此、

分析D的行为,主要的观察结果是:

如果w是真随机比特串,A作为D的子进程运行时,相当于在进行实验

因为D正好在A的窃听实验成功时输出1,即得到下面的式子,记为A式 

其中第一个概率Pr的下标只是明确地表示w是均匀地从{0,1}^l(n)中选择的

如果w是由真随机k∈ {0, 1}^n生成的,我们记作w := G(k)。A作为D的子进程运行时,相当于在进行实验

因此我们得到下面的式子,记为B式

根据文章

现代密码学导论-12-伪随机发生器_南鸢北折的博客-CSDN博客

DEFINITION 3.14 伪随机发生器的定义

由于G是一个伪随机发生器,其具有伪随机性

伪随机性:对于任何ppt算法D,有一个可忽略函数negl,使得

Pr[D(G(s)) = 1] − Pr[D(r) = 1]≤ negl(n)

应用该式子于当前情况,我们得到

 联立刚刚得到的A式和B式,我们得到

 由于A是一个任意的PPT敌手,这就完成了Π是EAV安全的证明


最后来理一下

  • 我们要证明的结论是什么??

我们要证明基于伪随机发生器G构建的方案3.17是EAV安全的,参考

现代密码学导论-10-EAV安全_南鸢北折的博客-CSDN博客

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

根据EAV安全的定义,也就是要证明对于任何PPT敌手a,存在可忽略函数negl使得

  • 我们可以利用的条件是什么??

由于G是一个伪随机发生器,其具有伪随机性,参考

现代密码学导论-12-伪随机发生器_南鸢北折的博客-CSDN博客

上文中DEFINITION 3.14 伪随机发生器的定义 中的第二个条件

伪随机性:对于任何ppt算法D,有一个可忽略函数negl,使得

Pr[D(G(s)) = 1] − Pr[D(r) = 1]≤ negl(n)

我们观察一下条件结论条件是关于区分器算法D结论是关于不可区分实验

如何把两者联系起来?我们使用归约算法,即用参与不可区分实验的敌手A来构建区分器D

我们基于为伪随机发生器定义的方案3.17为Π= (Gen, Enc, Dec),该方案使用伪随机数对明文进行加密

还定义了方案Π’= (Gen', Enc', Dec'),该方案使用真随机数对明文进行加密

根据区分器D的定义,D输出为1的概率等于敌手A在区分实验中成功的概率,

当区分器D的输入为伪随机数时,就相当于敌手A在做关于方案Π的不可区分实验,得到A式

 当区分器D的输入w为真随机数时,就相当于敌手A在做关于方案Π的不可区分实验,得到B式

这样我们得到了两个式子,这两个式子都含有区分器D与不可取分实验的关系。这样我们就解决了之前“如何把两者联系起来”的问题。

根据G的伪随机性:Pr[D(G(s)) = 1] − Pr[D(r) = 1]≤ negl(n),即

将上式与A式和B式联立,得到

这恰好是EAV安全的定义。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/36479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pandas是什么以及pandas的三种数据结构Series、DataFrame、MultiIndex的创建方式函数代码

一、pandas概述 pandas是2008年WesMcKinney开发出的专门用于数据挖掘的开源python库,以Numpy为基础,借助numpy模块在计算方面性能高的优势,基于matplotlib,能够简便的画图,具有独特的数据结构 pandas特点 图表的可读…

深度强化学习中深度Q网络(Q-Learning+CNN)的讲解以及在Atari游戏中的实战(超详细 附源码)

需要源码请点赞收藏关注后评论区留下QQ~~~ 深度强化学习将深度学习的感知(预测能力)与强化学习的决策能力相结合,利用深度神经网络具有有效识别高维数据的能力,使得强化学习算法在处理高纬度状态空间任务中更加有效 一、DQN算法简…

牛客小白月赛62 幼稚园的树

2022.11.25 今晚闲来无事,在zhoj群中看到管理员发布的牛客小白月赛的通知,就和舍友一起参加了。 题目描述 来源:牛客网 牛牛在幼稚园做义工,幼稚园中共有 nnn 颗树,第 1 天中午时它们的高度分别为:h1,h2…

体系结构27_多处理机(1)

单处理机的发展正在走向尽头? 并行处理机在未来将会发挥更大的作用。 1.获得超过单处理器的性能,最直接的方法就是把多个处理器连在一起。 2.自1985年以来,体系结构的改进使性能迅速提高,这种改进的速度能否持续下去还不清楚&a…

Day11--首页-轮播图效果

1.创建 home 分支 我的操作: ************************************************** ************************************************** ******* 2.配置网络请求 博主文档: 我的操作: 1》.先初始化一个package.json文件。 2》根据博主的…

MyBatis-Plus 01入门

参考网站 官网:http://mp.baomidou.com 参考教程:http://mp.baomidou.com/guide/ 一、简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率…

测试用例设计方法之等效类,边界值

概念: 等价类划分是一种黑盒测试方法,把无限的测试变成有限的测试。把所有可能的输入数据,即程序的输入域划分成若干等价类,然后从每一个等价类中选取少数具有代表性的数据作为测试用例。依据需求将输入(特殊情况下会考虑输出)划分…

MySQL之InnoDB浅析

InnoDB是一个兼顾高可靠性和高性能的通用存储引擎。在 MySQL 5.7 中,InnoDB是默认的 MySQL 存储引擎。 InnoDB 的主要优势 支持事物,具备crash-safe的能力支持行锁以及MVCC,具备良好的多用户并发性和性能Buffer Pool,提升热点数…

Redis过期键及内存淘汰策略

写在前面 以下内容是基于Redis 6.2.6 版本整理总结 一、Redis数据库的组织方式 Redis服务器将所有的数据库 都保存在src/server.h/redisServer结构中的db数组中。db数组的每个entry都是src/server.h/redisDb结构,每个redisDb结构代表一个数据库。Redis默认有16个…

测试用例设计方法之正交法

概念: 正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计…

49 - 多态的概念和意义

---- 整理自狄泰软件唐佐林老师课程 1. 函数重写回顾 父类中被重写的函数依然会继承给子类子类中重写的函数将覆盖父类中的函数通过作用域分辨符(::)可以访问父类中的函数 p->print()不符合预期,期望调用子类中的print,实际调…

【知识网络分析】研究者合作网络(co-investigator)

研究者合作网络(co-investigator) 1 数据集读取2 网络数据集精简3 网络最大子群获取并可视化4 社团群体分类筛选5 求解网络图中节点中心度相关的指标值并进行可视化1 数据集读取 此处的合作作者(co-investigator)是指基金数据中的作者,数据集 来自于官网提供的加拿大国家…

redis数据库windows下c语言库的编译

使用cmake和make工具进行windows下的编译 下载 1.hiredis下载地址 https://github.com/redis/hiredis 克隆源码 2.cmake下载地址 https://cmake.org/ 3.make for windows http://www.equation.com/servlet/equation.cmd?fa=make 4.mingw 64位 https://download.csdn.net/d…

USB Network Native Driver for ESXi更新支持ESXi8.0

在ESXi8.0发布一个多月后,社区版的USB网卡驱动终于在flings上更新了,USB Network Native Driver for ESXi | VMware Flings Nov 23, 2022 - v1.11 Added support for ESXi 8.0 ESXi800-VMKUSB-NIC-FLING-61054763-component-20826251.zip md…

如何根据不同需求给Word文档设置保护?

Word文档可以设置不同的保护模式,我们可以根据不同需求选择合适的方法,下面介绍一下常用的3种方法。 方法一: 如果不想Word文档被随意打开,我们可以设置打开密码,只有输入正确的密码才能打开文件。 首先&#xff0c…

Metabase学习教程:视图-4

将数据可视化为直方图 学习何时使用直方图,以及元数据库如何使创建直方图更容易。 我们将逐步创建直方图,它是一种条形图,显示连续范围内的数据组。柱状图有助于深入了解人们可能购买的商品的数量、他们可能购买的价格范围,甚至…

JS 数据结构:集合

集合 集合是由一组无序且唯一(即不能重复)的项组成的。该数据结构使用了与有限集合相同的数学概念。ES6 JS 原生实现了集合 Set 数据结构(具体看这篇文章JS Set 与 weakSet),但是没有取两集合交集、并集、差集的 API …

机器学习笔记之高斯网络(二)高斯贝叶斯网络

机器学习笔记之高斯网络——高斯贝叶斯网络引言回顾高斯网络贝叶斯网络:因子分解高斯贝叶斯网络:因子分解引言 上一节介绍了高斯网络及其条件独立性,本节将介绍高斯贝叶斯网络。 回顾 高斯网络 高斯网络最核心的特点是:随机变…

SpringBoot 多点互斥登录(web应用安全) 保姆级教程

1.什么是互斥登录 在实际生活中,很多网站都做了多点登录互斥的操作,简单来说就是同一个账号,只能在一台电脑上登录,如果有人在其他地方登录,那么原来登录的地方就会自动下线,再进行操作就会弹出登录界面。 …

【远程调用 MySQL数据库并操作】——使用NATAPP搭建内网穿透远程访问MySQL数据库并使用 Python新建、写入、读取、删除数据【详细版】

所有的程序都是免费的!! Python MySQL NATAPP 点个赞留个关注吧!! NATAPP 安装使用教程 官网 NATAPP 下载 官网 NATAPP配置教程 1、进入NATAPP 登录/注册 进行登录,没有的注册一下,需要实名认证哦&am…