基于智能合约的高效率限时加解密方法技术

技术编号:34372023 阅读:98 留言:0更新日期:2022-07-31 11:37
本发明专利技术涉及信息技术领域,具体涉及一种基于智能合约的高效率限时加解密方法,包括:在区块链上发布智能合约;加密方将待加密数据、限时时长和接收公钥写入加密接收栏;智能合约检测到加密接收栏被写入数据;输入对应的加解密栏,获得密文;生成密文签名;加密方使用私钥解密获得密文和密文签名;解密方获得密文和密文签名,获得栏标识、限时时长和时间戳;判断当前时刻是否超出限时时长,若未超出,则将密文、密文签名和接收公钥写入解密接收栏;智能合约检测到解密接收栏被写入数据;将密文输入对应的加解密栏,获得明文数据;使用接收公钥加密写入输出栏;使用私钥解密获得明文数据。本发明专利技术的实质性效果是:提高了限时加解密算法的安全性。全性。全性。

Efficient time limited encryption and decryption method based on smart contract

【技术实现步骤摘要】
基于智能合约的高效率限时加解密方法


[0001]本专利技术涉及信息
,具体涉及一种基于智能合约的高效率限时加解密方法。

技术介绍

[0002]限时加解密技术常用于软件授权信息访问权限的控制。现有技术公开了一种基于属性的加密算法,即根据属性加密消息(attribute

based ecryption, ABE)。该加密算法无需关注接收者的身份,只有符合属性要求的用户才能解密密文,保证了数据的机密性。此外,ABE中的用户密钥与随机多项式或随机数相关,不同用户的密钥无法联合,防止用户合谋攻击。提供了一定程度上管控解密范围的效果。但基于属性的加密技术无法从时间上管控解密的时间跨度。不能完成带有时间限制的信息访问权限控制。而本领域中公开的附带时间限制的加密算法安全性较低,容易通过时间戳欺骗绕过限时验证。因此有必要研究新的带有时间限制的加解密算法。

技术实现思路

[0003]本专利技术要解决的技术问题是:目前限时加解密算法的安全性不高的技术问题。提出了一种基于智能合约的高效率限时加解密方法,能够有效实现信息解密的时间限制,提高限时加解密的安全性。
[0004]为解决上述技术问题,本专利技术所采取的技术方案为:基于智能合约的高效率限时加解密方法,包括:在区块链上发布智能合约,所述智能合约包括加密接收栏、解密接收栏、输出栏和若干个加解密栏,所述加解密栏包括栏标识、加密函数和时钟,所述时钟记录加密函数的更新剩余时长,所述更新剩余时长为0时,所述加解密栏更新所述加密函数并重置时钟;加密方将待加密数据、限时时长和接收公钥按照预设加密格式写入加密接收栏;所述智能合约检测到加密接收栏被写入数据,检查数据是否符合加密格式,若不符合则清空加密接收栏;所述智能合约检查全部加解密栏的时钟,若存在时钟与限时时长相符,则将待加密数据关联加密标识符,输入对应的加解密栏,获得密文;所述智能合约使用合约私钥签名栏标识、限时时长和时间戳,作为密文签名,将密文关联密文签名后,使用接收公钥加密,写入输出栏;加密方读取输出栏内的数据,使用私钥解密获得密文和密文签名,完成加密过程;解密方获得密文和密文签名后,使用智能合约的公钥验证密文签名,获得栏标识、限时时长和时间戳;判断当前时刻是否超出限时时长,若未超出,则将密文、密文签名和接收公钥按照预设解密格式写入解密接收栏;所述智能合约检测到解密接收栏被写入数据,检查数据是否符合解密格式,若不符合则清空解密接收栏;所述智能合约使用公钥验证密文签名,检查当前时刻是否处于限时时长内,若超出限时时长,则清空解密接收栏,则输出栏限时超时标识符,若处于限时时长内,则将密文关联解密标识符,输入对应的加解密栏,获得明文数据;将明文数据使用接收公钥加密后写入输出栏;解密方读取输出栏,使用私钥解密获得明文数据,完成解密过程。
[0005]作为优选,所述智能合约公布待加密数据的长度限值,加密方判断待加密的长度,若超过长度限值,则使用对称加密算法将待加密数据加密,记为初级密文,对称加密算法使用的秘钥记为Key,将Key作为待加密数据提交所述智能合约加密,获得Key密文,将初级密文、Key密文和密文签名打包作为限时加密结果,解密方在限时时长内,通过所述智能合约解密获得Key,使用Key解密初级密文获得明文数据。
[0006]作为优选,所述智能合约的加密接收栏、解密接收栏或输出栏被写入数据时,所述智能合约锁定加密接收栏、解密接收栏和输出栏,在预设的时长内,加密接收栏、解密接收栏和输出栏不接受新数据的写入。
[0007]作为优选,所述加解密栏的加密函数为一元多项式f(x),加解密栏使用一元多项式f(x)加密数据的方法为:将待加密数据转换为二进制流,按预设规则补位后,截断为若干个预设长度的二进制段,将二进制段转换为整数D;生成数据组合(b1,x1,b2,x2,

,bN,xN,

) ,bi∈{0,1},使得D=∑(

1)^bi*f(xi)+

,其中i∈[1,N],

为修正值;将数据组合按顺序组合作为密文;加解密栏解密数据的方法为:依次读取数据组合,将每个数据组合中的bi及xi代入一元多项式f(x),并与修正值

求和,获得整数D;将全部整数D转换为二进制流并按顺序拼接后,去除补位后,获得解密的数据。
[0008]作为优选,所述限时加密智能合约生成若干个自变量x的取值集合,取值集合包括若干个整数,取值集合具有集标识;为每个一元函数f(x)的每个取值集合生成等效一元多项式f

(x),等效一元多项式f

(x)与一元多项式f(x)在取值集合内的函数值相等;所述加解密栏加密数据时,选择一个取值集合,生成取值集合的真子集,在真子集内选择自变量x的值生成数据组合;所述智能合约使用私钥对栏标识、集标识、限时时长和时间戳签名作为密文签名;当所述限时加密智能合约在预设周期内收到超过预设数量的解密请求时,所述限时加密智能合约不再将密文出入加解密栏,而是执行以下步骤:读取签名中的集标识,获得一元函数f(x)在集标识对应取值集合下的等效一元多项式f

(x),将等效一元多项式f

(x) 使用接收公钥加密后,写入输出栏;解密方读取输出栏,获得等效一元多项式f

(x);解密方将每个数据组合中的bi及xi代入等效一元多项式f

(x),并与修正值

求和,获得整数D,将全部整数D转换为二进制流并按顺序拼接后,去除补位后,获得解密的数据。
[0009]本专利技术的实质性效果是:借助区块链上的智能合约避免了时间戳欺骗,提高了限时加解密算法的安全性;通过改进的加密算法,提高了加解密的效率;借助等效一元多项式使智能合约能够有效处理高业务量。
附图说明
[0010]图1为实施例一高效率限时加解密方法示意图。
[0011]图2为实施例一待加密数据加密方法示意图。
[0012]图3为实施例一加解密栏加密方法示意图。
[0013]图4为实施例二加解密栏加密方法示意图。
具体实施方式
[0014]下面通过具体实施例,并结合附图,对本专利技术的具体实施方式作进一步具体说明。
[0015]实施例一:
基于智能合约的高效率限时加解密方法,请参阅附图1,包括:步骤A01)在区块链上发布智能合约,智能合约包括加密接收栏、解密接收栏、输出栏和若干个加解密栏,加解密栏包括栏标识、加密函数和时钟,时钟记录加密函数的更新剩余时长,更新剩余时长为0时,加解密栏更新加密函数并重置时钟;步骤A02)加密方将待加密数据、限时时长和接收公钥按照预设加密格式写入加密接收栏;步骤A03)智能合约检测到加密接收栏被写入数据,检查数据是否符合加密格式,若不符合则清空加密接收栏;步骤A04)智能合约检查全部加解密栏的时钟,若存在时钟与限时时长相符,则将待加密数据关联加密标识符,输入对应的加本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于智能合约的高效率限时加解密方法,其特征在于,包括:在区块链上发布智能合约,所述智能合约包括加密接收栏、解密接收栏、输出栏和若干个加解密栏,所述加解密栏包括栏标识、加密函数和时钟,所述时钟记录加密函数的更新剩余时长,所述更新剩余时长为0时,所述加解密栏更新所述加密函数并重置时钟;加密方将待加密数据、限时时长和接收公钥按照预设加密格式写入加密接收栏;所述智能合约检测到加密接收栏被写入数据,检查数据是否符合加密格式,若不符合则清空加密接收栏;所述智能合约检查全部加解密栏的时钟,若存在时钟与限时时长相符,则将待加密数据关联加密标识符,输入对应的加解密栏,获得密文;所述智能合约使用合约私钥签名栏标识、限时时长和时间戳,作为密文签名,将密文关联密文签名后,使用接收公钥加密,写入输出栏;加密方读取输出栏内的数据,使用私钥解密获得密文和密文签名,完成加密过程;解密方获得密文和密文签名后,使用智能合约的公钥验证密文签名,获得栏标识、限时时长和时间戳;判断当前时刻是否超出限时时长,若未超出,则将密文、密文签名和接收公钥按照预设解密格式写入解密接收栏;所述智能合约检测到解密接收栏被写入数据,检查数据是否符合解密格式,若不符合则清空解密接收栏;所述智能合约使用公钥验证密文签名,检查当前时刻是否处于限时时长内,若超出限时时长,则清空解密接收栏,则输出栏限时超时标识符,若处于限时时长内,则将密文关联解密标识符,输入对应的加解密栏,获得明文数据;将明文数据使用接收公钥加密后写入输出栏;解密方读取输出栏,使用私钥解密获得明文数据,完成解密过程。2.根据权利要求1所述的基于智能合约的高效率限时加解密方法,其特征在于,所述智能合约公布待加密数据的长度限值,加密方判断待加密数据长度,若超过长度限值,则使用对称加密算法将待加密数据加密,记为初级密文,对称加密算法使用的秘钥记为Key,将Key作为待加密数据提交所述智能合约加密,获得Key密文,将初级密文、Key密文和密文签名打包作为限时加密结果,解密方在限时时长内,通过所述智能合约解密获得Key,使用Key解密初级密文获得明文数据。3.根据权利要求1或2所述的基于智能合约的高效率限时加解密方法,其特征在于,所述智能合约的加密接收栏、解密接收栏或输出栏被写入数据时,所述智能合约锁定加密接收栏、解密接收栏和输出栏,在预设的时长内,加密接收栏、解密接收栏和输出栏不...

【专利技术属性】
技术研发人员:张金琳高航俞学劢
申请(专利权)人:浙江数秦科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1