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