信息安全加解密各种算法(比较全)

一、数据安全,分为:

前端:展示做脱敏处理,数据脱敏(Data Masking)
前端到后端过程:数据加密传输
后端:数据加密后存储到数据表

二、数据安全:加密分类

  1. 可逆加密
    1.1 对称加密 (对称,指的是秘钥对称,加密解密都是用的同一个秘钥)
    1.2 非对称加密 (非对称,称指的是秘钥非对称,加密解密用的两个不同秘钥)

  2. 不可逆加密

三、可逆【对称加密算法】(symmetric encryption algorithm)有哪些产品?

ZUC算法 【中国国家颁布的分组密码算法】
SM系列  (SM1算法、SM4算法、SM7算法)【中国国家颁布的分组密码算法】
AES算法 (备注:国际主流,美国的)
IDEA算法
DES系列(DES算法、3DES算法) (其中3DES即:Triple Data Encryption Algorithm,简写为Triple DEA,缩写为TDEA/3DES)
RC系列(RC2算法、RC4算法、RC5算法、RC6算法)
TEA系列(TEA算法、XTEA算法、XXTEA算法)
Fish系列(BlowFish算法、TwoFish算法)
Camellia算法
ChaCha20算法
Salsa20算法
......

四、可逆【非对称加密算法】(asymmetric encryption algorithm)有哪些产品?

SM系列(SM2算法、SM9算法)【国家颁布的分组密码算法】
RSA算法
ECDSA算法 (ECC与DSA的结合,区块链就是这种)
ECC算法 (备注:移动设备用)
DSA算法 (备注:数字签名用)
Elgamal算法
Rabin算法
D-H算法(即:Diffie-Hellman)
背包算法
......

五、不可逆【Hash算法】有哪些产品?

SM3算法【国家颁布的hash算法】
SHA系列(SHA1、SHA-224、SHA-256、SHA-384、SHA-512)
MD系列(MD2、MD4、MD5)
HMAC系列(HMAC、HMAC-MD5、HMAC-SHA1)
HAVAL算法
......

六、对称加密 和 非对称加密 区别?

(1)密钥不同
1、对称加密:对称加密加密和解密使用同一个密钥。(也就是说,加解密双方都是使用同一个密钥对数据进行加密和解密,存在无法验证发送者和接受者的身份,有冒用身份的风险。)
2、非对称加密:非对称加密加密和解密所使用的不是同一个密钥,
需要两个密钥来进行加密和解密。
公钥进行加密,私钥进行解密。
(2)安全性不同
1、对称加密:对称加密如果用于通过网络传输加密文件,那么不管使用任何方法将密钥告诉对方,都有可能被窃听。
2、非对称加密:非对称加密因为它包含有两个密钥,
且仅有其中的“公钥”是可以被公开的,接收方只需要使用自己已持有的“私钥”进行解密,
这样就可以很好的避免密钥在传输过程中产生的安全问题。
(3)效率不同
1、对称加密:加密速度比较快。
2、非对称加密:加密速度比较慢。
(4)数字签名不同
1、对称加密:对称加密不可以用于数字签名和数字鉴别。
2、非对称加密:非对称加密可以用于数字签名和数字鉴别。

七、【对称加密算法】的工作模式(加密模式) 有哪些?

(1)分组加密的工作模式
    以"块"为单位进行一次加密,将明文按一定的位长分组成块,明文块加密后得到密文组。
    解密雷同,密文组解密还原成明文组。
    1.ECB   电码本模式(Electronic Codebook Book)
    2.CBC   密码分组链接模式(Cipher Block Chaining)
    3.PCBC
    4.CFB   密码反馈模式(Cipher FeedBack)
    5.CFBx
    6.OFB   输出反馈模式(Output FeedBack)
    7.OFBx
    8.CTR   计算器模式(Counter)
    9.GCM   
(2)序列加密的工作模式
    以"位"为单位进行一次加密,利用少量的密钥通过某种复杂的密码算法进行运算产生大量的伪随机位流,
    用于对明文位流的加密。

八、【对称加密算法】填充模式(补码模式),有如下几种

PKCS5
PKCS7
ANSI
ISO
NoPadding
ZerosPadding

【参考资料】

  1. https://zhuanlan.zhihu.com/p/558881344
  2. https://www.jianshu.com/p/9f36748697e2
  3. https://blog.csdn.net/gozhuyinglong/article/details/121200733

你可能感兴趣的:(特殊功能实现,信息安全,加解密算法)