USTC密码学课件:安全散列与消息认证算法详解
需积分: 10 105 浏览量
更新于2024-08-23
收藏 1.24MB PPT 举报
本章要点主要集中在现代密码学理论中的消息认证和散列函数部分,具体包括以下几个关键知识点:
1. **安全散列函数的通用结构**:
所有的安全散列函数都遵循一个共同的结构,如图11.9所示。这种结构通常包括接收输入数据、分割处理、压缩函数以及最终输出固定长度的散列值。散列函数的主要目的是确保消息的完整性,即使数据稍有改变,散列值也会发生巨大变化。
2. **压缩函数的分类**:
安全散列函数中使用的压缩函数有两种类型:一是专门设计用于散列功能的函数,如SHA系列;二是基于对称分组密码的函数,如Whirlpool。SHA算法就是这类专门设计的典型代表,而Whirlpool则展示了另一种实现方式。
3. **安全散列算法(SHA)**:
SHA,特别是SHA-1,是NIST提出的联邦标准,最初由MD4算法发展而来,但因为存在碰撞攻击的风险,后续发布了SHA-256、SHA-384、SHA-512等更安全的版本。SHA-1曾面临王晓云在Crypto05会议上发布的碰撞攻击方法,促使NIST考虑废弃该版本。
4. **SHA的参数和比较**:
SHA算法有严格的输入限制,要求输入不超过264位,输出为160位。它通过分块处理的方式生成信息摘要,每块512位,经过多次迭代生成最终结果。尽管效率略低于MD5,但安全性更高。
5. **消息认证码(MAC)的分类**:
类似散列函数,消息认证码也分为两类:一类是基于安全散列算法的,如HMAC,它结合了密钥和散列函数来提供认证和加密功能;另一类是使用对称分组密码的,如CMAC,它依赖于密钥对数据进行加密后再散列。
6. **SHA-1的弃用与替代**:
NIST因碰撞攻击风险而计划弃用SHA-1,建议转向SHA-2等更安全的版本,以确保信息安全。
本章内容深入探讨了散列函数在现代密码学中的核心作用,强调了不同类型的散列和消息认证算法的设计、性能以及安全性的考量,对于理解和应用密码学技术具有重要意义。
2021-09-29 上传
2024-03-19 上传
2012-11-25 上传
2021-03-29 上传
2021-03-15 上传
2012-10-15 上传
2023-06-07 上传
小炸毛周黑鸭
- 粉丝: 25
- 资源: 2万+
最新资源
- ubuntu从入门到精通--请您把一块硬盘想象为一本书……即便您不喜欢读书,您也一定非
- 基于单片机的电子密码锁
- 多功能数字抢答器(数字电路)
- SOA Using Java Web Services.pdf
- IT面试 技巧 大全
- SQL考试资料/微软认证
- clementine教程 与实例应用方面的讲解
- excel VBA 编程指南
- C ++程序设计语言——详解源码
- Expert one on one Oracle
- MATLAB命令大全
- sun-jsp-2.0.pdf
- 最小生成树PRIM算法
- KRUSKAL算法(排序有问题饿)
- THE MYTHICAL MAN-MONTH 人月神话
- EDA综合设计的典型三个实例