CN113612799B - 一种基于sm2算法的区块链哈希加密方法及装置 - Google Patents
一种基于sm2算法的区块链哈希加密方法及装置 Download PDFInfo
- Publication number
- CN113612799B CN113612799B CN202110981749.9A CN202110981749A CN113612799B CN 113612799 B CN113612799 B CN 113612799B CN 202110981749 A CN202110981749 A CN 202110981749A CN 113612799 B CN113612799 B CN 113612799B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- target
- length
- encryption
- algorithm
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3239—Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于SM2算法的区块链哈希加密方法及装置,可应用于人工智能领域、区块链领域以及金融领域,基于SM2算法对待加密明文进行加密将得到的第一目标密文截取为第二密文和第三密文,第二密文和第三密文的长度和与第一目标密文长度相同;对第二密文进行异或加密得到第二目标密文且密文长度不变;对第三密文进行移位加密得到第三目标密文且密文长度不变;将第二目标密文和第三目标密文拼接得到目标密文。上述过程,对基于SM2算法加密的密文进行拆分,分别对拆分的密文进行异或和移位加密,并将加密后的密文进行组合得到目标密文,目标密文的长度不变,在密文长度不变的情况下,加密的复杂度增加,提高了算法的加密强度。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于SM2算法的区块链哈希加密方法及装置。
背景技术
现有的区块链的哈希算法为SHA-2,攻击者在破解时很难以直接破解。但在现有的应用系统中因为国产化加密改造的原因,广泛使用了SM2算法,现有的SM2算法长度仅有256bit,因算法的强度及使用场景问题,直接使用SM2算法应用于区块链加密存在一定的障碍。
由于哈希碰撞库是在不断积累的,撞库泄露数据的可能性在不断的增加,亟需提供一种加密方法增强抗暴力破解的可能性。
发明内容
有鉴于此,本发明提供了一种基于SM2算法的区块链哈希加密方法及装置,用于解决SM2算法的强度及使用场景问题,直接使用SM2算法应用于区块链加密存在一定的障碍的问题。具体方案如下:
一种基于SM2算法的区块链哈希加密方法,包括:
基于SM2算法对待加密明文进行加密,得到第一目标密文;
将所述第一目标密文截取为第二密文和第三密文,其中,所述第二密文和所述第三密文的长度和与所述第一目标密文长度相同;
对所述第二密文进行异或加密得到第二目标密文,其中,所述第二密文与所述第二目标密文长度相同;
对所述第三密文进行移位加密得到第三目标密文,其中,所述第三密文与所述第三目标密文长度相同;
将所述第二目标密文和所述第三目标密文进行拼接,得到目标密文。
上述的方法,可选的,基于SM2算法对待加密明文进行加密,得到第一目标密文,包括:
基于SM2算法对待加密明文进行加密,得到第一密文;
确定移位长度;
基于所述移位长度对所述第一密文进行移位处理,得到第一目标密文。
上述的方法,可选的,确定移位长度包括:
获取所述第一目标密文中各个奇数数字;
对所述各个奇数数字进行求和,得到奇数和;
将所述奇数和与预设数值进行取模处理,得到所述移位长度。
上述的方法,可选的,对所述第二密文进行异或加密得到第二目标密文,包括:
获取所述第二密文的第一密文长度;
选取与所述第一密文长度等长的基准密文;
将所述基准密文与所述第二密文中的对应项进行异或处理,得到第二目标密文。
上述的方法,可选的,对所述第三密文进行移位加密得到第三目标密文,包括
获取所述第三密文的第三密文长度;
基于所述第三密文长度对所述第三密文进行随机数函数变换,得到第三目标密文。
一种基于SM2算法的区块链哈希加密装置,包括:
第一加密模块,用于基于SM2算法对待加密明文进行加密,得到第一目标密文;
截取模块,用于将所述第一目标密文截取为第二密文和第三密文,其中,所述第二密文和所述第三密文的长度和与所述第一目标密文长度相同;
第二加密模块,用于对所述第二密文进行异或加密得到第二目标密文,其中,所述第二密文与所述第二目标密文长度相同;
第三加密模块,用于对所述第三密文进行移位加密得到第三目标密文,其中,所述第三密文与所述第三目标密文长度相同;
拼接模块,用于将所述第二目标密文和所述第三目标密文进行拼接,得到目标密文。
上述的装置,可选的,所述第一加密模块包括:
加密单元,用于基于SM2算法对待加密明文进行加密,得到第一密文;
确定单元,用于确定移位长度;
移位处理单元,用于基于所述移位长度对所述第一密文进行移位处理,得到第一目标密文。
上述的装置,可选的,所述确定单元包括:
获取子单元,用于获取所述第一目标密文中各个奇数数字;
求和子单元,用于对所述各个奇数数字进行求和,得到奇数和;
取模子单元,用于将所述奇数和与预设数值进行取模处理,得到所述移位长度。
上述的装置,可选的,所述第二加密模块包括:
第一获取单元,用于获取所述第二密文的第一密文长度;
选取单元,用于选取与所述第一密文长度等长的基准密文;
异或加密单元,用于将所述基准密文与所述第二密文中的对应项进行异或处理,得到第二目标密文。
上述的装置,可选的,所述第三加密模块包括:
第一加密单元,用于获取所述第三密文的第三密文长度;
移位加密单元,用于基于所述第三密文长度对所述第三密文进行随机数函数变换,得到第三目标密文。
与现有技术相比,本发明包括以下优点:
本发明公开了一种基于SM2算法的区块链哈希加密方法及装置,可应用于人工智能领域、区块链领域以及金融领域,包括:基于SM2算法对待加密明文进行加密,得到第一目标密文;将第一目标密文截取为第二密文和第三密文,第二密文和第三密文的长度和与第一目标密文长度相同;对第二密文进行异或加密得到第二目标密文,第二密文与第二目标密文长度相同;对第三密文进行移位加密得到第三目标密文,第三密文与第三目标密文长度相同;将第二目标密文和第三目标密文进行拼接,得到目标密文。上述过程,对基于SM2算法加密的密文进行拆分,分别对拆分的密文进行异或和移位加密,并将加密后的密文进行组合得到目标密文,目标密文的长度不变,在密文长度不变的情况下,加密的复杂度增加,提高了算法的加密强度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种基于SM2算法的区块链哈希加密方法流程图;
图2为本申请实施例公开的一种基于SM2算法的区块链哈希加密装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明提供的一种基于SM2算法的区块链哈希加密方法及装置可用于人工智能领域、区块链领域及金融领域。上述仅为示例,并不对本发明提供的一种基于SM2算法的区块链哈希加密方法及装置的应用领域进行限定。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种基于SM2算法的区块链哈希加密方法及装置,应用于对区块链中基于SM2算法进行加密的过程中,现有的SM2算法长度仅有256bit,对他的过程进行优化,能起到类似于MD4演化为MD5的效果,可以进一步提高运算的强度,因为SHA256、SHA384等算法已在区块链中逐渐使用,特别是SHA384及以上的算法,强度是高于SM2的,虽然现阶段SM2暂未被攻破,但它的哈希碰撞库也是在不断积累的,撞库泄露数据的可能性在不断的增加,SM2算法生成256bit哈希,因算法的强度及使用场景问题,直接使用SM2算法应用于区块链加密存在一定的障碍,需要对SM2算法进行优化改进:
攻击者使用装备高性能GPU、专用的FPGA芯片设备,以及超算设备等,可大幅提高哈希碰撞运算速度,对目前的SM2算法产生的哈希撞库威胁增加;
SM2算法作为一种新近推出的国密加密算法,在金融、电信、教育等国有企事业单位中的应用越来越广泛,对现有算法进行优化,增强其安全性,以适应业务融合区块链的要求有着现实的迫切需要,所述加密方法的执行流程如图1所示,包括步骤:
S101、基于SM2算法对待加密明文进行加密,得到第一目标密文;
本发明实施例中,SM2算法是一种ECC椭圆曲线算法,是国家密码管理局于2010年推出的椭圆曲线公钥密码算法,密码复杂度和强度较高,一般椭圆曲线算法的三次方程为:
y2+axy+by=x3+cx2+dx+e (1)
其中,a,b,c,d,e为满足某些特定条件的实数。
SM2算法的方程为:
y2=x3+ax+b
设M为初始信息的比特串
(1)获取随机数k,k∈[1,n-1]
(2)C1=[k]G=(x1,y1),G是椭圆曲线上一个点,它的阶n为一个大素数。
(3)S=[h]P//P为椭圆曲线的任一点,由椭圆曲线参数a,b共同确定,h为余因子
(4)C1=(x2,y2)=[k]P
(5)t=KDF(x2||y2,klen)//klen为M的长度,KDF是SM2的密钥派生函数
(6)C2=M+t
(7)C3=Hash(x2||M||y2)Hash代表哈希运算。
(8)C=C1||C2||C3
进一步的,为了增强加密的复杂度,对所述第一密文进行移位处理,具体处理过程如下:
首先确定移位长度,确定过程如下:移位长度为第一密文中的奇数数字相加之和与预设数值进行取模处理的结果,由于所述第一密文通常为16进制,优选的,将所述第一密文由16进制转换为10进制,假设所述第一密文中奇数数字组成的字符串为X=(x1,x2,...,xn),所述预设数值为10,本发明实施例中,对所述预设数值的具体取值不限定。
令SUM=Y+(xn*2-9)+xn-1+(xn-1-9)+xn-3+...+(x2-9)+x1
SUM模10为0,即求得Y值,Y为移位长度,若Y为奇数加密字符串执行左移,Y为偶数则加密字符串执行右移。
基于所述移位长度对所述第一密文进行移位处理,得到第一目标密文。
S102、将所述第一目标密文截取为第二密文和第三密文,其中,所述第二密文和所述第三密文的长度和与所述第一目标密文长度相同;
本发明实施例中,获取所述第一目标密文的长度,L=length(第一目标密文),对所述第一目标密文进行截取得到第二密文和第三密文,其中,所述第二密文的第一密文长度为L1,所述第三密文的第二密文长度为L2,其中,L1和L2的长度不进行具体限制但需要限制L1+L2=L。
S103、对所述第二密文进行异或加密得到第二目标密文,其中,所述第二密文与所述第二目标密文长度相同;
本发明实施例中,对所述第二密文进行异或加密处理过程如下,基于所述第二密文的第一密文长度L1,选取与所述第一密文长度相同的基准密文,其中,所述基准密文是预先基于经验或者具体情况为每一个不同长度的密文设置对应的基准密文,本发明实施例中,对基准密文的具体存在形式不进行限定。将所述第二密文与所述基准密文进行异或操作,将最终的处理结果作为第二目标密文n1。
S104、对所述第三密文进行移位加密得到第三目标密文,其中,所述第三密文与所述第三目标密文长度相同;
本发明实施例中,对所述第三密文进行移位加密得到第三目标密文,其中,移位加密处理过程如下:n2=gen(第三密文,L2),其中,n2代表第三目标密文,gen代表随机数函数,优选的,本发明实施例中,所述随机数函数选用傅里叶级数变换,进行移位加密处理后,需要保证所述第三密文与所述第三目标密文的长度相同。
S105、将所述第二目标密文和所述第三目标密文进行拼接,得到目标密文。
本发明实施例中,将所述第二目标密n1和所述第三目标密文n2进行拼接得到目标密文n,其中,所述目标密文n=n1+n2。
经过该加密方法处理后,被加密的目标密文的长度无变化,不影响区块链使用方接口栏位长度的调整、对现有接口的影响较小,可以较好的兼顾融合现有的算法,对系统性能的影响也较小,且符合国产化改造的趋势。
本发明公开了一种基于SM2算法的区块链哈希加密方法,可应用于人工智能领域、区块链领域以及金融领域,包括:基于SM2算法对待加密明文进行加密,得到第一目标密文;将第一目标密文截取为第二密文和第三密文,第二密文和第三密文的长度和与第一目标密文长度相同;对第二密文进行异或加密得到第二目标密文,第二密文与第二目标密文长度相同;对第三密文进行移位加密得到第三目标密文,第三密文与第三目标密文长度相同;将第二目标密文和第三目标密文进行拼接,得到目标密文。上述过程,对基于SM2算法加密的密文进行拆分,分别对拆分的密文进行异或和移位加密,并将加密后的密文进行组合得到目标密文,目标密文的长度不变,在密文长度不变的情况下,加密的复杂度增加,提高了算法的加密强度。
本发明实施例中,异步加密处理运算量较小,但显著增加了密码复杂度;移位处理后使密码长度不变的基础上,使密文分段进行二次加密,加密处理后的结果具有唯一性,当被加密对象发生了一位及以上的改变时,随机值中至少一半长度的位数会发生显著变化,即算法的雪崩效应,从而进一步增强了密码复杂性,增加了暴力破解的工作量,使暴利破解在现有硬件资源和算力下几乎不可能实现。
本发明实施例中,对加密后的第一目标密文,其中,所述第一目标密文为对基于SM2算法进行加密得到的第一密文进行移位加密处理后得到的密文,进一步加强了加密的复杂度,继续基于所述第一目标密文进行二次、三次后续加密处理,二次处理中分段使用异或算法处理过程无需引入第三方密钥,多次处理后长度不变;三次处理中,引入傅里叶级数,进一步增强密码的复杂性,和抗暴力破解能力,经过此步骤处理后密文报文长度保持不变,但抗穷举破解能力增强。二次、三次加密处理中,算法性能消耗较小,算法易于实现,对现有系统的影响较小,且在不同编程语言、操作系统上实现难度较小,可以满足金融、电信、教育等业务系统中区块链各种使用应用场景的要求。
本发明实施例中,上述的处理步骤,显著增强密码的复杂性、抗穷举行,且使密码的长度保持不变,更好的兼容现有金融、电信、教育等企事业业务系统,使业务系统改造接入区块链的工作量较小,成本可控。另外,本次改进的加密方法,可以满足多语言、跨平台编程的需要,也适合在低功耗低性能的IOT终端使用,扩展金融业务的区块链应用场景,实现去中心化和万物互联,符合国产化改造的趋势。
本发明实施例中,对SM2密文密码的前半部分做异或加密处理,后半部分使用移位处理,移位长度依赖于密文字符串自身的运算值,无需增加密钥;通过截取随机的特定长度的密文密码,并使用傅里叶级数生成等长的密文密码进行填充,使密码长度不变,但密码复杂性显著增加。
本发明实施例中所述加密方法,在保持密文长度不变的情况下,大大增强了SM2算法的安全性和适配性,且在目前的企事业业务系统逐渐常用的SM2加密算法基础上进行改动,使此种区块链哈希值加密算法的改进和使用难度显著降低,并且对现有系统的性能影响小,也适配兼容现有的接口、报文格式。
基于上述的一种基于SM2算法的区块链哈希加密方法,本发明实施例中还提供了一种基于SM2算法的区块链哈希加密装置,所述加密装置的结构框图如图2所示,包括:
第一加密模块201、截取模块202、第二加密模块203、第三加密模块204和拼接模块205。
其中,
所述第一加密模块201,用于基于SM2算法对待加密明文进行加密,得到第一目标密文;
所述截取模块202,用于将所述第一目标密文截取为第二密文和第三密文,其中,所述第二密文和所述第三密文的长度和与所述第一目标密文长度相同;
所述第二加密模块203,用于对所述第二密文进行异或加密得到第二目标密文,其中,所述第二密文与所述第二目标密文长度相同;
所述第三加密模块204,用于对所述第三密文进行移位加密得到第三目标密文,其中,所述第三密文与所述第三目标密文长度相同;
所述拼接模块205,用于将所述第二目标密文和所述第三目标密文进行拼接,得到目标密文。
本发明公开了一种基于SM2算法的区块链哈希加密装置,可应用于人工智能领域、区块链领域以及金融领域,包括:基于SM2算法对待加密明文进行加密,得到第一目标密文;将第一目标密文截取为第二密文和第三密文,第二密文和第三密文的长度和与第一目标密文长度相同;对第二密文进行异或加密得到第二目标密文,第二密文与第二目标密文长度相同;对第三密文进行移位加密得到第三目标密文,第三密文与第三目标密文长度相同;将第二目标密文和第三目标密文进行拼接,得到目标密文。上述过程,对基于SM2算法加密的密文进行拆分,分别对拆分的密文进行异或和移位加密,并将加密后的密文进行组合得到目标密文,目标密文的长度不变,在密文长度不变的情况下,加密的复杂度增加,提高了算法的加密强度。
本发明实施例中,所述第一加密模块202包括:
加密单元206、确定单元207和移位处理单元208。
其中,
所述加密单元206,用于基于SM2算法对待加密明文进行加密,得到第一密文;
所述确定单元207,用于确定移位长度;
所述移位处理单元208,用于基于所述移位长度对所述第一密文进行移位处理,得到第一目标密文。
本发明实施例中,所述确定单元207包括:
获取子单元209、求和子单元210和取模子单元211。
其中,
所述获取子单元209,用于获取所述第一目标密文中各个奇数数字;
所述求和子单元210,用于对所述各个奇数数字进行求和,得到奇数和;
所述取模子单元211,用于将所述奇数和与预设数值进行取模处理,得到所述移位长度。
本发明实施例中,所述第二加密模块203包括:
第一获取单元212、选取单元213和异或加密单元214。
其中,
所述第一获取单元212,用于获取所述第二密文的第一密文长度
所述选取单元213,用于选取与所述第一密文长度等长的基准密文;
所述异或加密单元214,用于将所述基准密文与所述第二密文中的对应项进行异或处理,得到第二目标密文。
本发明实施例中,所述第三加密模块204包括:
第一加密单元215和移位加密单元216。
其中,
所述第一加密单元215,用于获取所述第三密文的第三密文长度;
所述移位加密单元216,用于基于所述第三密文长度对所述第三密文进行随机数函数变换,得到第三目标密文。
所述加密装置包括处理器和存储器,上述第一加密模块、截取模块、第二加密模块、第三加密模块和拼接模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,在密文长度不变的情况下,加密的复杂度增加,提高了算法的加密强度。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述基于SM2算法的区块链哈希加密方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于SM2算法的区块链哈希加密方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
基于SM2算法对待加密明文进行加密,得到第一目标密文;
将所述第一目标密文截取为第二密文和第三密文,其中,所述第二密文和所述第三密文的长度和与所述第一目标密文长度相同;
对所述第二密文进行异或加密得到第二目标密文,其中,所述第二密文与所述第二目标密文长度相同;
对所述第三密文进行移位加密得到第三目标密文,其中,所述第三密文与所述第三目标密文长度相同;
将所述第二目标密文和所述第三目标密文进行拼接,得到目标密文。
上述的方法,可选的,基于SM2算法对待加密明文进行加密,得到第一目标密文,包括:
基于SM2算法对待加密明文进行加密,得到第一密文;
确定移位长度;
基于所述移位长度对所述第一密文进行移位处理,得到第一目标密文。
上述的方法,可选的,确定移位长度包括:
获取所述第一目标密文中各个奇数数字;
对所述各个奇数数字进行求和,得到奇数和;
将所述奇数和与预设数值进行取模处理,得到所述移位长度。
上述的方法,可选的,对所述第二密文进行异或加密得到第二目标密文,包括:
获取所述第二密文的第一密文长度
选取与所述第一密文长度等长的基准密文;
将所述基准密文与所述第二密文中的对应项进行异或处理,得到第二目标密文。
上述的方法,可选的,对所述第三密文进行移位加密得到第三目标密文,包括
获取所述第三密文的第三密文长度;
基于所述第三密文长度对所述第三密文进行随机数函数变换,得到第三目标密文。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种基于SM2算法的区块链哈希加密方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于SM2算法的区块链哈希加密方法,其特征在于,包括:
基于SM2算法对待加密明文进行加密,得到第一目标密文;
将所述第一目标密文截取为第二密文和第三密文,其中,所述第二密文和所述第三密文的长度和与所述第一目标密文长度相同;
对所述第二密文进行异或加密得到第二目标密文,其中,所述第二密文与所述第二目标密文长度相同;
对所述第三密文进行移位加密得到第三目标密文,其中,所述第三密文与所述第三目标密文长度相同;
将所述第二目标密文和所述第三目标密文进行拼接,得到目标密文。
2.根据权利要求1所述的方法,其特征在于,基于SM2算法对待加密明文进行加密,得到第一目标密文,包括:
基于SM2算法对待加密明文进行加密,得到第一密文;
确定移位长度;
基于所述移位长度对所述第一密文进行移位处理,得到第一目标密文。
3.根据权利要求1所述的方法,其特征在于,确定移位长度包括:
获取所述第一目标密文中各个奇数数字;
对所述各个奇数数字进行求和,得到奇数和;
将所述奇数和与预设数值进行取模处理,得到所述移位长度。
4.根据权利要求1所述的方法,其特征在于,对所述第二密文进行异或加密得到第二目标密文,包括:
获取所述第二密文的第一密文长度;
选取与所述第一密文长度等长的基准密文;
将所述基准密文与所述第二密文中的对应项进行异或处理,得到第二目标密文。
5.根据权利要求1所述的方法,其特征在于,对所述第三密文进行移位加密得到第三目标密文,包括
获取所述第三密文的第三密文长度;
基于所述第三密文长度对所述第三密文进行随机数函数变换,得到第三目标密文。
6.一种基于SM2算法的区块链哈希加密装置,其特征在于,包括:
第一加密模块,用于基于SM2算法对待加密明文进行加密,得到第一目标密文;
截取模块,用于将所述第一目标密文截取为第二密文和第三密文,其中,所述第二密文和所述第三密文的长度和与所述第一目标密文长度相同;
第二加密模块,用于对所述第二密文进行异或加密得到第二目标密文,其中,所述第二密文与所述第二目标密文长度相同;
第三加密模块,用于对所述第三密文进行移位加密得到第三目标密文,其中,所述第三密文与所述第三目标密文长度相同;
拼接模块,用于将所述第二目标密文和所述第三目标密文进行拼接,得到目标密文。
7.根据权利要求6所述的装置,其特征在于,所述第一加密模块包括:
加密单元,用于基于SM2算法对待加密明文进行加密,得到第一密文;
确定单元,用于确定移位长度;
移位处理单元,用于基于所述移位长度对所述第一密文进行移位处理,得到第一目标密文。
8.根据权利要求7所述的装置,其特征在于,所述确定单元包括:
获取子单元,用于获取所述第一目标密文中各个奇数数字;
求和子单元,用于对所述各个奇数数字进行求和,得到奇数和;
取模子单元,用于将所述奇数和与预设数值进行取模处理,得到所述移位长度。
9.根据权利要求6所述的装置,其特征在于,所述第二加密模块包括:
第一获取单元,用于获取所述第二密文的第一密文长度;
选取单元,用于选取与所述第一密文长度等长的基准密文;
异或加密单元,用于将所述基准密文与所述第二密文中的对应项进行异或处理,得到第二目标密文。
10.根据权利要求6所述的装置,其特征在于,所述第三加密模块包括:
第一加密单元,用于获取所述第三密文的第三密文长度;
移位加密单元,用于基于所述第三密文长度对所述第三密文进行随机数函数变换,得到第三目标密文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981749.9A CN113612799B (zh) | 2021-08-25 | 2021-08-25 | 一种基于sm2算法的区块链哈希加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981749.9A CN113612799B (zh) | 2021-08-25 | 2021-08-25 | 一种基于sm2算法的区块链哈希加密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113612799A CN113612799A (zh) | 2021-11-05 |
CN113612799B true CN113612799B (zh) | 2022-11-18 |
Family
ID=78309288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110981749.9A Active CN113612799B (zh) | 2021-08-25 | 2021-08-25 | 一种基于sm2算法的区块链哈希加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113612799B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022035A (zh) * | 2022-06-01 | 2022-09-06 | 广汽埃安新能源汽车有限公司 | 一种can通信加密方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078970A1 (zh) * | 2011-11-30 | 2013-06-06 | 西安西电捷通无线网络通信股份有限公司 | 基于sm2密钥交换协议的密钥协商方法及装置 |
CN105099672A (zh) * | 2015-08-04 | 2015-11-25 | 东南大学 | 混合加密方法及实现该方法的装置 |
CN107483204A (zh) * | 2017-09-04 | 2017-12-15 | 捷德(中国)信息科技有限公司 | 一种国密sm2加密算法的优化处理方法及装置 |
WO2019120066A1 (zh) * | 2017-12-20 | 2019-06-27 | 云图有限公司 | 一种适合sm2算法的快速模约减方法和介质 |
CN110505050A (zh) * | 2019-08-27 | 2019-11-26 | 北京电子科技学院 | 一种基于国密算法的安卓信息加密系统及方法 |
-
2021
- 2021-08-25 CN CN202110981749.9A patent/CN113612799B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078970A1 (zh) * | 2011-11-30 | 2013-06-06 | 西安西电捷通无线网络通信股份有限公司 | 基于sm2密钥交换协议的密钥协商方法及装置 |
CN105099672A (zh) * | 2015-08-04 | 2015-11-25 | 东南大学 | 混合加密方法及实现该方法的装置 |
CN107483204A (zh) * | 2017-09-04 | 2017-12-15 | 捷德(中国)信息科技有限公司 | 一种国密sm2加密算法的优化处理方法及装置 |
WO2019120066A1 (zh) * | 2017-12-20 | 2019-06-27 | 云图有限公司 | 一种适合sm2算法的快速模约减方法和介质 |
CN110505050A (zh) * | 2019-08-27 | 2019-11-26 | 北京电子科技学院 | 一种基于国密算法的安卓信息加密系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113612799A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Al-Ghamdi et al. | Security enhancement of shares generation process for multimedia counting-based secret-sharing technique | |
US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
US8139765B2 (en) | Elliptical polynomial-based message authentication code | |
Sengupta et al. | Message mapping and reverse mapping in elliptic curve cryptosystem | |
CN113711564A (zh) | 用于加密数据的计算机实现的方法和系统 | |
CN111859435B (zh) | 一种数据安全处理方法及装置 | |
CN115694777A (zh) | 基于同态加密的隐私集合求交方法、装置、设备及介质 | |
AbdElHaleem et al. | A generalized framework for elliptic curves based PRNG and its utilization in image encryption | |
CN114726512B (zh) | 数据处理方法和装置 | |
CN113612799B (zh) | 一种基于sm2算法的区块链哈希加密方法及装置 | |
CN112134689A (zh) | 一种密文的生成方法及装置 | |
Rahman et al. | Chaos and logistic map based key generation technique for AES-driven IoT security | |
CN111712816B (zh) | 使用密码蒙蔽以用于高效地使用蒙哥马利乘法 | |
Galletta et al. | On the applicability of secret share algorithms for saving data on iot, edge and cloud devices | |
CN106165340B (zh) | 加密方法、程序和系统 | |
CN111798236B (zh) | 交易数据加、解密方法、装置及设备 | |
Sivakumar et al. | A novel encryption of text messages using two fold approach | |
CN112580071A (zh) | 一种数据处理方法及装置 | |
Chao et al. | Priority visual secret sharing of random grids for threshold access structures | |
CN114726580B (zh) | 数据处理方法和装置 | |
CN115883212A (zh) | 信息处理方法、装置、电子设备和存储介质 | |
Gong | [Retracted] Application Research of Data Encryption Algorithm in Computer Security Management | |
Alslman et al. | Enhanced and authenticated cipher block chaining mode | |
Edekar et al. | Capacity boost with data security in network protocol covert channel | |
KR20230139647A (ko) | 데이터 암호화 및 복호화 시스템, 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |