CN114205085A - 一种国密SM2的优化处理方法及超级账本fabric平台的改造方法 - Google Patents

一种国密SM2的优化处理方法及超级账本fabric平台的改造方法 Download PDF

Info

Publication number
CN114205085A
CN114205085A CN202111511285.1A CN202111511285A CN114205085A CN 114205085 A CN114205085 A CN 114205085A CN 202111511285 A CN202111511285 A CN 202111511285A CN 114205085 A CN114205085 A CN 114205085A
Authority
CN
China
Prior art keywords
cryptographic algorithm
elliptic curve
random number
cryptographic
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111511285.1A
Other languages
English (en)
Inventor
孟琭
刘泽瑶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN202111511285.1A priority Critical patent/CN114205085A/zh
Publication of CN114205085A publication Critical patent/CN114205085A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种国密SM2的优化处理方法及超级账本fabric平台的改造方法。国密SM2的优化处理方法主要包括:根据摘要值、随机数和私钥计算得到签名数据,在此签名过程中,对国密算法SM2的k倍点进行运算事,将随机数生成器得到的k进行拆分得到若干个小标量值,从而将基点G与随机数k的点乘转换成若干个点相加,再将计算得到的椭圆曲线点由标准坐标转化到Jacobian投影坐标系,并在Jacobian投影坐标系下优化椭圆曲线点加和倍点运算过程,从而获取椭圆曲线点。本发明解决了使用传统国密算法SM2运算效率较低的问题,为后续的超级账本fabric平台提高安全性和实用性提供了新的思路。

Description

一种国密SM2的优化处理方法及超级账本fabric平台的改造 方法
技术领域
本发明涉及分布式存储技术领域,具体而言,尤其涉及一种国密SM2的优化处理方法及超级账本fabric平台的改造方法。
背景技术
国密SM2是国家密码管理局发布的椭圆曲线公钥密码算法,目前已广泛应用于包括金融领域在内的商用密码体系中。由于国密SM2算法涉及椭圆曲线的计算,而椭圆曲线上点运算占据了绝大部分的计算量,导致算法的时间复杂度很高,从而使得整个加密流程需要消耗很长时间。
发明内容
根据上述提出国密SM2算法加密流程消耗时间过长的技术问题,而提供一种国密SM2的优化处理方法及超级账本fabric平台的改造方法。本发明对椭圆曲线上较为复杂的计算进行优化,以提高运算效率。而后将将优化后的国密算法SM2应用到超级账本fabric平台,既能保证较高的安全性,相比于改造前又提高了运行效率。
本发明采用的技术手段如下:
一种国密SM2的优化处理方法,包括:
获取输入待签名消息并根据输入信息生成摘要值;
根据摘要值、随机数和私钥计算得到签名数据,在此签名过程中,对国密算法SM2的k倍点进行运算事,将随机数生成器得到的k进行拆分得到若干个小标量值,从而将基点G与随机数k的点乘转换成若干个点相加,再将计算得到的椭圆曲线点由标准坐标转化到Jacobian投影坐标系,并在Jacobian投影坐标系下优化椭圆曲线点加和倍点运算过程,从而获取椭圆曲线点;
基于获取的椭圆曲线点和摘要值计算第一签名数据r;
基于随机数k、第一签名数据r以及私钥dA计算第二签名数据s;
将r、s的数据类型转换为字节串,则消息的签名为(r,s)。
进一步地,根据输入信息生成摘要值,包括:
获取待签名的消息M,置M=ZA‖M,其中ZA为可辨别标识、椭圆曲线系统参数以及公钥P的杂凑值,其中椭圆曲线系统参数包括椭圆曲线参数a、b和基点G;
进行e=Hv(M)获取摘要值,其中e为摘要值,Hv()为消息摘要长度为v比特的密码杂凑算法,即对消息进行填充、迭代压缩,生成杂凑值。
进一步地,将随机数生成器得到的k进行拆分得到若干个小标量值,包括:
将随机数生成器得到的k按8位拆分成,从而获取32个小标量值,进而将基点G与随机数k的点乘转换成32个点相加。
本发明还提供了一种超级账本fabric平台的改造方法,包括以下步骤:
对为超级账本fabric平台提供密码算法相关的服务的BCCSP模块进行改造,实现国密算法工厂类型GMFactory;
使用构建出的国密工厂类型调用initBCCSP方法初始化BCCSP对象;
在哈希密码子模块下实例化国密算法SM3对象;
在对称密码子模块中添加国密算法SM4对象;
在非对称密码子模块中添加国密算法SM2对象,根据国密算法SM2规范完成数字签名与验签函数,其中国密算法SM2的函数包替换为上述方法优化后的密码函数包。
进一步地,该方法还包括设置一个国密适配器,其用于适配上层的BCCSP模块和底层的第三方加密库,所述国密适配器包括SM2、SM3以及SM4三种国密算法的适配。
进一步地,国密适配器包括SM2、SM3以及SM4三种国密算法的适配,包括:
定义一个国密算法SM2结构体,用于实现以下接口:密钥生成、签名、签名验证、加密、解密、保存私钥成PEM格式文件、从PEM格式文件中加载私钥、保存公钥成PEM格式文件以及从PEM格式文件中加载公钥;
定义一个国密算法SM3结构体,来实现以下接口:创建符合Hash接口的国密算法SM3实例和使用国密算法SM3计算数据的摘要;
定义一个国密算法SM4结构体,实现以下接口:创建符合Block接口的国密算法SM4实例、使用国密算法SM4对称密钥加密、使用国密算法SM4对称秘钥解密、保存国密算法SM4秘钥成PEM格式文件和从PEM格式文件中加载国密算法SM4秘钥。
进一步地,该方法还包括对X509模块进行修改以支持国密算法。
较现有技术相比,本发明具有以下优点:
1、本发明签名过程中,对国密算法SM2的k倍点问题进行优化,将随机数生成器得到的k进行拆分,按8位拆分成32个小标量值,,将基点G与k的点乘转换成32个点相加,再将椭圆曲线点的标准坐标转化到Jacobian投影坐标系,在Jacobian投影坐标系下,优化椭圆曲线点加和倍点运算过程,以提高运算效率。
2、本发明将优化后的国密算法SM2应用到超级账本fabric平台,有效解决超级账本fabric平台使用国际密码不够安全、在国内使用不好推广的问题,既能保证较高的安全性,相比于改造前又提高了运行效率,对超级账本fabric平台在国内的商业推广起到了重大作用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明优化后的国密算法SM2加密流程。
图2为本发明基点G的[k]倍点问题优化示意图。
图3为现有技术中国密算法SM2的总体架构。
图4为本发明国密改造涉及的模块。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明提供了一种国密算法SM2的优化方法,即国密算法的签名过程:根据输入信息生成摘要值,根据摘要值、随机数和私钥计算得到签名数据,在此签名过程中,对国密算法SM2的k倍点问题进行优化,将随机数生成器得到的k进行拆分,按8位拆分成32个小标量值,,将基点G与k的点乘转换成32个点相加,再将椭圆曲线点的标准坐标转化到Jacobian投影坐标系,在Jacobian投影坐标系下,优化椭圆曲线点加和倍点运算过程。
具体来说,国密算法SM2算法签名的具体步骤为:设待签名的消息为M,为了获取消息M的数字签名(r,s),作为签名者的用户A应实现以下运算步骤:
A1:置M=ZA‖M;
A2:计算e=Hv(M),将e的数据类型转换为整数;
A3:用随机数发生器产生随机数k∈[1,n-1];
A4:计算椭圆曲线点(x1,y1)=[k]G,将x1的数据类型转换为整数;
A5:计算r=(e+x1)mod n,若r=0或r+k=n则返回A3;
A6:计算s=((1+dA)-1·(k-r·dA))mod n,若s=0则返回A3;
A7:将r、s的数据类型转换为字节串,消息M的签名为(r,s)。
上述过程中的M为待签名信息,ZA为可辨别标识、部分椭圆曲线系统参数(椭圆曲线参数a、b、G、P)以及公钥P的杂凑值,是使用国密杂凑算法得到的,具体为:ZA=H256(idlen||id|a|b||G|P),其中||为字节拼接符号,idlen为ID长度。按顺序拼接ZA和M,并计算摘要值e。根据摘要值e、私钥dA、随机数k以及基点G的阶n,由k与椭圆曲线上基点G点乘[k]G,即椭圆曲线的另一个点(x1,y1)。
本发明优选对基点G的[k]倍点问题进行优化,将随机数按64位拆分为4个小标量值,即k=(k3,k2,k1,k0),其中k3表示k的最高64位,k0表示k的最低64位然后计算
[k]G=(k3,k2,k1,k0)·G=k3·G3+k2·G2+k1·G1+k0·G0
其中Gi=2256*i·G
再将每个64位按8位分成8个值,即
Figure BDA0003391917460000051
则:
Figure BDA0003391917460000052
即将基点G与k的点乘转换成32个点相加。
将椭圆曲线点的标准坐标转化到Jacobian投影坐标系,在Jacobian投影坐标系下,使用预计算优化椭圆曲线点加和倍点运算过程。具体操作为:首先将椭圆曲线点的标准坐标转化到Jacobian投影坐标系,椭圆曲线点的标准坐标(x,y)对应的雅各比坐标为(X,Y,Z),转化时满足x=X/Z2,y=Y/Z3,则椭圆曲线的方程转化为:Y2Z=X3+aXZ4+bZ6
对于点加运算,其计算公式可以转化为
Figure BDA0003391917460000053
Figure BDA0003391917460000054
Figure BDA0003391917460000055
对于倍点运算,其计算公式可以转化为
Figure BDA0003391917460000056
Figure BDA0003391917460000057
Z3=2Y1Z1
使用Jacobian投影坐标后,可避开仿射坐标系下出现的大量模逆运算,点加和倍点的运算效率可得到显著的提高。然后进行下面步骤得到数字签名。
本发明还对超级账本fabric平台进行优化后的国密算法SM2的改造。进行超级账本fabric平台的国密改造,首先改造BCCSP模块,改造sw和pks11部分工作,提供软件和硬件层面的支持。考虑到超级账本fabric平台定义的BCCSP接口并不直接兼容于第三方提供的加密接口,因此需要做一个国密适配器,主要用于适配上层的BCCSP模块和底层的第三方加密库。为了让X509支持国密,本发明方法需要修改crypto/X509包中的x509.go、pkcs8.go文件,调整import的包名,用于实现创建证书池、返回证书插件等功能,如图4所示。
具体来说,本发明提供的一种超级账本fabric平台的改造方法,包括以下步骤:
S1:对为超级账本fabric平台提供密码算法相关的服务的BCCSP模块进行改造,实现国密算法工厂类型GMFactory。
S2:使用构建出的国密工厂类型调用initBCCSP方法初始化BCCSP对象。
具体的,进行超级账本fabric平台的国密改造,首先改造bccsp模块,改造sw和pks11部分工作,提供软件和硬件层面的支持。超级账本fabric平台中的BCCSP模块为超级账本fabric平台提供密码算法相关的服务,通过BCCSP,超级账本fabric平台中的算法模块可以实现插件式,多种实现方式和多种标准的配适,对超级账本fabric平台进行国密改造首先就要通过这个模块入手。
BCCSP的接口大概分为四类,分别为:秘钥生命周期管理,包括KeyGen秘钥产生、KeyDeriv秘钥派生、Keylmport秘钥导入、GetKey秘钥导出;哈希散列管理,包括散列哈希运算和GetHash获取哈希功能;签名验证管理,包括签名功能和验证验签功能;加解密功能,包括加密解密功能和Decrypt解密功能。
超级账本fabric平台的密码算法支持都是依赖以上四类接口完成的,开发者可以设计不同的CSP来提供不同形式的密码算法支持,现在超级账本fabric平台提供了两种CSP(内容安全策略),分别为sw模式和pkcs11模式。其中sw模式是一套软件算法集合,通过golang的加密库,提供不同类型的算法软件实现。
修改BCCSP模块需要实现国密算法工厂类型GMFactory,即在initFactories中添加国密分支,构造国密工厂类型GMFactory,使用构建出的国密工厂类型调用initBCCSP方法初始化BCCSP对象,在initBCCSP中需要实现两个方法:返回工厂名称和实例化一个国密的BCCSP对象。
S3:在哈希密码子模块下实例化国密算法SM3对象。
S4:在对称密码子模块中添加国密算法SM4对象。
S5:在非对称密码子模块中添加国密算法SM2对象。根据国密算法SM2规范完成数字签名与验签函数,其操作基本元素由crypto包里的eliptic文件完成在椭圆曲线上的计算,因此将相关文件中引入的函数包替换为优化后重新设计的密码函数包。
进一步地,考虑到超级账本fabric平台定义的BCCSP接口并不直接兼容于第三方提供的加密接口,本发明方法还包括增加一个国密适配器的步骤,主要用于适配上层的BCCSP模块和底层的第三方加密库。国密适配器主要包含了SM2、SM3以及SM4三种国密算法的适配:
首先是定义一个国密算法SM2结构体,来实现以下接口,包含9个方法,分别为:密钥生成GenerateKey()(*crypto.PrivateKey,error)、签名Sign(priv*crypto.PrivateKey,rand io.Reader,digest[]byte,opts gocrypto.SignerOpts)([]byte,error)、签名验证Verify(pub*crypto.PublicKey,digest[]byte,sign[]byte)bool、加密Encrypt(pub*crypto.PublicKey,msg[]byte)([]byte,error)、解密Decrypt(priv*crypto.PrivateKey,ciphertext[]byte)([]byte,error)、保存私钥成PEM格式文件SavePrivateKeytoPem(fileName string,key*crypto.PrivateKey,pwd[]byte)(bool,error)、从PEM格式文件中加载私钥LoadPrivateKeyFromPem(fileName string,pwd[]byte)(*crypto.PrivateKey,error)、保存公钥成PEM格式文件SavePublicKeytoPem(fileName string,key*crypto.PublicKey,[]byte)(bool,error)、从PEM格式文件中加载公钥LoadPublicKeyFromPem(fileName string,pwd[]byte)(*crypto.PublicKey,error)。
定义一个国密算法SM3结构体,来实现以下接口,包括两种方法:创建符合Hash接口的国密算法SM3实例New()hash.Hash和使用国密算法SM3计算数据的摘要Sum(data[]byte)[]byte。
定义一个国密算法SM4结构体,实现以下接口,包括5个方法:创建符合Block接口的国密算法SM4实例NewCipher(key[]byte)(cipher.Block,error)、使用国密算法SM4对称密钥加密Encrypt(key[]byte,dst,src[]byte)、使用国密算法SM4对称秘钥解密Decrypt(key[]byte,dst,src[]byte)、保存国密算法SM4秘钥成PEM格式文件SaveKeyToPem(fileName string,key[]byte,pwd[]byte)(bool,error)和从PEM格式文件中加载国密算法SM4秘钥LoadKeyFromPem(fileName string,pwd[]byte)([]byte,error)。
更进一步的,X509模块主要提供的是有关证书的一系列方法,在这里fabric原先默认是使用标准X509的,底层直接调用的是Go SDK原生的加密库。为了让X509支持国密,本发明方法需要修改crypto/X509包中的x509.go、pkcs8.go文件,调整import的包名,用于实现创建证书池、返回证书插件等功能。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种国密SM2的优化处理方法,其特征在于,包括:
获取输入待签名消息并根据输入信息生成摘要值;
根据摘要值、随机数和私钥计算得到签名数据,在此签名过程中,对国密算法SM2的k倍点进行运算事,将随机数生成器得到的k进行拆分得到若干个小标量值,从而将基点G与随机数k的点乘转换成若干个点相加,再将计算得到的椭圆曲线点由标准坐标转化到Jacobian投影坐标系,并在Jacobian投影坐标系下优化椭圆曲线点加和倍点运算过程,从而获取椭圆曲线点;
基于获取的椭圆曲线点和摘要值计算第一签名数据r;
基于随机数k、第一签名数据r以及私钥dA计算第二签名数据s;
将r、s的数据类型转换为字节串,则消息的签名为(r,s)。
2.根据权利要求1所述的国密SM2的优化处理方法,其特征在于,根据输入信息生成摘要值,包括:
获取待签名的消息M,置M=ZA‖M,其中ZA为可辨别标识、椭圆曲线系统参数以及公钥P的杂凑值,其中椭圆曲线系统参数包括椭圆曲线参数a、b和基点G;
进行e=Hv(M)获取摘要值,其中e为摘要值,Hv()为消息摘要长度为v比特的密码杂凑算法,即对消息进行填充、迭代压缩,生成杂凑值。
3.根据权利要求1所述的国密SM2的优化处理方法,其特征在于,将随机数生成器得到的k进行拆分得到若干个小标量值,包括:
将随机数生成器得到的k按8位拆分成,从而获取32个小标量值,进而将基点G与随机数k的点乘转换成32个点相加。
4.一种超级账本fabric平台的改造方法,其特征在于,包括以下步骤:
对为超级账本fabric平台提供密码算法相关的服务的BCCSP模块进行改造,实现国密算法工厂类型GMFactory;
使用构建出的国密工厂类型调用initBCCSP方法初始化BCCSP对象;
在哈希密码子模块下实例化国密算法SM3对象;
在对称密码子模块中添加国密算法SM4对象;
在非对称密码子模块中添加国密算法SM2对象,根据国密算法SM2规范完成数字签名与验签函数,其中国密算法SM2的函数包替换为根据权利要求1所述方法优化后的密码函数包。
5.根据权利要求4所述的一种超级账本fabric平台的改造方法,其特征在于,该方法还包括设置一个国密适配器,其用于适配上层的BCCSP模块和底层的第三方加密库,所述国密适配器包括SM2、SM3以及SM4三种国密算法的适配。
6.根据权利要求5所述的一种超级账本fabric平台的改造方法,其特征在于,国密适配器包括SM2、SM3以及SM4三种国密算法的适配,包括:
定义一个国密算法SM2结构体,用于实现以下接口:密钥生成、签名、签名验证、加密、解密、保存私钥成PEM格式文件、从PEM格式文件中加载私钥、保存公钥成PEM格式文件以及从PEM格式文件中加载公钥;
定义一个国密算法SM3结构体,来实现以下接口:创建符合Hash接口的国密算法SM3实例和使用国密算法SM3计算数据的摘要;
定义一个国密算法SM4结构体,实现以下接口:创建符合Block接口的国密算法SM4实例、使用国密算法SM4对称密钥加密、使用国密算法SM4对称秘钥解密、保存国密算法SM4秘钥成PEM格式文件和从PEM格式文件中加载国密算法SM4秘钥。
7.根据权利要求4所述的一种超级账本fabric平台的改造方法,其特征在于,该方法还包括对X509模块进行修改以支持国密算法。
CN202111511285.1A 2021-12-03 2021-12-03 一种国密SM2的优化处理方法及超级账本fabric平台的改造方法 Pending CN114205085A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111511285.1A CN114205085A (zh) 2021-12-03 2021-12-03 一种国密SM2的优化处理方法及超级账本fabric平台的改造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111511285.1A CN114205085A (zh) 2021-12-03 2021-12-03 一种国密SM2的优化处理方法及超级账本fabric平台的改造方法

Publications (1)

Publication Number Publication Date
CN114205085A true CN114205085A (zh) 2022-03-18

Family

ID=80652521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111511285.1A Pending CN114205085A (zh) 2021-12-03 2021-12-03 一种国密SM2的优化处理方法及超级账本fabric平台的改造方法

Country Status (1)

Country Link
CN (1) CN114205085A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761413A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥密码算法的实现系统
CN102761415A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线的数字签名生成、验证及混合系统
CN108667623A (zh) * 2018-05-28 2018-10-16 广东工业大学 一种sm2椭圆曲线签名验证算法
CN109284082A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种ecc和sm2通用的点运算方法及装置
CN110048855A (zh) * 2019-04-23 2019-07-23 东软集团股份有限公司 国密算法的引入方法及调用方法、及装置、设备、Fabric平台
CN110365481A (zh) * 2019-07-04 2019-10-22 上海交通大学 加速国密sm2算法的优化实现系统及方法
CN111371562A (zh) * 2020-02-27 2020-07-03 华信咨询设计研究院有限公司 超级账本Fabric-SDK国密算法扩展改造方法
CN112035859A (zh) * 2020-08-28 2020-12-04 光大科技有限公司 密码服务的调用方法及装置、存储介质、电子装置
CN113221193A (zh) * 2021-06-02 2021-08-06 上海交通大学 基于gpu的sm2数字签名与验签快速实现方法及系统
CN113628094A (zh) * 2021-07-29 2021-11-09 西安电子科技大学 一种基于gpu的高吞吐量sm2数字签名计算系统及方法
CN113642013A (zh) * 2021-07-21 2021-11-12 西安理工大学 一种超级账本Fabric的SM2国密适配方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761413A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥密码算法的实现系统
CN102761415A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线的数字签名生成、验证及混合系统
CN109284082A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种ecc和sm2通用的点运算方法及装置
CN108667623A (zh) * 2018-05-28 2018-10-16 广东工业大学 一种sm2椭圆曲线签名验证算法
CN110048855A (zh) * 2019-04-23 2019-07-23 东软集团股份有限公司 国密算法的引入方法及调用方法、及装置、设备、Fabric平台
CN110365481A (zh) * 2019-07-04 2019-10-22 上海交通大学 加速国密sm2算法的优化实现系统及方法
CN111371562A (zh) * 2020-02-27 2020-07-03 华信咨询设计研究院有限公司 超级账本Fabric-SDK国密算法扩展改造方法
CN112035859A (zh) * 2020-08-28 2020-12-04 光大科技有限公司 密码服务的调用方法及装置、存储介质、电子装置
CN113221193A (zh) * 2021-06-02 2021-08-06 上海交通大学 基于gpu的sm2数字签名与验签快速实现方法及系统
CN113642013A (zh) * 2021-07-21 2021-11-12 西安理工大学 一种超级账本Fabric的SM2国密适配方法
CN113628094A (zh) * 2021-07-29 2021-11-09 西安电子科技大学 一种基于gpu的高吞吐量sm2数字签名计算系统及方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
WEIXIN_39066447: "fabric国密改造", pages 1 - 4, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_39066447/article/details/111468172> *
李杨;王劲林;曾学文;叶晓舟;: "OCTEON处理器上实现国密SM2算法整体优化方案研究", 计算机应用与软件, no. 09, pages 4 *
杨洵;王景中;付杨;王宝成;: "基于国密算法的区块链架构", 计算机系统应用, no. 08 *
邬贵明;王淼;谢向辉;: "一种基于FPGA的素域椭圆曲线标量乘结构", 计算机工程与科学, no. 05 *
韩晓薇;乌力吉;王蓓蓓;王安;: "抗简单功耗攻击的SM2原子算法", 计算机研究与发展, no. 08 *

Similar Documents

Publication Publication Date Title
CN110912706B (zh) 一种基于身份的动态数据完整性审计方法
CN111314089B (zh) 一种基于sm2的两方协同签名方法及解密方法
CN110247757B (zh) 基于国密算法的区块链处理方法、装置及系统
CN109274503A (zh) 分布式协同签名方法及分布式协同签名装置、软盾系统
CN107483212A (zh) 一种双方协作生成数字签名的方法
US20050226408A1 (en) Apparatus and method for encryption and decryption
CN101771699A (zh) 一种提高SaaS应用安全性的方法及系统
CN101166088A (zh) 基于用户身份标识的加解密方法
CN110830236A (zh) 基于全域哈希的身份基加密方法
US11212082B2 (en) Ciphertext based quorum cryptosystem
CN107948156A (zh) 一种基于身份的封闭式密钥管理方法及系统
CN107425971A (zh) 终端及其无证书的数据加/解密方法和装置
CN109816383A (zh) 一种区块链签名方法、区块链钱包和区块链
EP3871365A1 (en) Computer implemented system and method for distributing shares of digitally signed data
Peng et al. Comments on “identity-based distributed provable data possession in multicloud storage”
CN107104788A (zh) 终端及其不可抵赖的加密签名方法和装置
CN109831305A (zh) 基于非对称密钥池的抗量子计算签密方法和系统
CN101997680B (zh) 一种直接支持证书管理的安全芯片
CN117235342A (zh) 基于同态哈希函数和虚拟索引的动态云审计方法
CN114205085A (zh) 一种国密SM2的优化处理方法及超级账本fabric平台的改造方法
CN110048852A (zh) 基于非对称密钥池的量子通信服务站数字签密方法和系统
CN115834038A (zh) 基于国家商用密码算法的加密方法及装置
CN110266483A (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
CN110943826A (zh) 一种基于sm2算法的拆分密钥签名方法与系统
CN114154185A (zh) 一种基于国密算法实现的数据加密存储方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination