IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 加密算法汇总 -> 正文阅读

[网络协议]加密算法汇总

加密方式

1. 对称加密

对称加密密钥是相同的。

1.1常见对称加密算法:

算法描述
DES(Data Encryption Standard)数据加密标准,速度较快,适用于加密大量数据
3DES(Triple DES)基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard)高级加密标准,速度快,安全级别高
Blowfish速度快,且安全,没有商业限制

2. 非对称加密

非对称加密有公钥和私钥。
特点:

  1. 算法需要两个密钥,一个公开,公开的密钥无法推导出对应的私钥。
  2. 算法复杂度相对对称加密算法高,所以计算相对慢。
  3. 密钥的保密性好,公钥可以公开,免去交换密钥的需求。

使用场景

  1. 数据加密传输
  2. 报文签名校验

常见非对称加密算法

RSA

数字证书

由权威部门颁发的成为证书。证书有公钥,还有证书的所有者,还有发布机构和证书有效期,可以类似身份证。这个证书是怎么生成的?生成证书需要发起一个请求,然后将这个请求发给一个权威机构去认证,这个机构称为CA(Certificate Authority)。
证书请求可以通过该命令生成:
openssl req -key test.key -new -out test.req
将这个请求发给权威机构,权威机构会给这个证书一个章,成为签名算法。如何保证签名是真的权威机构签名的呢?用权威机构CA的私钥就可以保证了。
权威机构给证书的签名的命令是这样的:
openssl x509 -req in test.req -CA cert.pem -CAkey private.key -out test.pem
这个命令会返回Signature ok,而test.pem就是签过名的证书。
查看证书内容的命令:
openssl x509 -in test.pem -noout -text
想要验证证书,需要CA的公钥,问题来了,怎么确定CA的公钥是否可靠?CA的公钥需要有上级给他背书,证书体系中就是Root CA。还有一种证书就是自签名证书,自己给自己签名。

密钥

公钥加密、私钥解密。
私钥签名、公钥验证。

密钥文件是用于存放私钥和公钥的文件,可以把私钥和公钥放在一起,也可以分开放。而密钥文件有很多格式。jks、p12、pem、cert,要根据不同的服务端和客户端选取。
一个密钥文件可以存放多个公钥和私钥。

生成cert文件的两种方式:
第一种:自己生成密钥和CSR(Certificate Signing Request)证书请求文件,把CSR给CA机构,机构生成一个cert文件给你,然后要把该cert文件导入到自己的密钥文件里。

第二种:直接在CA生成所有,然后回给private key和cert文件,配置到服务端即可。

密钥格式:
Private Key:

-----BEGIN ENCRYPTED PRIVATE KEY-----
XXXX
-----END ENCRYPTED PRIVATE KEY-----

CSR文件

-----BEGIN CERTIFICATE REQUEST-----
XXX
-----END CERTIFICATE REQUEST -----

Public key文件

----- BEGIN PUBLIC KEY-----
XXX
----- END PUBLIC KEY-----

Cert文件

----- BEGIN CERTIFICATE ----- 
XXX
----END CERTIFICATE -----

密钥工具

keytool,openssl。

keytool是JDK提供的工具。

常见证书类型

  1. 带有私钥的证书
    由PublicKey Cryptography Standards #12,即PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以 pfx 作为证书文件后缀名

  2. 二进制编码的证书
    二进制编码的证书:由X.509公钥证书格式标准定义,证书中没有私钥,包含DER编码二进制格式的公钥,以 cer 作为证书文件后缀名。

  3. Base64编码的证书
    Base64编码的证书:由X.509公钥证书格式标准定义,证书中没有私钥,包含BASE64编码格式的公钥,也是以 cer 作为证书文件后缀名。

HTTPS的工作模式

非对称加密在性能上不如堆成加密。
HTTPS用

链接

  1. https://juejin.cn/post/6844904141987282952
  2. https://juejin.cn/post/6844903545272041479
  3. https://juejin.cn/post/6882404615443185678
  4. https://juejin.cn/post/7099723298031796254
  5. https://juejin.cn/post/6844904072856731662
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:53:48  更:2022-10-22 21:56:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 14:06:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码