一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于智能合约的限时加解密方法与流程

2022-07-31 00:41:10 来源:中国专利 TAG:


1.本发明涉及信息技术领域,具体涉及一种基于智能合约的限时加解密方法。


背景技术:

2.限时加解密是指经加密后的数据,只能在预定的限时内能够被正确解密。若超过预定期限,则即使持有秘钥,也无法完成解密过程。限时加密技术能够使数据在时间上的扩散得到有效的控制,提高了数据的安全性,为数据的共享提供了新的模式。但目前的限时加解密算法通常基于本地时间对比,容易通过修改本地时间的方式绕过解密时限。导致限时解密的安全性较低。因此有必要研究新的限时加解密算法。


技术实现要素:

3.本发明要解决的技术问题是:目前限时加解密安全性较低的技术问题。提出了一种基于智能合约的限时加解密方法,能够严格的控制解密限时,提高限时加解密的安全性。
4.为解决上述技术问题,本发明所采取的技术方案为:基于智能合约的限时加解密方法,包括:在区块链上发布智能合约,所述智能合约包括若干个公示栏,所述公示栏包括栏编号、剩余更新时长和公示区,所述公示区展示m个样本点(xi,yi),i∈[1,m],剩余更新时长为0时,更新公示区内的样本点并重置剩余更新时长为初始值;加密方选择剩余更新时长与限时相符的公示栏,读取栏编号和m个样本点;加密方生成整数n,n《m,生成一元多项式,所述一元多项式经过m个样本点中的n个;计算剩余m-n个样本点与所述一元多项式的距离,距离和记为样本距离;穷举过m个样本点中的n个样本点的一元多项式,并分别计算每个一元多项式的样本距离,样本距离最小的一元多项式即为加密多项式;加密方使用加密多项式加密数据,获得密文,将密文关联栏编号和限时完成加密过程;解密方获得关联栏编号和限时的密文后,判断当前时刻是否超出限时,若已超出则不做操作,若未超出则查询区块链上的智能合约,获得栏编号对应的公示区内的m个样本点;穷举过m个样本点中的n个样本点的一元多项式,获得样本距离最小的一元多项式即为复原多项式;使用复原多项式解密密文获得明文数据。
[0005]
作为优选,加密方使用对称加密算法加密数据,获得密文,对称加密算法的加密秘钥为key;将key使用加密多项式加密,将密文关联加密后的key、栏编号和限时,完成加密过程;解密方在限时内查询区块链,获得复原多项式,使用复原多项式解密key;使用解密后的key解密密文获得明文数据。
[0006]
作为优选,使用加密多项式加密数据的方法包括:将数据转为二进制流,按预设规则补位后,将二进制流截断为若干个长度固定的二进制数,二进制数的值记为b;生成数据组合(b1,x1,b2,x2,

,bn,xn,

),使b=∑(-1)^bi*f(xi)

,i∈[1,n],

为修正值;全部二进制数对应的数据组合构成密文。
[0007]
作为优选,加密方穷举过m个样本点中的n个样本点的一元多项式,计算每个一元多项式的样本距离后,将一元多项式按照样本距离升序排列;选择其中一个一元多项式作
为加密多项式,记录加密多项式在排序中的序号s;将密文关联栏编号、序号s和限时完成加密过程;解密方在限时内读取栏编号对应公示栏的样本点;解密方穷举过m个样本点中的n个样本点的一元多项式,计算每个一元多项式的样本距离后,将一元多项式按照样本距离升序排列;获得序号s对应的一元多项式作为复原多项式。
[0008]
作为优选,加密方获得公示栏的m个样本点后,随机生成样本点(x0,y0),样本点(x0,y0)和公示栏的m个样本点构成样本集合,样本集合共包含m 1个样本点;加密方穷举过样本集合中n个样本点的一元多项式,计算每个一元多项式的样本距离后,将一元多项式按照样本距离升序排列;选择其中一个一元多项式作为加密多项式,记录加密多项式在排序中的序号s;将密文关联栏编号、序号s、样本点(x0,y0)和限时完成加密过程;解密方在限时内读取栏编号对应公示栏的样本点,加入样本点(x0,y0)获得复原的样本集合;解密方穷举过样本集合中n个样本点的一元多项式,计算每个一元多项式的样本距离后,将一元多项式按照样本距离升序排列;获得序号s对应的一元多项式作为复原多项式。
[0009]
本发明的实质性效果是:通过区块链上的智能合约完成限时加解密过程,使限时更为可靠的执行,避免通过修改本地时间绕过限时判断,导致限时失效的情况;通过改进的加密算法,提高限时加解密的效率;使用额外的样本点提高了限时加解密的破解难度,进一步提高了限时加解密的安全性。
附图说明
[0010]
图1为实施例一限时加解密方法示意图。
[0011]
图2为实施例一间接加密方法示意图。
[0012]
图3为实施例一使用加密多项式加密数据方法示意图。
[0013]
图4为实施例二加密一元多项式获取方法示意图。
[0014]
图5为实施例二加密一元多项式获取方法示意图。
具体实施方式
[0015]
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
[0016]
实施例一:基于智能合约的限时加解密方法,请参阅附图1,包括:步骤a01)在区块链上发布智能合约,智能合约包括若干个公示栏,公示栏包括栏编号、剩余更新时长和公示区,公示区展示m个样本点(xi,yi),i∈[1,m],剩余更新时长为0时,更新公示区内的样本点并重置剩余更新时长为初始值;步骤a02)加密方选择剩余更新时长与限时相符的公示栏,读取栏编号和m个样本点;步骤a03)加密方生成整数n,n《m,生成一元多项式,一元多项式经过m个样本点中的n个;步骤a04)计算剩余m-n个样本点与一元多项式的距离,距离和记为样本距离;步骤a05)穷举过m个样本点中的n个样本点的一元多项式,并分别计算每个一元多项式的样本距离,样本距离最小的一元多项式即为加密多项式;步骤a06)加密方使用加密多项式加密数据,获得密文,将密文关联栏编号和限时完成加密过程;步骤a07)解密方获得关联栏编号和限时的密文后,判断当前时刻是否超出限时,若已超出则不做操作,若未超出则查询区块链上的智能合约,获得栏编号对应的公示区内的m个样本点;步骤a08)穷举过m个样本点中的n个样本点的一元多项式,获得样本距离最小的一元多项式即为复原多项式;步骤
a09)使用复原多项式解密密文获得明文数据。如表1所示,为智能合约内容表,表中共记载了60个公示栏,每个公示栏分别具有一个剩余更新时长,能够提供60种限时时长。
[0017]
表1 智能合约内容表公示栏1{栏编号1,剩余更新时长1,公示区1}公示栏2{栏编号2,剩余更新时长2,公示区2}公示栏3{栏编号3,剩余更新时长3,公示区3}
……
公示栏60{栏编号60,剩余更新时长60,公示区60}公示栏2的公示区记载的样本点有4个,分别为:(2,16)、(4,24)、(8,36)和(12,64),即m=4,当n取值为2时,穷举过4个样本点中的2个样本点的一元多项式如表2所示。取其中样本距离最小的一元多项式y=5x 4作为加密多项式。
[0018]
表2 n=2时的一元多项式及样本距离表序号一元多项式样本距离1y=4x 81223y=10x 28163y=4.8x 6.410.44y=3x 12185y=5x 4106y=7x -2038当数据量较大时,智能合约将需要较长的时间完成加解密过程,影响了加解密的效率。为此,本实施例提供了相应的解决方案,请参阅附图2,包括:步骤b01)加密方使用对称加密算法加密数据,获得密文,对称加密算法的加密秘钥为key;步骤b02)将key使用加密多项式加密,将密文关联加密后的key、栏编号和限时,完成加密过程;步骤b03)解密方在限时内查询区块链,获得复原多项式,使用复原多项式解密key;步骤b04)使用解密后的key解密密文获得明文数据。
[0019]
请参阅附图3,使用加密多项式加密数据的方法包括:步骤c01)将数据转为二进制流,按预设规则补位后,将二进制流截断为若干个长度固定的二进制数,二进制数的值记为b;步骤c02)生成数据组合(b1,x1,b2,x2,

,bn,xn,

),使b=∑(-1)^bi*f(xi)

,i∈[1,n],

为修正值;步骤c03)全部二进制数对应的数据组合构成密文。如key为“euwk”,在ascii编码下,将字符串euwk转为二进制为:01000101 01110101 01010111 01101011,按照2字节的长度截断为两个整数,分别为d1=17781,d2=22379。一元多项式f(x)为:f(x)=15*x^2-32*x 64。则d1可以表示为d1=f(17) f(31) 439,对应的数据组合为(0,17,0,31,439)。同样的方式能够获得整数d2的数据组合。每个整数的数据组合是不唯一的。
[0020]
为提高使用一元多项式f(x)加解密的效率,信息源为每个加密栏生成自变量x取值集合;信息源计算当前加密函数在自变量x取值集合下的函数值,将函数值与自变量x的取值关联,作为速查表;信息源对秘钥key22进行加密时,查询速查表,选取n个函数值并相应生成n个bi的值,使∑(-1)^bi*f(xi)与d的差值处于预设范围内。
[0021]
本实施例的实质性效果是:通过区块链上的智能合约完成限时加解密过程,使限时更为可靠的执行,避免通过修改本地时间绕过限时判断,导致限时失效的情况;通过改进
的加密算法,提高限时加解密的效率;使用额外的样本点提高了限时加解密的破解难度,进一步提高了限时加解密的安全性。
[0022]
实施例二:基于智能合约的限时加解密方法,在实施例一记载的技术方案中,若未获得正确的n值,则通过m个样本点能够复原出m个一元多项式。为提高限时加密的安全性,公示栏应公开多个样本点,如公开512个或者1024个样本点。但即便增加样本点数量,密文key也容易被穷举尝试的方式破解。因此本实施例提供了具体的实施方案,以避免加密多项式容易被穷举攻击的问题。请参阅附图4,包括:步骤d01)加密方穷举过m个样本点中的n个样本点的一元多项式,计算每个一元多项式的样本距离后,将一元多项式按照样本距离升序排列;步骤d02)选择其中一个一元多项式作为加密多项式,记录加密多项式在排序中的序号s;步骤d03)将密文关联栏编号、序号s和限时完成加密过程;步骤d04)解密方在限时内读取栏编号对应公示栏的样本点;步骤d05)解密方穷举过m个样本点中的n个样本点的一元多项式,计算每个一元多项式的样本距离后,将一元多项式按照样本距离升序排列;步骤d06)获得序号s对应的一元多项式作为复原多项式。对于公示区m=6个样本点时,能够产生共64个可能的一元多项式。当公示区公开1024个样本点时,能够产生2^1024个一元多项式,数量极大,显著提高了穷举破解的难度。
[0023]
实施例三:基于智能合约的限时加解密方法,为了提高限时加解密应对穷举攻击的安全性,本实施例在实施例一的基础上,提供了新的技术方案。请参阅附图5,本实施例包括:步骤e01)加密方获得公示栏的m个样本点后,随机生成样本点(x0,y0),样本点(x0,y0)和公示栏的m个样本点构成样本集合,样本集合共包含m 1个样本点;步骤e02)加密方穷举过样本集合中n个样本点的一元多项式,计算每个一元多项式的样本距离后,将一元多项式按照样本距离升序排列;步骤e03)选择其中一个一元多项式作为加密多项式,记录加密多项式在排序中的序号s;步骤e04)将密文关联栏编号、序号s、样本点(x0,y0)和限时完成加密过程;步骤e05)解密方在限时内读取栏编号对应公示栏的样本点,加入样本点(x0,y0)获得复原的样本集合;步骤e06)解密方穷举过样本集合中n个样本点的一元多项式,计算每个一元多项式的样本距离后,将一元多项式按照样本距离升序排列;步骤e07)获得序号s对应的一元多项式作为复原多项式。
[0024]
公示栏2的公示区记载的样本点有4个,分别为:(2,16)、(4,24)、(8,36)和(12,64),加密方随机生成样本点(x0=6,y0=30),使样本点增加到5个,n仍然取值2,则穷举过2个样本点的一元多项式共有10个,如表3所示。
[0025]
表3 增加样本点且n=2时的一元多项式及样本距离表序号一元多项式样本距离1y=4x 8142y=10/3x 28/316.73y=4.8x 6.415.64y=3.5x 9155y=3x 12186y=5x 414
7y=3x 12188y=7x-20469y=3x 121810y=17/3x-419.3其中第1个和第6个一元多项式的样本距离相同,两个多项式按照最高次项系数升序排列,获得加密多项式为y=4x 8。通过增加一个样本点,会改变穷举产生的一元多项式及相应的样本点距离。若缺少增加的样本点,则根据公示区公开的样本点是无法推断出加密多项式的,因此理论上不可能通过穷举攻击破解加密多项式,有效提高了限时加密算法的安全性。
[0026]
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献