《第2章-密码学基础分析.ppt》由会员分享,可在线阅读,更多相关《第2章-密码学基础分析.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、密码学基础主讲人:王弈E-mail:本章主要内容本章主要内容n密码学基本概念 n对称密码体制 n公钥密码体制 n散列函数 n数字签名n信息隐藏与数字水印n无线网络中的密码应用 密码学与信息安全的关系密码学与信息安全的关系密码学的研究内容、地位和作用密码学的研究内容、地位和作用密码学概览密码学概览密码学Crypology密码编码学Crypography密码分析学Cryptoanalysis对称密码体制Sysmetic-key公钥密码体制Public-key安全协议Protocols流密码Steam cipher分组密码Block cipher密码学简史密码学简史密码学简史图密码学简史图密码学基本
2、概念密码学基本概念n n现代密码系统的组成现代密码系统的组成现代密码系统的组成现代密码系统的组成n现代密码系统(通常简称为密码体制)一般由五个部分组成:明文空间M 密文空间C 密钥空间K 加密算法E 解密算法D n则五元组(M,C,K,E,D)称为一个密码体制。密码学基本概念密码学基本概念n n密码体制密码体制n对称密钥体制:n非对称密钥体制n根据密码算法对明文信息的加密方式,对称密码体制常分为两类:分组密码(Block cipher,也叫块密码)DES、IDEA、BLOWFISH 序列密码(Stream cipher,也叫流密码)。A5、FISH、PIKE 密码学基本概念密码学基本概念n n
3、密码算法设计的两个重要原则密码算法设计的两个重要原则密码算法设计的两个重要原则密码算法设计的两个重要原则 1 1混乱性混乱性混乱性混乱性n当明文中的字符变化时,截取者不能预知密文会有何变化。我们把这种特性称为混乱性(Confusion)。n混乱性好的算法,其明文、密钥对和密文之间有着复杂的函数关系。这样,截取者就要花很长时间才能确定明文、密钥和密文之间的关系,从而要花很长的时间才能破译密码。2扩散性扩散性n密码还应该把明文的信息扩展到整个密文中去,这样,明文的变化就可以影响到密文的很多部分,该原则称为扩散性(Difusion)。n这是一种将明文中单一字母包含的信息散布到整个输出中去的特性。好的
4、扩散性意味着截取者需要获得很多密文,才能去推测算法。密码分析学密码分析学 n n穷举攻击:穷举攻击:又称作蛮力攻击,是指密码分析者用试遍所有密钥的方法来破译密码对可能的密钥或明文的穷举。n n统计分析攻击统计分析攻击:指密码分析者通过分析密文和明文的统计规律来破译密码。n n数学分析攻击:数学分析攻击:指密码分析者针对加密算法的数学依据,通过数学求解的方法来破译密码。破译密码的类型破译密码的类型根据密码分析者掌握明、密文的程度密码分析可分类为:n n1 1、唯密文攻击:、唯密文攻击:、唯密文攻击:、唯密文攻击:仅根据密文进行的密码攻击。n n2 2、已知明文攻击:、已知明文攻击:、已知明文攻击
5、:、已知明文攻击:根据一些相应的明、密文对进行的密码攻击。n n3 3、选择明文攻击:、选择明文攻击:、选择明文攻击:、选择明文攻击:可以选择一些明文,并获取相应的密文,这是密码分析者最理想的情形。例如,在公钥体制中。n n4 4、选择密文攻击:、选择密文攻击:、选择密文攻击:、选择密文攻击:密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,密码分析者的任务是推出密钥。n n5 5、选择密钥攻击、选择密钥攻击、选择密钥攻击、选择密钥攻击 :这种攻击并不表示密码分析者能够选择密钥,它只表示密码分析者具有不同密钥之间关系的有关知识。n n6 6、软磨硬泡攻击、软磨硬泡攻击、软磨硬泡攻击
6、、软磨硬泡攻击 :密码分析者威胁、勒索,或者折磨某人,直到他给出密钥为止。密码算法的安全性密码算法的安全性n理论上,除一文一密外,没有绝对安全的密码体制,通常,称一个密码体制是安全的是指计算上安全的,即:密码分析者为了破译密码,穷尽其时间、存储资源仍不可得,或破译所耗资材已超出因破译而获得的获益。对称密码体制对称密码体制经典的密码体制中,加密密钥与解密密钥是相同的,或者可以简单相互推导,也就是说:知道了加密密钥,也就知道了解密密钥;知道了解密密钥,也就知道了加密密钥。所以,加、解密密钥必须同时保密。这种密码体制称为对对对对称(也称单钥)密码体制。称(也称单钥)密码体制。称(也称单钥)密码体制。
7、称(也称单钥)密码体制。最典型的是DES数据加密标准,应该说数据加密标准DES是单钥体制的最成功的例子。n1973.5.15:美国国家标准局(NSA)公开征求密码体制的联邦注册;n1975.3.17:DES首次在联邦记事公开,它由IBM开发,它是LUCIFER的改进;n1977.2.15:DES被采用作为非国家机关使用的数据加密标准,此后,大约每五年对DES进行依次审查,1992年是最后一次审查,美国政府已声明,1998年后对DES不再审查了;n1977.2.15:联邦信息处理标准版46(FIPS PUB46)给出了DES的完整描述。DES分组密码系统分组密码系统nDES密码体制:它是应用56
8、位密钥,加密64比特明文分组的分组秘钥密码体制nDES加密算法:(一)初始置换:x0=L0R0=IP(x);(二)16次迭代:xi-1=Li-1Ri-1,Li=Ri,Ri=Li f(Ri-1,ki)i=1,2,16;(三)逆置换:x16=L16R16,y=IP-1(x16)。n密钥生成器:密钥ki是由56位系统密钥k生成的32位子密钥。n函数f及S盒:f(Ri-1,ki)=P(S(E(Ri-1)ki)其中E,P是两个置换,表示比特的“异或”,S是一组八个变换S1,S2,S3,S8,称为S盒,每个盒以6位输入,4位输出,S盒构成了DES 安全的核心。nDES算法流程图关于关于DES的讨论的讨论n
9、S盒是唯一非线性组件:有人认为其中可能含有某种“陷门”,国家安全机关可以解密。nDES的密钥量太小:密钥量为256n1977年:Diffie.Hellman提出制造一个每秒测试106的VLSI芯片,则一天就可以搜索完整个密钥空间,当时造价2千万美圆。nCRYPTO93:R.Session,M.Wiener提出并行密钥搜索芯片,每秒测试5x107个密钥,5760片这种芯片,造价10万美元,平均一天即可找到密钥。nInternet的超级计算能力:1997年1月28日,美国RSA数据安全公司在Internet上开展了一项“秘密密钥挑战”的竞赛,悬赏一万美圆,破解一段DES密文。计划公布后,得到了许多
10、网络用户的强力相应。科罗拉州的程序员R.Verser设计了一个可以通过互联网分段运行的密钥搜索程序,组织了一个称为DESCHALL的搜索行动,成千上万的的志愿者加入到计划中。n第96天,即竞赛公布后的第140天,1997年6月17日晚上10点39分,美国盐湖城Inetz公司职员M.Sanders成功地找到了密钥,解密出明文:The unknown Message is:“Stronge cryptography makes the word a safer place”(高强度密码技术使世界更安全)。Internet仅仅利用闲散资源,毫无代价就破译了DES密码,这是对密码方法的挑战,是Inte
11、rnet超级计算能力的显示.n差分分析法:除去穷举搜索密钥外,还有其他形式的攻击方法,最著名的有Biham,Shamir的差分分析法。这是一个选择明文攻击方法。虽然对16轮DES没有攻破,但是,如果迭代的轮数降低,则它可成功地被攻破。例如,8轮DES在一个个人计算机上只需要2分钟即可被攻破。高级加密标准高级加密标准AES n在攻击面前,虽然多重DES表现良好。不过,考虑到计算机能力的持续增长,人们需要一种新的、更加强有力的加密算法。1995年,美国国家标准技术研究所NIST开始寻找这种算法。最终,美国政府采纳了由密码学家Rijmen和Daemen发明的Rijindael算法,使其成为了高级加密
12、标准AES(Advanced Encryption Standard)。nRijindael算法之所以最后当选,是因为它集安全性、效率、可实现性及灵活性于一体。nAES算法是具有分组长度和密钥长度均可变的多轮迭代型加密算法。分组长度一般为128比特位,密钥长度可以是128/192/256位。实际上,AES算法的密钥长度可以扩展为64的任意整数倍,尽管AES标准中只有128,192和256被认可。nAES的128位块可以很方便地考虑成一个44矩阵,这个矩阵称为“状态”(state)。例如,假设输入为16字节b0,b1,b15,这些字节在状态中的位置及其用矩阵的表示如表2-8所示。注意,这些状态用
13、输入数据逐列填充。公钥密码体制公钥密码体制 n n一个安全的对称密钥密码系统,可以达到下列功能:一个安全的对称密钥密码系统,可以达到下列功能:一个安全的对称密钥密码系统,可以达到下列功能:一个安全的对称密钥密码系统,可以达到下列功能:保护信息机密 认证发送方之身份 确保信息完整性n n对称密钥密码系统具有下列缺点:对称密钥密码系统具有下列缺点:对称密钥密码系统具有下列缺点:对称密钥密码系统具有下列缺点:收发双方如何获得其加密密钥及解密密钥?密钥的数目太大 无法达到不可否认服务 传统密码体制的缺陷与公钥密码体制的产生传统密码体制的缺陷与公钥密码体制的产生传统密码体制的缺陷与公钥密码体制的产生传统
14、密码体制的缺陷与公钥密码体制的产生 n现代密码学修正了密钥的对称性,1976年,Diffie,Hellmann提出了公开密钥密码体制提出了公开密钥密码体制(简称公钥体制)(简称公钥体制),它的加密、解密密钥是不同的,也是不能(在有效的时间内)相互推导。所以,它可称为双钥密码体制双钥密码体制。它的产生,是密码学革命性的发展,它一方面,为数据的保密性、完整性、真实性提供了有效方便的技术。另一方面,科学地解决了密码技术的瓶颈密钥的分配问题。n n第一个公钥体制是第一个公钥体制是1977年由年由Rivest,Shamir,Adleman提出的,称为提出的,称为RSA公钥公钥体制,其安全性是基于整数的因
15、子分解的困体制,其安全性是基于整数的因子分解的困难性。难性。nRSA公钥体制已得到了广泛的应用。其后,诸如基于背包问题的Merkle-Hellman背包公钥体制,基于有限域上离散对数问题的EIGamal公钥体制,基于椭圆曲线的密码体制等等公钥体制不断出现,使密码学得到了蓬勃的发展。公钥密码体制介绍公钥密码体制介绍 n n公钥密码体制加解密过程主要有以下几步公钥密码体制加解密过程主要有以下几步公钥密码体制加解密过程主要有以下几步公钥密码体制加解密过程主要有以下几步 :n n安全的公开密钥密码可以达到下列功能:安全的公开密钥密码可以达到下列功能:安全的公开密钥密码可以达到下列功能:安全的公开密钥密
16、码可以达到下列功能:(1 1)简化密钥分配及管理问题)简化密钥分配及管理问题)简化密钥分配及管理问题)简化密钥分配及管理问题 n 公钥体制用于数据加密时:用户将自己的公开(加密)密钥登记在一个公开密钥库或实时公开,秘密密钥则被严格保密。信源为了向信宿发送信息,去公开密钥库查找对方的公开密钥,或临时向对方索取公钥,将要发送的信息用这个公钥加密后在公开信道上发送给对方,对方收到信息(密文)后,则用自己的秘密(解密)密钥解密密文,从而,读取信息。可见,这里省去了从秘密信道传递密钥的过程。这是公钥体制的一大优点。n n安全的公开密钥密码可以达到下列功能:安全的公开密钥密码可以达到下列功能:安全的公开密
17、钥密码可以达到下列功能:安全的公开密钥密码可以达到下列功能:(2 2)保护信息机密)保护信息机密)保护信息机密)保护信息机密 n任何人均可将明文加密成密文,此后只有拥有解密密钥的人才能解密。n n安全的公开密钥密码可以达到下列功能:安全的公开密钥密码可以达到下列功能:安全的公开密钥密码可以达到下列功能:安全的公开密钥密码可以达到下列功能:(3 3)实现不可否认功能)实现不可否认功能)实现不可否认功能)实现不可否认功能 n公钥体制用于数字签名时:n信源为了他人能够验证自己发送的消息确实来自本人,他将自己的秘密(解密)密钥公布,而将公开(加密)密钥严格保密。与别人通信时,则用自己的加密密钥对消息加
18、密称为签名,将原消息与签名后的消息一起发送.n对方收到消息后,为了确定信源的真实性,用对方的解密密钥解密签名消息称为(签名)验证,如果解密后的消息与原消息一致,则说明信源是真实的,可以接受,否则,拒绝接受。RSA算法算法n n1976年:年:Diffie,Hellman在“New Direction in Cryptography”(密码学新方向)一文中首次提出公开密钥密码体制的思想。n n1977年:年:Rivest,Shamir,Adleman第一次实现了公开密钥密码体制,现称为RSA公钥体制。散列函数散列函数n散列函数没有密钥,散列函数就是把可变输入长度串(叫做预映射,Pre-image
19、)转换成固定长度输出串(叫做散列值)的一种函数。n散列函数又可称为压缩函数、杂凑函数、消息摘要、指纹、密码校验和、信息完整性检验(DIC)、操作认证码(Message Authentication Code,MAC)。散列函数的概念散列函数的概念 散列函数的概念散列函数的概念n n散列函数有散列函数有散列函数有散列函数有4 4个主要特点:个主要特点:个主要特点:个主要特点:(1)它能处理任意大小的信息,并将其信息摘要生成固定大小的数据块(例如128位,即16字节),对同一个源数据反复执行Hash函数将总是得到同样的结果。(2)它是不可预见的。产生的数据块的大小与原始信息的大小没有任何联系,同时
20、源数据和产生的数据块的数据看起来没有明显关系,但源信息的一个微小变化都会对数据块产生很大的影响。(3)它是完全不可逆的,即散列函数是单向的,从预映射的值很容易计算其散列值,没有办法通过生成的散列值恢复源数据。(4)它是抗碰撞的,即寻找两个输入得到相同的输出值在计算上是不可行的。n假设单向散列函数H(M)作用于任意长度的消息M,它返回一个固定长度的散列值h,其中h的长度为定数m,该函数必须满足如下特性:给定M,很容易计算h;给定h,计算M很难;给定M,要找到另一消息M并满足H(M)=H(M)很难。n n常用的消息摘要算法有常用的消息摘要算法有(1)MD2算法(2)MD4和MD5算法(3)SHA算
21、法(4)RIPEMD算法SHA算法算法 nSHA(Secure Hash Algorithm)由美国国家标准和技术局NIST设计,1993年被作为联邦信息处理标准(FIPS PUB 180)公布,1995年又公布了修订版FIPS PUB 180-1,通常称为SHA-1。n就当前的情况来看,SHA-1由于其安全强度及运算效率方面的优势已经成为使用最为广泛的散列函数。n该算法输入消息的最大长度为264-1位,产生的输出是一个160位的消息摘要。输入按512 位的分组进行处理。数字签名数字签名n数字签名最早被建议用来对禁止核试验条律的验证。禁止核试验条律的缔约国为了检测对方的核试验,需要把地震测试仪
22、放在对方的地下,而把测试的数据送回,自然这里有一个矛盾:东道主需要检查发送的数据是否仅为所需测试的数据;检测方需要送回的数据是真实的检测数据,东道主没有篡改。数字签名的概念数字签名的概念2.6 数字签名数字签名n n数数数数字字字字签签签签名名名名(Digital(Digital Signatures)Signatures)技技技技术术术术是是是是实实实实现现现现交交交交易易易易安安安安全全全全的的的的核心技术之一,其实现基础就是加密技术。核心技术之一,其实现基础就是加密技术。核心技术之一,其实现基础就是加密技术。核心技术之一,其实现基础就是加密技术。n n一一一一般般般般书书书书信信信信或或
23、或或文文文文件件件件传传传传送送送送根根根根据据据据亲亲亲亲笔笔笔笔签签签签名名名名或或或或印印印印章章章章来来来来证证证证明明明明真真真真实实实实性性性性,在在在在计计计计算算算算机机机机网网网网络络络络中中中中传传传传送送送送的的的的报报报报文文文文是是是是使使使使用用用用数数数数字字字字签签签签名名名名来来来来证证证证明其真实性的。明其真实性的。明其真实性的。明其真实性的。n n数字签名可以保证实现以下几点:数字签名可以保证实现以下几点:数字签名可以保证实现以下几点:数字签名可以保证实现以下几点:发送者事后不能否认对发送报文的签名。发送者事后不能否认对发送报文的签名。发送者事后不能否认对
24、发送报文的签名。发送者事后不能否认对发送报文的签名。接收者能够核实发送者发送的报文签名。接收者能够核实发送者发送的报文签名。接收者能够核实发送者发送的报文签名。接收者能够核实发送者发送的报文签名。接收者或其他人不能伪造发送者的报文签名。接收者或其他人不能伪造发送者的报文签名。接收者或其他人不能伪造发送者的报文签名。接收者或其他人不能伪造发送者的报文签名。接收者不能对发送者的报文进行部分篡改。接收者不能对发送者的报文进行部分篡改。接收者不能对发送者的报文进行部分篡改。接收者不能对发送者的报文进行部分篡改。2.6.1 数字签名的概念数字签名的概念基本要求:基本要求:1.签名不能伪造:签名不能伪造:
25、签名是签名者对文件内容合法签名是签名者对文件内容合法签名是签名者对文件内容合法签名是签名者对文件内容合法性的认同、证明、和标记,其他人的签名无效性的认同、证明、和标记,其他人的签名无效性的认同、证明、和标记,其他人的签名无效性的认同、证明、和标记,其他人的签名无效;2.签名不可抵赖:签名不可抵赖:这是对签名者的约束,签名者这是对签名者的约束,签名者这是对签名者的约束,签名者这是对签名者的约束,签名者的认同、证明、标记是不可否认的;的认同、证明、标记是不可否认的;的认同、证明、标记是不可否认的;的认同、证明、标记是不可否认的;3.签名不可改变:签名不可改变:文件签名后是不可改变的,这文件签名后是
26、不可改变的,这文件签名后是不可改变的,这文件签名后是不可改变的,这保证了签名的真实性、可靠性;保证了签名的真实性、可靠性;保证了签名的真实性、可靠性;保证了签名的真实性、可靠性;4.签名不可重复使用:签名不可重复使用:签名需要时间标记,这签名需要时间标记,这签名需要时间标记,这签名需要时间标记,这样可以保证签名不可重复使用。样可以保证签名不可重复使用。样可以保证签名不可重复使用。样可以保证签名不可重复使用。5.签名容易验证:签名容易验证:对于签名的文件,一旦发生纠对于签名的文件,一旦发生纠对于签名的文件,一旦发生纠对于签名的文件,一旦发生纠纷,任何第三方都可以准确、有效地进行验证。纷,任何第三
27、方都可以准确、有效地进行验证。纷,任何第三方都可以准确、有效地进行验证。纷,任何第三方都可以准确、有效地进行验证。2.6 数字签名数字签名n n使用对称和非对称密码算法都可以实现数字签名。使用对称和非对称密码算法都可以实现数字签名。使用对称和非对称密码算法都可以实现数字签名。使用对称和非对称密码算法都可以实现数字签名。n n目目目目前前前前采采采采用用用用较较较较多多多多的的的的是是是是公公公公钥钥钥钥加加加加密密密密技技技技术术术术使使使使用用用用公公公公钥钥钥钥加加加加密密密密技技技技术术术术的的的的签名和验证过程是:签名和验证过程是:签名和验证过程是:签名和验证过程是:1 1)发发发发送
28、送送送方方方方(甲甲甲甲)先先先先用用用用单单单单向向向向散散散散列列列列函函函函数数数数对对对对某某某某个个个个信信信信息息息息(如如如如合合合合同同同同的的的的电电电电子子子子文文文文件件件件)A A进进进进行行行行计计计计算算算算,得得得得到到到到128128位位位位的的的的结结结结果果果果B B,再再再再用用用用私私私私钥钥钥钥SKSK对对对对B B进进进进行行行行加密,得到加密,得到加密,得到加密,得到C C,该数据串,该数据串,该数据串,该数据串C C就是甲对合同就是甲对合同就是甲对合同就是甲对合同A A的签名。的签名。的签名。的签名。2 2)他他他他人人人人(乙乙乙乙)的的的的验
29、验验验证证证证过过过过程程程程为为为为:乙乙乙乙用用用用单单单单向向向向散散散散列列列列函函函函数数数数对对对对A A进进进进行行行行计计计计算算算算,得得得得到到到到结结结结果果果果B B1 1,对对对对签签签签名名名名C C用用用用甲甲甲甲的的的的公公公公钥钥钥钥PKPK进进进进行行行行解解解解密密密密,得得得得到到到到数数数数据据据据串串串串B B2 2,如果,如果,如果,如果B B1 1=B B2 2,则签名是真的,反之签名则为假的。,则签名是真的,反之签名则为假的。,则签名是真的,反之签名则为假的。,则签名是真的,反之签名则为假的。2.6.1 数字签名的概念数字签名的概念散列函数:散
30、列函数:散列函数:散列函数:散列函数是数字签名的一个重要散列函数是数字签名的一个重要散列函数是数字签名的一个重要散列函数是数字签名的一个重要辅助工具,辅助工具,辅助工具,辅助工具,应用散列函数可以生成一个文件应用散列函数可以生成一个文件应用散列函数可以生成一个文件应用散列函数可以生成一个文件的,具有固定长度的文件摘要,从而使数字的,具有固定长度的文件摘要,从而使数字的,具有固定长度的文件摘要,从而使数字的,具有固定长度的文件摘要,从而使数字签名可以迅速有效地签名一个任意长度的文签名可以迅速有效地签名一个任意长度的文签名可以迅速有效地签名一个任意长度的文签名可以迅速有效地签名一个任意长度的文件。
31、一般地,对文件的任意小改动,都会改件。一般地,对文件的任意小改动,都会改件。一般地,对文件的任意小改动,都会改件。一般地,对文件的任意小改动,都会改变文件的散列值,从而,秘密的散列函数可变文件的散列值,从而,秘密的散列函数可变文件的散列值,从而,秘密的散列函数可变文件的散列值,从而,秘密的散列函数可以用来检测病毒等对文件的破坏。以用来检测病毒等对文件的破坏。以用来检测病毒等对文件的破坏。以用来检测病毒等对文件的破坏。对签名的攻击:对签名的攻击:对签名的攻击:对签名的攻击:对数字签名有各种各样的欺对数字签名有各种各样的欺对数字签名有各种各样的欺对数字签名有各种各样的欺骗存在,重复使用是一个典型欺
32、骗,如电子骗存在,重复使用是一个典型欺骗,如电子骗存在,重复使用是一个典型欺骗,如电子骗存在,重复使用是一个典型欺骗,如电子支票,重复的使用具有可怕后果,阻止这种支票,重复的使用具有可怕后果,阻止这种支票,重复的使用具有可怕后果,阻止这种支票,重复的使用具有可怕后果,阻止这种欺骗的有效方法是签名中包含时间日期标志。欺骗的有效方法是签名中包含时间日期标志。欺骗的有效方法是签名中包含时间日期标志。欺骗的有效方法是签名中包含时间日期标志。2.6 数字签名数字签名1 1、ElgamalElgamal算算算算法法法法:ElGamalElGamal签签签签名名名名方方方方案案案案基基基基于于于于离离离离散
33、散散散对数问题对数问题对数问题对数问题n n离散对数问题:设离散对数问题:设离散对数问题:设离散对数问题:设p p是一个素数,是一个素数,是一个素数,是一个素数,b b Z Z*p p,寻,寻,寻,寻找整数找整数找整数找整数 d d,0dp0dp,满足:,满足:,满足:,满足:a ad db mod b mod p p。这样。这样。这样。这样的问题称为离散对数问题。的问题称为离散对数问题。的问题称为离散对数问题。的问题称为离散对数问题。n n选取选取选取选取p p至少至少至少至少150150位十进制数,位十进制数,位十进制数,位十进制数,p-1p-1至少有一个至少有一个至少有一个至少有一个“大
34、大大大”素因子,则离散对数问题称为困难问题,素因子,则离散对数问题称为困难问题,素因子,则离散对数问题称为困难问题,素因子,则离散对数问题称为困难问题,困难问题不存在多项式时间算法困难问题不存在多项式时间算法困难问题不存在多项式时间算法困难问题不存在多项式时间算法2.6.2 常用算法介绍常用算法介绍ElGamal签名方案于签名方案于1985年提出,改进后,年提出,改进后,被美国国家标准和技术研究所(被美国国家标准和技术研究所(NIST)采纳)采纳为数字签名标准。为数字签名标准。ElGamal签名方案是一个签名方案是一个非确定性的方案,也就是说,验证算法可以非确定性的方案,也就是说,验证算法可以
35、接受的合法签名不止一个。接受的合法签名不止一个。ElGamal签名方案的定义:签名方案的定义:设设p是一个素数,是一个素数,Zp中的离散对数是困难问题,中的离散对数是困难问题,a Z*p是一个生成元,是一个生成元,bad mod p,则定义:,则定义:签名算法:签名算法:Sigk(x,t)=(,),at mod p,(x-a)t-1 mod p-1,t是一保密的随机是一保密的随机数。数。验证算法:对给定的消息及签名验证算法:对给定的消息及签名(x,(,),x,Z*p,Zp-1,验证算法为验证算法为2.6 数字签名数字签名2 2、DSADSA算法:算法:算法:算法:DSADSA是是是是Schno
36、rrSchnorr和和和和ElGamalElGamal签名算法的变签名算法的变签名算法的变签名算法的变种,被美国种,被美国种,被美国种,被美国NISTNIST作为作为作为作为DSSDSS。n n数字签名标准数字签名标准数字签名标准数字签名标准DSSDSS:设设设设p p是一个是一个是一个是一个512512比特的素数,比特的素数,比特的素数,比特的素数,Z Zp p中的离散对数是困难中的离散对数是困难中的离散对数是困难中的离散对数是困难 问题,问题,问题,问题,q q是一个是一个是一个是一个6060比特的素数比特的素数比特的素数比特的素数 ,q|p-1q|p-1,a a Z Z*p p是是是是p
37、 p模模模模 q q的单位根。的单位根。的单位根。的单位根。则定义:则定义:则定义:则定义:签名算法:签名算法:签名算法:签名算法:SigSigk k(x,t)=(x,t)=(,),(a at t mod mod p)p)mod mod q q,(x+a(x+a )t)t-1 -1 mod mod q q;验证算法:验证算法:验证算法:验证算法:Ver(x,(Ver(x,(,)=true)=true(a(al lb bmm mod p)mod q mod p)mod q ,其中:其中:其中:其中:l lxx -1 -1 mod mod q q,mm-1 -1 mod mod q q。2.6.2
38、 常用算法介绍常用算法介绍2.6 数字签名数字签名 DSSDSS与与与与 ElGamal ElGamal签名方案的差别:签名方案的差别:签名方案的差别:签名方案的差别:ElGamalElGamal签名方案中模签名方案中模签名方案中模签名方案中模p p至少有至少有至少有至少有512512比特,但这比特,但这比特,但这比特,但这样会产生样会产生样会产生样会产生10241024比特的签名。这样的膨胀率对于比特的签名。这样的膨胀率对于比特的签名。这样的膨胀率对于比特的签名。这样的膨胀率对于象灵巧卡之类的应用是一个难题。而象灵巧卡之类的应用是一个难题。而象灵巧卡之类的应用是一个难题。而象灵巧卡之类的应用
39、是一个难题。而DSSDSS使用使用使用使用512512比特模素数,签名一个比特模素数,签名一个比特模素数,签名一个比特模素数,签名一个160160比特的消息,产比特的消息,产比特的消息,产比特的消息,产生生生生320320比特的签名,即:模素数不变,但签名比特的签名,即:模素数不变,但签名比特的签名,即:模素数不变,但签名比特的签名,即:模素数不变,但签名消息的比特数减少了,而离散对数是基于消息的比特数减少了,而离散对数是基于消息的比特数减少了,而离散对数是基于消息的比特数减少了,而离散对数是基于Z Z*p p的的的的每个阶为每个阶为每个阶为每个阶为2 2160160的子群,从而,安全性是可以
40、保的子群,从而,安全性是可以保的子群,从而,安全性是可以保的子群,从而,安全性是可以保证的。证的。证的。证的。2.6.2 常用算法介绍常用算法介绍2.7 信息隐藏与数字水印信息隐藏与数字水印 n n信息隐藏不同于传统的密码学技术。密码信息隐藏不同于传统的密码学技术。密码技术主要是研究如何将机密信息进行特殊技术主要是研究如何将机密信息进行特殊的编码,以形成不可识别的密码形式的编码,以形成不可识别的密码形式(密文密文)进行传递;而信息隐藏则主要研究如何将进行传递;而信息隐藏则主要研究如何将某一机密信息秘密隐藏于另一公开的信息某一机密信息秘密隐藏于另一公开的信息中,然后通过公开信息的传输来传递机密中
41、,然后通过公开信息的传输来传递机密信息。信息。2.7 信息隐藏与数字水印信息隐藏与数字水印2.7.1 信息隐藏信息隐藏n n信息隐藏模型信息隐藏模型 n n信息隐藏特点信息隐藏特点 鲁棒性鲁棒性鲁棒性鲁棒性(Robustness)(Robustness)不可检测性不可检测性不可检测性不可检测性(Undetectability)(Undetectability)透明性透明性透明性透明性(Invisibility)(Invisibility)安全性安全性安全性安全性(Security)(Security)自恢复性自恢复性自恢复性自恢复性(Self-recovery)(Self-recovery)2
42、.7.1 信息隐藏信息隐藏n n典型的数字水印系统模型典型的数字水印系统模型2.7.2 数字水印数字水印n n数字水印的分类数字水印的分类数字水印的分类数字水印的分类 (1 1)按水印的可见性划分:可将水印分为可见水印和)按水印的可见性划分:可将水印分为可见水印和)按水印的可见性划分:可将水印分为可见水印和)按水印的可见性划分:可将水印分为可见水印和不可见水印不可见水印不可见水印不可见水印(2 2)按水印的所附载体划分:可以把水印划分为图像)按水印的所附载体划分:可以把水印划分为图像)按水印的所附载体划分:可以把水印划分为图像)按水印的所附载体划分:可以把水印划分为图像水印、音频水印、视频水印
43、、文本水印以及用于三维水印、音频水印、视频水印、文本水印以及用于三维水印、音频水印、视频水印、文本水印以及用于三维水印、音频水印、视频水印、文本水印以及用于三维网络模型的网格水印等。网络模型的网格水印等。网络模型的网格水印等。网络模型的网格水印等。(3 3)按水印的检测过程划分:可以将水印划分非盲水)按水印的检测过程划分:可以将水印划分非盲水)按水印的检测过程划分:可以将水印划分非盲水)按水印的检测过程划分:可以将水印划分非盲水印印印印(Nonblid Watermark)(Nonblid Watermark),半盲水印,半盲水印,半盲水印,半盲水印(Seminonblind(Seminonb
44、lind Watermark)Watermark)和盲水印和盲水印和盲水印和盲水印(Bind Watermark)(Bind Watermark)。2.7.2 数字水印数字水印n n数字水印的分类数字水印的分类数字水印的分类数字水印的分类(4 4)按水印的内容划分:可以将水印分为有意义水印)按水印的内容划分:可以将水印分为有意义水印)按水印的内容划分:可以将水印分为有意义水印)按水印的内容划分:可以将水印分为有意义水印和无意义水印。和无意义水印。和无意义水印。和无意义水印。(5 5)按水印的用途划分:可以将数字水印划分为票据)按水印的用途划分:可以将数字水印划分为票据)按水印的用途划分:可以将
45、数字水印划分为票据)按水印的用途划分:可以将数字水印划分为票据防伪水印、版权标识水印、篡改提示水印和隐蔽标识防伪水印、版权标识水印、篡改提示水印和隐蔽标识防伪水印、版权标识水印、篡改提示水印和隐蔽标识防伪水印、版权标识水印、篡改提示水印和隐蔽标识水印等。水印等。水印等。水印等。(6 6)按水印的隐藏位置划分:可以将其划分为时)按水印的隐藏位置划分:可以将其划分为时)按水印的隐藏位置划分:可以将其划分为时)按水印的隐藏位置划分:可以将其划分为时(空空空空)域数字水印、变换域数字水印。域数字水印、变换域数字水印。域数字水印、变换域数字水印。域数字水印、变换域数字水印。2.7.2 数字水印数字水印n
46、 n数字水印的基本特性数字水印的基本特性数字水印的基本特性数字水印的基本特性 (1 1)隐藏信息的鲁棒性)隐藏信息的鲁棒性)隐藏信息的鲁棒性)隐藏信息的鲁棒性 (2 2)不易察觉性)不易察觉性)不易察觉性)不易察觉性 (3 3)安全可靠性)安全可靠性)安全可靠性)安全可靠性 (4 4)抗攻击性)抗攻击性)抗攻击性)抗攻击性 (5 5)水印调整和多重水印)水印调整和多重水印)水印调整和多重水印)水印调整和多重水印 (6 6)可证明性)可证明性)可证明性)可证明性2.7.2 数字水印数字水印n n数字水印的主要用途数字水印的主要用途数字水印的主要用途数字水印的主要用途 (1 1)数字媒体的版权保护
47、和跟踪)数字媒体的版权保护和跟踪)数字媒体的版权保护和跟踪)数字媒体的版权保护和跟踪 (2 2)图像认证)图像认证)图像认证)图像认证 (3 3)篡改提示)篡改提示)篡改提示)篡改提示 (4 4)数字广播电视分级控制)数字广播电视分级控制)数字广播电视分级控制)数字广播电视分级控制 (5 5)标题与注释)标题与注释)标题与注释)标题与注释 2.7.2 数字水印数字水印n n数字水印的制作方法数字水印的制作方法数字水印的制作方法数字水印的制作方法 (1 1)空间域水印算法)空间域水印算法)空间域水印算法)空间域水印算法 (2 2)变换域算法)变换域算法)变换域算法)变换域算法 (3 3)压缩域算
48、法)压缩域算法)压缩域算法)压缩域算法 (4 4)NECNEC算法算法算法算法 (5 5)生理模型算法)生理模型算法)生理模型算法)生理模型算法 2.7.2 数字水印数字水印无线网络中的密码应用无线网络中的密码应用n无线加密协议WEP(Wireless Encryption Protocol)采用RC4算法加密数据CRC-32循环冗余校验算法完整性验证存在弱点,已经不推荐使用nWi Fi访问控制协议(Wi-Fi Protected Access)修改了WEP中的几个严重弱点采用AES算法加密数据采用MIC、CCMP信息认证码完整性验证小小 结结n n密码学尽管在信息安全中具有举足轻重的密码学尽管在信息安全中具有举足轻重的地位,但密码学绝不是确保信息安全的唯地位,但密码学绝不是确保信息安全的唯一工具,它也不能解决所有的安全问题。一工具,它也不能解决所有的安全问题。同时,密码编码和密码分析是一对矛和盾同时,密码编码和密码分析是一对矛和盾的关系,它们在发展中始终处于一种动态的关系,它们在发展中始终处于一种动态平衡。在后面的章节中还将介绍计算机系平衡。在后面的章节中还将介绍计算机系统安全的其他技术。统安全的其他技术。