信息认证技术概述

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其中,+为模232加法,CLS(s,w)是对32位字w 循环左移s位。位逻辑函数g分别取F、G、H、 I之一,X[k]=M[q×16+k],即消息的第q个分 组中第k个32位字(k=1,2,..16)。
512位分组的压缩处理HMD5 HMD5中每步的逻辑运算
位逻辑运算函数F、G、H、I定义如下:
F(x来自百度文库y,z)=(x&y)|((~x)&z)
CV0=V1 CVq+1=CVq+RFI(Yq,RFH(Yq, RFG(Yq, RFF(Yq, CVq)))) q=1,2,..(L-1) MD= CVL 其中RFX()为与位逻辑函数X结合的轮处理过程(X=F、G、H、I),+为对应32 位字模232加法。V1取缓冲区(A、B、C、D)的初值。
MD5算法的核心处理HMD5中重复进行位逻辑运算F、G、 H、I,使得最终输出的摘要中每一位与输入消息中所有位相 关,因此达到很好的混淆效果。
MD5产生消息摘要的过程
MD5算法实现逻辑由4个步骤组成:
S1:消息分组与填充。
(1)将输入信息M按顺序每512位一组进行分组: M = M1,M2,…,Mn-1,Mn
(2)将信息M的Mn长度填充为448位。 当Mn长度L(bit为单位) < 448时,在信息Mn后加一个“1”,然后再填充 447-L个“0”,使最后的信息Mn长度为448位。 “当0M”,n长使度最L后> 的44信8时息,M在n长信度息为M5n1后2位加,一M个n“+1长1”度,为然4后48再位填充512-L+447个 最后一个分组的后64位为M的位长度(低字节优先)。
G(x,y,z)=(x&z)|(y&(~ z))
H(x,y,z)=x⊕y⊕z
I(x,y,z)=z⊕(y&(~ z))
其中上第图1轮中按ρ照j(i初)表始示次各序轮;处第理2、中3使、用4轮16按个照32下位式字对的(不1,同2,次..序16()进j=行2,置3,换4):。
ρ2(i)=(1+5*i)mod 16 ρ3(i)=(5+3*i)mod 16 ρ4(i)= (7*i) mod 16 S4:将消息M的L个分组处理完毕,最后一个分组处理的输出即为消息M的摘 要。因此,第3、4步可以总结为:
向hash函数输入一任意长度的信息M时,hash函数将 输出一固定长度为m的散列值h。即:
h = H(M)
性质:
3.2 哈希函数
固定长度输出散列值h。
给定M,很容易计算h。
给定h,根据H(M)=h计算M很难。
给定M,找到另一消息M’,满足H(M)=H(M’),在计 算上是不可行的---弱抗碰撞性。
3.1 概述
❖ 在网络通信和电子商务中很容易发生如下问题。
1.否认,发送信息的一方不承认自己发送过某一信息。
2.伪造,接收方伪造一份文件,并声称它来自某发送方 的。
3.冒充,网络上的某个用户冒充另一个用户接收或发送 信息。
4.篡改,信息在网用络数传字输签过名程(中D已ig被it篡al改S,ig或na接tu收re方)对 收到的信息进行篡可改以。有效地解决这些问题。数字签名 就是主要用于对数字信息进行的签名, 以防止信息被伪造或篡改等。
这四个32位变量被称为链接变量,它们始终参与运算并形成最终的散列值。
S3:对每个分组Mi进行压缩处理HMD5。 HMD5是算法核心。HMD5内部有4轮处理
过程。每轮处理结构一样,但使用的位逻辑 函数不同,分别表示为F、G、H、I。每轮处 理的输入是当前正在处理的512位分组、128 位缓冲区(A、B、C、D)的当前值和常量表T 中四分之一的常数,即分别为T[1..16]、 T[17…32]、T[33…48]、T[49...64]。第4轮处 理字当的进前输行51出模2位2再3分2与相组第加的1,轮输结的出果输。即入为CV压q缩按函照数4个H3M2D位5对
反复调用压缩函数f: Vi=f(Yi-1,Vi-1) ,i=1,2,..L。f输出Vi仍然是n位。 M的散列值H(M, V0)=VL 算法的核心是压缩函数f
将M在的对长M度的填分充组到中最,后最一后个一分组组Y中L-1。不足b位时填充0或者1将其补足。通常还
Y0
Y1
YL-1
V1
V0
f
f
VL-1
VL f
常量表T=T[1,…64]中各元素:
T[i]=int(232×abs(sin(i))),为32位整型数。 T作为予置的常数表,其作用是随机化32位整 型量,消除输入数据的规律性。
压缩函数HMD5每轮处理细节由对128位缓冲 区(A、B、C、D)的16步迭代构成,每一步运 算如下:
a←B+CLS(s,A+g(B,C,D)+X[k]+T[i]))
3.1 概述
❖ 一个安全的认证系统应满足以下条件: (1)合法的接收者能够检验所接收消息的合法性和
真实性。 (2)合法的发送方对所发送的消息无法进行否认。 (3)除了合法的发送方之外,任何人都无法伪造、
篡改消息。
3.2 哈希函数
❖ 哈希函数,单向散列函数 ❖ 基本思想
输入任意长度的消息M,产生固定长度的数据输 出。
安全散列函数的一般结构
❖ 常用的哈希函数
MD5 SHA-1 RIPEMD-160 等等
MD5算法
❖ 麻省理工学院Ron Rivest提出,可将任意长度的消息经过变换得到一 个128位的散列值。
❖ MD5算法:
MD5以512位分组来处理输入的信息,每一分组又被划分为16个32 位子分组,经过了一系列的处理后,算法的输出由四个32位分组组 成,将这四个32位分组级联后生成128位散列值。
对于任意两个不同的消息 M ≠M’,它们的散列值不 可能相同---强抗碰撞性。
注:碰撞性是指对于两个不同的消息M和M’ ,如果它们的 摘要值相同,则发生了碰撞。
安全散列函数的一般结构
与分组对称密码的CBC模式非常相似。函数的输入M被分为b位的L个分 组Y0,Y1,..YL-1,以及n位链接变量初值V0,通常b>n。
S2:缓冲区初始化。
MD5算法使用128位缓冲区存放处理过程的中间结果和最后的消息摘要值。这 128位缓冲分为4个32位逻辑寄存器A、B、C、D。每个寄存器以Little-Endian存 放数据,其初始值为:
A=0x1234567,B=0x89abcdef,C=0xfedcba98,D=0x7543210
相关文档
最新文档