信息安全数学基础(计算复杂性)课件

上传人:29 文档编号:172326418 上传时间:2022-12-02 格式:PPT 页数:80 大小:2.19MB
收藏 版权申诉 举报 下载
信息安全数学基础(计算复杂性)课件_第1页
第1页 / 共80页
信息安全数学基础(计算复杂性)课件_第2页
第2页 / 共80页
信息安全数学基础(计算复杂性)课件_第3页
第3页 / 共80页
资源描述:

《信息安全数学基础(计算复杂性)课件》由会员分享,可在线阅读,更多相关《信息安全数学基础(计算复杂性)课件(80页珍藏版)》请在装配图网上搜索。

1、信息安全数学基础(计算复杂性)2022-12-2第2章 信息安全数学基础(计算复杂性)2022-12-2计算复杂性基础2022-12-2古书孟子离娄上有这样的记载:淳于髡曰:男女授受不亲,礼與?孟子曰:礼也。曰:嫂溺则授之以手乎?曰:嫂溺不授,是豺狼也。男女授受不亲,礼也;嫂溺授之以手,权也。虽然有“男女授受不亲”的原则存在,但嫂子落水快淹死时,必须拉她、救她,这是“权”(变通),否则,见死不救,就是豺狼。曰:今天下溺矣,夫子之不援何也?曰:天下溺援之以道;嫂溺援之以手。子欲手援天下乎?计算复杂性 为什么要学习计算复杂性?计算复杂性是研究密码分析对于计算量的需求和密码分析的困难程度,从而得出这

2、些密码技术和算法在现有可行的条件下是否具有足够的安全性。学习计算复杂性,需要掌握两个概念:问题 算法 2022-12-2问题(problem)(问题)定义:即需要回答的一般性提问:它通常含有若干个参数。对于一个问题进行描述应该包括两方面的内容:必须对问题的所有给定参数给出一般性描述;必须描述该问题的答案(或解)应该满足的性质。当问题的所有参数都有了确定的取值时,我们称得到了该问题的一个实例(instance)。2022-12-2算法(algorithm)定义(算法):即求解某个问题的一系列具体步骤(通常被理解为求解所需的通用计算程序)。算法总是针对具体问题而言的,求解一个问题的算法通常不止一个

3、。当某个算法能够回答一个问题的任何实例时,我们称该算法能够回答这个问题。当一个问题至少有一个能够回答该问题的算法时,我们称该问题可解(resolvable),否则称该问题不可解(unresolvable)。2022-12-2算法(algorithm)(续)有关算法的几点注释:算法总有输入和输出 算法输入大小一般用输入变量的长度(单位为位)来表示 一般来说,算法用某种编程语言来实现的计算机程序 一般来说,我们仅仅关注解决问题最有效的算法nlogn2当一个变量 用二进制来表示时,其长度2022-12-2问题与算法 问题:如何求解两个整数a和b的最大公约数?参数:a和b 问题实例:a20,b30 算

4、法:利用因子分解求a20和b30的最大公约数 a225 b235 因此a和b 的最大公约数是25102022-12-2算法复杂性 (算法复杂度)定义:即度量该算法所需的计算能力,包括:时间复杂性T(time complexity);空间复杂性S(space complexity);信道带宽;数据总量;2022-12-2算法复杂性(续)计算复杂性的表示符号为计算复杂性的表示符号为“O”(称为(称为“大大O”,即算法,即算法的阶号),表示计算复杂性的的阶号),表示计算复杂性的数量级数量级 好处:好处:使算法复杂性度量与处理器的运行速度和指令运行时间无关;使算法复杂性度量与处理器的运行速度和指令运行

5、时间无关;明确地揭示了输入的数据长度对算法复杂性的影响。明确地揭示了输入的数据长度对算法复杂性的影响。2022-12-2算法复杂性(续)算法常见复杂性分类(1)常数算法(constant Algorithm):如果运行时间是O(1),即该算法的复杂性不依赖于n。(2)线性算法(linear Algorithm):如果运行时间是O(n)。(3)多项式算法(polynomial Algorithm):如果运行时间是O(nm),其中m是一个常数。具有多项式复杂性的算法族被称为多项式时间算法。(4)超多项式算法(superpolynomial Algorithm):如果运行时间是,其中c是一个常数,而

6、s(n)是关于n的大于常数而小于线性的函数。(5)指数算法(exponential Algorithm):如果运行时间是,其中t是大于1的常数,f(n)是关于n的多项式函数。2022-12-2算法复杂性(续)算法常见复杂性分类 一般而言,常数算法、线性算法、多项式算法和超多项式算法统称为多项式算法。所谓多项式,就是具有下列形式的一个函数:2022-12-21110().kkkkf nc ncnc nc其中,k和ck是常数,且ci称0为。当k0时,k称为多项式的次数,ci称为多项式的系数。算 法 复 杂 性 算法的分类及其运行时间 算法类型算法类型复杂性复杂性运算次数运算次数n106时间时间多项

7、式算法多项式算法常数算法常数算法O(1)11微秒微秒线性算法线性算法O(n)1061秒秒二次多项式算二次多项式算法法O(n2)101211.6天天三次多项式算三次多项式算法法O(n3)101832,000年年指数算法指数算法O(2n)1030103010301006年年2022-12-2算法复杂性(续)算 法 复 杂 性 算法复杂度的增长速度ln lnlnln,011lnlnlnexpnnncnnncccnnnnncnc 对任意常数,其中,有:2022-12-2算法复杂性(续)亚指数指数多项式算法复杂性(续)研究问题的内在复杂性,即在图灵机上解决最难的问题实例所需的最小时间和空间条件。图灵机是

8、一种具有无限读、写存储带的有限状态机,可以被当作一个实际可用的计算模型。2022-12-2第2章 信息安全数学基础(计算复杂性)2022-12-2问题复杂性 图灵机分为两类:确定性图灵机。非确定性图灵机2022-12-2问题复杂性(续)确定性图灵机。确定性图灵机的输出结果只取决于输入和初始状态。因此,对于具有相同输入和初始状态,运行一个确定性图灵机所得到的结果是完全相同的。非确定性图灵机:能够进行猜测。求解一个问题分两个阶段:猜测阶段和验证阶段。2022-12-2图灵机 图灵机包括一个有限状态控制单元、k(1)条纸带(Tape)和k个读写头(Tapehead)。有限状态控制单元控制每个读写头访

9、问一条纸带,并沿着纸带左右移动 图灵机求解问题的输入是一个有限长度的字符串,该输入占据每条纸带无限个单元的最左边的有限个单元。读写头对纸带的一次访问称之为一个合法移动(Move)。2022-12-2图灵机(续)图灵机求解问题时,被赋予一个初始状态(Initial State),且一步一步地移动,从而完成对输入的扫描。如果图灵机最终扫描了整个输入串,且满足了中止条件而停止下来,则称图灵机识别了该输入。否则,图灵机在某一点没有合法移动,因此会没有识别输入串而停止下来,此时称图灵机无法识别该输入。图灵机所识别的一个输入,称为一种可识别语言的一个实例。2022-12-2图灵机(续)例如:请设计一个图灵

10、机,用于证明某个非负整数是否能被3整除。2022-12-2图灵机(续)例如:请设计一个图灵机,用于证明某个非负整数是否能被3整除。2022-12-2图灵机(续)例如:请设计一个图灵机,用于证明某个非负整数是否能被3整除。2022-12-2图灵机(续)例如:请设计一个图灵机,用于证明某个非负整数是否能被3整除。2022-12-2图灵机(续)例如:请设计一个图灵机,用于证明某个非负整数是否能被3整除。2022-12-2图灵机(续)例如:请设计一个图灵机,用于证明某个非负整数是否能被3整除。2022-12-2图灵机(续)例如:请设计一个图灵机,用于证明某个非负整数是否能被3整除。2022-12-2图

11、灵机(续)例如:请设计一个图灵机,用于证明某个非负整数是否能被3整除。2022-12-2图灵机(续)例如:请设计一个图灵机,用于证明某个非负整数是否能被3整除。2022-12-2图灵机(续)例如:请用DIV3图灵机证明a12(二进制1100)能被3整除。2022-12-2图灵机(续)例如:请用DIV3图灵机证明a12(二进制1011)能被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1

12、q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a12(二进制1011)能被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a12(二进制1011)能被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101

13、空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a12(二进制1011)能被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a12(二进制1011)能被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下

14、一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a12(二进制1011)能被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV

15、3图灵机证明a13(二进制1101)不能被3整除。2022-12-2图灵机(续)例如:请用DIV3图灵机证明a13(二进制1101)被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a13(二进制1101)被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右

16、右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a13(二进制1101)被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a13(二进制1101)被3整除。当前状态当前状

17、态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2图灵机(续)例如:请用DIV3图灵机证明a13(二进制1101)被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-

18、12-2图灵机(续)例如:请用DIV3图灵机证明a13(二进制1101)被3整除。当前状态当前状态纸带上的符号纸带上的符号下一步移动下一步移动下一个状态下一个状态q0(初态)(初态)01空空右右右右响铃或终止响铃或终止q0q1q101空空右右右右输出非整除信息输出非整除信息q2q0q201空空右右右右输出非整除信息输出非整除信息q1q22022-12-2问题复杂性 借助于图灵机理论,问题复杂型实际上就是在图灵机上解决最难的问题实例所需要的 最小时间 最小空间2022-12-2图灵机(续)图灵机M识别一个长度为n的输入串而移动的步数称为图灵机的时间复杂性,记为:当图灵机M识别一个长度为n的输入串

19、,其写操作中读写头所访问的纸带单元数称为图灵机的空间复杂性,记为:2022-12-2()MTn()MSn图灵机(续)2022-12-2问题分类 如果一个问题在确定性图灵机上能够在多项式时间内得到处理,则称该问题时易处理的(tractable)。也既是说,能够用多项式时间解决的问题称之为易处理的。不能够在多项式时间内解决的问题是难处理的。因为随着输入尺寸的增加,求解这类问题需要的时间迅速变得很长,以至于不可能有效的求解。难处理的问题也被称为是难解的。2022-12-2P类问题 易处理问题的全体称为“多项式时间可解类”,记为P类。复杂度类P包含所有能用多项式时间解决的问题。2022-12-2上述定

20、义表明,如果L是多项式时间内可识别的语言,则确定性图灵机可以在多项式时间内,判定一个字符串是否属于语言L。NP类问题 有这样一类问题,虽然不能够用确定性图灵机来有效求解,但是却可以用非确定性图灵机在多项式时间内得到处理 这类问题称为“非确定性多项式时间可解问题”,简称NP问题。2022-12-2定义(NP类)NP类表示用非确定性图灵机在多项式时间内可以识别的语言类。NP类问题(续)意义:能够通过非确定性的多项式时间算法对许多对称密钥算法和所有公钥算法进行攻击。NP完全问题:指NP中的任何一个问题都可以通过多项式时间转化为该问题。NP完全问题的全体被记为NPC。NP完全问题是NP问题中最难的问题

21、。2022-12-2LNP0LNP定义2.3.3(NP完全类)如果任意:是非确定性多项式时间完全的(NP完全的)都可以多项式规约到语言,则称:NP类问题(续)NP中的任何一个问题都可以通过多项式时间转化为该问题。NP完全问题的全体被记为NPC。NP完全问题是NP问题中最难的问题。2022-12-2算法复杂性 算法时间复杂度的度量方法 图灵机解决问题所移动的步数(该时间称之为算法的运行时间)该度量方法的缺点:没有考虑每一步具体的操作 例如:加法和乘法的计算开销是不同的 为此,引入算法“按位”的计算复杂度度量方法:考虑操作如果按位进行所需要执行的“步数”2022-12-2算法复杂性(续)2022-

22、12-2算法复杂性(续)2022-12-2算法复杂性(续)2022-12-2算法复杂性-普通代数运算2022-12-2算法复杂性-模运算2022-12-2算法复杂性-有限域2022-12-2算法复杂性(续)2022-12-2 求最大公因子的欧几里得算法 输入:整数 ab0 输出:gcd(a,b)算法描述:00 gcd(a,b)01 if b=0 return(a);02 return(gcd(b,a mod b)算法复杂性(续)2022-12-2算法复杂性(续)2022-12-2算法复杂性(续)2022-12-2算法复杂性(续)2022-12-2算法复杂性(续)2022-12-224602/2

23、23/2/2111111.22222kkkkkdkkrrrrrr 算法复杂性(续)2022-12-20/2/211122kkkrra/22ka算法复杂性(续)2022-12-2算法复杂性(续)2022-12-2如果将模运算视为基本运算单位(即一次模运算花费一个时间单位),则算法的时间复杂度为2max(|a|,|b|)。算法复杂性(续)2022-12-2 求最大公因子的欧几里得算法 输入:整数 ab0 输出:gcd(a,b)算法描述:00 gcd(a,b)01 if b=0 return(a);02 return(gcd(b,a mod b)算法复杂性(续)求最大公因子的欧几里得算法 输入:整数

24、 ab0 输出:gcd(a,b)算法描述:00 gcd(a,b)01 if b=0 return(a);02 return(gcd(b,a mod b)2022-12-232(log)a计算复杂性在信息安全中的应用 在信息安全中,很难界定一个密码体制是否是安全的。在经典密码学中,安全性的判定是基于信息论的。信息论关注的是密文当中到底包含多少关于明文的信息。密文中关于明文的信息量越大,密码体制就越不安全。而只有当密文中不包含关于明文的信息时,密码体制才是绝对安全的。香农证明过这种完美的安全性只有当密钥跟明文长度相等时,才能达到。这种安全性限制下的密码体制,其应用是非常困难。2022-12-2计算

25、复杂性在信息安全中的应用(续)在现代密码学当中,对安全性的判定是基于计算复杂性的。密文中是否包含明文的信息,这个问题对安全性来说并不重要。关键是有没有有效的方法将密文中关于明文的信息提取出来。换句话说,基于计算复杂性的密码学所关心的不是密码分析者是否有可能破译算法(实际上,除了一次一密外,所有的密码体制都是有可能被破译),而是关心密码分析者是否具有相应的资源和时间来破译算法。2022-12-2计算复杂性在信息安全中的应用(续)例如:如果一个密码算法的破译只是一个P类问题,这个算法当然会被认为是不安全。一个需要宇宙年龄那么长的时间才能破译的算法,当然有理由认为是安全的。2022-12-2计算复杂

26、性在信息安全中的应用(续)基于复杂性理论的现代密码学将NPP作为一个必要条件,加密算法中,拥有正确加密/解密密钥的用户进行加密/解密是易处理的问题,而对于密码攻击者或分析者,从密文中提取明文或不用正确的密钥构造合法的密文应该是一个难解的问题。而很多加密算法是基于NP完全问题的,即这类型的算法中,分析和破译是一个NP完全问题。我们称之为NPP猜想。2022-12-2计算复杂性在信息安全中的应用(续)如果NPP,则分析和破译加密算法是一个多项式时间问题,即易处理的问题。那么这些加密算法将失去其安全性。因此,如果这个猜想不正确,现在密码学将失去其一个至关重要的理论基础。2022-12-2计算复杂性在

27、信息安全中的应用(续)另一方面,即使NPP猜想成立,基于NP完全问题难解性的密码算法也不一定是安全的。例如:基于NP完全的著名的背包问题破解就是一个反例。这是因为即使一个问题只有可以忽略的少数困难实例,该问题也被认为是困难的。相反,密码分析只要能破解不可忽略比例的实例,就认为是成功的。这就是为什么破解一个基于NP完全问题的密码体制未必导致其基于的NP完全问题的求解。2022-12-2计算复杂性在信息安全中的应用(续)基于复杂性理论中的困难性作为现代密码学的安全性基础是不充分的 近年来,密码学界广泛推崇一种被称为可证明安全性的密码系统。这种密码系统采用一种被称为多项式规约技术的形式化方法来证明一

28、种密码体制的安全性。在多项式规约技术中,将对密码体制的攻击规约到求解一类已知的NP问题的一个实例。这种方法证明如果这种密码体制是可破译的,则它所基于的NP问题实例是可解的。2022-12-2计算复杂性在信息安全中的应用(续)例如,最常用的多项式规约技术,就是将密码算法的安全性规约到大整数分解困难性问题。由于人们广泛相信这种实例没有有效的解法,所以对于考虑中的密码体制的安全性,这样的一个证明提供了很高的可信度。2022-12-2教材与参考书 教材:李毅超 曹跃,网络与系统攻击技术 电子科大出版社 2007 周世杰 陈伟 钟婷,网络与系统防御技术 电子科大出版社 2007 参考书 阙喜戎 等 编著

29、,信息安全原理及应用,清华大学出版社 Christopher M.King,Curitis E.Dalton,T.Ertem Osmanoglu(常晓波等译).安全体系结构的设计、部署与操作,清华大学出版社,2003(Christopher M.King,et al,Security Architecture,design,deployment&Operations)William Stallings,密码编码学与网络安全原理与实践(第四版),电子工业出版社 蔡皖东,网络与信息安全,西北工业大学出版社,2004 李建平,小波分析与信息处理-理论、应用及软件实现,1997年第一版,2001年第二版,2003年第二版修订版。张世永,网络安全原理与应用,科学出版社,2003 杨义先等,信息安全理论与技术,邮电出版社2022-12-2Any Question?Q&A2022-12-280Thank you!

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!