密码学加密算法与国密拓展知识总结
1、DES加密算法
-
DES
DES全称(Data Encryption Standard)即数据加密标准,算法中**key为8字节64位,但每8位不参与运算,所有有效**只有56位; **与明文运算时采用按位异或的方法,因此DES的**空间只有2^56。 -
3DES
由于DES**太短被**的可能性非常大,许多针对DES的成功攻击以及DES有用期限即将终止这一事实,为3DES提供了极大支持;NIST必须创建新的标准(最终采用了AES),但同时也需要快速解决目前的问题所有提出了3DES。3DES完成加密解密所用的时间比DES长3倍,**key大小为112和168位。
2、AES加密算法
- 密码学中高级加密标准又称Rijndael加密法,是NIST采用的区块加密标准;AES密码与分组密码Rijndael基本一致。Rijndael分组大小和**大小都可以为128、192、256位,而AES标准只要求分组大小为128位,因此只有128位的Rijndael才称为AES算法。
3、SM4与SM1加密算法
- 2006年我国公布了SM4密码算法,这是我国第一次公布自己商用密码算法;SM4算法中增加了非线性变换。
- SM1未被公开,仅知道**长度128位其强度与AES相当;SM1加密与硬件有关**随机数从硬件计算出来,常用来做国内小额支付(如:电子钱包等)、门禁等随身小件加密。
在国际上目前依然是3DES和AES加密算法,但国内主流则是国密算法SM1、SM4
4、公钥密码
非对称加密分为公开的public-key和保密的private-key;由于公钥密码以数学难题为基础,因此公钥密码的算法效率比对称密码效率低很多(100-1000倍);
-
RSA算法
实际中常用于数据小片段加密,尤其用于**传输、数字签名,RSA作为非对称算法基础,逐渐被ECC取代,但大部分数字证书依然用于RSA。 -
基于离散对数(DLP)的密码学应用:Diffie-Hellman**交换
它允许双方在不安全的通信中进行交流,得到一个共同的**,如:安全外壳(SSH)、传输层安全(TLS)和Internet协议安全(IPSec) -
ECC椭圆曲线加密系统
国际上ECC用于替代RSA -
SM2
SM2算法由国家密码局2010年12月17日发布,也是基于椭圆曲线算法;它是国内应用中替代RSA和ECC的加密算法。 -
摘要算法(也称Hash)
Hash函数通常又称为单向散列函数,理论上不可逆的,但并非绝对安全; 如:2004年中国密码学家王小云教授,首次公布了MD5碰撞新办法;因此2008年后MD5逐渐被SHA-256替代,而国内则使用SM3代替。
国密算法拓展
国密算法标准,包括:SSF33、SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法等等。
-
SM1算法:该算法是一种商用密码分组标准对称算法,分组长度和**长度均为128位,算法的安全保密强度及相关软硬件实现性能与AES算法相当,目前该算法尚未公开,仅以IP核的形式存在于芯片中。
-
SM2算法:该算法是一种基于ECC算法的非对称**算法,其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。
-
SM3算法:该算法也叫密码杂凑算法,属于哈希(摘要)算法的一种,杂凑值为256位,和SM2算法一起被公布。功能与MD5,SHA-1相同。产生256位的编码。该算法位不可逆的算法。具体算法也是保密。
-
SM4算法:该算法为对称加密算法,随WAPI标准一起被公布,其加密强度为128位。此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,**长度为128比特。加密算法与**扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮**的使用顺序相反,解密轮**是加密轮**的逆序。
-
SM7对称密码:SM7算法是一种分组密码算法,分组长度为128比特,**长度为128比特。SM7的算法目前没有公开发布。SM7适用于非接IC卡应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。
-
SM9非对称算法:SM9是基于对的标识密码算法,与SM2类似,包含四个部分:总则,数字签名算法,**交换协议以及**封装机制和公钥加密算法。在这些算法中使用了椭圆曲线上的对这一个工具,不同于传统意义上的SM2算法,可以实现基于身份的密码体制,也就是公钥与用户的身份信息即标识相关,从而比传统意义上的公钥密码体制有许多优点,省去了证书管理等。双线性对的双线性的性质是基于对的标识密码SM2中的总则部分同样适用于SM9,由于SM9总则中添加了适用于对的相关理论和实现基础。