现代密码学第三讲:复杂性理论_第1页
现代密码学第三讲:复杂性理论_第2页
现代密码学第三讲:复杂性理论_第3页
现代密码学第三讲:复杂性理论_第4页
现代密码学第三讲:复杂性理论_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/7/2,北邮现代密码学,1,复杂性理论,现代密码学第三讲,2020/7/2,北邮现代密码学,2,上讲内容回顾,Shannon通信保密系统 熵和无条件保密 分组密码的设计思想,2020/7/2,北邮现代密码学,3,本章主要内容,问题的定义及分类 算法复杂度定义及分类 P问题和NP问题 规约思想与NPC类 密码算法的计算安全性,2020/7/2,北邮现代密码学,4,问题的定义及分类,1 设A=(a1,a2,an)是由n个不同的正整数构成的n元组,S是另一已知的正整数. A称为背包向量,S称为背包容积. 求A中元素集合A,使 . 2 设背包向量A=(1,2,5,10,20,50,100),

2、 背包容积为177,求向量 , 使得 .,2020/7/2,北邮现代密码学,5,问题的定义及分类,3 已知整数N,问N是否是一个素数? 4 试问77是否是素数? 5 试问79是否是素数? 6 已知整数N,求N的素分解式. 7 已知整数177,求其素分解式.,2020/7/2,北邮现代密码学,6,问题的定义及分类,问题:描述参量陈述解答应当满足的性质(称为询问). 参量为具体数值时,称为问题的一个实例. 判定问题:回答只有Yes或No. 计算问题:从其可行解集合中搜索出最优解.,2020/7/2,北邮现代密码学,7,算法复杂度的定义,例 设x是小于100的某个整数,问x是否是素 数? 解答一:取

3、2 的所有整数,依次试除x,若存在某个整数可以整除x,则程序停止,输出x为合数,否则输出x为素数. 最坏试除次数: 存储空间:0 解答二:预先将所有小于100的素数存储在寄存器中;然后将X与存储器中的元素比较,若存在某个素数等于x,则程序停止,输出x为素数,否则输出x为合数. 最坏比较次数: 100/ln100, 存储空间: 100/ln100,2020/7/2,北邮现代密码学,8,算法复杂度的定义,时间(计算)复杂性:考虑算法的主要操作步骤,计算执行中所需的总操作次数. 空间复杂性:执行过程中所需存储器的单元数目. 数据复杂性:信息资源. 计算模型-确定性图灵机(有限带符号集合,有限状态集,

4、转换函数)(读写头,读写带).,2020/7/2,北邮现代密码学,9,算法复杂度的定义,不同的编程语言,不同的编译器导致执行一次操作的时间各不相同,为了方便不同算法比较,通常假定所有计算机执行相同的一次基本操作所需时间相同,而把算法中基本操作执行的最大次数作为执行时间. 基本操作数量 运行时间= 机器速度,2020/7/2,北邮现代密码学,10,算法复杂度的定义,定义 假设一个算法的计算复杂度为O(nt),其中t为常数,n为输入问题的长度,则称这算法的复杂度是多项式的。具有多项式时间复杂度的算法为多项式时间算法. 函数g(n)=O(nt)表示存在常数c0和n0=0,对一切n n0均有|g(n)

5、|=c|nt| 成立,也就是说,当n足够大时,g(n)存在上界. 定义 非多项式时间算法:算法的计算复杂性写不成O(P(n)形式,其中P(n)表示n的多项式函数.,2020/7/2,北邮现代密码学,11,算法复杂度的定义,例 设x是小于100的某个整数,问x是否是素数? 解法1是否是多项式时间算法? 解法2是否是多项式时间算法?,2020/7/2,北邮现代密码学,12,P问题和NP问题,定义(P问题)如果一个判定问题存在解它的多项式时间的算法,则称该问题属于P类. 定义(NP问题) 如果一个判定问题不存在解它的多项式时间的算法,且对于一个解答可以在多项式时间验证其是否正确,则称该问题属于NP类

6、. 公开问题:P NP? 它是Clay研究所的七个百万美元大奖问题之一,2020/7/2,北邮现代密码学,13,密码算法的计算安全性,二次函数、三次函数、2x函数的示意图,2020/7/2,北邮现代密码学,14,密码算法的计算安全性,例. 设问题输入长度为n,在一个每秒钟运行百万次的计算机上的运行时间如下:,2020/7/2,北邮现代密码学,15,密码算法的计算安全性,当问题输入长度足够大,分析密码体制的算法的复杂度较大,可能的计算能力下,在保密的期间内可以保证算法不被攻破,这就是密码体制的计算安全性思想。 注:分析方法是无穷无尽的,类似于解决问题的算法,目前不存在非多项式时间的分析方法,将来

7、可能存在,即算法将来可能不堪一击. 如差分分析出现。,2020/7/2,北邮现代密码学,16,密码算法的计算安全性,密码系统设计: 合法用户易 (多项式) 攻击者 难(非多项式) 注:计算模型-图灵机 量子计算机出现导致分解因子问题容易,从而RSA等密码系统不再安全,缘由是计算模型不同.,非多项式时间问题 多项式问题,2020/7/2,北邮现代密码学,17,规约思想与NPC类,定义 判定问题 , . 若存在 的解法S1,那么通过调用S1(作为子程序),可以在多项式时间内解 问题,则称 可多项式规约至 “ ” 定义 若判定问题 NP,对每个判定问题 NP,都有 ,则称 属于NPC类,或称为NP完全的.,2020/7/2,北邮现代密码学,18,规约思想与NPC类,2020/7/2,北邮现代密码学,19,主要知识点小结,算法的复杂度定义及分类 密码算法的计算复杂度,2020/7/2,北邮现代密码学,20,作业,1 求冒泡排序法的计算复杂度, 该算法是否为多项式的? 2 超递增背包问题:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论