常见的加密算法可以分成五类:
- 对称加密算法
- 非对称加密算法(也称公钥算法)
- Hash 算法(也称摘要算法)
- 数字签名(Hash&RSA)
- 数字证书(Hash&RSA&CA)。
密码分类 | 国产商用密码 | 国际商用密码 | |
---|---|---|---|
对称加密 | 分组加密/块加密 | SM1/SCB2 SM4/SMS4 SM7 | DES、IDEA、AES、RC5、RC6 |
序列加密/流加密 | ZUC(祖冲之算法) SSF446 | RC4 | |
非对称加密 | 大数分解 | RSA、Rabin | |
离散对数 | SM2 SM9 | DH、DSA、ECC | |
散列(HASH)算法 | SM3 | MD5、SHA-1、SHA-2 |
已确认不安全:MD2、MD4、MD5、SHA-1
目前为止安全的加密算法:sha256 & sha384 & sha512
https://blog.csdn.net/qq_32534441/article/details/89669106
常见的对称加密算法有AES、ChaCha20、3DES、Salsa20、DES、Blowfish、IDEA、RC4、RC5、RC6、Camellia。
不安全的加密算法(禁止使用):DES、3DES、RC4、AES-128-ECB
推荐使用的加密算法:AES-128(256)-CBC(GCM)、ChaCha20
https://blog.csdn.net/u014294681/article/details/86705999
RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
为什么非对称加密算法,比对称加密算法更消耗性能,因为非对称加密算法涉及到了大数运算。
https://blog.csdn.net/herongoal/article/details/83414888
https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml
https://zhuanlan.zhihu.com/p/132352160
1、SM1是一种分组加密算法
对称加密算法中的分组加密算法,其分组长度、秘钥长度都是128bit,算法安全保密强度跟 AES 相当,但是算法不公开,仅以IP核的形式存在于芯片中,需要通过加密芯片的接口进行调用。
采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
2、SM2是非对称加密算法
它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。
SM2采用的是ECC 256位的一种,其安全强度比RSA 2048位高,且运算速度快于RSA。
3、SM3是一种密码杂凑算法
用于替代MD5/SHA-1/SHA-2等国际算法,适用于数字签名和验证、消息认证码的生成与验证以及随机数的生成,可以满足电子认证服务系统等应用需求,于2010年12月17日发布。
它是在SHA-256基础上改进实现的一种算法,采用Merkle-Damgard结构,消息分组长度为512bit,输出的摘要值长度为256bit。
4、SM4是分组加密算法
跟SM1类似,是我国自主设计的分组对称密码算法,用于替代DES/AES等国际算法。SM4算法与AES算法具有相同的密钥长度、分组长度,都是128bit。于2012年3月21日发布,适用于密码应用中使用分组密码的需求。
5、SM7也是一种分组加密算法
该算法没有公开。SM7适用于非接IC卡应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。
6、SM9是基于标识的非对称密码算法
用椭圆曲线对实现的基于标识的数字签名算法、密钥交换协议、密钥封装机制和公钥加密与解密算法,包括数字签名生成算法和验证算法,并给出了数字签名与验证算法及其相应的流程。并提供了相应的流程。可以替代基于数字证书的PKI/CA体系。
SM9主要用于用户的身份认证。据新华网公开报道,SM9的加密强度等同于3072位密钥的RSA加密算法,于2016年3月28日发布。
国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。
http://www.metools.info/code/c70.html
移位加密
https://www.ctftools.com/down/
https://blog.csdn.net/weixin_38168081/article/details/99932438
分行之后拼接
https://blog.csdn.net/weixin_42109012/article/details/97644262
https://www.cnblogs.com/Yuuki-/p/7897171.html
电报