# Information security
## 加密算法介绍
随着移动互联网的发展,确确实实给大家的生活带来了很多便捷,同时随之带来的也有很多安全上的风险,互联网时代的安全风险会造成商业信息泄密、用户数据泄露,但移动互联网时代的安全风险,一部手机可能会让个人隐私信息的泄露,甚至您的财产丢失。移动互联网的发展比互联网时代更加需要信息安全,所以信息安全突然变得紧迫而重要。
```mermaid
graph LR
id0(信息安全所面临的威胁) --> id1(受威胁的特性) --> id3(用来应对的密码技术)
node(窃听-秘密泄露) --> node1(机密性) --> node2(对称密码)
node1 --> node3(公钥密码)
node4(窜改-信息被修改) --> node5(完整性)-->node6(单项散列函数)
node5 --> node7(消息认证码)
node5 --> node8(数字签名)
node9(伪装-伪装成真正的发送者) --> node10(认证) --> node7
node11(否认-事后称自己没有做) --> node12(不可抵赖性) --> node8
```
### **一、加密算法的分类**
#### 1)几种对称性加密算法
DES是一种分组数据加密技术(先将数据分成固定长度的小数据块,之后进行加密),速度较快,适用于大量数据加密,而3DES是一种基于DES的加密算法,使用3个不同密匙对同一个分组数据块进行3次加密,如此以使得密文强度更高。
相较于DES和3DES算法而言,AES算法有着更高的速度和资源使用效率,安全级别也较之更高了,被称为下一代加密标准。
SM4是我国
| 名称 | 密钥长度 | 运算速度 | 安全性 | 资源消耗 |
| ---- | --------------- | -------- | ------ | -------- |
| DES | 56位 | 较快 | 低 | 中 |
| 3DES | 112位或168位 | 慢 | 中 | 高 |
| AES | 128、192、256位 | 快 | 高 | 低 |
| SM4 | | | | |
#### 2)几种非对称性加密算法
RSA和DSA的安全性及其它各方面性能都差不多,而ECC较之则有着很多的性能优越,包括处理速度,带宽要求,存储空间等等。
| 名称 | 成熟度 | 安全性(取决于密钥长度) | 运算速度 | 资源消耗 |
| ---- | ------ | ---------------------- | -------- | -------------------------------------- |
| RSA | 高 | 高 | 慢 | 高 |
| DSA | 高 | 高 | 慢 | 只能用于数字签名 |
| ECC | 低 | 高 | 快 | 低(计算量小,存储空间占用小,带宽要求低) |
| SM2 | | | | |
| SM9 | | | | |
SM2和RSA密文长度==明文长度
#### 3)几种线性散列算法
这几种算法只生成一串不可逆的密文,经常用其效验数据传输过程中是否经过修改,因为相同的生成算法对于同一明文只会生成唯一的密文,若相同算法生成的密文不同,则证明传输数据进行过了修改。通常在数据传说过程前,使用MD5和SHA1算法均需要发送和接收数据双方在数据传送之前就知道密匙生成算法,而HMAC与之不同的是需要生成一个密匙,发送方用此密匙对数据进行摘要处理(生成密文),接收方再利用此密匙对接收到的数据进行摘要处理,再判断生成的密文是否相同。
| 名称 | 安全性 | 速度 |
| ----- | ------ | ---- |
| SHA-1 | 高 | 慢 |
| MD5 | 中 | 快 |
| HMAC | | |
| SM3 | | |
### **二、对于各种加密算法的选用:**
由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。
### **对称与非对称算法比较**
| 名称 | 密钥管理 | 安全性 | 速度 |
| ---------- | ------------------------------------ | ------ | ------------------------------------------------------------ |
| 对称算法 | 比较难,不适合互联网,一般用于内部系统 | 中 | 快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理 |
| 非对称算法 | 密钥容易管理 | 高 | 慢,适合小数据量加解密或数据签名 |
### 3 加密通信模型
模型大体上步骤是这样的,A要将一段数据D发送给B:
1. A将数据D做哈希,生成哈希值X;
2. A用自己的私钥给X加密,生成数据SJ;然后附加到D后变成DSJ;
3. A对DSJ用对称秘钥DS进行加密后的数据为DDSJ;
4. 用B的公钥对DS进行加密生成DSB;
5. 将DSB附加到DDSJ成为DDSJDSB后发送给B
```mermaid
graph LR
node1(原始数据) --> node2(哈希值) -->node13(fa:fa-spinner 加密) --> node3(哈希密值)
node14(自己的私钥) --> node13
node1 --> node4
node3 --> node4(数据\哈希密值) --> node9(fa:fa-spinner 加密) --> node5
node5(数据密文\哈希密密文) --> node7(fa:fa-spinner +) --> node8(加密数据) --> 发送
node6(对称秘钥) --> node9
node6 --> node11(fa:fa-spinner 对端公钥加密) --> node12(秘钥密文) --> node7
```
B收到信息,它的解密步骤如下:
1. B接收到DDSJDSB后用自己的私钥对DSB解密得到秘钥DS;
2. B用对称秘钥DS解密DDSJ得到DSJ,此时拿到了数据D和加密哈希SJ;
3. B用A的公钥对SJ解密得到X;
4. B对D做哈希得到XB并和X比较,如果一致,则认为D没有被串改。
```mermaid
graph LR
node0(接收) --> node1
node1(加密数据) --> node2(秘钥密文) --> node5(私钥解密) --> node3(对称秘钥)
node1 --> node4(数据密文\哈希密密文) --> node6(fa:fa-spinner 解密)
node3 --> node6 --> node7(数据明文) --> node11(哈希值) --> node12(fa:fa-spinner 对比)
node6 --> node8(哈希密文) --> node9(对端公钥解密) --> node10(哈希值) --> node12
```
**CA的作用**
这样是不是就能够保证通信双方万无一失了呢??看着很是天衣无缝,但是其实仔细想想,似乎哪里还有蹊跷。
Tom想跟Jerry通信,Tom是怎么获得Jerry的公钥的呢????
看看,原来是如此缜密的通信机制里还有遗漏,我们仍无法保证数据够保密的。Tom和Jerry如何可靠的获得真正属于本人的公钥的?看来得找一个牢靠的第三方,一个能够保障双方身份都可靠的仲裁机构了。对,这就是CA的诞生了。
CA就是认证身份的中心,用它来确认公钥拥有者的真实身份!!它会给Tom和Jerry每个人发给类似***一样的“数字证书”。而且对于这个CA的第三方几乎没人敢怀疑它是“冒牌货”。那么CA是如何进行认证的呢?
CA会利用它自己的私钥为数字证书附加上数字签名,类似于上公安局盖上大印了一样。通常我们的CA采取x.509格式信息的数字证书,证书中包含的信息有:
- 证书的版本信息;
- 证书的序列号,每个证书都有一个唯一的证书�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
个人实战积累的成果,基于国密算法的总结,希望可以帮到您 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~ 个人实战积累的成果,基于国密算法的总结,希望可以帮到您 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~ 个人实战积累的成果,基于国密算法的总结,希望可以帮到您 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~ 个人实战积累的成果,基于国密算法的总结,希望可以帮到您 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~
资源推荐
资源详情
资源评论
收起资源包目录
《国密算法》--国密相关算法.zip (35个子文件)
keys
pub-key_2048_rsa.pem 451B
pub-key_sm2.pem 178B
pubcert_user.pem 1KB
pri-key_sm2.pem 227B
pri-key_2048_rsa.pem 2KB
demo
disgest_low.c 3KB
rsa_sign_evp.c 2KB
Makefile 866B
comm.h 9KB
disgest_evp.c 3KB
read_x509.c 2KB
symmetric_encrypt_evp.c 2KB
envelope.c 4KB
rsa_encry_evp.c 2KB
envelope1.c 4KB
rsa_encry_low.c 3KB
README.md 897B
SM国密算法官方源码
SM2.rar 709KB
SM4.rar 98KB
SM3.rar 107KB
ZUC.rar 176KB
SM9.rar 2.02MB
sm
Makefile 818B
sm2_ds_str.c 4KB
sm4_file1.c 3KB
sm2_enc.c 4KB
sm2_ds_file.c 5KB
comm.h 8KB
sm4_file.c 2KB
sm4_str.c 1KB
envelope.c 4KB
sm3_file.c 1KB
key_derive.c 2KB
sm3_str.c 961B
README.md 18KB
共 35 条
- 1
资源评论
季风泯灭的季节
- 粉丝: 696
- 资源: 2920
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功