密码算法设计与实现-.ppt
《密码算法设计与实现-.ppt》由会员分享,可在线阅读,更多相关《密码算法设计与实现-.ppt(59页珍藏版)》请在咨信网上搜索。
安全程序安全程序设计设计方法方法密密码码算法算法设计设计与与实现实现黄玉划黄玉划1问题问题点加/解密,可生成一个新文件(有默认目录和名称,可更改)。如果消息校验失败,则输出解密失败信息,不会生成新文件。2问题问题分析分析加密加密n我们用EA、DA和AA分别表示加密算法、解密算法和数据认证算法,则加密过程如图所示,可表示为:n(1)校验值ICV=AA(P,Ka,IV);n(2)密文C=EA(K,IV,P|ICV)3问题问题分析分析加密加密(续续)n上图中,IV一般为计数器,功能是抗重放攻击,对于相同的明文和密钥,每次可以加密成不同的密文。数据认证算法AA的功能是检测密文是否被篡改,保证数据的完整性完整性,即消息的接收者能够验证在传送过程中消息没有被修改,入侵者不能用假消息代替合法消息。认证密钥Ka与加密密钥K可相同,也可不相同。4问题问题分析分析解密解密n解密过程根据加密套件选择相应的解密算法,如图所示,可表示为:(1)P|ICV=DA(K,IV,C);n(2)认证码MAC=AA(P,Ka,IV);n(3)MAC=ICV?5密密码码算法算法选择选择n(1)加密算法(流密流密码码算法、分算法、分组组密密码码算法算法、公钥密码算法)实现保密性;n(2)数据认证算法(分分组组密密码码算法的算法的认证认证模式、模式、CRC、单单向向Hash函数函数、数字签名算法)保证完整性(消息真实性)。6密密码码算法具体算法具体选选用用n1分组密码算法:AES、SHACAL2、DES、IDEA、MISTY1、Camellia、RC6n2分组密码模式:CBC+PXOR(或或CRC)、ECB(或或CTR或或OFB)+CBC-MAC、OCB、PMAC、RMAC、XCBCn3流密码算法和PRNG(与CBC-MAC结合):RC4、SEAL、A5、ANSI X9.17(基于3DES)、G-SHA-1n4CRC-32n5单向Hash函数(备用):SHA1、SHA256、Whirlpool、RIPEMD160、SHA384、SHA512、HMAC、UMAC、T-T-MAC、MD571分分组组密密码码算法算法n1.0概述概述n1.1DES(数据加密数据加密标准准)算法算法n1.2IDEA(国国际数据加密算法数据加密算法)n1.3AES(Rijndael)算法算法n1.4NESSIE候候选分分组密密码算法算法81.0 分分组组密密码码算法概述算法概述n美国的第一代分组密码算法标准是DES算法,也是一个早期的国际标准;第二代标准是AES算法。欧洲的第一代分组密码算法标准是IDEA算法,新标准是日本人Eisaku Takeda设计的MISTY1算法、Shiho Moriai和Mitsuru Matsui设计的Camellia算法、以及法国人Helena Handschuh和David Naccache设计的SHACAL2算法。n日本在分组密码算法领域的研究非常活跃,向NESSIE提交了5个分组密码算法,是递交数量最多的国家。Camellia算法也是日本的分组密码算法标准,据说某些性能超过了AES 算法。第三代移动通信系统3GPP的标准加密算法KASUMI是MISTY1算法的变种。n巴西在分组密码算法领域的研究也比较活跃,向NESSIE提交了3个分组密码算法,其中,Paulo S.L.M.Barreto和比利时人Vincen t Rijmen合作设计的Khazad算法是入围欧洲决赛的算法。在美国和欧洲新标准征集过程中,俄罗斯、加拿大、澳大利亚和韩国也提交了几个分组密码算法。n国内科研人员提出了几个分组密码算法,性能还不错。91.1 DES算法算法有陷有陷门门?nDES的半公开性:S盒的设计原理至今未公布,可能隐含有陷门(Hidden trapdoors)。n有趣的是,DES算法是由IBM公司设计的;当时的美国国家标准局(NSA)修改了S-盒设计,以确保IBM没有在算法中嵌入陷门,因为NSA没有理由相信IBM的研究成果,而他们不能绝对确定DES算法没有陷门,如果有陷门,将是他们失职,所以只好修改S-盒;而人们又怀疑NSA在DES算法中强加了弱点。101.2 IDEA(国国际际数据加密算法数据加密算法)nIDEA算法是欧洲的第一代分组密码算法标准,是由我国旅欧学者来学嘉和他的导师James Massey设计的,也是PGP的标准之一。该算法的设计原则是“来自于3个不同代数群的混合运算”,即异或、模216加、模216+1乘,这就使得IDEA算法易于软硬件实现。n在代数结构上,IDEA算法也不是一个群。该算法的软件实现速度是DES算法的2倍。Bruce Schneier认为,在早期的分组密码算法中,IDEA算法是最好和最安全的。111.3 AES(Rijndael)算法算法nDES算法的安全强度越来越满足不了技术发展的需要。为此,美国NIST于1997年开始制定AES(高级加密标准)算法以满足新时代的信息安全需求。1999年,NIST宣布已从15个候选算法中选出5个较好的算法:MARS,RC6,Rijndael,Serpent,Twofish。2000年底,NIST最终确定采纳Rijndael算法作为AES算法。AES算法是由比利时的Joan Daemen和Vincent Rijmen设计的,经过全世界密码学者3年多的密集评估,被认为是安全的。由于评估过程公开,AES算法会有陷门的可能性很小。121.3 AES(高高级加密加密标准准)算法算法设计思路思路n通常,分组密码算法的结构是Feistel结构,不过AES算法使用了一种称为宽轨迹策略(WTS)的方法。n该算法有3条设计准则:抗所有已知的攻击;在多个平台上快速简洁地实现;设计简单。其分组长度为128位(Rijndael算法本身的分组长度可以是128、192或256位),密钥长度可以是128、192或256位,分别记为AES-128、AES-192和AES-256。对于AES-128,迭代轮数r=10+1;对于AES-192,r=12+1;对于AES-256,r=14+1。AES算法过程可分为轮密钥编排和加密过程两个独立的部分。131.3 AES算法算法加密全加密全过程程加密全过程包括:轮密钥编排(扩展);轮密钥异或,前(r-1)轮迭代,一个结尾轮。即Rijndael(State,CipherKey)KeyExpansion(CipherKey,ExpandedKey);AddRoundKey(State,ExpandedKey);for(i=1;i 1)poly;else crc=crc 1;qcrcTab i=crc;n则CRC-32算法ICV=CRC-32(P)过程为:ncrc=0 xffffffff;nfor i=0 to len-1 crc=crcTab(crcPi)&0 xff(crc 8)&0 x00ffffff;nICV=crc0 xffffffff;455单单向向Hash函数函数n5.0 概述n5.1 早期的Hash函数n5.2 HMAC(带密钥的Hash函数)n5.3 新一代Hash函数n5.4 国产Hash函数465.0 单单向向Hash函数概述函数概述n散列(Hash)函数又称为杂凑函数,或音译为哈希函数。单向散列函数的早期国际标准有SHA-1(美)、RIPEMD-160(欧)等算法,现在NIST又增加了三个标准算法(SHA-256,SHA-384,SHA-512)。带密钥的散列函数(HMAC)是MAC(消息认证码)算法的一种。HMAC的美国标准是HMAC-MD5和HMAC-SHA-1算法。欧洲的单向散列函数新标准是比利时人Paulo Barreto和Vincent Rijmen设计的Whirlpool算法;欧洲的MAC新标准是Ted Krovetz,John Black,Shai Halevi,Hugo Krawczyk和Phillip Rogaway合作设计的UMAC算法以及德国人Bert de Boer和Bart Van Rompay设计的Two-Track-MAC算法。n我国学者王小云等已相继破译了MD4、MD5、HAVAL-128、RIPEMD-128、SHA-0和SHA-1等散列函数,被认为是密码学界近年来“最具实质性的研究进展”。国内科研人员提出了一些单向散列函数和MAC算法。475.1 早期的早期的Hash函数函数n单向散列函数的早期国际标准有SHA-1(美)、RIPEMD-160(欧)等算法。n早期的单向散列函数中,欧洲的RIPEMD-128算法是MD4算法的一种变型;HAVAL算法是MD5算法的改进版本。n我国学者王小云等已成功攻破了MD4、MD5、HAVAL-128、RIPEMD-128,在数小时内就可以找到MD5的碰撞,被认为是密码学界近年来“最具实质性的研究进展”;“能在任何初始值下用240次Hash运算找出SHA-0的碰撞,并且有望以更低的复杂度完成对SHA-0的攻击”。随后,王小云等又攻破了SHA-1算法。485.2 HMAC(带带密密钥钥的的Hash函数函数)n定义HMAC需要一个散列函数H和一个密钥K。我们用T来表示数据的分组长度(假设散列函数的分组长度T=64 B),用m来表示散列函数的输出长度(MD5中m=16 B,SHA1中m=20 B)。密钥长度可以是小于等于分组长度的任何正整数值。应用程序中使用的密钥长度若是比T大,则首先用使用散列函数H作用于它,然后用H输出的m长度字符串作为在HMAC中实际使用的密钥。一般情况下,推荐的最小密钥长度是m个字节(与H的输出数据长度相等)。495.2 HMAC(续续)n令ipad为字节0 x36重复T次,opad为字节0 x5C重复T次。则输入数据text的HMAC值为n H(Kopad)|H(Kipad)|textn用于HMAC的密钥可以为任意长度(比T长的密钥将首先被H处理)。但当密钥长度小于m时的情况是非常令人担心的,因为这样将降低函数的安全强度。长度大于m的密钥是可以接受的,但是额外的长度并不能显著的提高函数的安全强度。505.3 新一代新一代Hash函数函数n(1)SHA2(FIPS PUB 180-2)算法)算法n包括3个算法:SHA-256、SHA-384和SHA-512。n(2)NESSIE候候选选散列函数与散列函数与MAC算法算法nNESSIE共收到1个散列函数(比利时人Paulo Barreto和Vincent Rijmen设计的Whirlpool算法)和2个MAC(德国人Bert de Boer与Bart Van Rompay设计的Two-Track-MAC算法,Ted Krovetz,John Black,Shai Halevi,Hugo Krawczyk与Phillip Rogaway设计的UMAC)算法,均被采纳为欧洲标准。515.3 新一代新一代Hash函数函数(2)NESSIE候候选选Hash函数与函数与MAC算法算法nWhirlpool算法算法是一个输出长度m=64 B,输入长度L 2256 b的散列函数。其整体结构为Miyaguchi-Preneel结构,可以运行在8 b和64 b的处理器上,即不依赖于具体的工作平台。Whirlpool算法基于一个内部分组密码,密钥和分组长度为T=64 B。轮函数和密钥编排都是根据宽轨迹策略设计的。nTwo-Track-MAC算法算法为迭代结构,基于带密钥的RIPEMD-160,密钥和输出MAC值都是20 B。不带密钥的RIPEMD-160在其压缩函数中采用了双轨迹结构。双轨迹的作用是交换上一个消息分组;采用反馈使两个轨迹不可逆。通过组合最后一次迭代后两个轨迹的值得到最后的MAC值。nUMAC算法算法。该算法的核心是一个通用的散列函数。散列函数处理消息和密钥,产生一个固定长度的散列值,该值与伪随机函数的输出进行异或,得到消息的认证标签,即nAuthTag=H(Key1,Msg)F(Key2,Nonce)n其中,Nonce是个18 B的随机数。525.4 国国产产Hash函数函数n(1)基于三重分组链接的散列函数(HTBC)n(2)基于三重分组的并行散列函数(PHTB)nHTBC算法的速度比SHA-1快5%左右;PHTB算法的串行速度比SHA-1慢一点,比MD5和SHA2快。PHTB算法有一定的特色,因为现有的无陷门单向散列函数都是迭代算法,而PHTB算法可并行处理。535.4 国国产产Hash函数函数安全性安全性n传统单向散列函数一般由压缩函数f 迭代构成:Yi=f(Pi,Yi-1)。这是个Markov过程,其当前迭代值Yi只与当前分组消息Pi和上一次的迭代值Yi-1有关。压缩函数f 存在多对一映射,即存在两个不同的消息,其前i-1组消息P*和P迭代结果相同,则对任意消息Q,消息(P*|Q)和(P|Q)最终的散列值相同;也就是说,常用单向散列函数都是局部散列的,并非全局杂凑的。nHTBC和PHTB算法不存在这种确定的规律,因为其每组计算值Yi都与整个消息P有关;也就是说,HTBC和PHTB是全局散列的。从这个角度而言,HTBC和PHTB的安全性比常用单向散列函数高。n对HTBC和PHTB算法进行的大量统计测试结果都满足要求。54作作业业n大作业:综合运用所学知识,设计、开发和实现一个文件加密软件系统。n上机作业:常用密码算法编程实现,并测试其速度。n1分组密码算法:AES、SHACAL2、MISTY1、Camellia、RC6。工作模式采用CBC+PXOR(或CRC-32)、ECB(或CTR或OFB)+CBC-MACn3流密码算法和PRNG(与CBC-MAC结合):RC4、SEALn4CRC-32n5单向Hash函数:SHA1、SHA256、Whirlpool、RIPEMD160、SHA384、SHA51255习题习题n1、网络系统安全机制的简单模型一般可分为两步:n(1)(身份身份)认证认证与密与密钥钥交交换换和(2)保密通信保密通信。n2、身份认证可分为两类:(1)对对称称认证(即常用的口令口令认证);(2)非非对对称称认证(基于数字数字签签名名算法)。n、(1)流密码算法、分组密码算法和公钥密码算法用于加加解密解密(保密保密);(2)分组密码算法的认证模式、单向Hash函数和数字签名算法用于消息消息认证认证(数据校数据校验验、窜窜改改检测检测);Hash函数和公钥密码算法还可用于(身份身份)认证认证与密与密钥钥交交换换。n、(1)身份认证算法为信息安全提供不可否不可否认认(抗抵抗抵赖赖,身份真身份真实实)性;(2)加密算法为信息安全提供保密保密性;(3)数据认证算法为信息安全提供完整完整(数据真数据真实实)性。n5、对称算法(含Hash函数和PRNG)的基本设计思想是扩扩散散和混乱混乱。56习题习题(续续)n6、非对称算法(公钥密码算法)的基本设计思想是计计算复算复杂杂性性和陷陷门单门单向函数向函数。n7、对称加密算法的处理过程一般分为两步:密密钥编钥编排排和数据加密数据加密。n8、产生流密码中的密钥流的一种主要工具是移位寄存器移位寄存器。n9、分组密码设计一般采用SP思想(S盒盒和置置换换运算运算P两种变换)(S盒盒实现混乱;置置换换运算运算P实现扩散)和Feistel结构。n10、AES和Whirlpool算法是根据宽轨宽轨迹迹策略设计的。n11、在实际应用的混合密码系统中,公公钥钥密密码码(非非对对称称)算法用作身份认证和加密会话密钥,对对称称算法用于加密消息。n12、把公钥密码用于密钥分配解决了重要的密密钥钥管理管理问题。57习题习题(续续)n13、为了节约时间,数字签名协议经常和单单向向Hash函数函数一起使用。并不对整个文件签名,只对文件的Hash值值签名。n14、密码统计测试方法的原理一般是假假设检验设检验。n15、对密码算法f,如果每一位输出依赖于每一位输入,则称f具有完完备备性性。n16、当密码算法f 的任意一位输入改变时,如果平均有一半的输出位改变,则称f具有雪崩效雪崩效应应。n17、当密码算法f 的任意一位输入改变时,如果每一位输出改变的概率为0.5,则称f 满足严严格雪崩准格雪崩准则则。n18、频率测试的目的是检验算法f 的输出是否服从均匀均匀分布。n19、什么是PKI?n20、PKI 的主要建设内容有哪些?n21、完整的PKI应用系统应包括哪些部分?58谢谢!59- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码 算法 设计 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文