国密算法

合集下载

凝思操作系统国密算法

凝思操作系统国密算法

凝思操作系统国密算法【最新版】目录一、引言二、凝思操作系统国密算法的概述三、凝思操作系统国密算法的优势四、凝思操作系统国密算法的应用场景五、凝思操作系统国密算法的发展前景六、结论正文【引言】随着信息技术的迅速发展,信息安全问题日益突出。

为了保障国家信息安全,我国在近年来加大了对国产密码算法的研发和推广力度。

凝思操作系统国密算法作为我国自主研发的密码算法,已经在各个领域得到了广泛应用,为我国的信息安全提供了有力保障。

【凝思操作系统国密算法的概述】凝思操作系统国密算法,全称为凝思操作系统密码算法,是我国自主研发的一套密码算法体系。

该体系包括对称密钥算法、非对称密钥算法和数字签名算法等,具有较高的安全性和可靠性。

凝思操作系统国密算法的设计理念是“国产、自主、可控”,以满足我国在信息安全领域的迫切需求。

【凝思操作系统国密算法的优势】1.国产自主:凝思操作系统国密算法是我国自主研发的密码算法,拥有完全的知识产权,不受国外技术制约,有利于保障国家信息安全。

2.算法性能优越:凝思操作系统国密算法在设计过程中充分考虑了算法性能,具有较高的运算速度和较低的资源消耗,能够满足各种应用场景的需求。

3.安全可靠:凝思操作系统国密算法采用了先进的加密技术,经过严格的安全性评估和测试,能够有效防止非法破解和攻击。

【凝思操作系统国密算法的应用场景】凝思操作系统国密算法已经在多个领域得到广泛应用,包括政府部门、金融机构、电子商务等。

例如,在政府部门的信息系统中,可以采用凝思操作系统国密算法对敏感信息进行加密保护;在金融机构的业务系统中,可以利用凝思操作系统国密算法实现安全的资金转账和账户管理;在电子商务领域,凝思操作系统国密算法可以为用户提供可靠的支付和身份认证服务。

【凝思操作系统国密算法的发展前景】随着信息技术的不断发展,信息安全问题将越来越严峻。

凝思操作系统国密算法作为我国自主研发的密码算法体系,具有巨大的发展潜力和广阔的应用前景。

国密算法资料

国密算法资料

国密算法一、简介国密算法是我国自主研发的密码学算法,旨在保护信息安全和数据传输的安全性。

国密算法涵盖了密码学领域的对称加密、非对称加密和哈希算法等多个方面,具有高效、安全的特点,被广泛应用于金融、通信等领域。

二、国密算法的分类1. 对称加密算法国密算法中有一种常用的对称加密算法称为SM4算法。

SM4是一种分组密码算法,使用128位密钥对数据进行加密和解密。

它具有高度的安全性和性能表现,被广泛应用于数据加密和数据保护领域。

2. 非对称加密算法国密算法中的非对称加密算法包括SM2和SM9。

SM2是一种基于椭圆曲线密码学的非对称加密算法,用于数字签名和密钥交换。

SM9则是一种基于标识密码学的非对称加密算法,适用于身份认证和密钥协商等场景。

3. 哈希算法国密算法中常用的哈希算法是SM3。

SM3是一种密码杂凑算法,用于生成消息摘要和数据完整性验证。

它具有快速、安全的特点,在数字签名和数据完整性验证等领域有着重要的应用。

三、国密算法的应用国密算法在各个领域都有着广泛的应用,如金融、电子政务、互联网安全等。

它为信息系统提供了强大的安全保障,有效防止了数据泄露、篡改等安全威胁,保障了信息的安全传输和存储。

四、国密算法的未来发展未来,国密算法将继续发展和完善,提升算法的安全性和性能表现,适应不断变化的信息安全需求。

国密算法将继续在电子商务、智能城市、物联网等领域发挥重要作用,为我国信息化建设和数据安全提供有力支持。

五、结论国密算法作为我国自主研发的密码学算法,在信息安全领域发挥着重要作用。

通过对称加密、非对称加密和哈希算法等多个方面的应用,国密算法为信息系统提供了强大的安全保障,确保了数据的安全传输和存储。

随着国密算法的不断发展和完善,相信它将在未来的信息化建设中发挥更加重要的作用。

国密算法 同态运算

国密算法 同态运算

国密算法同态运算国密算法国密算法是指由中国密码学专家自主研发的一种密码算法体系,主要用于保护国家机密和个人隐私。

它包括了对称加密算法、非对称加密算法、哈希算法、数字签名算法等多种密码学算法。

对称加密算法是指加密和解密使用同一个密钥的算法,其代表算法是SM4。

SM4算法是一种分组密码算法,其分组长度为128位,密钥长度为128位、192位或256位。

SM4算法具有加密速度快、安全性高、抗攻击能力强等优点,已被广泛应用于各种领域。

非对称加密算法是指加密和解密使用不同密钥的算法,其代表算法是SM2。

SM2算法是一种基于椭圆曲线密码学的公钥密码算法,具有安全性高、计算量小等优点,已被应用于数字证书、数字签名等领域。

哈希算法是指将任意长度的消息压缩成一个固定长度的摘要信息的算法,其代表算法是SM3。

SM3算法具有抗碰撞能力强、安全性高等优点,已被广泛应用于数字签名、消息认证等领域。

数字签名算法是指用于保证数字信息的完整性、真实性和不可抵赖性的算法,其代表算法是SM2和SM3。

SM2和SM3结合使用可以实现数字签名的功能。

同态运算同态运算是指在加密状态下对密文进行运算,得到的结果与对明文进行同样运算后所得的结果相同或相似的运算。

同态运算分为完全同态运算和部分同态运算两种。

完全同态运算是指在加密状态下进行加法和乘法运算,得到的结果与对明文进行同样运算后所得的结果完全相同。

完全同态运算可以实现在不暴露明文的情况下对密文进行计算,从而保护数据的隐私性。

部分同态运算是指在加密状态下进行加法或乘法运算,得到的结果与对明文进行同样运算后所得的结果相似但不完全相同。

部分同态运算可以实现在不暴露明文的情况下对密文进行计算,但是需要在一定程度上暴露部分信息。

同态运算在云计算、大数据分析等领域有着广泛的应用,可以实现在不暴露数据隐私的情况下进行计算和分析。

国密算法标准

国密算法标准

国密算法标准
国密算法是指中国国家密码管理局(National Cryptography Administration)发布的密码算法标准,包括对称密码算法、非对称密码算法和杂凑密码算法。

国密算法标准的实施旨在保障国家信息安全和数据隐私,保护国家关键信息基础设施和国家安全。

一、国密对称密码算法标准
国密对称密码算法采用的是SM4,也称为商用密码,是一种块密码算法,密钥长度为128比特。

SM4算法提供了高强度的加密和解密机制,适用于各种加密应用场景,如数据传输和存储安全等。

该算法已被广泛应用于金融、电子商务、移动通信等领域,受到了良好的评价和信任。

二、国密非对称密码算法标准
国密非对称密码算法采用的是SM2和SM9。

SM2是一种椭圆曲线公钥密码算法,具有高安全性和高效率。

SM2算法适用于数字签名、密钥交换和加密等场景,能够有效保护通信双方的数据安全。

SM9是用于密码协议的一种基于双线性对的密码算法,它支持密钥交换和数字签名等功能,并且适用于多方安全计算和身份认证。

三、国密杂凑密码算法标准
国密杂凑密码算法采用的是SM3,是一种基于SHA-256算法结构设计而成的密码杂凑算法。

SM3算法具有公开和透明的特点,广泛应用于数字签名、身份认证和数据完整性验证等场景。

该算法在安全性和性能上均表现出色,受到了广泛认可和应用。

国密算法标准的制定和实施,为国家信息安全提供了重要保障。

国密算法标准的推广应用,也对保护企业和个人的信息安全起到了积极作用。

未来,随着信息技术的不断发展和应用场景的不断拓展,国密算法标准也将不断完善和更新,以应对日益复杂的信息安全挑战。

凝思操作系统国密算法

凝思操作系统国密算法

凝思操作系统国密算法凝思操作系统国密算法指的是在操作系统中使用国密算法进行加密和解密操作。

国密算法是指由中国密码学家们自主研发的密码算法,它们被广泛应用于政府、军事和金融领域,以保护敏感信息的安全。

在操作系统中使用国密算法主要涉及以下几个方面:1. 密码库支持:操作系统中需要集成支持国密算法的密码库,以提供加密、解密、签名和验证等功能。

这些密码库包括SM1、SM2、SM3和SM4等算法的实现。

操作系统可以选择开源的密码库,如OpenSSL、Botan等,也可以选择商业的密码库。

2. 密钥管理:操作系统需要提供密钥管理功能,包括密钥生成、存储、导入和导出等操作。

这些密钥可以是对称密钥(如SM4算法的密钥)或非对称密钥(如SM2算法的密钥对)。

操作系统可以使用安全存储或加密存储来保护这些密钥的安全。

3. 访问控制:操作系统需要提供访问控制机制,以限制对国密算法的访问。

只有经过授权的用户或进程才能使用国密算法进行加密和解密操作。

操作系统可以使用访问控制列表(ACL)或基于角色的访问控制(RBAC)等机制来实现。

4. 进程隔离:为了增强国密算法的安全性,操作系统可以使用进程隔离技术,将使用国密算法的进程与其他进程隔离开来。

这可以通过使用虚拟化技术、容器化技术或安全沙箱等来实现。

5. 安全审计:为了确保国密算法的使用符合安全政策和法规要求,操作系统可以提供安全审计功能。

安全审计可以记录所有对国密算法的调用和操作,包括参数、输入、输出等信息,以便后续的安全审计和调查。

综上所述,凝思操作系统国密算法是指在操作系统中集成和使用国密算法的一系列技术和措施,以提供更加安全的加密和解密功能。

国密算法简介

国密算法简介

国密算法简介版本⼈员时间升级内容课程⽬的了解国密算法的算法原理了解SM2、SM3、SM4的算法原理?了解国密卡⽚相关API ⽬标⼈员移动⾦融初级开发⼈员前置课程RSA密钥体系DES密钥体系基本知识对称加密算法SM2?⾮对称加密算法SM4?摘要算法SM3定义国密即国家密码局认定的国产密码算法,即商⽤密码,主要完成加密、解密、签名、验签、摘要等操作。

常⽤国密算法种类算法类型密钥长度输⼊数据要求输出数据特征SM2⾮对称加密算法公钥64字节,私钥32字节。

长度⼩于(2^32-1)*32=137,438,953,440字节(⼤约1374亿多)。

输出长度是明⽂长度+96,有随机数参数,每次密⽂不同。

SM3摘要算法--⽆要求。

固定长度,32字节。

SM4对称加密算法16字节分组长度16字节,需要填充到16字节整数倍。

有CBC和ECB两种模式,CBC需要设定初始值。

长度为16字节整数倍。

国密算法还有SM1、SM7、SSF33、祖冲之密码对称加密算法,SM9⾮对称加密算法。

国密算法与其他算法⽐较⾮对称加密算法SM2与RSA⽐较国密算法与其他算法⽐较SM2与RSA算法的⼀些统计数据RSA密钥强度(长度)SM2密钥强度(长度)破解时间(年)521⽐特106⽐特104(已破解)768⽐特132⽐特108(已破解)1024⽐特160⽐特1011 2048⽐特210⽐特1020国密算法与其他算法⽐较SM2与RSA算法的⼀些统计数据算法签名速度验签速度1024RSA2792次/秒51224次/秒2048RSA455次/秒15122次/秒256SM24095次/秒871次/秒国密算法与其他算法⽐较SM4与DES较从算法上看,国产SM4算法在计算过程中增加⾮线性变换,理论上能⼤⼤提⾼其算法的安全性,并且由专业机构进⾏了密码分析,民间也对21轮SM4进⾏了差分密码分析,结论均为安全性较⾼。

国密卡实现API类层次图class /doc/280ecba36729647d27284b73f242336c1eb9307f.html ng.Objectclass com.guomi.GMCipherclass com.guomi.GMKeyBuilderclass com.guomi.GMKeyPairclass com.guomi.GMMessageDigest class com.guomi.GMSignatureclass com.guomi.GMCipherExtendclass com.guomi.GMSM2KeyExchange国密卡实现的API接⼝interface javacard.security.Keyinterface javacard.security.SecretKeyinterface com.guomi.SM1Keyinterface com.guomi.SM4Keyinterface com.guomi.SM7Keyinterface com.guomi.SSF33Keyinterface javacard.security.PrivateKey interface com.guomi.SM2PrivateKey interface javacard.security.PublicKeyinterface com.guomi.SM2PublicKey国密卡实现的API接⼝interface com.unionpay.guomi.SM2Key ?interface com.guomi.SM2PrivateKeyinterface com.guomi.SM2PublicKey⽬录算法原理?加密解密签名验签算法原理国密SM2规定椭圆曲线参数(固定值,256⽐特)p :FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFa:FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFCb:28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93?n:FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123 gx:32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7?gy:BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0各个参数意义如下椭圆曲线⽅程:y2=x3+ax+b,把它定义在Fp上, 要求a,b满⾜:4a3+27b2≠0(mod p)那么,p 、a 、b ⽤来确定⼀条椭圆曲线(确切来说应该是有限域Fp),G(gx,gy)为基点,n为点G 的阶,另外,还有⼀个⾮必要参数h,是椭圆曲线上所有点的个数m与n相除的整数部分;加密SM2公私玥结构、SM2公私玥关系P=d*G 或者(x ,y )=d*(gx ,gy ),即公钥P 是基点G 的d 倍点。

国密算法java语言的实现

国密算法java语言的实现

国密算法java语言的实现国密算法是我国自主研发的密码算法标准,被广泛应用于信息安全领域。

在本文中,将介绍国密算法在Java语言中的实现。

一、国密算法简介国密算法是指中国密码技术及标准化研究中心(简称“国密中心”)发布的一系列密码算法,包括SM1、SM2、SM3和SM4。

其中,SM1是对称加密算法,SM2是非对称加密算法,SM3是哈希算法,SM4是对称加密算法。

二、国密算法的Java实现1. SM1算法的Java实现SM1算法是一种对称加密算法,它使用了Feistel结构和S盒代换。

在Java中,可以通过使用Bouncy Castle库来实现SM1算法。

以下是使用Bouncy Castle库实现SM1算法的代码示例:```javaimport org.bouncycastle.crypto.CipherParameters;import org.bouncycastle.crypto.engines.SM1Engine;import org.bouncycastle.crypto.params.KeyParameter;public class SM1Example {public static void main(String[] args) {byte[] key = new byte[]{/* 密钥 */};byte[] plaintext = new byte[]{/* 明文 */};SM1Engine engine = new SM1Engine();CipherParameters params = new KeyParameter(key);engine.init(true, params);byte[] ciphertext = new byte[plaintext.length];engine.processBlock(plaintext, 0, ciphertext, 0);System.out.println("密文:" + new String(ciphertext));}}```2. SM2算法的Java实现SM2算法是一种非对称加密算法,它基于椭圆曲线密码体制。

国密算法标识符-概述说明以及解释

国密算法标识符-概述说明以及解释

国密算法标识符-概述说明以及解释1.引言1.1 概述概述部分:国密算法是指中国自主设计开发的密码算法,具有自主知识产权和高度安全性。

随着信息安全的重要性日益凸显,国密算法在政府、金融、电信等领域得到了广泛应用。

为了更好地标识和管理国密算法,国家标准化管理委员会制定了国密算法标识符规范,旨在统一规范国密算法的命名和标识,提高算法的可识别性和可管理性。

本文旨在介绍国密算法标识符的相关内容,探讨其重要性和应用前景。

1.2 文章结构本文分为引言、正文和结论三个部分。

在引言部分,我们将对国密算法标识符的概念进行概述,介绍本文的结构和目的。

在正文部分,将分为三个小节,分别简要介绍国密算法、国密算法标识符的作用以及国密算法标识符的规范。

在结论部分,将对国密算法标识符的重要性进行总结,探讨其在未来的应用前景,并进行结语。

通过上述结构,读者可以清晰地了解本文的内容和逻辑顺序,从而更好地理解和掌握国密算法标识符的相关知识。

1.3 目的:本文旨在介绍国密算法标识符的重要性和规范,通过对国密算法标识符的概念、功能和应用进行深入探讨,帮助读者更好地理解和应用国密算法标识符。

同时,通过对国密算法标识符的规范要求和应用前景的分析,引导读者正确地使用国密算法标识符,提高信息安全保护的水平,促进国密算法在各个领域的推广和应用,进一步加强我国信息安全领域的发展。

2.正文2.1 国密算法简介国密算法,全称为“商用密码国家密码管理局核心密码技术的基础密码算法”,是中国自主研发的密码算法体系。

国密算法由国家密码局指导,并由相关单位进行研究与推广应用。

国密算法涵盖了对称加密、非对称加密、哈希函数、数字签名等多个领域,具有自主知识产权和完全自主创新。

与国际标准的密码算法相比,国密算法在保密性、完整性、不可否认性等方面具有较高的安全性。

国密算法体系由国家密码管理局统一规划,其中包括SM1、SM2、SM3和SM4等四种重要密码算法。

其中,SM1为对称加密算法,SM2为非对称加密算法,SM3为哈希函数,SM4为分组密码算法。

国密算法详解

国密算法详解

国密算法详解摘要:一、国密算法概述二、国密算法的应用领域三、国密算法的优势和特点四、国密算法的发展历程五、国密算法与其他加密算法的比较六、国密算法在网络安全中的作用和意义正文:一、国密算法概述国密算法,全称为国家密码算法,是由中国国家密码管理局制定和推广的一套加密算法。

国密算法包括对称加密算法、非对称加密算法、哈希算法等多种算法,广泛应用于网络通信、金融、税务、电力、石油等领域。

二、国密算法的应用领域国密算法在多个领域得到了广泛的应用,如:1.网络通信:国密算法可以用于保护网络通信的安全,防止数据泄露和篡改。

2.金融:国密算法可以用于保护金融信息的机密性和完整性,防止金融犯罪和欺诈。

3.税务:国密算法可以用于保护税务信息的机密性和完整性,防止税务信息的泄露和篡改。

4.电力:国密算法可以用于保护电力系统的安全和稳定,防止电力系统的恶意攻击和破坏。

5.石油:国密算法可以用于保护石油勘探和开采的数据安全,防止数据泄露和篡改。

三、国密算法的优势和特点国密算法具有以下优势和特点:1.安全性高:国密算法采用了先进的加密技术和算法,可以有效防止数据泄露和篡改。

2.可靠性高:国密算法经过了严格的测试和验证,可以保证算法的可靠性和正确性。

3.兼容性强:国密算法可以与其他加密算法和系统进行兼容,方便用户进行迁移和升级。

4.易用性强:国密算法采用了简单易用的接口和工具,方便用户进行加密和解密操作。

四、国密算法的发展历程国密算法的发展历程可以追溯到上世纪80 年代,当时中国开始研究密码学技术。

经过多年的发展,国密算法已经成为中国网络安全领域的重要技术之一。

五、国密算法与其他加密算法的比较国密算法与其他加密算法相比,具有以下优点:1.安全性高:国密算法采用了先进的加密技术和算法,可以有效防止数据泄露和篡改。

2.可靠性高:国密算法经过了严格的测试和验证,可以保证算法的可靠性和正确性。

3.兼容性强:国密算法可以与其他加密算法和系统进行兼容,方便用户进行迁移和升级。

国密算法芯片

国密算法芯片

国密算法芯片国密算法芯片是指使用国密算法进行加密和解密操作的芯片。

国密算法是我国自主研发的一系列密码算法,包括SM1对称加密算法、SM2非对称加密算法和SM3杂凑算法。

这些算法已经被广泛应用于我国政府、金融、电力、通信等关键行业的信息安全保护中。

国密算法芯片的研发和应用可以带来以下几个方面的好处:首先,国密算法芯片提供了更高级别的安全性。

国密算法是经过严格的安全评审和国家密码管理机构的认证的,具有很高的安全性。

使用国密算法芯片进行加密和解密操作可以有效地防止信息被非法获取和篡改,确保数据的机密性和完整性。

其次,国密算法芯片具有较高的效率。

国密算法芯片采用了一系列优化的算法和硬件实现方式,能够在保证安全性的前提下提供更高的加密和解密速度。

这对于一些对计算速度要求较高的应用场景,比如云计算、大数据分析等,非常重要。

再次,国密算法芯片降低了对国外算法的依赖。

在过去,我国的信息安全很大程度上依赖于国外的算法和产品,存在一定的安全风险和技术壁垒。

而国密算法芯片的研发和应用,使得我国能够自主掌握核心技术,提高了信息安全的可控性和自主权。

最后,国密算法芯片促进了国产芯片产业的发展。

国密算法芯片的研发需要涉及芯片设计、制造、封装等多个环节,涉及到的产业链较长。

国产芯片的生产和推广应用,有利于提升我国芯片产业的整体水平,促进高技术产业的发展,提高国家核心竞争力。

当然,国密算法芯片的研发和应用也面临一些挑战。

首先,国密算法芯片的标准化和推广仍需完善。

在国内外算法标准的更新和变化中,如何保持国密算法芯片的稳定性和兼容性,需要进一步研究和探索。

此外,国密算法芯片的安全性也是一个重要问题。

由于国密算法芯片的广泛应用,一旦发生漏洞或者被攻击,将会造成严重的安全后果。

因此,国密算法芯片的安全保护和风险控制,需要加强相关的研究和技术支持。

总之,国密算法芯片的研发和应用对于我国信息安全和芯片产业的发展具有重要意义。

今后,需要加强相关研究和技术推广,提高国密算法芯片的安全性和效率,促进国产芯片产业的发展,提升我国的信息安全保护水平。

国密算法详解

国密算法详解

国密算法详解(原创实用版)目录一、国密算法的概念与分类1.国密算法的定义2.国密算法的分类二、国密算法的具体算法介绍1.SM1 算法2.SM3 算法3.SMS4 算法三、国密算法的应用与意义1.在商用密码领域的应用2.对我国信息安全的重要意义正文一、国密算法的概念与分类国密算法,即国家密码算法,是我国自主研发的一类密码算法。

它包括了多种不同的加密和哈希算法,以满足不同场景下的安全需求。

根据其功能和特点,国密算法可以分为以下几类:1.对称加密算法:这类算法主要用于加密数据,保证数据的机密性。

其中包括了 SM1、SMS4 等算法。

2.非对称加密算法:这类算法主要用于加密密钥和数字签名,以保证数据的完整性和真实性。

我国自主研发的非对称加密算法主要包括 SM2 算法。

3.哈希算法:这类算法主要用于生成数据或消息的固定长度的摘要,以确保数据的唯一性和不可篡改性。

我国自主研发的哈希算法主要包括 SM3 算法。

二、国密算法的具体算法介绍1.SM1 算法:SM1 是我国自主研发的对称加密算法,加密强度为 128 位,采用硬件实现。

它主要用于保护国家秘密信息和商业秘密信息,具有较高的安全性和可靠性。

2.SM3 算法:SM3 是我国自主研发的密码杂凑算法,杂凑值长度为 32 字节。

它与 SM2 算法同期公布,主要用于数据完整性校验和数字签名等场景。

SM3 算法在安全性和性能方面都表现出良好的优势。

3.SMS4 算法:SMS4 是我国自主研发的对称加密算法,随 WAPI 标准一起发布。

它主要用于无线局域网(WLAN)的安全通信,可以提供较高的加密强度和抗攻击能力。

三、国密算法的应用与意义1.在商用密码领域的应用:国密算法已经在我国商用密码领域得到广泛应用,如金融、电子商务、信息安全等领域。

采用国密算法可以有效保障信息安全,防止数据泄露、篡改和伪造等安全威胁。

2.对我国信息安全的重要意义:国密算法的研发和应用,有力地提升了我国信息安全水平,保障了国家安全和公民隐私。

国密算法对照

国密算法对照

国密算法对照
国密即国家密码局认定的国产密码算法。

例如:在门禁应用中,采用SM1算法进行身份鉴别和数据加密通讯,实现卡片合法性的验证,保证身份识别的真实性。

安全是关系国家、城市信息、行业用户、百姓利益的关键问题。

国家密码管理局针对现有重要门禁系统建设和升级改造应用也提出指导意见,加强芯片、卡片、系统的标准化建设。

国密门禁系统的升级的案例也逐渐增多,基于自主国产知识产权的CPU卡、CPU卡读写设备及密钥管理系统广泛受到关注。

一些厂商在2009年推出CPU卡安全门禁系列产品,在2010年北京安博会上,向业界展示出系列CPU卡门禁系统、系列安全门禁读卡器以及基于CPU 卡技术的一卡通系统等主流产品和系统。

这些厂商是全国推广的国密门禁产品的先驱者,使系列CPU卡门禁系统广泛应用于政府、监狱、司法、军工企业和大型公共智能建筑等高安全领域。

国密算法的科普

国密算法的科普

国密算法的科普⼀、国密算法的背景1、国家密码管理局1、密码算法是保障信息安全的核⼼技术,尤其是我国最关键的银⾏业核⼼领域长期以来都是沿⽤MD5、SHA-256、3DES、AES、RSA等这些国际通⽤的密码算法体系及相关标准。

随着计算机性能提升,原本被认为安全的加密算法,也越来越容易破解。

•1997年,RSA公司破解DES⽤时76天,1998年⽤时41天,1999年EFF仅⽤22⼩时。

•2004年,美国加州圣巴巴拉召开的国际密码⼤会上,王⼩云宣读了⾃⼰和研究团队对于MD4、MD5、HAVAL-128和RIPEMD四个国际著名密码算法的破译结果,实际是碰撞算法•2010年5⽉,密歇根⼤学宣布发现漏洞导致RSA 1024位私钥加密被破解2、随着⾦融安全上升到国家安全⾼度,近年来国家有关机关和监管机构站在国家安全和长远战略的⾼度提出了推动国密算法应⽤实施、加强⾏业安全可控的要求。

摆脱对国外技术和产品的过度依赖,建设⾏业⽹络安全环境,增强我国⾏业信息系统的“安全可控”能⼒显得尤为必要和迫切。

3、基于这种⼤背景下,国家密码管理局(国家商⽤密码管理办公室与中央密码⼯作领导⼩组办公室)逐步推出公布国内⾃主可控的商⽤密码算法标准,即国密系列算法。

2、国密和商密国密算法是国家密码管理局制定颁布的⼀系列的密码标准,即已经被国家密码局认定的国产密码算法,⼜称商⽤密码(是指能够实现商⽤密码算法的加密,解密和认证等功能的技术),保障在⾦融,医疗等领域的信息传输安全。

国密与商密,⼀般认为是同义词,是指由国家密码管理局公布认定的系列国产商⽤密码算法。

根据1999年10⽉7⽇国务院发布实施的《商⽤密码管理条例》第⼀章第⼆条规定:“本条例所称商⽤密码,是指对不涉及国家秘密内容的信息进⾏加密保护或者安全认证所使⽤的密码技术和密码产品”。

3、国密算法常见的国密算法主要有以下⼏种:•SM1:对称加密算法,与AES相当,算法不公开,专供硬件,主要⽤于智能IC卡。

国产密码算法及应用

国产密码算法及应用

国产密码算法及应用商用密码;是指能够实现商用密码算法的加密、解密和认证等功能的技术..包括密码算法编程技术和密码算法芯片、加密卡等的实现技术..商用密码技术是商用密码的核心;国家将商用密码技术列入国家秘密;任何单位和个人都有责任和义务保护商用密码技术的秘密..商用密码的应用领域十分广泛;主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护..比如各种安全认证、网上银行、数字签名等..为了保障商用密码安全;国家商用密码管理办公室制定了一系列密码标准;包括SSF33.SM1SCB2.SM2.SM3.SM4.SM7、SM9、祖冲之密码算法等等..其中SSF33.SM1.SM4.SM7、祖冲之密码是对称算法;SM2.SM9是非对称算法;SM3是哈希算法..目前已经公布算法文本的包括SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组密码算法等..一、国密算法简介1.SM1对称密码国密SM1算法是由国家密码管理局编制的一种商用密码分组标准对称算法;分组长度为128位;密钥长度都为128比特;算法安全保密强度及相关软硬件实现性能与AES相当;算法不公开;仅以IP核的形式存在于芯片中..采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品;广泛应用于电子政务、电子商务及国民经济的各个应用领域包括国家政务通、警务通等重要领域..2.SM2椭圆曲线公钥密码算法SM2算法就是ECC椭圆曲线密码机制;但在签名、密钥交换方面不同于ECDSA.ECDH等国际标准;而是采取了更为安全的机制..国密SM2算法标准包括4个部分;第1部分为总则;主要介绍了ECC基本的算法描述;包括素数域和二元扩域两种算法描述;第2部分为数字签名算法;这个算法不同于ECDSA算法;其计算量大;也比ECDSA复杂些;也许这样会更安全吧;第3部分为密钥交换协议;与ECDH功能相同;但复杂性高;计算量加大;第4部分为公钥加密算法;使用ECC公钥进行加密和ECC私钥进行加密算法;其实现上是在ECDH上分散出流密钥;之后与明文或者是密文进行异或运算;并没有采用第3部分的密钥交换协议产生的密钥..对于SM2算法的总体感觉;应该是国家发明;其计算上比国际上公布的ECC算法复杂;相对来说算法速度可能慢;但可能是更安全一点..设需要发送的消息为比特串M;len为M的比特长度..为了对明文M进行加密;作为加密者的用户应实现以下运算步骤:步骤1: 用随机数发生器产生随机数k∈1;n -1;步骤2: 计算椭圆曲线点C1=kG=X1 ;Y1 ;将C1的数据类型转换为比特串;步骤3: 计算椭圆曲线点S=hP ;若S是无穷远点;则报错;步骤4: 计算椭圆曲线点kP =X2;Y2;将坐标X2;Y2的数据类型转换为比特串;步骤5: 计算t=KDFx2 ll y2 ;len;若t为全0比特串;则返回步骤1;步骤6: 计算C2 = M ⊕ t;步骤7: 计算C3=Hashx2 ll M ll y2;步骤8: 输出密文C=C1 ll C2 ll C3..2010年底;国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”SM2算法..为保障重要经济系统密码应用安全;国家密码管理局于2011年发布了关于做好公钥密码算法升级工作的通知;要求“自2011年3月1日期;在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用SM2算法..自2011年7月1日起;投入运行并使用公钥密码的信息系统;应使用SM2算法..”近期;人民银行组织召开多次专题会议讨论研究金融领域国产加密算法升级改造的相关工作..3.SM3杂凑算法又叫文摘算法;也有叫杂凑算法的..功能与MD5;SHA-1相同..产生256位的编码..该算法位不可逆的算法..具体算法也是保密..SM3密码杂凑算法给出了杂凑函数算法的计算方法和计算步骤;并给出了运算示例..此算法适用于商用密码应用中的数字签名和验证;消息认证码的生成与验证以及随机数的生成;可满足多种密码应用的安全需求..在SM2.SM9标准中使用..此算法对输入长度小于2的64次方的比特消息;经过填充和迭代压缩;生成长度为256比特的杂凑值;其中使用了异或;模;模加;移位;与;或;非运算;由填充;迭代过程;消息扩展和压缩函数所构成..SM3算法包括预处理、消息扩展和计算Hash值三部分..预处理部分由消息填充和消息分组两部分组成..首先将接收到的消息末尾填充一个“1” ; 再添加k个“0”;使得填充后的数据成为满足length =448mod512bit的数据长度;再在末尾附上64bit消息长度的二进制表示数; 然后将消息分成512bit的子块;最后将每个512bit的消息子块扩展成132个字用于Hash值的计算..SM3算法计算流程图如图所示..SM3算法的Hash运算主要是在压缩函数部分;压缩函数共包含64轮;每轮包括12步运算;64轮循环计算结束后;再将计算结果与输入到本轮计算的初始数据进行异或运算;即上一次Hash运算的Hash值输出与输入到本轮计算的初始数据异或得到本次Hash值输出;Hn即为最终的Hash值;H0为设计者提供的初始值IV..图 SM3算法流程图4.SM4对称算法此算法是一个分组算法;用于无线局域网产品..该算法的分组长度为128比特;密钥长度为128比特..加密算法与密钥扩展算法都采用32轮非线性迭代结构..解密算法与加密算法的结构相同;只是轮密钥的使用顺序相反;解密轮密钥是加密轮密钥的逆序..定义反序变换R为:RA0;A1;A2;A3=A3;A2;A1;A0;Ai∈Z322;i = 0;1;2;3..设明文输入为X0;X1;X2;X3∈Z3224;密文输出为Y0;Y1;Y2;Y3∈Z3224 ;轮密钥为rk i ∈Z322..则本算法的加密变换为:X i+4 = FX i;X i+1;X i+2; X i+3;rk i= Xi⊕TX i+1⊕X i+2⊕ X i+3⊕rk i;i=0;1;2;3 (31)Y0;Y1;Y2;Y3= R X32;X33;X34;X35=X35;X34;X33;X32..本算法的解密变换与加密变换结构相同;不同的仅是轮密钥的使用顺序..加密时轮密钥的使用顺序为:rk0.rk1.….rk31..解密时轮密钥的使用顺序为: rk31; rk30; …; rk0..SM4算法的优点是软件和硬件实现容易;运算速度快;但该算法的缺点是消息安全取决于对密钥的保护;泄漏密钥就意味着任何人都能对消息进行密码和解密..由于其加密过程和解密过程互逆;这两个过程均使用相同的保密密钥;使得对称密钥加密体制的适用范围受到了很大限制..5.SM7对称密码SM7算法是一种分组密码算法;分组长度为128比特;密钥长度为128比特..SM7的算法文本目前没有公开发布..SM7适用于非接IC卡应用包括身份识别类应用门禁卡、工作证、参赛证;票务类应用大型赛事门票、展会门票;支付与通卡类应用积分消费卡、校园一卡通、企业一卡通、公交一卡通..6.SM9非对称算法SM9是基于对的标识密码算法;与SM2类似;包含四个部分: 总则;数字签名算法;密钥交换协议以及密钥封装机制和公钥加密算法..在这些算法中使用了椭圆曲线上的对这一个工具;不同于传统意义上的SM2算法;可以实现基于身份的密码体制;也就是公钥与用户的身份信息即标识相关;从而比传统意义上的公钥密码体制有许多优点;省去了证书管理等..双线性对的双线性的性质是基于对的标识密码SM2中的总则部分同样适用于SM9;由于SM9总则中添加了适用于对的相关理论和实现基础..SM9给出了数字签名算法包括数字签名生成算法;数字签名验证算法;密钥交换协议;以及密钥封装机制和公钥加密算法包括密钥封装算法;加密盒解密算法..数字签名算法适用于接收者通过签名者的标识验证数据的完整性和数据发送者的身份;也适用于第三方确定签名及所签数据的真实性..密钥交换协议可以使用通信双方通过双方的标识和自身的私钥经过两次或者可选三次信息传递过程;计算获取一个由双方共同决定的共享秘密密钥..密钥封装机制和公钥加密算法中;利用密钥封装机制可以封装密钥给特定的实体..公钥加密和解密算法即基于标识的非对称秘密算法;该算法使消息发送者可以利用接收者的标识对消息进行加密;唯有接收者可以用相应的私钥对该密文进行解密;从而获取消息..基于对的算法中同样使用了国家密管理局批准的SM3密码杂凑算法和随机数发生器;密钥封装机制和公钥加密算法中使用了国家密码管理局批准的对称密码算法和消息认证码函数..7.祖冲之对称算法二、祖冲之密码算法由中国科学院等单位研制;运用于下一代移动通信4G网络LTE中的国际标准密码算法..祖冲之密码算法ZUC的名字源于我国古代数学家祖冲之;祖冲之算法集是由我国学者自主设计的加密和完整性算法;是一种流密码..它是两个新的LTE算法的核心;这两个LTE算法分别是加密算法128-EEA3和完整性算法128-EIA3..ZUC算法由3个基本部分组成;依次为: 1.比特重组;2.非线性函数F;3.线性反馈移位寄存器LFSR..三、国密算法行业应用2014年;中国银联发布了中国银联IC卡技术规范和中国银联银行卡联网联合技术规范;在兼容最新国际通用技术标准的基础上支持国产密码;丰富了安全算法体系;促进了信息安全;自主可控水平实现提高..1.长沙银行长沙银行是首批开展国密算法金融IC卡试点银行之一;此次发行金融IC卡中采用了我国安全可控的国密算法芯片..应用在长沙银行金融IC卡上的大唐CE3D系列双界面金融安全芯片采用了32位CPU内核;拥有高达80KB的EEPROM数据存储空间;符合PBOC3.0中SM2/3/4算法升级要求;支持JAVA操作技术;具有高安全、高性能、低功耗的特点;实现国密算法的金融IC卡成功跨行交易..2.鹤壁银行2014年5月12日;PBOC3.0国密多应用金融IC卡项目产品展示会暨示范应用推广研讨会在河南鹤壁召开..在本次研讨会上;全球首张加载PBOC3.0国产密码算法的金融IC卡正式亮相;并在鹤壁银行实现了首批试商用发卡..作为国产智能卡芯片的佼佼者;同方微电子为本次发卡提供了符合规范的芯片产品——THD86..该项目通过推进金融信息系统国产密码的应用;将为打破国外密码算法及产品在金融领域应用的垄断局面、全面带动国内信息安全及金融服务相关产业发展提供有力保障;实现国家金融安全的重大战略..金融IC卡国产密码算法应用示范项目自2013年5月份开始已取得了阶段性的成果;分别完成了支持国产密码算法的银行端系统改造、ATM、POS、刷卡器、加密机、IC卡芯片等一系列产品的研发和接入银行系统;组成了包括芯片厂商、COS厂商、卡商、密码设备供应商、支撑系统提供商及银行核心系统供应商等的金融IC卡国产密码应用的完整产业链..同方微电子在此项目中应用的THD86是国内首款32位CPU双界面卡芯片;国内首款通过银联芯片安全认证的双界面卡芯片;国内率先通过国密二级认证的双界面卡芯片;支持金融应用扩展;符合PBOC3.0标准;支持国外密码算法和国产密码双算法体系..THD86在PBOC3.0国密多应用金融IC卡示范应用中的成功;将对我国普及推广该项目成果具有重要的示范作用..3.工商银行工商银行根据国密算法应用实施总体规划;从2012年下半年开始;工商银行启动国密算法及产品的相关研究和测评工作;并于2013年开始在电子认证、网上银行、金融IC卡及移动支付等关键领域率先启动国密算法应用试点工作..客户电子认证系统是工商银自建的为网上银行客户提供电子认证服务的系统;在2013年8月完成国密算法应用改造以及机房、网络等环境改造..改造后增加了国密SM2算法证书的后台管理功能;并配合网上银行实现国密U盾的签发和交易数据签名验签功能..该系统在2013年11月通过国密局安全审查;成为金融领域自建电子认证系统第一家通过国家密码管理局安全性审查的单位..同时;工商银行还在网上银行、金融IC卡及移动支付领域启动了国密算法应用改造工作;并将金融IC卡及移动支付的国密试点项目向发改委申报了“金融IC卡与密码应用专项”;在2014年1月个人网上银行系统、金融IC卡及移动支付系统都顺利完成国密算法技术改造;经过分行对相关功能进行验收后;目前已经在部分分行启动了业务试点工作..2014年9月;国家密码局、工信部、公安部、银行卡检测中心等单位组成联合检查小组;对重庆分行支持国密算法的IC卡及移动支付试点情况进行中期检查;检查组对工商银行金融IC卡及移动支付国密算法实施工作的总体进度较为满意;并对其实施效果给予了高度评价..。

国密算法详解范文

国密算法详解范文

国密算法详解范文国密算法,也称为“中国密码算法”,是中国政府主导的密码算法研发项目,旨在保障国家信息安全。

国密算法的全称是“商用密码算法标准”,具体包括SM1、SM2、SM3、SM4四个算法。

一、SM1算法SM1是一种对称密码算法,即加密和解密过程使用相同的密钥。

SM1算法采用了数据加密标准(DES)的结构,但进行了一些变化和优化,以提高安全性和效率。

SM1算法的密钥长度为128位,数据块长度为64位,总共进行4轮运算。

SM1算法在保密性和抗干扰能力方面优于DES算法,可以广泛应用于国家机密信息的加密和解密过程中。

二、SM2算法SM2是一种非对称密码算法,即加密和解密过程使用不同的密钥。

SM2算法基于椭圆曲线密码体制(Elliptic Curve Cryptography,简称ECC),其密钥长度为256位,RSA算法的密钥长度至少要达到2048位才能具有相同的安全性。

SM2算法具有高强度、高效率和高安全性等特点,可以广泛应用于数字签名、密钥交换和密钥协商等场景。

三、SM3算法SM3是一种哈希算法,用于将任意长度的消息转换为固定长度的摘要。

SM3算法是中国政府自主设计的密码哈希算法,使用了类似于SHA-256的结构,但进行了一些改进和优化。

SM3算法的摘要长度为256位,具有很高的安全性和抗碰撞能力,适用于数字签名、消息认证码和密钥派生等场景。

四、SM4算法SM4是一种对称密码算法,采用分组密码的设计思路,密钥长度为128位,数据块长度为128位,总共进行32轮运算。

SM4算法在保密性、抗攻击和性能方面比国际上应用广泛的AES算法具有一定优势。

SM4算法适用于各种应用和系统,尤其在物联网等信息安全领域有重要的应用价值。

总结起来,国密算法是中国自主研发的密码算法标准,包括SM1、SM2、SM3、SM4四个算法。

SM1和SM4是对称密码算法,SM2是非对称密码算法,SM3是哈希算法。

这些算法在保密性、抗攻击和性能方面都有一定的优势,可以广泛应用于各种信息安全场景中。

国密算法介绍

国密算法介绍

国家商用密码算法简介密码学是研究编制密码和破译密码的技术科学,起源于隐秘消息传输,在编码和破译中逐渐发展起来。

密码学是一个综合性的技术科学,与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。

密码学的基本思想是对敏感消息的保护,主要包括机密性,鉴别,消息完整性和不可否认性,从而涉及加密,杂凑函数,数字签名,消息认证码等。

一.密码学简介密码学中应用最为广泛的的三类算法包括对称算法、非对称算法、杂凑算法。

1.1 对称密码对称密码学主要是分组密码和流密码及其应用。

分组密码中将明文消息进行分块加密输出密文区块,而流密码中使用密钥生成密钥流对明文消息进行加密。

世界上应用较为广泛的包括DES、3DES、AES,此外还有Serpent,Twofish,MARS 和RC6等算法。

对称加密的工作模式包括电码本模式(ECB 模式),密码反馈模式(CFB 模式),密码分组链接模式(CBC 模式),输入反馈模式(OFB 模式)等。

1.2 非对称密码公钥密码体制由Diffie和Hellman所提出。

1978年Rivest,Shamir和Adleman提出RAS密码体制,基于大素数分解问题。

基于有限域上的离散对数问题产生了ElGamal密码体制,而基于椭圆曲线上的离散对数问题产生了椭圆曲线密码密码体制。

此外出现了其他公钥密码体制,这些密码体制同样基于困难问题。

目前应用较多的包括RSA、DSA、DH、ECC等。

1.3杂凑算法杂凑算法又称hash函数,就是把任意长的输入消息串变化成固定长的输出串的一种函数。

这个输出串称为该消息的杂凑值。

一个安全的杂凑函数应该至少满足以下几个条件。

1)输入长度是任意的;2)输出长度是固定的,根据目前的计算技术应至少取128bits长,以便抵抗生日攻击;3)对每一个给定的输入,计算输出即杂凑值是很容易的;4)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。

国密算法标准

国密算法标准

国密算法标准密码算法在信息安全领域扮演着至关重要的角色,它们用于保护我们的个人隐私和机密信息。

近年来,国密算法标准在中国的密码算法领域取得了重要进展。

本文将介绍国密算法标准的背景、意义以及具体的应用。

1. 背景与发展历程自从密码算法的发展以来,一直存在着各种国际标准,比如美国的DES和AES,以及国内的SM1、SM2、SM3等算法。

然而,由于国际标准的控制权在别国手中,中国在信息安全方面依然面临诸多挑战和风险。

为了解决这一问题,国家密码局于2003年启动了国密算法的研发工作。

经过多年的研究和努力,国密算法标准于2010年发布,并得到了广泛应用。

2. 国密算法标准的意义2.1 提升信息安全水平采用国际标准的密码算法存在着信息泄漏、篡改和伪造等问题,因为别国有可能控制这些算法。

国密算法标准的出现填补了这一安全漏洞,提升了中国在算法安全方面的自主可控水平。

2.2 保护国家安全利益信息安全关乎国家和个人的核心利益。

国密算法标准的使用可以有效保护国家的敏感信息不被外部势力获取,从而维护国家的安全。

2.3 推动密码技术创新国密算法标准的研发和推广,促进了我国密码技术的发展和创新。

它为国内外学术界和企业提供了一个统一的基准,从而推动了密码技术的进步。

3. 国密算法的具体应用国密算法标准包括了SM1、SM2、SM3、SM4等多个算法。

这些算法在不同的领域有着广泛的应用。

3.1 SM1SM1是一种对称密码算法,用于数据的加密和解密。

它适用于多种场景,比如网络传输数据的加密、数据存储的保护等。

3.2 SM2SM2是一种非对称密码算法,用于密钥的生成、加密和解密。

它可以应用于数据签名、身份认证等领域,提供了高强度的加密和安全性能。

3.3 SM3SM3是一种密码散列函数,用于数据的完整性校验和签名。

它可以应用于数字签名、消息认证等场景,确保数据不被篡改和伪造。

3.4 SM4SM4是一种分组密码算法,用于数据的加密和解密。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国密算法(SM1/2/4)芯片用户手册(UART接口)注意:用户在实际使用时只需通过UART口控制国密算法芯片即可,控制协议及使用参考示例见下面QQ:1900109344(算法芯片交流)目录1.概述 (3)2.基本特征 (3)3.通信协议 (3)3.1.物理层 (3)3.2.链路层 (4)3.2.1.通讯数据包定义 (4)3.2.2.协议描述 (4)3.3.数据单元格式 (5)3.3.1.命令单元格式 (5)3.3.2.应答单元格式 (5)3.4.SM1算法操作指令 (6)3.4.1.SM1 加密/解密 (6)3.4.2.SM1算法密钥导入指令 (6)3.5.SM2算法操作指令 (7)3.5.1.SM2_Sign SM2签名 (7)3.5.2.SM2_V erify SM2验证 (7)3.5.3.SM2_Enc SM2加密 (8)3.5.4.SM2_Dec SM2解密 (9)3.5.5.SM2_GetPairKey 产生SM2密钥对 (9)3.5.6.SM2算法公钥导入 (10)3.6.SM4算法操作指令 (10)3.6.1.SM4加密/解密 (10)3.6.2.SM4算法密钥导入指令 (11)3.7.校验/修改Pin指令 (11)3.8.国密算法使用示例(Uart口命令流) (12)3.8.1.SM1算法操作示例 (12)3.8.2.SM2算法操作示例 (13)3.8.3.SM4算法操作示例 (14)3.9.参考数据 (15)3.9.1.SM1参考数据 (15)3.9.2.SM2参考数据 (15)3.9.3.SM4参考数据 (17)1.概述本文档适用于使用国密算法芯片进行终端产品开发的用户。

终端开发者通过Uart口发命令的方式操作国密算法芯片进行数据交换,产品应用开发。

通过阅读本文档,终端开发者可以在无需考虑算法实现细节情况下,迅速完成产品开发。

2.基本特征芯片的基本特征见下表:3.通信协议3.1.物理层国密算法芯片采用系统供电方式,电压5V或者3.3V。

国密芯片串口与系统MCU串口相连,异步全双工通讯,波特率默认为115200bps。

数据格式为1位起始位、8位数据位和1位停止位,无校验位。

系统MCU向国密算法芯片发送命令时,在同一个命令内,相连两个发送字符之间的间隔不应大于10个字符时间,否则芯片可能会认为命令超时导致无任何响应。

3.2.链路层3.2.1.通讯数据包定义通信数据包如下图所示:通讯数据包项目、长度、含义说明对应见下表:通讯数据包项目含义一览表3.2.2.协议描述系统MCU首先发送一个命令数据包,发送完成后等待来自国密芯片的应答数据包。

国密芯片正确收到命令数据包后,便执行命令,然后回应应答数据包。

3.3.数据单元格式3.3.1.命令单元格式MCU向国密芯片发送的数据包称为命令数据包,命令数据包的格式如下图所示:命令单元格式见下表:命令单元格式一览表3.3.2.应答单元格式国密芯片向系统MCU应答数据包,如下图所示:应答单元格式见下表:应答单元格式一览表3.4.SM1算法操作指令3.4.1.SM1 加密/解密命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.4.2.SM1算法密钥导入指令命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.5.SM2算法操作指令3.5.1.SM2_Sign SM2签名命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.5.2.SM2_Verify SM2验证命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.5.3.SM2_Enc SM2加密命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.5.4.SM2_Dec SM2解密命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.5.5.SM2_GetPairKey 产生SM2密钥对命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.5.6.SM2算法公钥导入命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.6.SM4算法操作指令3.6.1.SM4加密/解密命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.6.2.SM4算法密钥导入指令命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.7.校验/修改Pin指令命令数据单元:命令数据单元含义一览表应答数据单元:应答数据单元含义一览表3.8.国密算法使用示例(Uart口命令流)说明:芯片出厂时的Pin是8字节:0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06只有Pin验证通过了才能导入16字节的SM1密钥,否则命令会返回失败,以后SM1的加解密都以此密钥来计算。

只有Pin验证通过了才能生成SM2密钥对或导入64字节的SM2公钥,否则命令会返回失败,以后SM2的加解密都以此密钥来计算。

默认的ID为16字节:0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38只有Pin验证通过了才能导入16字节的SM4密钥,否则命令会返回失败,以后SM4的加解密都以此密钥来计算。

下面是Uart口操作国密算法芯片的命令流3.8.1.SM1算法操作示例校验Pin的,Uart口命令流,红色部分为初始Pin向国密芯片发送:02 00 0a 08 00 06 06 06 06 06 06 06 06 08 03//校验Pin国密芯片返回:02 00 02 00 00 00 03//执行正确SM1密钥导入向国密芯片发送:颜色部分为16字节密钥02 00 12 70 CC A3 D1 9F 9E 2E EC 46 43 92 DA B4 7B 70 7D 3D 30 8F 03返回:02 00 02 00 00 00 03//命令执行正确成功导入密钥后,以后可以直接发送加解密指令即可,除非需要更改新的密钥SM1加密向国密芯片发送:颜色部分为16字节明文02 00 12 70 00 C8 F9 D7 00 F8 00 B6 AA 1A 3F 02 6E 2C 68 6B 4C58 03国密芯片返回:颜色部分为加密后的密文02 00 12 00 00 C5 41 C3 47 BF 63 62 8D 26 62 05 E5 A8 C8 B8 98 D7 03SM1解密向国密芯片发送:颜色部分为16字节密文02 00 12 70 01 C5 41 C3 47 BF 63 62 8D 26 62 05 E5 A8 C8 B8 98 A6 03国密芯片返回:颜色部分为解密后的明文02 00 12 00 00 C8 F9 D7 00 F8 00 B6 AA 1A 3F 02 6E 2C 68 6B 4C 28 033.8.2.SM2算法操作示例校验Pin的,Uart口命令流,红色部分为初始Pin向国密芯片发送:02 00 0a 08 00 06 06 06 06 06 06 06 06 08 03//校验Pin国密芯片返回:02 00 02 00 00 00 03//执行正确SM2算法产生密钥对向国密芯片发送:02000280cd4d03国密芯片返回:64字节公钥+32字节私钥,浅蓝色部分是公钥,橙色是私钥02 00 62 00 00 73 98 34 31 BF E0 7B F6 EE BD 72 6E CD 08 3C 78 2E C1 ED 39 00 37 14 4F CB E6 2C 6A FD 09 0C D8 2E 94 83 34 5E B9 D5 0E EC DF A9 7C 91 29 34 A8 80 14 82 2A 03 5E F4 E6 23 7E 3D 5E 29 60 A2 5E 1C BC FE C9 82 A9 C6 84 0B EC 7F 20 07 B5 97 20 FF D2 E0 6C 03 07 00 25 0E C1 E4 86 C0 A4 28 9A 5D 03SM2算法公钥导入:向国密芯片发送:颜色部分为64字节公钥02004480ce45 AC 4F 39 52 89 F9 CC FB D1 22 35 87 0E FF 20 FA 5F 57 B9 65 CE 89 95 E9 41 44 D2 7A C7 1B FA 6A 1B D9 EC 31 0E 73 42 BF 38 5B 91 78 B3 8F FE 13 69 42 33 42 20 07 60 97 5D 6E E6 E8 EC C3 BC4003国密芯片返回:02 00 02 00 00 00 03//执行正确成功生成密钥对或导入公钥后,以后可以直接发送加解密签名验签指令即可,除非需要更改新的密钥SM2加密向国密芯片发送:颜色部分为3字节明文02000580ca1122334a03国密芯片返回:颜色部分为加密后的密文02 00 66 00 00 04 EB E7 18 18 61 FA CE 1E 29 EC 10 3E 8F 40 7A A9 62 B2 2B 9F E3 7D 21 02 2B 57 64 3D 58 2A 3C 62 7C C4 4D BC 0C 38 AC BA 32 C3 C1 AC D6 AF 3B 78 37 B9 09 E7 01 00 32 CD AD 04 26 8C 79 93 B0 A9 49 1D 86 6F 26 78 D0 FC E4 32 5F 02 88 59 AA 32 11 B0 A5 FB 0E 6B 9C A7 16 18 AA F9 87 44 D5 E2 B6 45 85 B4 03SM2解密向国密芯片发送:颜色部分密文02006680cb04 EB E7 18 18 61 FA CE 1E 29 EC 10 3E 8F 40 7A A9 62 B2 2B 9F E3 7D 21 02 2B 57 64 3D 58 2A 3C 62 7C C4 4D BC 0C 38 AC BA 32 C3 C1 AC D6 AF 3B 78 37 B9 09 E7 01 00 32 CD AD 04 26 8C 79 93 B0 A9 49 1D 86 6F 26 78 D0 FC E4 32 5F 02 88 59 AA 32 11 B0 A5 FB 0E 6B 9C A7 16 18 AA F9 87 44 D5 E2 B6 45 85FF03国密芯片返回:颜色部分为解密后的明文02 00 05 00 00 11 22 33 00 03SM2签名向国密芯片发送:颜色部分为2字节待签消息02000480c622335703国密芯片返回:颜色部分为64字节签名值02 00 42 00 00 F9 98 C7 43 82 90 94 BB CA CB FF C9 A3 70 5D A7 37 D3 CE B9 56 AF 51 D0 66 58 BA B8 1F F1 A6 AA 68 B1 6C 65 D9 99 5D A6 75 0C 63 F1 C3 58 62 21 41 F5 70 8A DB 96 8A A3 FD 68 04 7D 9C E8 FB E5 07 03SM2验签向国密芯片发送:绿色部分为消息+蓝灰色64字节签名值02004480c82233F9 98 C7 43 82 90 94 BB CA CB FF C9 A3 70 5D A7 37 D3 CE B9 56 AF 51 D0 66 58 BA B8 1F F1 A6 AA 68 B1 6C 65 D9 99 5D A6 75 0C 63 F1 C3 58 62 21 41 F5 70 8A DB 96 8A A3 FD 68 04 7D 9C E8 FB E55E03国密芯片返回02 00 02 00 00 00 03//验证成功3.8.3.SM4算法操作示例校验Pin的,Uart口命令流,红色部分为初始Pin向国密芯片发送:02 00 0a 08 00 06 06 06 06 06 06 06 06 08 03//校验Pin国密芯片返回:02 00 02 00 00 00 03//执行正确SM4密钥导入向国密芯片发送:颜色部分为16字节密钥02 00 12 90 CC 9A 0E BD 94 4C 11 C1 17 C2 84 A8 2A 89 FD CF 97 82 03返回:02 00 02 00 00 00 03//命令执行正确成功导入密钥后,以后可以直接发送加解密指令即可,除非需要更改新的密钥SM4加密向国密芯片发送:颜色部分为16字节明文02 00 12 90 00 EE 71 C4 14 53 16 11 10 33 89 CE F1 2F 8C 51 88 64 03国密芯片返回:颜色部分为加密后的密文02 00 12 00 00 01 08 CA 30 FE C6 AB 70 EA ED 36 BD AF CA 9F A1 C7 03SM4解密向国密芯片发送:颜色部分为16字节密文02 00 12 90 01 01 08 CA 30 FE C6 AB 70 EA ED 36 BD AF CA 9F A1 56 03国密芯片返回:颜色部分为解密后的明文02 00 12 00 00 EE 71 C4 14 53 16 11 10 33 89 CE F1 2F 8C 51 88 F4 033.9.参考数据3.9.1.SM1参考数据第一组密钥:DF E6 AC 30 A5 EE 6A E3 A8 7E 25 97 C7 08 C3 ED明文:D3 32 DB 31 FF B0 E6 B4 DF 82 05 56 F2 24 71 1A密文:0AB725C647C7AA1FD81FC653934E5AE2第二组密钥:AA E0 CD 75 F2 14 22 CF 27 A5 0F 7A 9E CE 28 0E明文:A5 90 CA 38 9D A3 B0 FC 7D 82 4D 9C 37 02 1A C6密文:DC15E6752A3EFF748B74666842D6D3AD3.9.2.SM2参考数据SM2密钥对第一组公钥:BBA50EF54EB46FDE074913478AC1F5D2629A721E5E38019C17B2C0FBA1B2AB1C50FB3 C1597EBD8A1675D53CB20E4C1582EEC78E5054626EDD0D13E8984152928私钥:7B81B501DDD51E98D4EC6EBE5D221D796BB499BCEDF51533627FED6FE4FDD523第二组公钥:FB40AB9CB07715323F1AB77775BBDD7BF03CF987E62B6A7725EA3CF1D80DB3E53B7C1 E5B917889BED48D3A61FB8902FE754F6F57FD9CA087C0C163C94FCDFC56私钥:19D8059426C224DFAC2D608DD84027DD5069DB74E92B687DCE67F6D024428E2D签名第一组公钥:BBA50EF54EB46FDE074913478AC1F5D2629A721E5E38019C17B2C0FBA1B2AB1C50FB3 C1597EBD8A1675D53CB20E4C1582EEC78E5054626EDD0D13E8984152928私钥:7B81B501DDD51E98D4EC6EBE5D221D796BB499BCEDF51533627FED6FE4FDD523消息:112233445566778899AA用户ID:31323334353637383132333435363738签名结果:14E2E6A688905D42AB2F35D1505808A30E01719D0CBCA83B4116923DC12BFC8E33AC854 2172A213B0C9647C50FA95B6D020********E754B410E6906167BE813第二组公钥:FB40AB9CB07715323F1AB77775BBDD7BF03CF987E62B6A7725EA3CF1D80DB3E53B7C1 E5B917889BED48D3A61FB8902FE754F6F57FD9CA087C0C163C94FCDFC56私钥:19D8059426C224DFAC2D608DD84027DD5069DB74E92B687DCE67F6D024428E2D消息:112233445566778899AA用户ID:31323334353637383132333435363738签名结果:AA7101EBB09B21771B11E3358B96C769184679748AB73A6BCD375F902FB21134434C3D09 BB09A51BD368E6851D54FC1084E02C35EAF2A957DE005039CE396211加密解密第一组公钥:BBA50EF54EB46FDE074913478AC1F5D2629A721E5E38019C17B2C0FBA1B2AB1C50FB3 C1597EBD8A1675D53CB20E4C1582EEC78E5054626EDD0D13E8984152928私钥:7B81B501DDD51E98D4EC6EBE5D221D796BB499BCEDF51533627FED6FE4FDD523明文:112233445566778899AA密文:046F971130C5E137132E515554D104DA1803A7D71CDDD79EF0BDFB91EEB476691A23E4 A3DA0C376C28A7E5C5204A2B7329680AE6D0E435889DD9E92528DD6DFF9171D38144D6 4F75DB01F9D29A885B7200D17FCC06928499D738F4F0DAEC3DC32D9FAC80551D3537FD 8E7F第二组公钥:FB40AB9CB07715323F1AB77775BBDD7BF03CF987E62B6A7725EA3CF1D80DB3E53B7C1 E5B917889BED48D3A61FB8902FE754F6F57FD9CA087C0C163C94FCDFC56私钥:19D8059426C224DFAC2D608DD84027DD5069DB74E92B687DCE67F6D024428E2D明文:112233445566778899AA密文:04D919663173F71B050ED2F3C68736DC5A244284A40AC399D024C8D875010825E4E40AD D1299BE28873E65CE58BC4C1315FEFE2988488B3FAB506B8E911EDDE7624BD092656943 2E74B9349FD8818D56EB22C78240207116697C3D82CE422D847C555898F2CA0711AD51C73.9.3.SM4参考数据第一组密钥:F0 A0 FF 9B A8 07 D8 92 F1 EB A7 01 4D DF BF 3D明文:BA 39 63 33 10 96 67 75 66 09 99 59 22 18 0B B4密文:FA1020ED5360CAC33ADA8A2F8EEB51FA第二组密钥:97 12 BD 56 32 FF 85 6D 39 5E 45 02 05 A9 EC 77明文:99 20 A2 5C B4 AE 3B 5F B1 3E 30 3D C9 AF 46 25密文:E010455748AE03D08EBA1D0AA01B1300。

相关文档
最新文档