分享
获课地址:xingkeit.top/8017/
密码学是信息安全领域的核心基石,也是信息安全工程师考试中不可或缺的重要考点。它不仅涉及深奥的数学理论,更在实践中有广泛的应用。本文将从密码学的基本原理出发,结合考试中常见的题型,帮助考生系统地梳理密码学的知识体系,并掌握其在真题中的应用技巧。
一、密码学的基本原理概述
密码学主要研究如何在通信过程中实现信息的保密性、完整性、认证性和不可否认性。其核心要素包括:
明文与密文:明文是指原始的可读信息,密文则是经过加密变换后的不可读信息。
加密与解密:加密是将明文转换为密文的过程,解密则是将密文恢复为明文的过程。
密钥:密钥是控制加密和解密变换的参数,是密码系统的安全核心。根据密钥的使用方式,密码体制主要分为对称密码体制和非对称密码体制。
算法:加密和解密所遵循的数学规则或步骤。
二、对称密码体制
对称密码体制,也称为单钥密码体制或私钥密码体制,其特点是加密和解密使用相同的密钥,或者一个密钥可以很容易地推导出另一个密钥。
原理:发送方和接收方必须事先共享一个秘密密钥。加密过程:密文 = 加密算法(明文, 密钥);解密过程:明文 = 解密算法(密文, 密钥)。
特点:
优点:加密速度快,效率高,适合对大量数据进行加密。
缺点:密钥分发和管理困难,随着通信用户的增加,密钥数量呈平方级增长(N个用户需要N(N-1)/2个密钥);缺乏非否认性。
常见算法:
DES (Data Encryption Standard):经典的分组密码,分组长度64位,密钥长度56位(有效)。由于密钥长度较短,目前已不安全。
3DES (Triple DES):为了增强DES的安全性,使用两个或三个不同的密钥对DES进行三次加密/解密,有效密钥长度可达112位或168位。
AES (Advanced Encryption Standard):取代DES成为新一代分组密码标准,支持128、192、256位密钥长度,分组长度128位,安全性高,效率高。
RC4:流密码,算法简单,速度快,但在某些应用中被发现存在安全漏洞。
IDEA、Blowfish、Twofish、Camellia 等。
考试应用点:
识别对称密码算法及其特点。
理解对称密码的工作方式(如电子密码本模式ECB、密码分组链接模式CBC、密码反馈模式CFB、输出反馈模式OFB等)。
掌握DES、AES等典型算法的密钥长度、分组长度等参数。
三、非对称密码体制
非对称密码体制,也称为双钥密码体制或公钥密码体制,其特点是加密和解密使用不同的密钥,并且从其中一个密钥难以推导出另一个密钥。
原理:每个用户都有一对密钥:公钥和私钥。公钥是公开的,可以像电话号码一样发布;私钥由用户自己秘密保存。
加密过程:密文 = 加密算法(明文, 接收方公钥)
解密过程:明文 = 解密算法(密文, 接收方私钥)
数字签名:签名 = 签名算法(信息, 发送方私钥);验证 = 验证算法(信息, 签名, 发送方公钥)
特点:
优点:解决了密钥分发和管理问题,可以实现数字签名和认证,提供非否认性。
缺点:加密和解密速度较慢,比对称密码慢1-2个数量级,通常不适合对大量数据加密。
常见算法:
RSA (Rivest-Shamir-Adleman):基于大整数因子分解的困难性,是最著名的公钥密码算法,既可用于加密也可用于数字签名。
Diffie-Hellman (DH):密钥交换算法,用于在不安全的信道上安全地协商共享密钥,本身不用于加密解密。
ECC (Elliptic Curve Cryptography):基于椭圆曲线离散对数问题的困难性。与RSA相比,在相同安全强度下,ECC使用的密钥长度更短,计算效率更高,特别适用于资源受限的设备。
ElGamal:基于离散对数问题,既可用于加密也可用于数字签名。
DSA (Digital Signature Algorithm):美国数字签名标准,基于离散对数问题,专用于数字签名。
SM2:中国国家商用密码标准中的公钥密码算法,基于ECC。
考试应用点:
识别非对称密码算法及其特点。
理解公钥和私钥的用途:加密用对方公钥,解密用自己私钥;签名用自己私钥,验证用对方公钥。
掌握RSA、ECC等典型算法的数学基础(了解即可,不要求深究证明)和特点。
理解DH密钥交换的基本过程。
四、哈希函数与消息认证
哈希函数,也称杂凑函数或散列函数,是将任意长度的输入消息映射为固定长度的输出的函数,这个输出称为哈希值、消息摘要或指纹。
原理:h = H(M),其中M是任意长度消息,h是固定长度哈希值。
特点:
单向性:从哈希值难以推导出原始消息。
抗碰撞性:
弱抗碰撞性 (第二原像攻击 resistance):给定一个消息M,要找到另一个消息M’ (M’≠M),使得H(M’) = H(M)在计算上是困难的。
强抗碰撞性 (碰撞攻击 resistance):要找到任意两个不同的消息M和M’ (M≠M’),使得H(M) = H(M’)在计算上是困难的。
雪崩效应:输入消息的微小改变会导致哈希值的巨大变化。
常见算法:
MD5:输出128位哈希值,已被证明存在碰撞漏洞,不建议在安全要求高的场合使用。
SHA-1:输出160位哈希值,同样被证明存在碰撞漏洞,正在逐步淘汰。
SHA-2家族:包括SHA-224, SHA-256, SHA-384, SHA-512等,安全性较高,目前广泛使用。
SHA-3:新一代哈希函数标准。
SM3:中国国家商用密码标准中的哈希函数算法,输出256位哈希值。
消息认证码 (MAC):
结合了哈希函数和密钥,用于验证消息的完整性和真实性。
MAC = MAC(K, M),K是共享密钥。
常见的MAC如HMAC,是基于哈希函数(如SHA-256)构造的。
数字签名:
结合了非对称密码和哈希函数,用于实现消息的完整性、认证和不可否认性。
签名过程:先对消息M计算哈希值h=H(M),然后对h用发送方私钥加密得到签名S。
验证过程:接收方用发送方公钥解密S得到h’,再对接收到的消息M’计算哈希值h’‘,比较h’和h’'是否一致。
考试应用点:
识别哈希算法及其特点,特别是安全性的演变(如MD5、SHA-1的不安全性)。
理解哈希函数的特性:单向性、抗碰撞性、雪崩效应。
理解消息认证码MAC的作用和与哈希函数的区别(引入密钥)。
掌握数字签名的原理、过程和作用(完整性、认证、不可否认性)。
五、密钥管理
无论密码算法多么强大,如果密钥管理不当,整个系统将毫无安全性可言。
密钥生成:使用安全的随机数生成器生成密钥。
密钥分发:对称密钥的分发需要安全通道;非对称密钥的公钥可以通过公开渠道分发,但需要验证公钥的真实性(如使用数字证书)。
密钥存储:密钥应安全存储,防止泄露。硬件安全模块 (HSM) 是一种理想的密钥存储设备。
密钥使用与更新:限制密钥的使用范围和有效期,定期更新密钥。
密钥销毁:密钥不再使用时,应安全彻底地销毁,防止被恢复。
公钥基础设施 (PKI):
是一种利用公钥密码理论和技术建立的提供安全服务的基础设施。
核心组件包括:证书颁发机构 (CA)、注册机构 (RA)、证书库、密钥备份与恢复系统、证书撤销系统等。
数字证书:将实体身份与其公钥绑定,由CA签发。常用格式为X.509。
考试应用点:
理解密钥生命周期管理的重要性。
了解对称密钥和非对称密钥分发方式的区别。
掌握PKI的基本概念和核心组件(CA、RA、数字证书)。
了解数字证书的作用和X.509证书的基本结构。
六、真题应用示例与解析
为了更好地理解密码学在考试中的应用,下面通过几个简化或模拟的示例来进行分析:
示例1:对称密码与非对称密码的选择
题目:某公司需要通过网络向客户发送一份包含敏感财务数据的报告,要求确保数据在传输过程中的保密性,且双方需要进行身份认证。同时,为了提高效率,大数据量的财务报表内容本身应采用高效的加密方式。以下方案中最合适的是?
A. 仅使用AES算法加密报告
B. 仅使用RSA算法加密报告
C. 使用RSA加密一个对称密钥,然后用该对称密钥(如AES)加密报告
D. 使用哈希函数处理报告
解析:
A选项:AES是对称加密,速度快,适合大数据量,能提供保密性,但"双方需要进行身份认证"这一需求未明确满足(对称密钥分发本身有挑战,身份认证通常需要额外机制或非对称密码)。
B选项:RSA是非对称加密,可用于加密和认证,但速度慢,不适合直接加密大数据量的报告。
C选项:这是混合加密体制。利用非对称密码(RSA)安全地协商或分发对称密钥(解决了密钥分发和部分身份认证问题,因为只有对应的私钥才能解密该对称密钥),然后利用对称密码(AES)的高效性对大数据量报告进行加密。同时,RSA也可用于数字签名来实现更强的身份认证。此方案综合了两者优点。
D选项:哈希函数用于完整性校验,不提供保密性。
答案:C。
示例2:哈希函数的特性
题目:关于哈希函数的特性,以下说法错误的是:
A. 单向性:从哈希值难以推导出原始消息
B. 抗碰撞性:难以找到两个不同的消息具有相同的哈希值
C. 雪崩效应:输入消息的微小变化会导致哈希值的巨大变化
D. 可逆性:从哈希值可以计算出原始消息
解析:
A、B、C均是哈希函数的重要特性。
D选项错误,哈希函数的核心特性之一就是单向性,不可逆。
答案:D。
示例3:数字签名的验证
题目:Alice收到Bob发送的带有数字签名的消息。为了验证该消息确实来自Bob且未被篡改,Alice应该:
A. 使用Bob的公钥解密签名,并与消息的哈希值对比
B. 使用Bob的私钥解密签名,并与消息的哈希值对比
C. 使用Alice的公钥解密签名,并与消息的哈希值对比
D. 使用自己的私钥解密签名,并与消息的哈希值对比
解析:
数字签名是发送方用其私钥加密消息的哈希值生成的。
验证时,接收方需要使用发送方的公钥来解密签名,得到原始哈希值。
然后接收方对接收到的消息重新计算哈希值。
如果两个哈希值相同,则验证通过,说明消息来自Bob(因为只有Bob的私钥能生成签名)且未被篡改。
答案:A。
示例4:PKI的作用
题目:在PKI系统中,负责签发和管理数字证书的权威机构是:
A. RA (Registration Authority)
B. CA (Certification Authority)
C. 证书库
D. 密钥备份系统
解析:
CA (Certificate Authority,证书颁发机构) 是PKI的核心,负责签发、管理和撤销数字证书。
RA (Registration Authority,注册机构) 是CA的延伸,负责用户身份的审核和注册,但不签发证书。
证书库用于存储已签发的数字证书。
密钥备份系统负责密钥的备份与恢复。
答案:B。
七、备考建议
理解核心概念:不要死记硬背,要深入理解对称密码、非对称密码、哈希函数、数字签名、PKI等核心概念、原理及它们之间的区别与联系。
对比记忆:将不同类型的密码算法(如对称的DES/AES vs 非对称的RSA/ECC)进行对比,掌握其优缺点、适用场景、密钥长度等参数。
关注国密算法:近年来,国密算法(SM2, SM3, SM4等)在考试中出现频率增加,需要了解其基本定位和应用场景。
结合真题练习:通过历年真题的练习,熟悉考试题型和出题思路,将理论知识应用于实际问题。注意分析题干中的关键词,如"保密性"、"认证"、"效率"、"大数据量"等,从而选择合适的技术。
梳理知识体系:构建自己的密码学知识框架,将各个知识点串联起来,形成系统化的理解。
密码学内容博大精深,考试要求侧重于基本原理和典型应用。考生应扎实掌握上述核心知识点,并能够灵活运用,定能在密码学部分取得理想成绩。
有疑问加站长微信联系(非本文作者))
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信10 次点击
上一篇:鱼泡-伙伴匹配系统 -高清分享
下一篇:希赛-数据库系统工程师 | 完结
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传