笔记内容整理自 https://www.bilibili.com/video/BV1X8411175t (B站 崔老夫子老师),老师讲解的非常好,推荐大家看原视频。
第三章 密码学基本理论
3.1 密码学概况
密码编码学:明文 ------ > 密文
密码分析学:密文 ------ > 明文
古典密码学
-
凯撒密码:换位 和 置换
明文 a b c ...
密钥 D E F...
ab ------> DE
-
1949年 香农 《保密系统的通信理论》 信息论创始人
特点:信息安全基于密码,而不是算法保护
现代密码学
- DES 数据加密标准
- 公钥密码体制
✅ RSA算法 2002图灵奖
✅ 后量子时代密码
" 没有密码学,就无法在数字时代生存 "
密码学基本概念

- 明文 ------ 加密算法 ------ 密文 ------ 解密算法 ------ 明文
密码安全性分析
- 唯密文攻击
- 已知明文攻击
- 选择明文攻击
- 选择密文攻击
- 密文验证攻击:保障密文是正确的
3.2 密码体制分类

分类
私钥密码体制(对称密码体制)
-
数据加密处理,加密解密用一把钥匙
-
问题:
(1)密钥分配问题:采用安全方式发送钥匙
(2)密钥管理问题:密钥数量大
(3)无法认证源:无法认证消息发送方
-
算法:DES、 IDEA、 AES
公钥密码体制(非对称密码体制)
- 加密解密不使用同一密钥
- 算法:RSA、ELGamal 、椭圆曲线密码
- 优点:
(1)密钥分发方便
(2)密钥保管量少
(3)支持数字签名
混合密码体制

小王和小美送礼物,小王送小美海洋之星,海洋之星装在保险柜中。
情侣柜:四把钥匙,海洋之星的钥匙放在情侣柜中。
3.3 常见密码算法
对称密码算法
- DES算法 密钥长度56位,IBM公司发明,后成美国国家标准
- RSA实验室发起破解DES密文挑战,70000多台计算机暴力破解成功,后又被一台价值25万美元的机器3天内破解
- 三重DES:增强DES安全性 TDEA(3DES)
- AES
- IDEA:国际数据加密算法 密钥长度128位
- RC2 改良的DES算法,密钥长度可变
- RC4 流模式加密算法 用于http/WEP/WPA
非对称密码算法
-
RSA 公钥和私钥(存在数学关系)都可以用于加密消息
-
RSA的应用
(1)SSH、SSL/TLS 依赖 RSA 进行加密和数字签名
(2)浏览器中使用,建立安全连接
(3)RSA签名验证是网络系统中的常见操作
-
RSA 算法基于大整数分解的复杂性
-
RSA 的计算题
非对称加密的其他算法
- 加密/解密
- 数字签名
- 密钥交换
底层数学原理
单向 : 去容易,回来难
- 大整数分解:质数q、q相乘得到大整数n容易,但是由n分解为2个质数难(耗时)。
- 离散对数函数:
b = g^a mod p
已知g,a和p,容易求b,已知b,g和p,无法求a - 椭圆加密算法
其他非对称加密算法
- Elgamal:离散对数难解
- DSA算法:离散对数难解,美国NIST作为DSS(数字签名标准)
- DH算法:密钥一致协议
- ECC椭圆加密算法
国产密码算法

- 有哪些
- 哪些是商用的 (2、3、4、9)
3.4 hash函数与数字签名
Hash函数
- 杂凑函数:将任意长度的消息转换成固定长度的hash值 (杂凑 ------ 把不规则变得规整)
- 不同消息或文件所生成的hash值都不同
- 保护消息或文件的完整性、密码信息的安全存储
- 用于网页防篡改应用
- Hash算法又称为:杂凑算法、散列算法、数据摘要算法等,指产生哈希值的计算方法
- 常见的hash算法如下:
为什么MD5和SHA-1不安全?
王小云教授,"密码女神",2004年提出 Hash函数快速寻找碰撞攻击,先后破解了MD5和SHA-1。
数字签名
- 签名者使用私钥对签名数据的杂凑值做密码运算 (私钥加密,公钥解密)
- 验证算法公开,签名算法保密 (其他人验证,签名人掌握签名)
- 原理:利用签名者的公钥验证,确认待签名数据的完整性、签名者身份真实性和签名行为的抗抵赖性。
- 目的:通过网络信息安全技术手段实现传统纸面签字或盖章的功能
- 特点:一可四不可,可信、不可伪造、不可重用、不可抵赖、不可修改
- 满足条件
非否认:签名者不能否认自己的签名
真实性:接收者能验证签名,其他人不能伪造签名
可鉴别性:发生争执时,第三方能解决争执 - 典型算法
RSA签名体制
Rabin签名体制
ElGamal签名体制
DSS标准
- 数字签名流程
3.5 密码管理与数字证书
密码管理
- 密钥管理
- puttygen
- 密码测评
指对相关密码产品和系统进行安全性、合规性评估,确保密码安全有效 - 密码管理政策
- 我国密码分类 *
- 核心密码:保护国家秘密信息,国家秘密
- 普通密码:保护国家秘密信息,国家秘密
- 商用密码:保护不属于国家秘密的信息,公民、法人和其他组织可依法使用
数字证书
- 也称公钥证书,由证书认证机构(CA)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构。
- PKI:公钥基础设施
- CA:基于PKI技术建立的数字证书认证系统,提供数字证书的申请、审核、签发、查询、发布以及证书吊销等全生命周期的管理服务。
- 分类

- 用户自行生成一对公钥、私钥对,将公钥发送给CA,CA确认用户身份后,使用自身私钥对用户身份信息和公钥信息加密(签名)后形成数字证书
数字证书详解
- 证书结构
- 数字证书验证过程

3.6 安全协议
DH协议
- 共享秘密的方案协议
- 基于求解离散对数问题的困难性
SSH安全外壳协议
- 基于公钥的安全应用协议,目前使用SSH2各协议实现加密、认证、完整性检查等安全服务
- 原理:增强网络中非安全的服务,在端口转发技术基础上,支持远程登录Telnet、rsh、Rlogin、SCP和FTP等服务,实现服务器认证、用户认证及安全加密网络连接服务。Linux提供SSH服务(端口22)。
- 风险:中间人攻击和拒绝服务攻击


3.7 密码学网络安全应用
网络攻击概念

路由器安全应用

Web网站安全应用
