信息认证技术.ppt
《信息认证技术.ppt》由会员分享,可在线阅读,更多相关《信息认证技术.ppt(26页珍藏版)》请在优知文库上搜索。
1、信息认证技术Hash函数v单向函数v 定义:函数f:A- B 若满足如下两个条件,则称为单向函数。v (1)对任意xA ,计算y=f(x)是容易的,yB;v (2)对yB ,求xA ,满足f(x)=y是计算上不可能的。 v Hash函数v 定义:函数H:A*-An 若满足以下三个性质,则称H是安全保密中的Hash函数。vA*:任意长度0,1字符串构成的集合;vAn:固定长度为n的0,1字符串Hash函数vHash函数v (1)H是单向函数;v (2)已知xA*,找出x*A*,使H(x)=H(x*)在计算上是不可能的;v (3)找出一对x和x*A*,xx*,使得H(x)=H(x*)在计算上不可能
2、。(防碰撞性)Hash函数v信息认证码v 与密钥相关的Hash函数值称为消息鉴别码(Message Authentication Code ,MAC),也叫信息认证码。信息认证码附在消息m的后面,作为认证用。v 信息认证码的应用模式 v 表示含有参数k的Hash函数,k通常是密钥。 v (1)A向B送去信息m的同时,附上他们之间通信用的密钥k产生的 .B收到后,利用他们共享的密钥k,B计算得 ,若 ,则m得到确认(A寄来的无篡改的消息),否则拒绝。( )kHm*( )kHm*( )( )kkHmHm( )kHmHash函数v(2)A向B送去(m, ),即将H(m)(散列值)用密钥k加密后得 附
3、在m的后面寄给B。B收到后首先用k解密得H(m),再计算H*(m),与(1)中相同的步骤检验是否接受m。v(3)A向B送去(m, ) ,其中 是A对H(m)利用公钥密码系统中A的私钥进行数字签名。B收到后,利用A的公钥 做v 然后计算H*(m),看是否相同进行检验。( )kEH m( )kEH m( )ADH m( )ADH mAE( )( )AAEDH mH mMD5算法v(1)MD5简介v MD5算法是R.Rivest在MIT开发设计的散列函数,MD表示消息摘要(Message Digest)。对于输入的任意长的消息,通过MD5算法输出是128bit的0,1字符串,我们称为消息摘要,又叫散
4、列值。v 算法设计的目标: 安全性 直接安全性 速度 简单性和紧凑性 有利于微处理器运行MD5算法v(2)MD5算法描述v初始化v (1)首先填充消息m使其长度比特数b满足 b448 mod 512v即补充上去的比特,使之m的长度比512的倍数仅少64bit。补充的比特除第一位是1外,后面全是0。v (2)在(1)的基础上,再附上64bit表示原来消息的真实长度(比特数),这样消息总长度恰好是512的整数倍。v(3)将前面处理后的消息划成长度为512bit的分组v ,总共L个512bit分组。v每个分组又划分为16个长度为32bit的子分组v v(4)四个32bit的变量初始化为v A=Ox0
5、1234567 B=0 x89abcdefv C=0 xfedcba98 D=0 x76543210121,LY YY1216,M MMMD5算法主循环次数主循环的次数是消息m按512bit划分后的分组数。由图可知,MD5的每次输入,除了512bit分组外,还需要上一次循环所得的128bit的散列值。Y0YkY1YL-1MD5MD5MD5MD5512512512512128128128128IVMD5算法 主循环 在算法主循环中,将A,B,C,D复制到另外的四个变量a,b,c,d中。 主循环总共四轮,每一轮的结构非常相似。每一轮进行16次操作。每次操作对a,b,c,d中的其中三个数作一个非线性
6、运算,然后所得结果加上第四个变量,分组Y的一个子分组M和一个常数,并加上a,b,c,d之一。最后用该结果代替a,b,c,d之一。 所有这些完成之后,将A,B,C,D分别加上a,b,c,d。然后用下一分组继续运行算法,最后输出是A,B,C,D的级联。MD5算法主循环第一轮FF第二轮GG第三轮HH第四轮IIABCD消息分组MD5算法v逻辑函数v 这四轮中每轮各有一个逻辑函数,分别用FF,GG,HH,II来表示,具体如下: vFF(a,b,c,d,Mj,s,ti)表示a=b+(a+F(b,c,d)+Mj+ti)s)vGG(a,b,c,d,Mj,s,ti)表示a=b+(a+G(b,c,d)+Mj+ti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 认证 技术