




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章密码学概述 第2章古典密码技术 第3章分组密码第4章公钥密码体制第5章散列函数与消息鉴别第6章数字签名技术第7章密钥管理技术第8章身份鉴别技术第9章序列密码第10章密码技术应用课程主要内容第5章散列函数与消息鉴别本章主要内容
散列函数的概念
散列函数的构造与设计 安全散列算法SHA对散列函数的攻击消息鉴别
第5章散列函数与消息鉴别5.1散列函数的概念
密码学中的散列函数又称为哈希函数(Hash函数)、杂凑函数,它是一种单向密码体制,是一个从明文到密文的不可逆映射,只有加密过程,不能解密。
散列函数的性质设散列函数为h(m),具有以下基本特性:
(1)h(m)算法公开,不需要密钥。(2)具有数据压缩功能,可将任意长度的输入数据转换成一个固定长度的输出。(3)对任何给定的m,h(m)易于计算。散列函数必须满足以下安全性要求:(1)具有单向性。给定消息的散列值h(m),要得到消息m在计算上不可行;(2)具有弱抗碰撞性(Weakcollisionresistance)。对任何给定的消息m,寻找与m不同的消息m’,使得它们的散列值相同,即h(m’)=h(m),在计算上不可行。(3)具有强抗碰撞性(Strongcollisionresistance)。寻找任意两个不同的消息m和m’,使得h(m)=h(m’)在计算上不可行。第5章散列函数与消息鉴别散列函数的应用散列函数的主要应用有以下三个方面:
1)保证数据的完整性
2)单向数据加密
3)数字签名应用散列函数实现数据完整性保护的模型:
注:实际应用中,未必一定是如h(m‖k)的计算方式,明文与密钥k的组合方式因不同的实现可以不同。第5章散列函数与消息鉴别
算法中重复使用一个函数f
。函数f的输入有两项,一项是上一轮(第i-1轮)的输出CVi-1,称为链接变量,另一项是算法在本轮(第i轮)b位的输入分组mi。5.2散列函数的构造与设计
迭代型散列函数的一般结构整个散列函数的逻辑关系可表示为:CV0=IV;CVi=f(CVi-1,mi);1≤i≤t;h(M)=CVt第5章散列函数与消息鉴别虽然在合理的假设下,可以证明这类散列函数是安全的,由于它的计算效率太低,所以这一类散列函数并没有什么实用价值。
散列函数的基本设计方法有:基于公开密钥密码算法的设计、基于对称分组密码算法的设计以及直接设计法。1.基于公开密钥密码算法设计散列函数散列函数的设计方法以CBC模式利用公开密钥算法,使用公钥PK以及初始变量IV对消息分组进行加密,并输出最后一个密文分组ct作为散列函数输出值,如图5.3所示。第5章散列函数与消息鉴别
基于分组密码的CBC工作模式和CFB工作模式的散列函数中,密钥k不能公开。如果密钥k公开,则会使得攻击者构造消息碰撞十分容易。
通常,可以使用对称密钥分组密码算法的CBC模式或CFB模式来产生散列值,如图5.4、图5.5所示。2.基于对称分组密码算法设计散列函数第5章散列函数与消息鉴别3.直接设计散列函数这类散列函数并不基于任何假设和密码体制,它是通过直接构造复杂的非线性关系达到单向性要求来设计单向散列函数。这类散列算法典型的有:MD2、MD4、MD5、SHA-1等算法。5.3安全散列算法SHA
1.SHA-1SHA-1是数字签名标准DSS(DigtialSignatureStandard)中使用的散列算法。它能够处理最大长度为264位的输入数据,输出为160位的散列函数值,SHA-1的输出正好适合作为数字签名算法DSA(DigtialSignatureAlgorithm)的输入。
Ⅰ.基本操作和元素:(1)逐位逻辑运算(2)加法运算(3)移位操作第5章散列函数与消息鉴别(1)消息分割与填充(2)初始化缓冲区(3)处理第i个数据块xi(4)4轮循环,80步操作完成后,保存散列中间结果,再与第一轮的输入相加(模232)(5)然后,以H0(i)
,H1(i)
,H2(i)
,H3(i)
,H4(i)作为寄存器初值,用于对分组xi+1进行散列处理。SHA-1压缩函数操作过程,如图5.9所示(下页),是处理一个512位分组的4次循环中每一循环的基本压缩操作流程。Ⅱ.SHA的散列过程Ⅲ.SHA-1的压缩操作Ⅳ.示例
【例5.1】计算字符串“abc”的SHA-1散列值。字符串“abc”的二进制表示为:011000010110001001100011,共有24位的长度。按照SHA-1的填充要求,应该填充一个“1”(界符)和423个“0”,最后有两个字“0000000000000018”(十六进制),表明原始消息的长度为24位。本例中共只有一个分组。第5章散列函数与消息鉴别第5章散列函数与消息鉴别初始五个寄存器的初始值为:
H0(0)=67452301,H1(0)=EFCDAB89,H2(0)=98BADCFE,H3(0)=10325476,H4(0)=C3D2E1F0进行迭代计算,前16个32位字的值刚好取自这个分组的所有字,即:
W0=61626380(即01100001011000100110001110000000),
W1=W2=……=W14=00000000,W15=00000018。对t=0~79计算得到各个寄存器中的值。最后得到结果为:H0=67452301+42541B35=A9993E36,H1=EFCDAB89+5738D5E1=4706816A,H2=98BADCFE+21834873=BA3E2571,H3=10325476+681E6DF6=7850C26C,H4=C3D2E1F0+D8FDF6AD=9CD0D89D。于是:SHA-1(“abc”)=A9993E364706816ABA3E25717850C26C9CD0D89D,共160位,20个字节。
第5章散列函数与消息鉴别Ⅴ.其他SHA算法2002年,NIST在FIPSl80-1的基础上做了修改,发布了推荐的修订版本FIPS180-2。在这个标准中,除了SHA-1外,还新增了SHA-256、SHA-398和SHA-512三个散列算法标准,它们的消息摘要长度分别为256位、398位和512位,以便与AES的使用相匹配。SHA系列散列算法的基本运算结构有很大的相似性。
SHA-1,SHA-256的数据分组都是512位。SHA-384,SHA-512的数据分组则是1024位。SHA-1,SHA-256,SHA-384,SHA-512的比较表5.4是它们基本参数的比较:第5章散列函数与消息鉴别目前对于散列函数的攻击方法可以分为两类:对散列函数的攻击是指攻击者寻找一对产生碰撞的消息的过程。评价散列函数的有效方法就是看一个攻击者找到一对产生碰撞的消息所花的代价有多高。第一类称为穷举攻击(或暴力攻击),它能对任何类型的散列函数进行攻击,其中最典型的方法就是“生日攻击”。第二类称为密码分析法,这类攻击方法依赖于对散列函数的结构和代数性质分析,采用针对散列函数弱性质的方法进行攻击。这类攻击方法有中间相遇攻击、修正分组攻击和差分分析等等。生日悖论
我们来考虑这样一个有趣的问题:在一个教室中最少应有多少学生才使得至少有两个学生的生日在同一天的概率大于0.5?计算与此相关的概率被称为生日悖论问题。5.4对散列函数的攻击第5章散列函数与消息鉴别生日攻击与散列函数相关的类似问题可表述如下:给定一个散列函数h的输出长度为m位,共有2m个可能的散列值输出,如果让散列函数h接收k个随机输入产生集合X,再使用另外k个随机输入产生集合Y,问k必须为多大才能使两个集合产生相同散列值输出的概率大于0.5?这种寻找散列函数h的具有相同输出的两个任意输入的攻击方式称为生日攻击。5.5消息鉴别消息鉴别是一个过程,用以验证接收消息的真实性(的确是由它所声称的实体发来的)和完整性(未被篡改、插入、删除),同时还用于验证消息的顺序性和时间性(未被重排、重放、延迟等)。消息鉴别对于开放的网络中的各种信息系统的安全性具有重要作用。大体来说,实现消息鉴别的手段可以分为两类:基于加密技术的消息鉴别和基于散列函数的消息鉴别。第5章散列函数与消息鉴别基于加密技术的消息鉴别从消息鉴别的目的出发,无论是对称密码体制,还是公钥密码体制,对于消息本身的加密都可以看作是一种鉴别的手段。(1)利用对称加密体制实现消息鉴别如图5.10所示,发送方A和接收方B共享密钥k。A用密钥k对消息M加密后通过公开信道传送给B。B接收到密文消息之后,通过是否能用密钥k将其恢复成合法明文,来判断消息是否来自A,信息是否完整。第5章挂散列喂函数票与消尸息鉴毁别该方卷法的害特点遵是:1)它姑能提摩供机从密性梨:只惨有A和B知道榆密钥k;2)提他供鉴掉别:法只能垒发自A,传两输中州未被欧改变殃;3)不静能提区供数白字签尝名:过接收螺方可笼以伪妹造消附息,奇发送甩方可泄以抵朽赖消乐息的疾发送航。(2)利用扁公钥佣密码瓣体制祖实现翅消息渡鉴别①来提供珍消息犬鉴别如图5.悬11所示鸦,发葛送方A用自丹己的崭私钥SKA对消久息进滋行加拾密运受算(驾但并倘不能洁提供稿机密鸦性保忧护,芝请思违考为汽什么吧?)昼,再润通过怒公开该信道次传送绑给接犁收方B。接炮收方B用A的公被钥PKA对得上到的顿消息贫进行仿解密腹运算柿并完撞成鉴欢别。第5章胶散列爹函数俩与消握息鉴蜻别这种痕方法挂的特炭点是恶:能约实现息数字嫂签名毫的功赴能,销可以茅抗抵先赖,常并提蹈供鉴象别。②提网供消轧息鉴躺别和割机密判性保钞护如图5.勾12所示史,在病发送耐方A用自屿己的遗私钥SKA进行颈加密肉运算虚(实他现数替字签肿名)浅之后取,还淡要用往接收蝇方B的公描钥PKB进行蜜加密站,从行而实君现机余密性幼。缺点辛:一教次完顾整的鼠通信袍需要筋执行把公钥伏算法面的加反密、始解密讨操作推各两姥次。优点泥:提晒供机改密性蚂、数龄字签辨名和名鉴别意。第5章答散列慰函数漏与消贫息鉴元别(1染)消息拾鉴别再码的扎概念基于掘散列纷函数循的消汽息鉴球别消息睬鉴别洒码(M是AC,Me锹ss熊ag馅e即Au蜂th那en堂ti茧ca爹ti低on盟C垂od州e)或报颜文鉴升别码跑,是用于熊提供置数据现原发顶鉴别菠和数革据完霸整性著的密辆码校杯验值杠。MA柴C是使奏用一容个特熟定的石密钥丝式将消市息通糊过一到种鉴冬别算秧法处明理所窃得出浇的一础串代虑码。一个MA滥C算法锁是由丈一个芬秘密徐密钥k和参氧数化枯的一俱簇函棕数hk构成尺。这磨簇函她数具凭有如勺下特戴性:a)容易计算——对于一个已知函数h,给定一个值k和一个输入x,hk(x)是容易计算的。这个计算的结果被称为消息鉴别码值或消息鉴别码。b)压缩——hk把任意具有有限长度(比特数)的一个输入x映射成一个具有固定长度的输出hk(x)。c)强抗碰撞性——要找到两个不同消息x和y,使得hk(x)=hk(y)是计算上不可行的。第5章枝散列歪函数叠与消绞息鉴锄别①脚提供畏消息翅鉴别黄的方敞法(疾图5.贝13):②尾提供方消息初鉴别淹和机揭密性对的方蜡法(截图5.交14,图5.询15):第5章牙散列军函数这与消饱息鉴龙别(2)基忌于散凳列函票数的背消息匆鉴别散列零函数锋具有宗以下蹲特点接:输予入是狐可变免大小笑的消怨息M,输祸出固获定长封度的碰散列男值(即消兔息摘谦要);计敢算简司单,提不需容要使振用密颤钥,罗具有柔强抗乔碰撞艇性。基于句散列升函数机的消暮息鉴壮别方料法如议图5.从16所示强,有居以下隙几种西情况慨:(1)用肺对称觉密码伍体制地加密阀消息跑及其培散列迁值,援如图5.捆16厘(a防)。(2)用竞对称恨密码篮体制涌只对桃消息宾的散拦列值负进行错加密慕,如辜图5.圾16长(b映)。(3)用外公钥衡密码昂体制锋只对观散列匠值进泊行加为密运给算,禁如图5.钻16注(c汤)。第5章熟散列虾函数暑与消售息鉴轿别(4)结尊合使饶用公饲钥密春码体施制和皱对称西密码关体制唯,这诞种方票法用删发送爆方的恨私钥允对散乔列值端进行载数字略签名糖,用代对称忧密码部体制织加密陡消息M和得秤到的湿数字搬签名磁,如收图5.饮16戒(d积)。(5)这裤种方质法使烦用了孕散列顷算法柜,但估未使资用加砌密算局法。(6)在熔方法(5对)的基图础上理,使轿用对垄称密乳码体鹿制对巨消息M和生歉成的谦散列乔值进观行保凡护,船如图5.烟16毕(f养)。第5章长散列躬函数誓与消泳息鉴献别第5章暗散列蠢函数疾与消预息鉴欠别HM咏AC算法基于卸散列样函数嫩的消外息鉴圾别码沿构造拣的基槐本思芒想就唉是将燥某个稳散列荐函数章嵌入副到消脉息鉴盯别码内的构帝造过缺程中花。HM鸟AC作为皆这种概构造葬方法此的代沉表,础已经侍作为RF振C偷21城04公布丝式,并证在IP准Se恶c和其嗽他网杏络协滴议(如SS蚂L)中得材到应锡用。1.消HM纪AC算法缎的设降计要裕求:按照RF纹C顽21蔑04,HM堡AC希望孩达到匹以下纷的设搞计要较求:(1)——可不经修改而使用现有的散列函数,特别是那些易于软件实现的、源代码可方便获取且免费使用的散列函数。(2)——其中嵌入的散列函数可以易于替换为更快或更安全的散列函数,以适应不同的安全需求。(3)——保持嵌入的散列函数的原有性能,不因用于HAMC而使其性能降低。(4)——密钥的使用和处理简单方便。(5)——以嵌入的散列函数安全假设为基础,易于分析HMAC用于鉴别时的安全强度。第5章系散列谢函数烤与消潜息鉴东别2.皱HM鹿AC算法贿描述图5.浮17是HM纤AC算法毙的实罩现框贡图。其中h为嵌壳入的费散列演函数(如MD豆5、SH灯A-郊1)糟;输入数消息M=瞧(Y0,Y1,……,YL-将1),Yi(0激≤i≤L睬-1稼)是b位的仍一个稼分组气,M包含惨了散码列函据数的泪填充案位。n为嵌火入的弯散列嫩函数段输出干值的束长度工,K为密避钥,诞如果山密钥英长度串大于b,则置将密杆钥输陈入到除散列溜函数研中产野生一穷个n位的行密钥值。K+是左担边填株充了0后的K,其得长度焰为b位,ip热ad为b/扛8个00狼11到01茅10序列紧串,op挠ad为b/解8个01岸01雾10绸10序列健串。第5章中散列虾函数侮与消冶息鉴姐别2.川HM评AC算法晚描述HM概AC算法军可表鸦示为滴:HM跨AC风(M,K)染=h((摆K+律op音ad腔)神‖h((伤K+梅ip逐ad且)‖凝M)坦)第5章绑散列忍函数安与消监息鉴任别3.箭HM拘AC的安宽全性第一吉种攻抚击可煮以认繁为压王缩函据数与罗散列拨函数辫等价怀,n位的椒初始每链接必变量IV可以夺看作HM违AC的密天钥。际因此科攻击手
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境创业日常管理制度
- 蜜蜂采蜜地域管理制度
- 镇图书馆管理制度规定
- 酒店厨房食堂管理制度
- 高品质饮用水管理制度
- 银监会抵押率管理制度
- 造价公司管理制度百度
- 项目公司配件管理制度
- 食堂等级动态管理制度
- 通信研发项目管理制度
- 《马克思主义与社会科学方法论》授课教案
- 初中综合实践-【课堂实录】手工橡皮章教学设计学情分析教材分析课后反思
- 民用无人机驾驶员管理规定
- 2023年四川二造《建设工程计量与计价实务(土木建筑)》高频核心题库300题(含解析)
- 凸透镜成像规律动画可拖动最佳版swf
- 6层框架住宅毕业设计结构计算书
- 《春秋三传导读》课件
- 教师情绪和压力疏导课件
- 麻醉科进修汇报课件
- 中小学生心理健康教育主题班会PPT教学课件
- ISO-IEC 27002-2022中文版完整详细
评论
0/150
提交评论