[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第32篇]基于博弈的证明和基于模拟的证明

这是一系列博客文章中最新的一篇,该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。

在基于博弈的安全定义中,安全是由博弈过程定义的。博弈围绕着一些通用的原始元素展开,通常由挑战者和对手共同参与,其中挑战者向对手提出挑战,并在脑海中设定一定的“目标”。对手也可能获取一些问询能力,如果对手提供了一些正确的输出,那么他就达成了目标,获胜了。一个对手的优势(advantage)定义成一个数字,这个数字大致反应了对手应该比普通对手的输出好多少。例如,如果敌手需要输出一个平均分布产生的随机数字的值,那么这个优势就是指的是它获胜的概率比1/2大多少。现在,一个密码学方案如果被认为满足安全定义,当且仅当所有‘有效率的‘攻击者在实际攻击中不能获得过大的优势。(优势应该是可忽略的。)

非正式地说,人们可能认为挑战者是一个想要使用加密方案的合法用户,而对手是一个想要违背合法用户意愿实现某些目标的坏人,而这种“成就”对应于对手的目标。一般来说,挑战者可以访问所有的秘密参数(考虑秘密或签名密钥),而对手只能访问一些问询(考虑公共哈希函数或公共密钥加密),以及挑战者在游戏中给出的任何参数(考虑公共参数和挑战)。

这个范例中的安全性证明包括两个重要的概念。他们使用归约来将博弈和计算困难问题产生联系,导致以下形式的声明:“如果敌人赢得比赛不可忽视的优势,那么就可以构造一个算法使用对手作为子程序有效地解决一些困难的问题。“另一个概念是通过game hopping。在这里,我们将对手赢得游戏的事件与一系列不同游戏中的事件联系起来。接下来的每一场比赛都与前一场比赛很接近,因为对手无法区分接下来的两场比赛,除非它能解决一些困难的问题,或者发生一些几乎不可能发生的事情。

本系列的前五篇博客文章包含了四个基于游戏的安全定义和一个基于游戏的证明示例,其中包含一系列游戏,因此我们在这里不考虑任何特定的示例。

在基于模拟的安全定义中,安全是由模拟器的存在和一些理想的“函数”来定义的。考虑现实世界中的密码方案,现在想象一下您希望该方案在理想世界中的行为。例如,在投票方案中,最好有一个受信任的第三方,该第三方拥有面向所有选民的安全通道,通过这些安全通道接收所有选票,只发布结果,而不发布其他内容。如果在现实世界中存在一个模拟器,它提供与现实世界中的对手相同的输出,同时与理想世界中的理想“功能”交互,那么密码方案现在是安全的。这意味着现实世界中任何可能的“攻击”都可以应用于理想世界中的理想功能。相反,如果理想的功能在理想世界中抵抗攻击,那么真实的方案也在现实世界中抵抗这些攻击。

Goldreich概念第一次出现在一篇论文,Micali, Widgerson,表明你可以玩任何游戏(这是一些由多个政党联合计算),这样在任何一步的游戏,任何一群只不过不到一半的球员知道他们会在一个理想的游戏与一个可信方的执行。最近,Ran Canetti在介绍通用可组合性的文章中提出了基于仿真的安全概念。它主要用于多方计算的设置。

有什么不同呢?在基于游戏的方法中,每个安全概念都有自己的游戏。如果这个概念正确地捕获或建模了您希望系统具有的真实世界属性,那么就完成了。如果您的方案需要满足各种各样的概念,那么您将需要为每个概念玩游戏。然而,在某些情况下存在一个已知的层次结构,例如,IND-CCA安全性意味着IND-CPA安全性。

相反,在基于模拟的方法中,安全性是由理想的功能建模的。从概念上讲,您的方案将不会受到破坏理想功能的攻击。这意味着这个模型捕获了不同的安全概念。

转载链接:https://www.cnblogs.com/zhuowangy2k/p/12245596.html

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

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

相关文章

第六十四期:聊聊原子变量、锁、内存屏障那点事

突然想聊聊这个话题,是因为知乎上的一个问题多次出现在了我的Timeline里:请问,多个线程可以读一个变量,只有一个线程可以对这个变量进行写,到底要不要加锁?可惜的是很多高票答案语焉不详,甚至有所错漏。 …

数据结构九——栈

文章出处:极客时间《数据结构和算法之美》-作者:王争。该系列文章是本人的学习笔记。 1栈的定义 1.1 栈的定义 栈:后进者先出,先进着后出。就像一碟盘子,如果拿走一个盘子,拿走的一定是最后放上去的那个…

java 传入多个参数时报Parameter 'XXX' not found. Available parameters are [arg1, arg0, param1,... 解决方案...

Select("SELECT id FROM ae_post ORDER BY id DESC LIMIT #{page},#{size}")List<Post> getAllForPage(Param("page") int page, Param("size")int size); dao层写入&#xff0c;解决方法如上 注&#xff1a;多参数需要添加 Param("…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第33篇]Bellcore攻击是如何攻击使用CRT的RSA的?

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 转载链接:https://www.cnblogs.com/zhuowangy2k/p/12245604.html

spring学习(14):Autowired的使用场景

CompactDisc类 package soundSystem;import org.springframework.stereotype.Component;Component public class CompactDisc {public CompactDisc() {super();System.out.println("compactdisc无参构造方法");}public void play(){System.out.println("正在播…

数据结构十——队列

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 1 队列 队列&#xff1a;可以想象成排队买票&#xff0c;先来的人先买&#xff0c;后到的人站在队尾。先进者先出&#xff0c;这就是队列。 队列的操作&#xff1a…

[教程]博客园插入视频教程

【学习观15】人类为啥不进化成过目不忘&#xff1f;记忆力差难道不阻碍学习吗&#xff1f; 代码 <div class"video"> <iframe src"//player.bilibili.com/player.html?aid54874176&cid95969626&page1" scrolling"no" border&q…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第34篇]描述攻击离散对数问题的baby-step/Giant-step方法

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 Baby-step/Giant-step是Dnaiel Shanks为解决DLP问题开发的算法。DLP问题已经是许多现代密码学的困难性基础。…

spring学习(15):required属性

CompactDisc类 package soundSystem;import org.springframework.stereotype.Component; //注解Componentpublic class CompactDisc {public CompactDisc() {super();System.out.println("compactdisc无参构造方法");}public void play(){System.out.println("…

爬虫的单线程+多任务异步协程:asyncio 3.6

单线程多任务异步协程:asyncio 3.6 事件循环 无限循环的对象.事件循环中最终需要将一些 特殊的函数(被async关键字修饰的函数) 注册在该对象中.协程 本质上是一个对象.可以把协程对象(特殊的函数)注册到事件循环中任务对象 就是对协程对象进一步的封装.绑定回调: task.add_done…

算法十——深度优先搜索和广度优先搜索

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 搜索算法 算法是作用于数据结构之上的。深度优先搜索、广度优先搜索是作用于图这种数据结构之上的。图上的搜索算法可以理解为从一个顶点到另外一个顶点。 常用的搜…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol 52][第35篇]给针对ECDLP问题的Pollard rho,parallel Pollard rho攻击的一个粗略的描述

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 [1] http://www.cs.bris.ac.uk/~nigel/Crypto_Book/book.ps (pages 208 - 214) 转载连接&#xff1a;https…

spring学习(16):使用接口

目录结构 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

交易系统高并发下的幂等性设计原则

一、介绍 幂等性就是针对同一个请求&#xff0c;不管该请求被提交了多少次&#xff0c;该请求都将被视为同一个请求&#xff0c;服务端不应该将同一个请求进行多次处理&#xff0c;以确认处理逻辑的正确性&#xff0c;针对交易性系统幂等性的设计尤为重要&#xff0c;否则由于网…

工程中选择数据结构和算法的依据

1. 时间、空间复杂度不能和性能划等号 时间、空间复杂度不是时间执行和内存消耗的精确值。它们只是表示了随着数据量的增长&#xff0c;时间、空间的增长趋势。 代码的执行时间有时不跟时间复杂度成正比。我们常说算法是O(nlogn),O(n2n^2n2)这些都是基于大数据量&#xff08;…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第36篇]Index Calculus算法

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 我们这篇博客继续描述一种数学攻击&#xff0c;这种数学攻击被叫做Index Calculus(IC)算法。 注意这里Index…

DS博客作业07--查找

1.本周学习总结 1.思维导图 2.谈谈你对树结构的认识及学习体会。 查找是一种跟我们生活息息相关的算法&#xff0c;最典型的例子就是搜索引擎&#xff0c;而评价一种查找算法的优劣的关键就是查找速度&#xff0c;生活中我们往往要在大量数据查找自己所需要的东西&#xff0c;如…

easyUI学习笔记二

1&#xff0e; 拖拉大小 <!DOCTYPE html> <html> <head><title>easyui学习</title><script type"text/javascript" src jquery-easyui/jquery.min.js> </script><script type"text/javascript" src jquer…

C语言—每日选择题—Day62

隔一天更新解析 第一题 1. 在使用标准C库时&#xff0c;下面哪个选项使用只读模式打开文件&#xff1f; A&#xff1a;fopen("foo.txt", "r") B&#xff1a;fopen("foo.txt", "r") C&#xff1a;fopen("foo.txt", "w&…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第37篇]The Number Field Sieve

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 转载链接&#xff1a;https://www.cnblogs.com/zhuowangy2k/p/12245636.html