一、加密算法概述

一、加密算法概述

一、加密算法概述

加密是前后端开发经常需要使用到的技术,应用场景包括不限于用户登入、数据交易、信息通讯等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法来达到业务目标。一般来说加密算法有摘要算法、对称加密算法、非对称加密算法这三种类型,常见的加密算法及分类如下表:

密码分类

国产商用密码

国际商用密码

摘要算法

SM3

MD5、SHA-1、SHA-2、MAC

对称加密算法

SM1、SM4、SM7、ZUC(祖冲之算法)、SSF446

DES、3DES、AES、RC5、RC6、RC4

非对称加密算法

SM2、SM9

RSA、Rabin、DH、DSA、ECC

加密相关概念:

明文:明文指的是未被加密过的原始数据。

密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。

密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥,分别应用在对称加密和非对称加密上。

二、加密算法介绍

2.1 摘要算法

摘要算法又称哈希算法、散列算法。(严格意义上摘要算法不算是加密算法,但通常与加密算法一起使用并有一定相似性,所以这里拿来做比较)。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。

特点:

1.加密不需要密钥

2.不可逆

3.任意长度转为固定长度

常见算法:

国产:SM3、MD5

国际:SHA-1、MAC、SHA-2(SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256)

应用场景:存储密码、校验文件完整性、生成签名

流程图:

2.2 对称加密算法

对称加密,顾名思义,加密方与解密方使用同一钥匙(秘钥)。具体一些就是,发送方通过使用相应的加密算法和秘钥,对将要发送的信息进行加密;对于接收方而言,使用解密算法和相同的秘钥解锁信息,从而有能力阅读信息。

特点:

1.加解密使用同一个密钥

2.可逆

3.加密速度比非对称加密算法快

常见算法:

国产:SM1、SM4、SM7、ZUC(祖冲之算法)、SSF446

国际:DES、3DES、AES、RC5、RC6、RC4

应用场景:加密传输、密码、配置文件加密

流程图:

2.3 非对称加密算法

非对称加密需要两个密钥:公钥 (publickey) 和私钥 (privatekey)。公钥和私钥是一对,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称加密。

特点:

1.一对密钥

2.公钥加密私钥解密,私钥加签公钥验签

常见算法:

国产:SM2、SM9

国际:RSA、Rabin、DH、DSA、ECC

应用场景:数字签名、数字证书

流程图:

相关推荐

为什么项羽被称为“西楚霸王”,而不是东楚或南楚?
上海哪个地方适合创业,适合上海的创业项目
醫砭 » 歷代本草藥性匯解 » 萆薢 (《本經》)
365比分官网

醫砭 » 歷代本草藥性匯解 » 萆薢 (《本經》)

📅 07-08 👁️ 4560
韩国不服被判点球!韩媒质疑视频裁判:被害了!
湘E是哪里的车牌号
日博365怎么样

湘E是哪里的车牌号

📅 07-14 👁️ 9205
一天一篇,28 天后像高手一样玩转 macOS
365365bet

一天一篇,28 天后像高手一样玩转 macOS

📅 07-13 👁️ 9461
触动精灵 Android 使用手册
365比分官网

触动精灵 Android 使用手册

📅 07-04 👁️ 7603
【锐捷无线】黑白名单配置
日博365怎么样

【锐捷无线】黑白名单配置

📅 07-07 👁️ 3193
凉茶之首