【软考备考】信息安全详解:对称与非对称加密、数字签名、数字摘要——两把钥匙的逻辑(附 10 道练习)

计算机网络收官篇,讲信息安全。

上午题在这块每年 2 分左右,考点就四个:对称加密与非对称加密的区分、加密通信和数字签名各用谁的钥匙、数字摘要的特性、数字证书的作用。看似零散,其实全部从"两把钥匙"推导得出来。

一、对称加密:一把钥匙开一把锁

最直觉的加密方式:加密和解密用同一把钥匙

  • 代表算法:DES(56 位密钥)、3DES、AES、IDEA、RC4

  • 优点:速度快,适合加密大量数据;

  • 缺点:密钥分发是死穴——钥匙怎么安全地交到对方手里?而且 n 个人两两保密通信,每对要单独一把钥匙,共需 n(n-1)/2 把(10 个人就是 45 把),钥匙管理爆炸。

二、非对称加密:一对钥匙,各司其职

天才的设计:钥匙配成一对——公钥随便公开,私钥打死保密。性质是:

公钥加密的,只有对应私钥能解开;私钥加密的,只有对应公钥能解开。

  • 代表算法:RSA、ECC(椭圆曲线)、ElGamal;

  • 缺点:,比对称加密慢几个数量级,不适合直接加密大数据。

这一对钥匙衍生出两大用途,也是软考最 core 的考点:

用途一:保密通信——"公钥锁,私钥开" A 给 B 发秘密,用 B 的公钥加密 → 只有 B 的私钥能解开。公钥是公开的,谁都能拿到并给你写信,但能拆信的只有你。保证只有指定接收者能看

用途二:数字签名——"私钥锁,公钥开" A 用自己的私钥对消息"签名" → 任何人用 A 的公钥都能"验签"。能解开,说明一定是拿 A 的私钥签的——私钥只有 A 有,这就证明了身份,A 无法抵赖。

记忆总纲:保密,用"接收方"的钥匙;签名,用"发送方"的钥匙。加密通信公钥在前(公钥加密),签名私钥在前(私钥签名)。

三、数字摘要:数据的"指纹"

把任意长度的数据,通过哈希算法算成一个固定长度的摘要:

  • 单向不可逆:能从原文算摘要,不能从摘要反推原文

  • 定长输出:MD5 出 128 位,SHA-1 出 160 位;

  • 雪崩效应:原文改一个字节,摘要面目全非。

用途:防篡改——收到文件后自己算一遍摘要,和对方给的摘要比对,一致说明文件没被动过。

大坑警告:摘要算法不含密钥、人人会算。攻击者可以把文件和摘要一起换掉,接收方比对完全看不出来——所以摘要只能防篡改,不能防伪造。解决办法:把摘要用发送方私钥加密(摘要变成只有本人能签的东西),这就是数字签名 = 摘要 + 私钥加密,防篡改 + 防伪造 + 防抵赖,三合一。

四、组合拳:真实世界怎么干

单用非对称加密太慢,单用对称加密钥匙发不出去——所以实际系统(HTTPS 就是这思路)是混合双打

① 用非对称加密,安全地传递"对称密钥"(钥匙本身很短,慢点无所谓)
② 用对称密钥加密真正的数据(速度快)
③ 用数字签名证明身份、防篡改
④ 用数字证书证明"这把公钥确实是某某的"

数字证书:由权威机构 CA 颁发,内容是"持有者信息 + 其公钥 + CA 的签名",解决的是公钥的身份绑定问题——防止有人拿假公钥冒充。可以理解为"公钥的户口本"。


五、10 道练习题

基础题(1~5)

1. 下列加密算法中,属于对称加密的是( )。

A. AES  B. RSA  C. ECC  D. DSA

2. 下列加密算法中,属于非对称加密的是( )。

A. DES  B. 3DES  C. RSA  D. AES

3. A 要给 B 发送保密消息,保证只有 B 能阅读,A 应使用的加密密钥是( )。

A. A 的公钥  B. A 的私钥  C. B 的私钥  D. B 的公钥

4. 实现数字签名时,发送方应使用的密钥是( )。

A. 自己的私钥  B. 自己的公钥  C. 接收方的公钥  D. 接收方的私钥

5. 下列算法中,属于数字摘要算法的是( )。

A. AES  B. RSA  C. MD5  D. DES

进阶题(6~10,带坑)

6. 接收方验证数字签名时,应使用的密钥是( )。

A. 自己的私钥  B. 发送方的公钥  C. 自己的公钥  D. 发送方的私钥

7. 关于数字摘要技术,下列说法错误的是( )。

A. 由原文可以唯一确定摘要 B. 原文的微小变化会导致摘要很大变化 C. 不同的原文很难得到相同的摘要 D. 由摘要可以反推出原文

8. 某团体有 10 个成员,任意两人之间都要进行保密通信,若采用对称加密技术,则共需要( )把密钥。

A. 10  B. 20  C. 45  D. 100

9. 在 HTTPS 等实际安全应用中,传输大量业务数据时通常采用( )。

A. 只用非对称加密直接加密全部数据 B. 用非对称加密传递对称密钥,再用对称加密传输数据 C. 只用对称加密,不涉及非对称加密 D. 用数字摘要算法加密数据

10. 数字证书主要用于解决( )。

A. 大量数据的加密速度问题 B. 公钥与持有者身份的绑定问题(证明该公钥确实属于某人) C. 网络传输的稳定性问题 D. 替代对称加密算法的问题


六、答案与详解

1. A 对称家族:DES、3DES、AES、IDEA、RC4。RSA、ECC 是非对称;DSA 是数字签名算法——都属于"公钥体系",不是对称。

2. C 非对称的头牌就是 RSA,记死它,其余用排除法。DES、3DES、AES 全是对称。

3. D 保密的总纲:用接收方的钥匙。要保证"只有 B 能看",就用 B 的公钥加密——能解开的只有 B 的私钥,而私钥只有 B 有。选 A 的是把自己当成了接收方。

4. A 签名的总纲:用发送方的钥匙。私钥只有本人持有,签出来的东西才具有"身份凭证"的效力。选 C 的是把签名和保密通信搞混了——那是两个方向的用途。

5. C 摘要家族:MD5、SHA 系列。AES/DES 是加密(可逆),RSA 是公钥加密——摘要的本质是不可逆的指纹,这是和加密的根本区别。

6. B 私钥签、公钥验:接收方用发送方的公钥验签。能解开,就证明签名出自发送方的私钥 → 身份确认 + 无法抵赖。选 D 的想想:发送方的私钥如果给了接收方,那还叫什么"私"钥?

7. D 选"错误的":摘要单向不可逆,由摘要反推原文正是它要避免的事。A、B(雪崩效应)、C(抗碰撞)都是摘要的正确特性。

8. C 套公式 n(n-1)/2 = 10×9/2 = 45 把。这正是对称加密的"密钥管理灾难",也是非对称加密被发明的动因之一。选 A(每人一把)或 D(两两各配两把)的都是没理解"每对一把"。

9. B 混合双打:非对称慢,只用来传很短的对称密钥;真正的大数据走对称加密。选 A 的忽视了非对称加密的速度劣势(慢几个数量级);选 D 的根本性错误——摘要不可逆,拿它"加密"的东西永远解不开。

10. B 数字证书 = 公钥的户口本:CA 用签名担保"这把公钥确实是这个人的",防的是公钥被冒充。它不解决速度(A)、不替代对称加密(D),和数据传输稳定性(C)更是无关。


七、五句话带走

  1. 对称加密一把钥匙(DES/AES),快但难分发;非对称一对钥匙(RSA/ECC),慢但解决了分发;

  2. 保密用接收方的钥匙(公钥加密),签名用发送方的钥匙(私钥签名)

  3. 摘要是指纹:单向不可逆、定长、雪崩效应(MD5/SHA);

  4. 摘要只防篡改、不防伪造;数字签名 = 摘要 + 私钥加密,三防合一;

  5. 实战组合:非对称传对称密钥,对称传数据,证书给公钥上户口

下一篇预告:网络模块彻底通关,转向一个"纯记忆但有规律"的送分模块——知识产权与标准化:著作权什么时候自动产生、软件著作权保护多少年、职务作品的版权归单位还是个人、专利和商标的期限。每年固定 2 分,规律一理,白捡。

代码下载地址: https://pan.quark.cn/s/a4b39357ea24 图书馆系统非常适合运用C++面向对象的特性进行建模。图书馆管理系统主要由四个关键模块构成:图书借阅、图书归还、图书维护以及读者服务。在系统设计中,可以定义一个读者类(Reader),用于存储每位读者的详细资料;读者数据库类(Rdatabase),用于管理所有读者的信息;图书类(Book),用于记录每本图书的基本属性;图书数据库类(Bdatabase),用于维护所有图书的记录。 【图书馆管理系统构建】 基于C++面向对象编程的图书馆管理系统,其核心功能划分为四个主要部分:图书借阅、图书归还、图书维护和读者服务。该系统通过设计多种类来模拟图书馆的实际运作,包括读者类(Reader)、读者数据库类(Rdatabase)、图书类(Book)以及图书数据库类(Bdatabase)。 1. **读者类(Reader)**: - 该类包含读者的基础资料,例如删除标记(tag)、读者编号(no)、姓名(name)以及所借图书列表(borbook)。 - 通过构造函数对读者信息进行初始化。 - 拷贝构造函数用于复制读者的姓名信息。 - 提供一系列成员函数,以支持信息的获取和设置操作。 2. **读者数据库类(Rdatabase)**: - 包含一个读者记录数组(read),并使用记录指针(top)来标识最新添加的读者信息。 - 构造函数从read.txt文件中加载所有读者数据,并在析构函数中将未删除的记录保存回文件。 - 提供管理读者信息的接口,例如添加、删除和查找功能。 3. **图书类(Book)**: - 该类存储图书的基本属性,包括删除标记、图书编号、书名(name)以及图书的在架状态...
内容概要:本文围绕综合能源系统与模型预测控制(MPC)的滚动优化展开深入研究,重点阐述了基于Matlab的MPC方法在综合能源系统优化调度中的建模、仿真与求解过程。内容涵盖MPC的核心原理、滚动优化机制及其在多能协同系统中的实际应用,结合多个典型案例展示其在微电网调度、风光储协调、电动汽车接入、氢能系统等前沿方向的具体实现路径。文档配套提供了丰富的Matlab/Simulink代码与仿真模型,涵盖从基础算法构建到高水平论文复现的全过程,助力科研人员快速掌握先进控制策略的技术细节与工程实现方法。同时,资源汇总了大量相关研究主题与可复现课题,形成完整的科研支持体系。; 适合人群:具备电力系统、自动化或控制理论背景,熟悉Matlab编程,从事能源系统优化、智能控制、微电网调度及相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①系统学习并掌握MPC在综合能源系统中的滚动优化建模与实现方法;②高效复现已发表高水平期刊论文中的算法与仿真模型;③支撑新能源接入、多能协同调度、需求响应等方向的科研项目申报、实验验证与学术论文撰写。; 阅读建议:此资源以科研复现为导向,强调理论与代码实践深度融合,建议读者结合所提供的Matlab代码与Simulink模型进行动手操作,重点关注MPC控制器设计、约束处理机制与多目标优化策略的实现细节,并通过对比不同场景拓展算法应用边界,提升科研创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值