003 国密算法【技术】

国密算法:国家密码局认定的国产密码算法,即商用密码。

非对称密码(公钥算法):SM2,SM9

对称密码(分组密码,序列密码):SM1,SM4,SM7,ZUC

杂凑算法(散列,哈希算法):SM3

SM1

概述对称加密算法(分组密码),分组长度128位,密钥长度128位,算法不公开,通过加密芯片的接口进行调用。

场景:采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

SM2(对标国际RSA算法)

概述非对称加密算法(公钥算法),加密强度为256位,是一种椭圆曲线算法。

003 国密算法【技术】_第1张图片

公钥密码学与其他密码学完全不同, 使用这种方法的加密系统,不仅公开加密算法本身,也公开了加密用的密钥。公钥密码系统与只使用一个密钥的对称传统密码不同,算法是基于数学函数而不是基于替换和置换。公钥密码学是非对称的,它使用两个独立的密钥,即密钥分为公钥和私钥,因此称双密钥体制。双钥体制的公钥可以公开,因此称为公钥算法。

使用私钥加密后的密文只能用对应公钥进行解密,反之使用公钥加密的密文也只能用对应的私钥进行解密。通过对私钥进行椭圆曲线运算可以生成公钥,而由于椭圆曲线的特点,知道公钥却很难反推出私钥,这就决定了SM2算法的安全性。SM2算法最常见的应用是进行身份认证,也就是我们熟知的数字签名与验签,通过私钥的私密性来实现身份的唯一性和合法性。

003 国密算法【技术】_第2张图片

SM2-1:椭圆曲线数字签名算法

场景:适用于商用应用中的数字签名和验证,可满足多种密码应用中的身份认证数据完整性,真实性的安全需求。

003 国密算法【技术】_第3张图片

SM2-2:椭圆曲线密钥交换协议

场景:适用于商用密码应用中的密钥交换,可满足通信双方经过两次或可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥(会话密钥)。

SM2-3:椭圆曲线加密算法

场景:适用于国家商用密码应用中的消息加解密,消息发送者可以利用接收者的公钥对消息进行加密,接收者用对应的私钥进行解,获取消息。

涉及国密标准:GB/T 32918.1-2016、GB/T 32918.2-2016、GB/T 32918.3-2016、GB/T 32918.4-2016、GB/T 32918.5-2017、GB/T 35275-2017、GB/T 35276-2017。

SM3

概述:哈希算法(散列算法,杂凑算法),任意长度的数据经过SM3算法后会生成长度固定为256bit的摘要。SM3算法的逆运算在数学上是不可实现的,即通过256bit的摘要无法反推出原数据的内容,因此在信息安全领域内常用SM3算法对信息的完整性进行度量。

003 国密算法【技术】_第4张图片

场景:适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。

涉及国密标准:GB/T 32905-2016

SM4(对标国际DES算法)

概述:对称加密算法(分组密码),分组长度128位,密钥长度128位,使用某一密钥加密后的密文只能用该密钥解密出明文,故而称为对称加密。SM4算法采用32轮非线性迭代实现,加解密速度较快,常应用于大量数据的加密,保存在存储介质上的用户数据往往就使用SM4算法进行加密保护。

003 国密算法【技术】_第5张图片

场景:大量数据的加密,解密,MAC的计算

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

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

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

①混淆原则就是将密文、明文、密钥三者之间的统计关系和代数关系变得尽可能复杂,使得敌手即使获得了密文和明文,也无法求出密钥的任何信息;即使获得了密文和明文的统计规律,也无法求出明文的任何信息。

②扩散原则就是应将明文的统计规律和结构规律散射到相当长的一段统计中去。也就是说让明文中的每一位影响密文中的尽可能多的位,或者说让密文中的每一位都受到明文中的尽可能多位的影响。

003 国密算法【技术】_第6张图片

涉及国密标准:GB/T 32907-2016

SM7

概述对称加密算法(分组密码),分组长度128位,密钥长度128位,算法不公开,通过加密芯片的接口进行调用。

场景:适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。

SM9

概述:非对称加密算法(标识密码),标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。

SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点,从而开启了普及密码算法的大门。

ZUC

概述对称加密算法(序列密码),是中国自主研究的流密码算法,是运用于移动通信4G网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化。

你可能感兴趣的:(003 国密算法【技术】)