【25软考网工】第六章(2)信息加密技术
博客主页:
christine-rr-CSDN博客
专栏主页:
软考中级网络工程师笔记
大家好,我是christine-rr !目前《软考中级网络工程师》专栏已经更新二十多篇文章了,每篇笔记都包含详细的知识点,希望能帮助到你!
今天的笔记是主要是《密码学》的内容,是网络安全的专业的基础,大家可以查看我的专栏:密码学 ,目前只发了五篇文章,但是结合本节理解相关概念!
目录
一、密码学基本概念
1. 现代密码理论
2. 经典加密技术
3. 现代加密技术
二、对称密码
1. 对称密码特点
2. 对称密码的优点和缺点
3. 常见的对称密钥加密算法
1)DES
2)3DES
3)IDEA
4)AES
5)RC4/5
4. 应用案例
1)例题#DES密钥长度
2)例题#三重DES加密过程
3)例题#AES分组长度
三、公钥密码
1. 公钥密码特点
1)公钥密码体制的优缺点
2. 常见的非对称加密算法
四、密码分类
1. 例题#RSA安全性依赖问题
五、混合密码
六、国产加密算法SM系列
1. 国密算法
2. 应用案例
1)例题#国产密码分组加密
2)例题#商用密码算法体系摘要算法
3)例题#公民法人可用何算法
4)例题#国密标识密码用户私钥来源
七、知识小结
一、密码学基本概念
此小节内容可结合之前的文章一起学习
密码学基础——密码学相关概念
1. 现代密码理论
- 核心原则:信息安全的核心是密码技术,研究数据加密的科学称为密码学(Cryptography)
- Kerckhoffs原则:现代密码体制安全性仅依赖于密钥保密,而非算法保密。算法可公开,但密钥需严格保密。
- 无条件安全:当密文中没有足够信息确定对应明文时称为无条件安全(理论上不可破解)。目前几乎所有密码体制在无限制条件下都可被破解,破解难度取决于计算资源
2. 经典加密技术
- 替换加密:
- 也叫代换、替代
- 原理:用字母替换另一个字母(如Caesar密码:D替换a,E替换b)
- 弱点:保留明文顺序,可通过自然语言统计特性(如字母频率)破译
- 示例:英文高频字母e,中文高频字"的";凯撒密码就是一种简单的代换密码,它将明文中的每个字母按照字母表顺序向后移动一定的位数来得到密文。
- 换位加密:
- 也叫置换
- 原理:按规律重排字母顺序(如123变为132)
- 示例:栅栏密码就是将明文按照一定的规则分组,然后将每组中的字符顺序打乱重新排列得到密文。
- 一次性填充:
- 流程:明文转位串(例如ASCII码)→选择等长随机位串作密钥→按位异或得密文
- 特点:需配合ASCII编码或分组填充(如64位分组)
3. 现代加密技术
- 基础方法:仍采用替换和换位,但算法更复杂、密钥更简单
- 增强手段:
- 加入随机冗余信息防伪造(随机数)
- 加入时间控制信息防重放攻击(时间戳)
- 实现方式:可通过硬件芯片电路实现,效率高于纯CPU运算
二、对称密码
想了解更多关于DES和AES算法的实现,可以看我之前的文章:
密码学基础——DES算法_des算法非线性操作-CSDN博客
密码学基础——AES算法-CSDN博客
1. 对称密码特点
- 别名:单钥密码
- 核心特征:加密解密使用相同密钥(如密钥"123")
- 工作流程:明文→密钥加密→密文→同一密钥解密→明文
2. 对称密码的优点和缺点
- 三大优点:
- 加解密速度快
- 密文紧凑(10T明文加密后仍约10T,不会有太大膨胀)
- 使用长密钥时难破解
- 三大缺点:
- 密钥分发困哪:需安全传输密钥(不能与密文同信道传输)
- 密钥管理困难:没两个节点之间要进行通信就给有一个密钥,n个节点需n(n−1)/2个密钥(指数级增长)
- 无法源认证:任何持有密钥者均可解密
3. 常见的对称密钥加密算法
算法 | 解释 | 特点 |
DES | Data Encryption Standard,数据加密标准。 | 分组长度64位,密钥长度64位, |
3DES | 三重DES(TDEA),使用DES对明文进行“加密-解密-加密”操作。 加密:K1加密→K2解密→K3加密 解密:K3解密→K2加密→K1解密 一般K1和K3是相同的密钥。 | 密钥长度112位 |
IDEA | International Data Encryption Algorithm,国际数据加密算法, | 明文和密文分组都是64位,密钥 |
AES | Advanced Encryption Standard,高级加密标准。 | 分组长度128位,支持128,192 |
RC4/5 | 流加密算法,用于WIFI。加密速度快,可达到DES的10倍。 | 分组和密钥长度都可变 |
1)DES
- 数据加密标准
- 技术:采用移位+替换
- 参数:
- 分组长度64位
- 密钥长度64位(有效56位+8位校验)
- 特点:速度快,密钥易产生
补充知识(可跳过):
- 扩散:指将明文的统计特性散布到密文中去,使得明文的每一位影响密文中的许多位,从而使密文的统计特性与明文的统计特性无关。实现方式是使得密文中每一位由明文中多位产生。在 DES 中,通过多次迭代的置换和异或操作来实现扩散。例如,在每一轮迭代中,数据会经过置换操作,将不同位置的比特进行交换,使得明文的影响逐渐扩散到整个密文。
- 混淆:是指将密钥和明文之间的关系变得复杂,使得从密文和密钥中难以推出明文的统计特性。DES 通过 S 盒的非线性代换以及密钥与数据的混合操作来实现混淆。S 盒的非线性特性使得输入和输出之间的关系非常复杂,难以通过分析输出得到输入的信息。同时,密钥与数据的异或操作也增加了密钥和明文之间的混淆程度。
2)3DES
- 原理:三重DES(加密-解密-加密)
- 加密:K1加密→K2解密→K3加密
- 解密:K3解密→K2加密→K1解密
- 密钥:通常K1=K3,密钥长度112位(56×2)
3)IDEA
- 国际数据加密算法
- 参数:
- 分组长度64位
- 密钥长度128位
- 应用:用于PGP系统
4)AES
- 高级加密标准
-
常常将AES算法称为Rijndael算法,严格地讲,Rijndael算法和AES算法并不完全一样,因为Rijndael算法是数据块长度和加密密钥长度都可变的迭代分组加密算法,其数据块和密钥的长度可以是128位、192位和256位。尽管如此,在实际应用中二者一般被认为是相同的。
- 特点:
- 可通过硬件实现
- 速度与3DES相当但更安全
- 参数:
- 分组长度固定128位
- 密钥长度可变(128/192/256位)
5)RC4/5
- 类型:流加密算法
- 应用:早期WIFI加密
- 特点:
- 速度达DES的10倍
- 分组和密钥长度可变
- 安全性较低(现多被AES替代)
4. 应用案例
1)例题#DES密钥长度
- 关键点:3DES密钥长度=56×2=112位(非168位)
- 答案:C
2)例题#三重DES加密过程
- 流程:必须遵循"加-解-加"顺序(K1→K2→K1)
- 答案:B(①③④)
3)例题#AES分组长度
- 要点:AES分组长度固定128位(密钥长度可变)
- 错误选项:A(声称分组长度可变)
- 答案:A
三、公钥密码
1. 公钥密码特点
- 别名: 又称非对称加密、双钥密码,加密和解密使用不同密钥
- 密钥组成: 每个实体拥有公钥(公开)和私钥(私密保存)
1)公钥密码体制的优缺点
- 优点:
- 密钥分发简单: 公钥公开,无需安全传输通道
- 密钥保管量少: N个用户只需保存N个公钥和1个私钥
- 支持数字签名:支持数字签名和身份认证
- 缺点:
- 速度慢: 计算量大,速度慢(如RSA需512/1024位密钥),仅适合加密128-160bit小数据
- 膨胀率高: 加密后数据体积显著增大(如10T→100T)
- 应用场景:
- 保密通信: 公钥加密→私钥解密
- 数字签名: 私钥签名→公钥验证
2. 常见的非对称加密算法
- RSA: 基于大整数分解困难问题,密钥512/1024位,计算量大但难破解
- 其他算法:基于离散对数求解困难问题
- Elgamal/ECC(椭圆曲线算法)
- 背包算法/Rabin/DH
- 核心考点: 需区分算法基于的数学难题(RSA→大整数分解,其余→离散对数)
四、密码分类
- 对称加密:
- 分组加密: DES/3DES/AES/IDEA,按固定长度分组处理
- 流加密: RC4/RC5,实时加密不分组
- 非对称加密:
- 基于大整数因子分解困难问题(RSA)
- 基于离散对数求解困难问题(ECC/DH/Elgamal)
- 哈希算法/散列函数/摘要函数:
- 生成的固定长度的输出值
- MD5/SHA/SM3(国产)
1. 例题#RSA安全性依赖问题
- 审题关键: 明确RSA的数学基础
- 选项分析:
- A. 大整数分解(正确)
- D. 离散对数(适用于ECC/DH)
- 记忆技巧: "RSA分解,其他离散"
- 答案: A
五、混合密码
- 设计思想: 结合对称加密(高效)和非对称加密(安全分发)
- 工作流程:
- 发送方
- 发送方用对称密钥加密明文
- 用接收方公钥加密对称密钥(形成数字信封)
- 接收方
- 接收方私钥解密获得对称密钥
- 用对称密钥解密密文
- 发送方
- 优势: 既解决大数据加密效率问题,又保证密钥安全传输
六、国产加密算法SM系列
1. 国密算法
密码法分类:
- 核心密码/普通密码: 国家秘密专用(非商用)
- 商用密码: 公民/法人可用(SM系列)
算法名称 | 算法特征描述 |
SM1 | 对称加密,分组长度和密销长度都为128比特 |
SM2 | 非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法(椭圆曲线问题) |
SM3 | 杂凑算法(哈希),分组512位,输出杂凑值长度为256位 |
SM4 | 对称加密,分组长度和密钥长度都为128比特 |
SM9 | 标识密码算法,支持公钥加密、密钥交换、数字签名等安全功能 |
算法速记:
- 对称加密:SM1/SM4(分组和密钥:128bit)
- 非对称加密:SM2(ECC)/SM9(标识密码算法,支持公钥加密、密钥交换、数字签名等按摩器功能)
- 哈希算法/杂凑算法:SM3(分组512→输出256bit)
SM2优势:非对称密码, 较RSA算法的密码复杂度高、密钥更短(256bit)、速度更快、更安全
- SM2-1椭圆曲线数字签名算法,用于数字签名
- SM2-2椭圆曲线密钥交换协议,用于密钥协商
- SM2-3椭圆曲线公钥加密算法,用于数据加密
SM4特性: 分组对称密码算法,主要用于数据加密,
- 分组长度和密钥长度均为128比特
- 加密算法和密钥拓展算法均采用32轮非线性迭代
- 以字(32bit)为单位运算
- 每一次迭代运算均为一轮比那换函数F
2. 应用案例
1)例题#国产密码分组加密
- 关键点: 分组加密属于对称加密SM1,SM4
- 排除法: SM2/SM9非对称,SM3哈希
- 答案: C(SM4)
2)例题#商用密码算法体系摘要算法
- 术语对应: 摘要算法=哈希算法
- 答案: B(SM3)
3)例题#公民法人可用何算法
- 易错点: "普通密码"属于国家秘密
- 答案: D(商用密码)
4)例题#国密标识密码用户私钥来源
- 生成流程:
- KGC生成主密钥对
- 用户提交标识(如邮箱)
- KGC用主私钥+标识计算用户私钥
- 答案: C(KGC)
七、知识小结
知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
密码学基本概念 | 信息安全的核心是密码技术,密码学基于数学原理 | 卡尔霍夫原则:密码体制安全性依赖密钥保密而非算法保密 | ⭐⭐ |
无条件安全密码体制 | 密文中无足够信息解密明文时称为无条件安全 | 几乎所有密码体制理论上都可破解,依赖计算资源 | ⭐⭐⭐ |
经典加密技术 | 替换(如凯撒密码)、换位、一次性填充 | 替换加密易被统计特性破解(如字母频率分析) | ⭐⭐ |
现代加密技术 | 仍基于替换和换位,但算法更复杂,加入随机冗余和时间戳 | 硬件电路实现加速加解密 | ⭐⭐⭐ |
对称密码 | 加解密使用相同密钥(如DES、AES) | 优点:速度快、密文紧凑、安全; 缺点:密钥分发与管理困难 | ⭐⭐⭐⭐ |
DES算法 | 64位分组,56位有效密钥长度 | 3DES密钥长度=56×2=112位(非168位),操作流程为“加-解-加” | ⭐⭐⭐⭐ |
AES算法 | 分组长度128位,密钥长度可变(128/192/256位) | 分组长度固定,密钥长度可变(易混淆点) | ⭐⭐⭐ |
非对称密码 | 加解密使用不同密钥 RSA:基于大整数因子求救困难 ECC:基于离散对数求解困难 | 优点:密钥分发方便、适用于数字签名和身份认证; 缺点:计算量大、速度慢、数据膨胀率高 | ⭐⭐⭐⭐ |
RSA算法 | 基于大整数因式分解问题,密钥长度512/1024/2048位 | 安全性依赖大整数分解困难性(高频考点) | ⭐⭐⭐⭐ |
混合密码系统 | 对称加密数据+非对称加密密钥(数字信封) | 结合两者优点,解决密钥分发与效率问题 | ⭐⭐⭐ |
国密算法分类 | 核心/普通密码(国家秘密) 商用密码SM系列(民用) | SM1/SM4:对称; SM2/SM9:非对称; SM3:哈希 | ⭐⭐⭐⭐ |
SM2算法 | 基于椭圆曲线(ECC),支持加密/密钥交换/签名 | 对比RSA:复杂度高、速度快、更安全 | ⭐⭐⭐ |
SM3算法 | 哈希算法,输出256位摘要 | 用于数据完整性校验(高频考点) | ⭐⭐ |
SM4算法 | 对称分组加密,128位密钥/分组长度,32轮迭代 | 国产标准,适用于数据加密场景 | ⭐⭐⭐ |