密码学基础
模块三:加密技术和数据保护方法

课程介绍
本模块学习的是网络信息安全培训的第三模块——密码学基础。密码学是网络安全的数学基础,也是保护信息安全的核心技术。
在开始之前,想问大家一个问题:你们觉得,在数字时代,我们最需要保护的是什么?是银行密码?还是聊天记录?
其实,我们需要保护的是信息本身。而密码学就是保护信息的数学工具。无论是我们的银行密码、聊天记录,还是企业的商业机密、国家的机密文件,都离不开密码学的保护。
密码学概述
首先,我们来了解什么是密码学。密码学是研究编制密码和破译密码的技术科学。简单来说,就是研究如何保护信息不被别人看到,以及如何验证信息的真实性。
我们可以把密码学比作古代的密码本。古代军队用密码本来传递机密信息,即使信件被敌人截获,敌人也看不懂内容。现代密码学就是这种思想的数学化和现代化。
密码学发展历程
- 古典密码学 - 基于字符替换和置换的简单加密方法
- 现代密码学 - 基于数学理论的复杂加密算法
- 量子密码学 - 利用量子力学原理的未来密码技术
Kerckhoffs原则:密码系统的安全性应该依赖于密钥的保密,而不是算法的保密。这是现代密码学设计的基本原则。
对称加密算法
对称加密使用相同的密钥进行加密和解密,就像用同一把钥匙锁门和开门一样。这种加密方式具有速度快、效率高的特点,适合大量数据的加密。
分组密码
- AES - 高级加密标准,密钥长度128/192/256位,目前最广泛使用的对称加密算法
- DES - 数据加密标准,密钥长度56位,已被破解不再安全
- 3DES - 三重DES,安全性提高但性能较差
流密码
- RC4 - 曾广泛用于SSL/TLS协议,现已不安全
- ChaCha20 - 安全性高、性能优秀的现代流密码
- Salsa20 - ChaCha20的前身,具有良好的安全性
加密模式
- ECB - 电子密码本模式,简单但不安全
- CBC - 密码分组链接模式,需要初始化向量
- CFB - 密码反馈模式,可处理任意长度数据
- OFB - 输出反馈模式,错误不会传播
- CTR - 计数器模式,可并行处理
- GCM - 伽罗瓦计数器模式,提供认证加密
非对称加密算法
非对称加密使用一对密钥:公钥和私钥。公钥可以公开,私钥必须保密。这就像邮箱一样,任何人都可以往里放信,但只有主人有钥匙取信。
RSA算法
由Rivest、Shamir和Adleman三位科学家提出,安全性基于大整数分解的困难性,密钥长度通常为1024、2048或4096位。
椭圆曲线密码学(ECC)
安全性基于椭圆曲线离散对数问题的困难性,在相同安全级别下密钥长度更短,计算效率更高。
其他非对称算法
- DSA - 数字签名算法
- Diffie-Hellman - 密钥交换协议
- ElGamal - 基于离散对数问题的加密和签名算法
哈希函数
哈希函数将任意长度的输入转换为固定长度的输出,就像给文件做指纹一样。具有单向性、确定性和雪崩效应等特性。
密码学哈希函数特性
- 单向性 - 从哈希值推导原始数据不可行
- 确定性 - 相同输入总是产生相同输出
- 雪崩效应 - 输入的微小变化导致输出的巨大变化
- 抗碰撞性 - 找到两个产生相同哈希值的不同输入极其困难
常用哈希算法
- SHA-256 - 输出256位,广泛应用于区块链、数字证书
- SHA-384 - 输出384位,中等安全级别
- SHA-512 - 输出512位,高安全级别
- MD5 - 输出128位,已被破解不再安全
- SHA-1 - 输出160位,已被破解不再推荐
- SHA-3 - 最新的哈希标准
哈希函数应用
- 数据完整性验证
- 密码存储
- 数字签名
- 区块链技术
- HMAC(基于哈希的消息认证码)
数字签名
数字签名提供数据完整性、身份认证和不可否认性保证,是电子商务和数字通信的重要技术。
数字签名原理
发送方使用私钥对消息摘要进行签名,接收方使用发送方的公钥验证签名的有效性。
数字证书
由可信的证书颁发机构(CA)签发,用于证明公钥的所有者身份,包含证书持有者信息、公钥、CA信息、有效期和CA的数字签名。
公钥基础设施(PKI)
管理数字证书和公钥加密的框架,包括证书颁发、分发、验证和撤销等功能。
密钥管理
密钥管理是密码系统安全的关键,包括密钥的生成、分发、存储、使用和销毁等环节。
密钥生成
- 使用密码学安全的随机数生成器
- 确保密钥的随机性和不可预测性
- 选择合适的熵源(鼠标移动、键盘输入、硬件噪声等)
密钥分发
- 带外分发 - 通过安全的物理渠道传递密钥
- 密钥交换协议 - 如Diffie-Hellman协议
- 密钥封装 - 使用公钥加密对称密钥
密钥存储
- 硬件安全模块(HSM) - 专用硬件设备提供高强度保护
- 智能卡 - 便携式安全存储设备
- 软件密钥库 - 密钥加密存储在文件系统中
- 密钥托管服务 - 由第三方安全存储密钥
现代密码学应用
现代密码学已经广泛应用于各个领域,成为数字社会的重要基础设施。
安全通信协议
- TLS/SSL - 保护Web通信安全
- IPSec - IP层安全协议
- SSH - 安全远程登录协议
- Signal Protocol - 端到端加密消息协议
区块链技术
大量使用哈希函数、数字签名、Merkle树等密码学技术,确保交易的安全性和不可篡改性。
零知识证明
允许一方向另一方证明某个陈述是真实的,而无需透露除了陈述真实性之外的任何信息。
同态加密
允许在不解密数据的情况下对加密数据进行计算,在云计算、数据共享等场景中具有重要意义。
量子威胁:量子计算机的发展对现有的公钥密码系统构成威胁,后量子密码学正在研究能够抵抗量子攻击的新算法。
课程总结
本模块的主要内容:
- 密码学是保护信息安全的数学基础,包括对称加密、非对称加密、哈希函数等技术
- 对称加密使用相同密钥,具有速度快的优势,但需要解决密钥分发问题
- 非对称加密使用公钥和私钥,很好地解决了密钥分发问题,但计算开销较大
- 哈希函数提供数据完整性验证,是数字签名和区块链的基础
- 数字签名提供身份认证和不可否认性,是电子商务等领域的重要技术
- 密钥管理是密码系统安全的关键,需要整个生命周期进行严格的安全控制
- 现代密码学广泛应用于安全通信、区块链、零知识证明等领域
希望大家能够理解密码学的基本原理,为后续的深入学习打下坚实的基础。