【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. 哈希函数

2. 哈希分类

1)MD5算法

2)SHA算法

3)SM3国产算法

3. 哈希应用

1)文件完整性校验

2)账号密码存储

3)用户身份认证

4. 应用案例

1)例题#PGP工具使用案例

2)例题#MD5算法定义

3)例题#SHA-256算法定义

4)例题#摘要算法

6.知识小结


一、密码学基本概念

此小节内容可结合之前的文章一起学习

密码学基础——密码学相关概念

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位,
有效密钥长度是
56

3DES

三重DES(TDEA),使用DES对明文进行“加密-解密-加密”操作。

加密:K1加密→K2解密→K3加密

解密:K3解密→K2加密→K1解密

一般K1和K3是相同的密钥。

密钥长度112

IDEA

International Data Encryption Algorithm,国际数据加密算法,
分组加密算法。设计思想:混合使用来自不同代数群中的运算。

明文和密文分组都是64位,密钥
长度为
128位,用于PGP

AES

Advanced Encryption Standard,高级加密标准。
可以通过硬件实现,速度快,像3DES一样安全。

分组长度128位,支持128,192
和256位
三种密钥长度

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轮迭代

国产标准,适用于数据加密场景

⭐⭐⭐


八、哈希算法

1. 哈希函数

定义: 哈希函数,又称杂凑函数、散列函数,能将任意长度的信息转换成固定长度的哈希值(数字摘要)。并且任意不同消息或文件所生成的哈希值是不一样的

特性:

  • 不可逆性(单向性): 无法通过哈希值反推原始数据。
  • 抗碰撞性: 难以找到两个不同的消息使它们的哈希值相同。
  • 雪崩效应: 输入数据的微小变化会导致哈希值的巨大变化。

h表示HASH函数,则h满足以下条件:

  • h输入可以是任意长度的消息或文件M,h输出长度固定
  • 给定哈希函数h和消息M,计算哈希值h(M)容易
  • 给定哈希函数h描述,找到两个不同消息使哈希值M1和M2,使得h(M1)=h(M2)相同在计算上不可行。

2. 哈希分类

1)MD5算法

  • 输入:以512位数据块为单位处理输入。
  • 输出:产生128位的信息摘要。
  • 应用:常用于文件校验

2)SHA算法

  • 输入:512位数据块为单位处理输入。
  • 输出:产生160位的哈希值。
  • 优点:比MD5更安全。

3)SM3国产算法

  • 输入消息分组长度为512比特
  • 输出:256位摘要

3. 哈希应用

1)文件完整性校验

  • 应用: 用于校验文件的完整性,确保文件在传输过程中未被篡改。
  • 方法: 下载文件后,本地生成哈希值官网提供的哈希值进行比较若相同则文件未被篡改。

2)账号密码存储

  • 明文存储: 无安全防护,不安全。
  • 哈希存储: 通过哈希算法存储密码,但存在彩虹表(Rain Table Attack)攻击的风险。
  • (盐+哈希)存储: 在密码基础上加随机数(,可以是时间也可以是生成的随机数),再进行哈希,可有效防止彩虹表攻击。

3)用户身份认证

  • 应用: 如PPPoE中的CHAP协议
  • 增加一个随机数R和密码一起做哈希HMAC=HASH(密码+R)
  • 需要双方预先知道这个R
  • MAC(消息认证码):消除中间人攻击源认证+完整性校验
  • 过程:
    • 客户端发起认证请求。
    • 服务端检查有改客户,返回随机数R。
    • 客户端用密码和R生成哈希值HMAC并发给服务端。
    • 服务端用存储的密码和R生成哈希值进行比对,验证身份。
  • 优势:
    • 密码不在网络上明文传输。
    • 可防止中间人攻击。

4. 应用案例

1)例题#PGP工具使用案例

  • 数据加密算法: IDEA(对称加密算法)
  • 数据完整性验证算法: MD5(哈希算法)
  • 解析: PGP采用混合加密算法,由对称加密算法(IDEA)、非对称加密算法(RSA)、单向散列算法(MD5)组成。
  • 答案:(37)B (38)C

2)例题#MD5算法定义

  • 算法类型: 摘要算法(哈希算法)
  • 输出长度: 128位
  • 解析: MD5是对任意长度的输入计算得到128位哈希值的算法。SHA计算得到160位,SM3计算得到256位。
  • 答案:(44)B (45)B

3)例题#SHA-256算法定义

  • 算法类型: 报文摘要算法
  • 解析: SHA-256是生成固定长度报文摘要的算法。
  • 答案:D

4)例题#摘要算法

  • 解析: 在我国商用密码算法体系中,SM3属于摘要算法。
  • 答案:B

6.知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

哈希算法基本概念

将任意长度的信息转换成固定长度的哈希值(数字摘要)

输入任意长度,输出固定长度

🌟

哈希函数的条件

1. 输入任意长度

2. 输出固定长度

3. 计算哈希值容易

4. 计算碰撞不可行

四个条件需全部满足

🌟🌟

哈希函数的特性

1. 不可逆(单向)

2. 无碰撞

3. 雪崩效应

雪崩效应的理解

🌟🌟🌟

常见哈希算法

1. MD5(128位)

2. SHA(160位)

3. SM3(256位)

MD5、SHA、SM3的输出长度

🌟🌟🌟

哈希的应用-文件完整性校验

通过比较本地生成和官网提供的哈希值,验证文件完整性

哈希值相同则文件未被篡改

🌟

哈希的应用-账号密码存储

1. 明文存储(不安全)

2. 哈希存储(存在彩虹表攻击风险)

3. 哈希加盐(更安全)

彩虹表攻击及哈希加盐的原理

🌟🌟🌟🌟

哈希的应用-用户身份认证

如PPPoE中的CHAP,通过哈希值进行身份认证,避免密码明文传输

理解CHAP认证过程及h Mark的作用

🌟🌟🌟🌟🌟

练习题解析

1. PGP加密工具使用对称算法加密,哈希算法验证完整性

2. MD5是128位哈希算法

3. SHA-256是报文摘要算法

4. SM3是我国商用密码算法体系中的摘要算法

记住PGP、MD5、SHA-256、SM3的相关知识

🌟🌟

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

christine-rr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值