Introduction to Modern Cryptography-现代密码学导论[二]

文章探讨了伪随机生成器在构造计算安全加密方案中的应用,如EAV-Security,强调了伪随机性和真随机性的区别。同时,文章介绍了选择明文攻击和CPA-Security的概念,以及如何通过伪随机函数构建安全的加密系统。
摘要由CSDN通过智能技术生成

1.Pseudorandom Generators(伪随机生成器)

伪随机生成器G是一种有效的确定性算法,用于将短的均匀字符串(称为种子)转换为较长的“均匀外观”(或“伪随机”)输出字符串。换句话说,伪随机发生器使用少量的真随机性以便生成大量的伪随机性。这在需要大量随机位时很有用,因为生成真正的随机位通常很困难且很慢。伪随机发生器至少从20世纪40年代开始被研究,当时它们被用于运行统计模拟。在这种情况下,研究人员提出了各种统计测试,伪随机发生器应该通过,以便被认为是“好的”。作为一个简单的例子,可以要求伪随机发生器的输出的第一位应该以非常接近1/2的概率等于1(其中该概率是在种子的均匀选择上取得的),因为均匀串的第一位以恰好1/2的概率等于1。作为另一个示例,输出比特的任何固定子集的奇偶校验也应该是1,概率非常接近1/2。还可以考虑更复杂的统计检验。

上述考虑促使在20世纪80年代采用加密方法来定义伪随机生成器。基本的认识是,一个好的伪随机发生器应该通过所有(有效的)统计测试。也就是说,对于任何有效的统计测试(或区分器)D,当给定伪随机发生器的输出时D返回1的概率应该接近于当给定相同长度的均匀串时D返回1的概率。

正如不可区分性是完全保密性的计算松弛,伪随机性是真随机性的计算松弛

正式定义。如上所述,如果没有有效的区分器可以检测到它是由G输出的字符串还是随机均匀选择的字符串,则G是伪随机生成器。在定义3.9中,这是通过要求每个有效算法在给定G(s)(对于均匀种子s)或均匀字符串时以几乎相同的概率输出1来形式化的。我们通过让安全参数n确定种子的长度,并坚持G是可计算的一个有效的算法,得到了一个定义的渐近设置。作为一个技术细节,我们还要求G的输出要比它的输入长;否则,G不是很有用或有趣


2.EAV-Security from a Pseudorandom Generator

构造很简单,如上图:发送方和接收方共享一个随机的(均匀分布)短密钥(长度小于明文),然后我们用这个密钥作为seed,用PRG生成一段与明文长度相等的pad,然后与明文异或得到密文。这个方案是满足计算安全的。

这个加密方案与满足完美安全的one-time pad非常相似,不同之处在:one-time pad的pad是一串真随机的比特串,而现在这个加密方案的pad是用PRG生成的一串伪随机比特串。

注意,我们现在讨论的是计算安全,而不是完美安全。这个方案满足计算安全是因为,我们的pad是用PRG生成的伪随机串,而在计算安全语境下的敌手是无法分辨出真随机串和伪随机串的,所以在敌手看来,我们的pad仍然是一个在其长度上均匀分布的比特串。

与在one-time pad中,通信双方需要共享与明文长度相等的一长串pad所谓密钥相比,在这个加密方案中双方只需要共享一个很短的seed作为密钥,在需要加密和解密时用seed作为PRG的输入生成pad就行了。(PRG的构造是公开的)。

下图是形式化的构造:

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

设A是任意的ppt对手。我们构造了一个区分器D,它将字符串w作为输入,并且其目标是确定w是否被均匀地选择(即,w是“随机串”)或者w是否是通过选择均匀k并计算w:= G(k)(即,w是“伪随机串”)。我们构造D,使得它模仿A的窃听实验,如下所述,并观察A是否成功。如果A成功,则D猜测w必须是伪随机串,而如果A不成功,则D猜测w是随机串。细节如下:


3.Security for Multiple Encryptions

定义3.8处理通信双方传输一个被窃听者观察到的单一密文的情况。然而,如果通信双方可以安全地相互发送多个密文(所有密文都是使用同一个密钥生成的),即使窃听者可能会观察到所有密文,这将是很方便的。对于这样的应用程序,我们需要一个加密方案的多个消息的加密安全。我们开始时先为该设置定义一个适当的安全性。与定义3.8的情况一样,我们首先引入针对任何加密方案n、对手A和安全参数n定义的适当实验:

4.Chosen-Plaintext Attacks and CPA-Security

Chosen-plaintext attacks

CPA-security

        在正式定义中,我们通过给予对手A访问加密预言机来对选择明文攻击进行建模,加密预言机被视为使用A未知的密钥k加密A选择的消息的“黑匣子”。也就是说,我们想象A可以访问“oracle”Enck(·);当A通过向其提供消息m作为输入来查询该预言机时,该预言机返回密文c ← Enck(m)作为答复。(If Enc是随机的,oracle每次回答查询时都使用新的随机性。)对手可以自适应地与加密预言机交互,只要它喜欢。考虑以下针对任何加密方案定义的实验,其中n =(Gen,Enc,Dec),攻击者A,以及安全参数的值n:

CPA-Security for Multiple Encryptions

定义3.21可以以与定义3.8被扩展到给予定义3.18相同的方式被扩展到多个重复的情况,即,通过使用明文列表。在这里,我们采用了一种不同的方法,这种方法稍微简单一些,并且具有建模攻击者的优势,这些攻击者可以自适应地选择要加密的明文对。具体来说,我们现在给予攻击者访问一个“左或右”的oracle LRk,B,在输入一对等长消息m0,m1时,计算密文c ← Enck(mb)并返回c。也就是说,如果b = 0,那么攻击者总是接收“左”明文的加密,并且如果b = 1,那么它总是接收“右”明文的加密。比特b是在实验开始时选择的一个统一比特,与前面的定义一样,攻击者的目标是猜测b。

考虑以下针对任何加密方案定义的实验,其中n =(Gen,Enc,Dec),攻击者A,以及安全参数的值n:

5.Constructing a CPA-Secure Encryption Scheme

Pseudorandom Functions and Permutations

CPA-Security from a Pseudorandom Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值