1、算法说明

国密算法:即国家商用密码算法。是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准。如SM系列密码,SM:代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。

在金融领域目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。

1、对称算法(分组密码算法)代表分组密码算法(DES和SM4);
2、非对称算法(公钥密码算法)代表公钥密码算法(RSA和SM2);
3、杂凑算法(摘要算法)代表摘要算法(HAS-256系列和SM3);

商用密码有很多,常用的国际国产商密 如下:

对称加密:SM1、SM4、SM7

非对称加密:SM2、SM9、SM3

国米加密算法实现 国密算法详解_国米加密算法实现

2、密文长度说明:

128bit,也就是128个0和1的二进制串,这样表达是很不友好的,

所以将二进制转成了16进制,每4个bit表示一个16进制,所以128/4 = 32 换成16进制表示后,为32位了。

3、算法区别与比较

3.1、分组密码算法(对称算法)-国际DES、国密SM4

分组密码就是将明文数据按固定长度进行分组,然后在同一密钥控制下逐组进行加密,从而将各个明文分组变换成一个等长的密文分组的密码。其中二进制明文分组的长度称为该分组密码的分组规模。
分组密码的实现原则如下:

(1) 必须实现起来比较简单,知道密钥时加密和脱密都十分容易,适合硬件和(或)软件实现.
(2) 加脱密速度和所消耗的资源和成本较低,能满足具体应用范围的需要.

分组密码的设计基本遵循混淆原则和扩散原则。

  1. 混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系变得尽可能复杂,使得敌手即使获得了密文和明文,也无法求出密钥的任何信息;即使获得了密文和明文的统计规律,也无法求出明文的任何信息。
  2. 扩散原则就是应将明文的统计规律和结构规律散射到相当长的一段统计中去。也就是说让明文中的每一位影响密文中的尽可能多的位,或者说让密文中的每一位都受到明文中的尽可能多位的影响。

3.2、公钥密码算法(非对称算法)-国际RSA、国密SM2

公钥密码学与其他密码学完全不同, 使用这种方法的加密系统,不仅公开加密算法本身,也公开了加密用的密钥。

公钥密码系统与只使用一个密钥的对称传统密码不同,算法是基于数学函数而不是基于替换和置换。公钥密码学是非对称的,它使用两个独立的密钥,即密钥分为公钥和私钥,因此称双密钥体制。双钥体制的公钥可以公开,因此称为公钥算法。

公钥算法的出现,给密码的发展开辟了新的方向。公钥算法虽然已经历了20多年的发展,但仍具有强劲的发展势头,在鉴别系统和密钥交换等安全技术领域起着关键的作用

公钥算法的加密与解密由不同的密钥完成,并且从加密密钥得到解密密钥在计算上是不可行的。通常,公钥算法的两个密钥中任何一个都可以作为加密而另一个用作解密,但不是所有的公钥算法都是如此。

3.3、DES与SM4比较

国际的DES算法和国产的SM4算法的目的都是为了加密保护静态储存传输信道中的数据,主要特性如下:

 

DES算法

SM4算法

计算基础

二进制

二进制

算法结构

使用标准的算术和逻辑运算、先代替后 置换,不含非线性变换

基本轮函数加迭代、含非线性变换

加解密算法是否相同

计算轮数

16轮(3des为16轮*3)

32轮

分组长度  

64 bit

128 bit

秘钥长度

64 bit(3DES为128 bit)

128 bit

有效秘钥长度

56 bit(3des位112 bit)

128 bit

实现难度

易于实现

易于实现

实现性能

软件实现慢、硬件实现快

软件实现和硬件实现都快

安全性

较低(3des较高)

算法较新,还未经过现实校验

分析:算法上看,国产SM4算法在计算过程中增加非线性变换,理论上能大大提高其算法的安全性,并且由专业机构进行了密码分析,民间也对21轮SM4进行了差分密码分析,结论均为安全性较高。