现代密码学——第1章密码学概述
第1章密码学概述
本章重点:
掌握信息安全三要素、密码学主要功能、两种攻击形式的含义
掌握密码学研究的内容、组成部分及各种术语
掌握柯克霍夫斯原则的内容和意义,隐写术、加密术的区别,置换、代换的内容和区别
掌握密码分析的四种方法
了解密码学史上的几个重大事件
一.密码学能干啥?
- 机密性
- 完整性
- 认证
- 匿名性
二.为什么要学密码学?(看看就好,这个考了真的就是老师无聊了)
- 密码学与现实生活息息相关
- 学习网络安全应该具备一定的密码学知识
- 仅使用计算机学科的方法无法满足某些安全需求
- 密码学提供了丰富多彩的安全保护手段,可以满足不同的安全需求
三.密码学的地位☆
密码学是信息安全的基础(提供理论/技术支持)
密码学不是万能的,离开它却是万万不能的
四.信息安全的三要素☆
- 机密性:确保信息不被非法获取
常见威胁:窃听,盗窃文件,社会工程学
- 完整性:确保能够发现信息是否被改动过
常见威胁:合法用户的失误,非法用户的篡改
- 可用性:确保系统正常提供服务
常见威胁:设备故障,软件错误,环境因素,人为攻击
五.攻击者能干些什么——两种攻击形式☆
被动攻击:对机密性的破坏(窃听)
主动攻击:对完整性、可用性的破坏(篡改,冒充)
六.密码学的主要功能☆
- 保证机密性:防范“信息泄露”
- 保证完整性:防范“信息篡改”
- 提供非否认:防范“否认干过的事”
七.什么是密码学?☆
研究内容:保护系统安全
组成成分:
- 密码编码学(设计密码)
- 密码分析学(破译密码)
一把双刃剑:
- 帮助分析密码算法的安全性
- 帮助破坏受保护信息的安全性
八.密码学的基本术语
明文/加密/密文/解密/密码分析
九.区别两个术语☆
密钥(key):用于“变换”:密码算法的辅助输入;是一些随机串
口令(password):用于“身份认证”:确认对方或证明自己的身份。是一些容易记忆,又不易被猜到的字符串。常被翻译成“密码”。
十.密钥的重要性:密码算法为什么需要密钥?
为什么不构造一个不需要密钥的算法?
如果攻击者知道了算法,他们只需执行该算法就可以恢复你的明文。
貌似保密密码算法就可以解决这个问题。
事实证明,攻击者总能通过各种手段发现你用的是哪个算法。
十一.柯克霍夫斯原则(密码学的基本原则)☆
“即使密码系统的任何细节已为人所知,只要密钥没有泄露,它也应该是安全的”
十二.柯克霍夫斯基原则的意义☆
- 知道算法的人可能叛变
- 设计者有个人喜好
- 频繁更换算法不显示
意义在于,密码算法很难保密
十三.加解密是在密钥的控制下进行的☆
十四.加密体制的形式化描述
它是一个五元组 (P, C, K, E, D)
明文空间/密文空间/密钥空间/所有加密算法组成的有限集/所有解密算法组成的有限集
十五.加密算法(函数)必须是一个单射函数☆
十六.实用的加密体制必须满足以下两条☆
- 容易性:加密算法、解密算法都应该易于计算
- 安全性:对于任何攻击者,难以恢复明文/密钥
十七.区别两种技术:隐写术,加密术
十八.隐写术小结☆
特点:保护的是信息本身(把信息隐藏起来)
缺点:一旦发现隐藏的方法,信息就会暴露(安全性差)
十九.加密术(两种常用技术)☆
置换/代换
置换:
特点:明文中字符与密文中相同,只是出现的位置发生变化
密钥是什么?改变位置的规则
代换:
特点:明文中出现的字符不一定出现在密文中,但位置保持不变
密钥是什么?代换规则
二十.隐写术与加密术的区别☆
隐写术:保护的是信息本身,传递的仍然是原来的信息,只是被藏了起来。一旦发现隐藏的方法,信息就会暴露。
加密术:保护的是信息内容,传递的是变换后的密文,而不是原来的明文。不知道密钥,很难恢复信息。
二十一.密码学历史上的重要事件☆
1949年,香农发表论文《保密系统的通信原理》——密码学的理论基础之一,发表30年后才显示出它的价值。
1976年,Diffie、Hellman发表论文《密码学的新方向》——开辟了公钥密码学的新领域。可以这么说:“没有公钥密码的研究就没有现代密码学”
1977年,RSA密码体制出现——公钥密码领域最杰出的代表事实上的标准,密码学史上的里程碑。
1978年,DES(数据加密标准)出现——美国的数据加密标准。用于政府等非机密单位及商业的保密通信
它们标志着密码学理论与技术的革命性变革,宣布了现代密码学的开始
二十二.对加密体制进行攻击的分类☆
依据攻击者知道信息的多少,可如下分类:
唯密文攻击:只有一些密文,好的现代密码系统对此通常是免疫的。
已知明文攻击:已有很多明文/密文对
选择明文攻击:可以任意选择明文,并可获得相应密文
选择密文攻击:可以任意选择密文,并可获得相应明文
攻击强度依次增强。
二十三.密码设计vs密码实现☆
密码设计->编码实现->部署使用
设计上安全的密码算法,由于实现或使用不当,可能引入安全漏洞。
二十四.恢复明文 vs. 恢复密钥☆
破译的主要目的:恢复密钥
因为知道了密钥,便可恢复出该密钥加密的所有铭文
通过密文推导密钥,至少要和推导明文一样困难。
二十五.同等对待所有密钥,不要根据自己的偏好选择密钥(以防攻击者根据你的偏好缩小密钥范围)密钥应随机选择☆
二十六.全部破译 vs. 部分破译☆
并不一定恢复出整个明文才算成功破译
有时候,恢复出明文的部分信息,甚至几个关键单词,也算成功破译
部分破译往往成为全部破译的突破口
二十七.穷举攻击 vs. 其他攻击☆
穷举攻击(暴力攻击、蛮力攻击)
目的:穷举搜索密钥
方法:依次测试密钥空间中的所有密钥
密钥空间要足够大,以抵抗密钥穷举攻击。
只要密钥空间足够大,穷举攻击将是十分低效的,甚至是不现实的。
但这并不是充分条件,因为穷举不是破译密码的唯一方法,还有效率高于穷举攻击的其他分析方法
各种分析方法的效率谁高谁低呢?常以穷举攻击的效率作为比较的标准。
二十八.保密密钥VS保密算法☆
根据柯克霍夫斯原则,对密码进行分析的前提是,在不知道密钥的条件下,对公开的密码算法进行分析。
但在政府或军事应用中,也存在保密算法的情况。
不过前提是,算法必须是安全的。通过保密算法进一步加强安全性。
二十九.对密码安全性的一些直观认识☆
密钥空间要足够大
密钥应该随机选择
通过密文推到密钥,至少要和推导明文一样困难
密文与明文之间的统计关系要尽量小。
密钥与密文之间的统计关系要尽量小
三十.学习密码学要转变的观念☆
相对:抛弃“绝对”的想法,安全都是相对的
概率:抛弃“百分之百”的想法
练习题:
- 信息安全的三要素(机密性、完整性、可用性)
- 密码学由(密码编码学、密码分析学)两部分组成
- 加密的两种基本技术是(置换、代换)
- 按照攻击者知道信息的多少,密码分析(唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击)四种类型
- 加密和解密都是在(密钥)控制下进行的
- 以下哪种攻击破坏数据的机密性(窃听)
- 以下哪种属于被动攻击(窃听)
出处:https://www.cnblogs.com/lightac/
联系:
Email: dzz@stu.ouc.edu.cn
QQ: 1171613053
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞