指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括RC4、DES、3DES、AES、DESX、Blowfish、ChaCha20、RC5、RC6。前3种算法被认为是不安全的,通常禁止使用。
算法分类:
国内:SM1、SM4、ZUC
国际:DES、3DES、AES
说明:SM1的128位保密强度和性能与AES相当,SM4的128位已升级为国际标准
块密码算法:DES、3DES、AES
流密码算法:RC4
算法简介:
SM1:对称加密算法,加密强度为128位,采用硬件实现;算法不公开,只能通过相关安全产品进行使用。
SM4:对称算法,随WAPI标准一起公布,可使用软件实现,加密强度为128位。
SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;


模式:
ECB(Electronic Codebook)、特点:运算快速,支持并行处理,需要填充、说明:不推荐使用
CBC(Cipher Block Chaining)、特点:支持并行处理,需要填充、说明:推荐使用
CFB(Cipher Feedback)、特点:支持并行处理,不需要填充、说明:不推荐使用
OFB(Output Feedback)、特点:迭代运算使用流密码模式,不需要填充、说明:不推荐使用
CTR(Counter)、特点:迭代运算使用流密码模式,支持并行处理,不需要填充、说明:推荐使用
XTS(XEX-based tweaked-codebook)、特点:不需要填充、说明:用于本地硬盘存储解决方案中
标准:
填充标准:明文长度必须是分组长度的倍数,如不是倍数,则必须有填充机制
PKCS#7填充:可处理的分组长度是1到255个字节
AES算法使用标准,比如:AES-128-CBC-PKCS#7,其中秘钥长度128,分组模式CBC,填充标准PKCS#7,AES算法默认分组128bit