USTC密码学课件:安全散列与消息认证算法详解
需积分: 10 112 浏览量
更新于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 上传
2023-07-20 上传
2023-07-24 上传
2023-06-07 上传
2023-07-10 上传
2023-09-25 上传
2023-05-15 上传
小炸毛周黑鸭
- 粉丝: 24
- 资源: 2万+
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建