第六章 散列函数与消息认证码 1
散列函数与消息认证码 1 第六章
·消息认证(Message Authentication)的目的: 一验证消息的完整性,确认数据在传送和存储过程中未 受到主动攻击。 ·消息认证的方式: 消息加密函数:加密整个消息,以消息的密文文件作 为认证,可使用对称密码或公钥密码体制进行加密; -散列函数(Hash):将任意长度的消息变换为定长的 消息摘要,并加以认证; -消息认证码(MAC):依赖公开的函数(密钥控制下) 对消息处理,生成定长的认证标识,并加以认证; Message Authentication Code(MAC)又称为: Hash value Message digest 3 Digital fingerprint
• 消息认证(Message Authentication)的目的: – 验证消息的完整性,确认数据在传送和存储过程中未 受到主动攻击。 • 消息认证的方式: – 消息加密函数:加密整个消息,以消息的密文文件作 以消息的密文文件作 为认证,可使用对称密码或公钥密码体制进行加密; – 散列函数(Hash):将任意长度的消息变换为定长的 消息摘要,并加以认证; – 消息认证码(MAC):依赖公开的函数(密钥控制下) 对消息处理,生成定长的认证标识 生成定长的认证标识,并加以认证; 3 Message Authentication Code(MAC)又称为: Hash value Message digest Digital fingerprint
提纲 ·1散列函数 一1.1散列函数的定义 -1.2散列函数的通用结构 -1.3MD5 ·2消息认证码 -2.1MAC函数 -2.2MAC的安全性 -2.3 CBC-MAC 4
提纲 • 1 散列函数 – 1.1 散列函数的定义 – 1.2 散列函数的通用结构 – 1.3 MD5 • 2 消息认证码 – 2 1 MAC 2.1 MAC函数 – 2.2 MAC的安全性 – 2 3. CBC-MAC 4
提纲 ·1散列函数 -1.1散列函数的定义 -1.2散列函数的通用结构 -1.3MD5 ·2消息认证码 5
提纲 • 1 散列函数 – 1.1 散列函数的定义 – 1.2 散列函数的通用结构 – 1 3 MD5 1.3 MD5 • 2 消息认证码 5
散列函数的定义 散列函数散列函数HH是一个是一个公开的函数公开的函数,,它将 任意长度的消息它将任意长度的消息MM变换为固定长变换为固定长 度的散列码h。如MD5输出128bits;SHA-1输出为160bits ·h=H() -M:变长消息,H():定长的散列值 。 散列函数是一种算法,算法的输出内容称为散列码或者消息摘要。 ·消息摘要要唯一地对应原始消息,如果原始消息改变并且再次通过散 列函数,它将生成不同的消息摘要,,因此散列函数能用来检测消息地 完整性,保证消息从建立开始到收到为止没有被改变和破坏。 。 散列函数又称为:哈希(Hash)函数、数字指纹(Digital fingerprint)、压缩(Compression)函数、数据认证码(Data Authentication Code 6
散列函数的定义 • 散列函数散列函数 HH 是一个是一个公开的函数公开的函数,,它 将 任意长度的消息它将任意长度的消息MM变换为固定长变换为固定长 度的散列码 h 。如MD5输出128bits;SHA-1输出为160bits • h = H (M) – M:变长消息, H(M):定长的散列值 • 散列函数是一种算法 散列函数是一种算法,算法的输出内容称为 算法的输出内容称为散列码或者消息摘要。 • 消息摘要要唯一地对应原始消息,如果原始消息改变并且再次通过散 列函数,它将生成不同的消息摘要,因此散列函数能用来检测消息地 完整性,保证消息从建立开始到收到为止没有被改变和破坏。 • • 散列函数又称为:哈希( Hash )函数、数字指纹(Digital fingerprint)、压缩(Compression)函数、数据认证码(Data Authentication Code)等 6