国密算法
凝思操作系统国密算法

凝思操作系统国密算法【最新版】目录一、引言二、凝思操作系统国密算法的概述三、凝思操作系统国密算法的优势四、凝思操作系统国密算法的应用场景五、凝思操作系统国密算法的发展前景六、结论正文【引言】随着信息技术的迅速发展,信息安全问题日益突出。
为了保障国家信息安全,我国在近年来加大了对国产密码算法的研发和推广力度。
凝思操作系统国密算法作为我国自主研发的密码算法,已经在各个领域得到了广泛应用,为我国的信息安全提供了有力保障。
【凝思操作系统国密算法的概述】凝思操作系统国密算法,全称为凝思操作系统密码算法,是我国自主研发的一套密码算法体系。
该体系包括对称密钥算法、非对称密钥算法和数字签名算法等,具有较高的安全性和可靠性。
凝思操作系统国密算法的设计理念是“国产、自主、可控”,以满足我国在信息安全领域的迫切需求。
【凝思操作系统国密算法的优势】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语言中的实现。
一、国密算法简介国密算法是指中国密码技术及标准化研究中心(简称“国密中心”)发布的一系列密码算法,包括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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间: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。