现代密码学导论-15-多明文加密

news2025/2/28 17:47:54

目录

3.4更强的安全观念

3.4.1 多明文加密安全

多消息窃听实验

DEFINITION 3.18 多明文加密下的不可区分性

PROPOSITION 3.19 定义3.18强于定义3.8的事实证明

PROPOSITION 3.19 的证明

概率加密的必要性

THEOREM 3.20


3.4更强的安全观念

到目前为止,我们一直在考虑一个相对较弱的安全定义,即对手只被动地窃听诚实当事人之间发送的单个密文。这里我们考虑更强的安全概念。


3.4.1 多明文加密安全

多消息窃听实验

1. 对手A被给予输入1^n,并输出一对等长度的消息向量M0和M1。其中M0为

 

M1为

 

对于任何i,下式成立

 

2. 通过运行Gen(1^n)产生密钥k,随机均匀选择一个比特b∈{0,1}。对于所有的i

 

将消息列表C = (c1, . . . , ct)返回给敌手A

3. A输出一个比特b’

4. 如果b’ = b,则该实验的输出为1,否则为0


DEFINITION 3.18 多明文加密下的不可区分性

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

那么完美就说该方案具有多明文加密下的不可区分性


PROPOSITION 3.19 定义3.18强于定义3.8的事实证明

关于定义3.8见文章现代密码学导论-10-EAV安全_南鸢北折的博客-CSDN博客

存在某个私钥加密方案满足单明文加密下的不可区分性

但不满足多明文加密下的不可区分性


PROPOSITION 3.19 的证明

我们已经在之前提到过,一次性密码本方案是完善保密的,因此其满足单明文加密下的不可区分性。但是其不满足多明文加密下的不可区分性,因为将两次截获的密文进行异或就可以得到对应明文的异或,这样相当于在密文中获取了有关明文的信息,显然不再满足不可区分性了。详见

现代密码学导论-5-一次性密码本_南鸢北折的博客-CSDN博客

上文中的:为什么要“一次性”?


概率加密的必要性

我们根据定义3.18分析敌手A的攻击方式

假设敌手在多明文区分实验中采取这样的策略:

敌手A输出的两个消息向量分别为

 

显然,第一个消息向量包含两次相同的消息,而第二个消息向量则包含两个不同的消息

假设C = (c1, c2)是敌手A收到的挑战密文

如果为c1 = c2,则A输出b’= 0;否则,A输出b’ = 1

我们现在分析b’ = b的概率,即敌手A成功的概率。如果加密算法是确定性的,那么当b=0时,M0中两个相同的分量会被加密为相同的密文,即c1 = c2,此时敌手A输出b’= 0,此时b’ = b;当b=1时,M1中两个不同的分量会被加密为不同的密文,即c1≠c2,此时敌手A输出b’= 1,此时b’ = b。

综上所述,如果A使用上述策略,那么实验输出1的概率为1所以如果加密算法是确定性的,该方案就不具备多明文下的不可区分性。

以上情况表明,使用任何确定性的加密方案都不可能实现定义3.18。


THEOREM 3.20

如果Π是一种加密方案,其中Enc是密钥和消息的确定性函数,那么Π不满足多明文加密下的不可区分性。

注意:定理3.20仅指满足定义3.7语法的加密方案。我们将在第3.6.2节中看到,如果一个加密方案是有状态的(定义3.7没有涵盖的内容),那么即使Enc是确定性的,也可以安全地加密多个消息。

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

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

相关文章

MySQL 慢查询日志 使用方法浅析 日志定位与优化技巧

目录 前言 1、如何开启使用慢查询日志? 1.1 开启慢查询日志 1.2 设置慢查询阈值 1.3 确定慢查询日志的文件名和路径 1.3.1 查询MySQL数据目录 1.3.2 查询慢查询日志文件名 1.3.3 查询全局设置变量 1.3.4 查询单个变量命令 1.3.5 其他注意事项 2、如何定位并优…

备战2023蓝桥国赛-重新理解Prim和Kruskal算法

备战2023蓝桥国赛-重新理解Prim和Kruskal算法Prim算法Kruskal算法Prim算法 题目描述: 解析: prim算法跟dijkstra的朴素解法有很多相像部分,他们都是枚举中继节点来更新下一个节点,都是选最小的dist值来更新,时间复杂…

【线性表】—动态顺序表的增删查改实现

小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan(所有的原码都放在了我上面的gitee仓库里) 数据结构知识点存放在专栏【数据结构】后续会持续更新 ❤❤❤ 个人简介:双一流非科班的一名小白,期待与各位大佬一起努…

【网页设计】期末大作业html+css(动漫网站)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

【机器学习项目实战10例】(十):DataCastle-租金预测

💥 项目专栏:【机器学习项目实战10例】 文章目录 一、DataCastle-租金预测二、数据集介绍三、导入相关库四、读取数据五、删除缺失值过多的列六、填补缺失数据七、特征编码八、简单跑一下九、可视化数据分布9.1 箱线图9.2 直方图和Q-Q图一、DataCastle-租金预测 本项目任务…

【ASM】字节码操作 工具类与常用类 AnalyzerAdapter 工作原理

文章目录 1.概述2.xx3.工作原理3.1初始状态3.2中间状态3.2.1顺序执行3.2.2发生跳转.2.3特殊情况: new对象3.3结束状态4.示例:打印方法的Frame4.2 编码实现5.总结1.概述 在上一篇文章: 【ASM】字节码操作 工具类与常用类 AnalyzerAdapter初步介绍 我们知道 AnalyzerAdapter 主…

Android开发java调用C简单示例

目录下载NDK和CMake新建NDK项目写入C代码,并运行本文使用的Android Studio版本是windows版Android Studio Bumblebee | 2021.1.1 Patch 2 先看下最终效果: 下载NDK和CMake 检查NDK和CMake是否已经下载了,这一步不难,具体步骤就…

工业动态界面设计 GLG Toolkit 4.2 Crack-GlgCE.4.2_x64

GLG Toolkit是为开发高级图形的动态界面而设计的框架:不只是简单的按钮和选单,而且是完全动画的图形对象,它能够显示动态数据和作出与用户交互的反应。它不仅是一个能够创建很多“漂亮的图片”绘图工具,而且它的图形引擎允许开发人…

Spring Boot 使用Docker构建运行

Docker 容器化 Spring Boot 应用 在应用容器化、容器编排大行其道的当下。今天来学习下如何使用Docker技术打包、构建、运行Spring Boot 应用程序,从最简单的Dockerfile开始,一步步的学习Docker 容器的使用过程。 Spring Boot 应用系统 创建项目 使用…

[足式机器人]Part3机构运动微分几何学分析与综合Ch02-3 平面机构离散运动鞍点综合——【读书笔记】

本文仅供学习使用 本文参考: 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch02-3 平面机构离散运动鞍点综合2.4 鞍滑点2.4.1 鞍线与二副连架杆P-R2.4.2 鞍线误差2.4.3 三位置鞍线2.4.4 四位置鞍线2.4 鞍滑点 在平面机构运动综合时&#xff…

实验七 循环神经网络(2)梯度爆炸实验

目录6.2 梯度爆炸实验6.2.1 梯度打印函数【思考】什么是范数,什么是L2范数,这里为什么要打印梯度范数?6.2.2 复现梯度爆炸现象6.2.3 使用梯度截断解决梯度爆炸问题【思考题】梯度截断解决梯度爆炸问题的原理是什么?6.2 梯度爆炸实…

基于遗传算法的风电储能蓄电池容量优化配置matlab优化程序

基于遗传算法的风电储能蓄电池容量优化配置 风电储能蓄电池微电网配置(基于matlab的遗传算法微电网配置优化程序) 参考文献:基于遗传算法的风电储能蓄电池容量优化配置 摘要:为了降低独立风力发电系统中储能装置的生命周期费用&a…

【数据物语系列】 漫谈数据分布可视化分析

【数据物语系列】 漫谈数据分布可视化分析 FesianXu 20221125 at Baidu Search Team 前言 在实际工作中,我们经常会遇到一堆数据,对数据的有效分析至为关键,而数据的分布就是一种非常重要的数据属性,需要通过合适的可视化手段进行…

【创建springboot-maven项目搭建mybatis框架】(超详细)

目录 1. 创建Spring Boot项目,相关参数 2. 创建数据库 3. 在IntelliJ IDEA中配置Database面板 4. 添加数据库编程的依赖 5. 关于Mybatis框架 6. Mybatis编程:插入相册数据 1. 创建Spring Boot项目,相关参数 项目名称:csmall…

[附源码]java毕业设计中小企业人力资源管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

javaEE飞机航班信息查询网站系统

本系统主要包含了订票管理、航班信息管理、站内新闻管理、活动信息管理、用户信息管理、留言等多个功能模块。下面分别简单阐述一下这几个功能模块需求。 管理员的登录模块:管理员登录系统后台对本系统其他管理模块进行管理。 添加管理员模块:向本系统中…

UE5笔记【十】第一个蓝图项目:bluePrint。

我们将上升的斜坡或者楼梯隐藏,往下移动,使其隐藏在地面以下。然后将方块也向下移动,漏出一点来。我们要模拟的场景是:当人移动到蓝色方块上时,踩在方块上,上升的楼梯升起来。然后人可以上楼。 将蓝色方块…

HTML静态网页作业——电影介绍-你的名字 5页 无js 带音乐

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

基于双层优化的微电网系统规划设计方法matlab程序(yalmip+cplex)

基于双层优化的微电网系统规划设计方法matlab程序(yalmipcplex) 参考文献:基于双层优化的微电网系统规划设计方法 摘要:规划设计是微电网系统核心技术体系之一。从分布式电源的综合优化(组合优化、容量优化)和分布式电源间的调度…

【虚幻引擎UE】UE5 两种球体绘制方法

一、网格球体绘制 center 中心点向量 segments参数越大,线条越多 radius是球体半径 thickness 厚度可以不用管 Depth Priority 是渲染深度可以不用管 F Life Time 是持续时间 C代码如下—— .cpp #include "drawBallFunc.h" #include "Components…