2024年10月1日 15:33:59
This commit is contained in:
parent
bef9ebfcc5
commit
90af05b0a2
@ -1,10 +1,26 @@
|
||||
# 密码学
|
||||
|
||||
> **一、密码学基本概念**<br>
|
||||
> **一、基本概念**<br>
|
||||
> <span style="color:green;">了解</span>古典密码、近代密码、现代密码等各密码学发展阶段的特点;<br>
|
||||
> <span style="color:green;">了解</span>基本保密通信模型;<br>
|
||||
> <span style="color:blue;">理解</span>密码系统安全性相关概念(科克霍夫准则、密码系统安全性评估);<br>
|
||||
> <span style="color:green;">了解</span>密码算法分类的概念。
|
||||
>
|
||||
> **二、对称密码算法**<br>
|
||||
> <span style="color:blue;">理解</span>对称密码算法的概念及算法特点;<br>
|
||||
> <span style="color:green;">了解</span>DES、3DES、AES等典型对称密码算法。
|
||||
>
|
||||
> **三、公钥密码算法**<br>
|
||||
> <span style="color:blue;">理解</span>非对称密码算法(公钥算法)的概念及算法特点;<br>
|
||||
> <span style="color:green;">了解</span>RSA、SM2等典型非对称密码算法。
|
||||
>
|
||||
> **四、其他密码服务**<br>
|
||||
> <span style="color:blue;">理解</span>哈希函数、消息认证码、数字签名等密码服务的作用。
|
||||
>
|
||||
> **五、公钥基础设施**<br>
|
||||
> <span style="color:green;">了解</span>PKI的基本概念及PKI体系构成;<br>
|
||||
> <span style="color:blue;">理解</span>CA及其他组件在PKI体系中的作用;<br>
|
||||
> <span style="color:red;">掌握</span>PKI的应用场景。
|
||||
|
||||
### 一、密码学基本概念
|
||||
|
||||
@ -68,28 +84,186 @@
|
||||
|
||||
![PixPin_2024-09-29_23-09-52](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/PixPin_2024-09-29_23-09-52.png)
|
||||
|
||||
#### 8、分组密码与流密码
|
||||
|
||||
- 按对明文的处理方式,可将对称密码体制分为<span style="color:red;">分组密码</span>(Blockcipher)和<span style="color:red;">流密码</span>(Streamcipher)。
|
||||
- <span style="background-color:yellow;">分组密码也称块密码,是将明文分成固定长度的组,用同一密钥和算法对每一块加密</span>,对每个输人块产生一个输出块,输出也是固定长度的密文。典型的分组密码算法有DES、AES等。
|
||||
- <span style="background-color:yellow;">流密码也称序列密码</span>,是将明文消息按字符逐位地加密,连续地处理输人明文,并随着该加密的进行,一次产生一个密文的输出,即一次加密一个比特或一个字节。<span style="background-color:yellow;">典型的例子如一次一密</span>(One-time padding)。
|
||||
|
||||
### 二、对称密码算法
|
||||
|
||||
#### 1、算法特点
|
||||
|
||||
- 加密密钥和解密密钥相同,或实质上等同
|
||||
|
||||
> 对称密码算法也称为传统密码算法、秘密密钥算法或单密钥算法,其加密密钥能够从解密密钥中推算出来,反过来也成立。
|
||||
|
||||
- <span style="color:red;">典型算法</span>:DES、3DES、AES、IDEA等
|
||||
|
||||
> 典型的分组对称密码算法包括DES、IDEA、AES、RC5、Twofish、CAST-256、MARS等。
|
||||
|
||||
- <span style="color:red;">优点</span>:高效
|
||||
|
||||
- <span style="color:red;">不足</span>:安全交换密钥问题及密钥管理复杂
|
||||
|
||||
![PixPin_2024-10-01_08-30-20](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/PixPin_2024-10-01_08-30-20.png)
|
||||
|
||||
#### 2、DES 和 3DES
|
||||
|
||||
- 数据加密标准(Data Encryption Standard,DES)是1977年美国联邦信息处理标准(FIPS)中所采用的一种对称密码(FIPS46-3),<span style="background-color:yellow;">是迄今为止世界上使用最为广泛的一种密码算法,它对分析、掌握<span style="color:red;">分组密码</span>的基本理论和设计原理有着重要的意义</span>。
|
||||
|
||||
- 美国国家标准局采用了<span style="color:red;">IBM公司</span>提交的<span style="color:red;">Luciffer算法</span>的改进版本。
|
||||
|
||||
- DES算法把64位的明文输入块变为<span style="color:red;">64位</span>的密文输出块,它所使用的<span style="color:red;">密钥也是64位</span>(有效密钥为56位,第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1)。
|
||||
|
||||
![image-20241001084622228](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20241001084622228.png)
|
||||
|
||||
- 3DES:该方法使用两个密钥,执行3次DES算法,加密的过程是加密 - 解密 - 加密,解密的过程是解密 - 加密 - 解密。
|
||||
|
||||
采用两个密钥进行三重加密的好处如下:
|
||||
|
||||
- <span style="background-color:yellow;">两个密钥合起来有效密钥长度有112比特</span>,可以满足商业应用的需要,若采用总长为168比特的3个密钥,会产生不必要的开销。
|
||||
- 加密时采用加密 - 解密 - 加密,而不是加密 - 加密 - 加密的形式,这样有效地实现了与现有DES系统的向后兼容问题。因为当秘钥 K1 = K2 时,三重DES的效果就和原来的DES一样,有助于逐渐推广三重DES。
|
||||
|
||||
#### 3、AES
|
||||
|
||||
- <span style="color:red;">高级加密标准</span>(Advanced Encryption Standard,AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
|
||||
- 1997年,美国国家标准技术研究所(NIST)
|
||||
- AES的基本要求是比三重DES快而且至少和三重DES一样安全,<span style="background-color:yellow;">分组长度为128比特,密钥长度为128/192/256比特</span>。
|
||||
|
||||
#### 4、其他算法
|
||||
|
||||
1. RC4算法
|
||||
- 算法不对明文进行分组处理,而是字节流的方式依次加密明文中的每一个字节,解密的时候也是依次对密文中的每一个字节进行解密。算法密钥长度是可变的。
|
||||
2. BlowFish算法
|
||||
- 算法是一个64位分组及可变密钥长度的对称密钥分组密码算法,可用来加密64比特长度的字符串。该算法是非专利的。
|
||||
3. IDEA算法
|
||||
- 国际数据加密算法(International Data Encryption Algorithm,IDEA),使用<span style="color:red;">128位的密钥</span>和8个循环,它采用软件实现,和采用硬件实现同样快速。
|
||||
|
||||
### 三、非对称密码算法
|
||||
|
||||
#### 1、算法特点
|
||||
|
||||
- 密钥成对(公钥,私钥)
|
||||
|
||||
- 公钥加密私钥解、私钥加密公钥解
|
||||
|
||||
- 每个用户都有一个密钥对,即公钥和私钥,其中<span style="color:red;">公钥是公开的</span>,而私钥是机密的,只有用户本人拥有。密钥必须配对使用,如果用一个用户的公钥加密,那么只有该用户的私钥才能进行解密,反之亦然。
|
||||
|
||||
- 公钥加密,私钥解密,确认收件人:<span style="color:red;">数字信封</span>
|
||||
|
||||
私钥加密,公钥解密,确认发件人:<span style="color:red;">数字签名</span>
|
||||
|
||||
- <span style="background-color:yellow;">Windows系统中NTFS分区下的EFS加密属于非对称式加密。</span>
|
||||
|
||||
- <span style="color:red;">典型算法</span>:RSA、ECC、EIGamal
|
||||
|
||||
- <span style="color:red;">优点</span>:解决密钥传递问题、密钥管理简单、提供数字签名等其他服务
|
||||
|
||||
- <span style="color:red;">缺点</span>:计算复杂、耗用资源大
|
||||
|
||||
#### 2、RSA算法
|
||||
|
||||
- RSA公钥密码算法是以发明者 R.Rivest 、A.Shamir 和 L.Adleman 的名字命名的,它的安全性是基于整数因子分解问题的困难性。RSA算法是第一个能同时用于加密和数字签名的算法,易于理解和操作;是被研究得最广泛的公钥算法,经历了各种攻击的考验,逐渐为人们接受;也被普遍认为是目前最优秀、应用最广泛的公钥算法之一。
|
||||
|
||||
#### 3、SM2算法
|
||||
|
||||
- SM2是我国密码管理局于2010年12月17日发布(第21号)的国家密码标准,是基于ECC(椭圆曲线密码算法)的公钥密码算法。
|
||||
|
||||
### 四、其他密码服务
|
||||
|
||||
#### 1、哈希函数
|
||||
|
||||
- 哈希函数是能将<span style="color:red;">任意</span>长度的数据映射成为一个<span style="color:red;">定</span>长的字段的函数。
|
||||
- <span style="color:red;">作用</span>:数据完整性检查
|
||||
- <span style="color:red;">典型算法</span>:MD5、SHA-1
|
||||
- <span style="color:red;">数学性质</span>
|
||||
- 单向性
|
||||
- 弱抗碰撞性
|
||||
- 强抗碰撞性
|
||||
|
||||
#### 2、消息认证码
|
||||
|
||||
- <span style="color:red;">基本特点</span>
|
||||
- 也称消息鉴别码(Message Authentication Code,MAC)
|
||||
- 利用密钥来生成一个固定长度的短数据块,并将该数据块附加在消息之后。
|
||||
- <span style="color:red;">作用</span>:完整性校验、时间和顺序验证。
|
||||
- <span style="color:red;">实现算法</span>
|
||||
- 分组链消息鉴别码(CBC-MAC)
|
||||
- 基于哈希函数的MAC(HMAC)
|
||||
|
||||
#### 3、数字签名
|
||||
|
||||
- <span style="color:red;">基本特性</span>
|
||||
|
||||
- 不可伪造性
|
||||
- 不可否认性
|
||||
- 完整性
|
||||
|
||||
- 应用示例
|
||||
|
||||
- 发送过程
|
||||
- 接收过程
|
||||
|
||||
![image-20241001151455381](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20241001151455381.png)
|
||||
|
||||
### 五、公钥基础设施
|
||||
|
||||
#### 1、定义
|
||||
|
||||
- PKI是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。
|
||||
|
||||
#### 2、PKI架构
|
||||
|
||||
- CA(认证权威)
|
||||
- RA(注册权威)
|
||||
- 证书存放管理(目录服务)
|
||||
- 终端实体(证书持有者和应用程序)
|
||||
|
||||
![image-20241001151846142](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20241001151846142.png)
|
||||
|
||||
#### 3、CA:认证权威
|
||||
|
||||
- 签发证书
|
||||
- 更新证书
|
||||
- 管理证书
|
||||
- 撤销、查询
|
||||
- 审计、统计
|
||||
- 验证数字证书
|
||||
- 黑名单认证(CRL)
|
||||
- 在线认证(OCSP)
|
||||
|
||||
> <span style="background-color:yellow;">CA是PKI体系的核心。</span>
|
||||
|
||||
#### 4、RA:注册权威
|
||||
|
||||
- <span style="color:red;">受理</span>用户的数字证书<span style="color:red;">申请</span>
|
||||
- 对证书申请者身份进行审核并提交CA制证;
|
||||
- 类似于申请身份证的派出所。
|
||||
- 提供证书生命期的<span style="color:red;">维护</span>工作
|
||||
- 受理用户证书申请;
|
||||
- 协助颁发用户证书;
|
||||
- 审核用户真实身份;
|
||||
- 受理证书更新请求;
|
||||
- 受理证书吊销。
|
||||
|
||||
#### 5、证书库/CRL
|
||||
|
||||
- <span style="color:red;">证书存放管理</span>
|
||||
- 信息的存储库,提供了证书的保存,修改,删除和获取的能力;
|
||||
- 采用LDAP标准的目录服务存放证书,其作用与数据库相同,优点是在修改操作少的情况下,对于访问的效率比传统数据库要高。
|
||||
- LDAP:轻型目录访问协议,基于TCP/IP。
|
||||
- <span style="color:red;">CRL</span>(Certificate Revocation List):证书撤销列表,也称“证书黑名单”
|
||||
- 被撤销证书的序列号;
|
||||
- 证书有效期期间因为某种原因)(人员调动、私钥泄漏等)导致证书不再真实可信,因此需要进行证书撤销。
|
||||
|
||||
#### 6、终端实体
|
||||
|
||||
- <span style="color:red;">数字证书</span>
|
||||
- 经证书权威机构CA签名的、包含<span style="color:red;">拥有者身份信息</span>和<span style="color:red;">公开密钥</span>的数据体;
|
||||
- 国际标准X.509定义了电子证书的规范格式。
|
||||
- 在X.509标准中,数字证书主要包括3部分内容:<span style="color:red;">①</span>证书体、<span style="color:red;">②</span>签名算法类型、<span style="color:red;">③</span>CA签名数据。
|
||||
- 拥有公私密钥对和相应公钥证书的<span style="color:red;">最终用户</span>,可以是<span style="color:red;">人</span>、<span style="color:red;">设备</span>、<span style="color:red;">进程</span>等。(这个是终端实体的定义,即什么是终端实体。)
|
||||
|
||||
#### 7、PKI/CA技术的典型应用
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user