一种基于代理重加密的信息分享方法及装置

文档序号:36424097发布日期:2023-12-20 16:40阅读:37来源:国知局
一种基于代理重加密的信息分享方法及装置

本发明涉及加密信息分享领域,具体涉及一种基于同态代理重加密的信息分享方法及装置。


背景技术:

1、随着云计算的迅速发展,能够将计算任务外包给云上的服务器,以获得更高的计算效率,并减轻自身的计算压力。在将自己的数据外包给云上的服务器时,人们无法无底线的相信那些接受自己的计算请求的服务器。因此,人们选择通过同态加密,让服务器对自己加密后的数据进行运算,自己只需将得到的结果解密即可获得最终的结果。

2、根据人们对于同态加密算法的不同需求,通常将其归类为全同态加密与半同态加密。全同态是指一种加密方案,可以在密文状态下进行任意多次的运算,包括加法和乘法,并且得到的结果与明文数据进行相同的运算得到的结果相同。半同态是指一种加密方案,允许在密文状态下进行一种运算,通常是加法或乘法,但不支持两种运算同时进行,并且得到的结果与明文数据进行相同的运算得到的结果相同。由于全同态拥有更高的安全性与计算能力,因此,它的计算成本较大,并且技术门槛高。人们越来越一致认为,半同态的计算效率高于全同态加密。在作为分布式账本的区块链技术中,同态加密可以大大减小审计的压力的同时,最大限度的保护了用户的隐私。

3、可是,这种方式仅能保证用户自己可获得解密结果,如果用户想将自己的计算结果分享给他人,则需要经过一次对信息进行解密后重新用他人的公钥加密再进行分享的过程,这种过程的开销同样十分的巨大。


技术实现思路

1、针对上述问题,本发明提出一种基于代理重加密的信息分享方法。该方法通过一种自适应策略来自动为每条加密信息的关键内容进行独立加密,并将该加密内容与原加密信息同时上传,省略了通过多次加解密来分享计算后的加密数据的一些步骤,提高了同态加密信息分享的效率和准确性。本发明通过加密方法的特性,同时考虑到计算需求,比起传统方法,多了一种自适应策略来自动为每个单独的随机数进行加密,达到可以直接进行计算的功能,而不是只能进行信息分享。

2、一种基于代理重加密的信息分享方法,步骤如下:

3、步骤1:分享方、被分享方与两个代理方,生成自己的公私钥;

4、步骤2:分享方加密上传密文数据至区块链;

5、步骤3:分享方、被分享方与网络中的代理方合作生成重加密密钥;

6、步骤4:被分享方根据需求获取区块链中密文数据并决定是否进行计算,将需要解密的内容发送给代理方;

7、步骤5:代理方使用重加密密钥,对密文数据中的独立加密内容进行二次加密,并发送给被分享方;

8、步骤6:被分享方使用私钥获取独立加密的具体内容;

9、步骤7:并利用独立加密的具体内容获取原被加密信息的具体内容。

10、进一步的,步骤1的具体方法如下:

11、分享方和被分享方均生成一个公私钥对(pk1,sk1),分享方、被分享方和两个中间代理方均生成另一个公私钥对(pk2,sk2),(pk1,sk1)对用来加密信息,(pk2,sk2)用来加密该信息的独立加密内容,其中,(pk1,sk1)生成方式为paillier密钥生成方式,(pk2,sk2)生成方式为elgamal密钥生成方式。pk为公钥,sk为私钥,下标为公钥对的第一第二序号。

12、进一步的,步骤2的具体方法如下:

13、分享方生成一个随机数m2即独立加密内容,再将自己需要加密的信息使用第一对秘钥中的私钥对与该随机数进行加密后得到密文c1,将该随机数用第二对秘钥中的私钥加密得到密文c2,随后将两份密文上传至区块链。

14、进一步的,步骤3的具体方法如下:

15、与被分享方生成重加密密钥:

16、代理方1生成随机数r,将其使用代理方2的公钥加密后发至被分享方处,被分享方解密获得r,生成随机数r',与自己的第二对密钥中的私钥sk'2相乘获得r·sk'2·r',并将其使用代理方2的公钥加密后,发送至代理方2。

17、代理方2解密后获得r·sk'2·r',与自己的第二对密钥中的私钥sk”2相乘获得r·sk'2·r'·sk”2·,并将其使用代理方1的公钥加密后,发送至代理方1。

18、代理方1获得r·sk'2·r'·sk”2,将r消去,即可获得与被分享方的重加密密钥:

19、rk1=sk'2·r'·sk”2                                         (1)

20、与分享方生成重加密密钥:

21、代理方1生成随机数r1,将其使用代理方2的公钥加密后发至分享方处,分享方解密获得r1,生成随机数r1',与自己的第二对密钥中的私钥sk'2相乘获得r1·sk'2·r1',并将其使用代理方2的公钥加密后,发送至代理方2。

22、代理方2解密后获得r1·sk'2·r1',与自己的第二对密钥中的私钥sk”2相乘获得r1·sk'2·r'1·sk”2·,并将其使用代理方1的公钥加密后,发送至代理方1。

23、代理方1获得r1·sk'2·r'1·sk”2·,将r1消sk'去2,r'1s即k”可2获得与分享方的重加密密钥:

24、rk2=sk'2·r1”·sk2                                         (2)

25、进一步的,步骤5的具体方法如下:

26、代理方1对已公布密文c2进行重加密,得到密文:

27、

28、并将其发送给代理方2.

29、代理方2对c'2进行重新加密,得到密文:

30、

31、并将其发送给被分享方。

32、本发明提供了一种基于代理重加密的信息分享装置,包括:

33、密钥生成模块:所述密钥生成模块用于获取平台公共信息并以此为依据独立生成公私钥。

34、信息发布模块:所述信息发布模块用于分享方对信息进行加密并上传至区块链。

35、信息计算模块:所述信息计算模块用于被分享方选取相关初次加密的密文并对其进行加减运算。

36、重加密密钥生成模块:所述重加密密钥生成模块用于各方在不公开相关信息的情况下使得代理方获取对加密信息进行重新加密的密钥的生成。

37、解密模块:所述解密模块用于被分享方获取重新加密的密文之后再对此进行解密以获取明文信息。

38、本发明有益效果如下:

39、通常来说,传统的信息的加密与解密方式就是通过公钥与随机数来增加信息的复杂度,并通过特定算法,用自己的私钥将随机数去除。传统方法时通过数学公式来消除随机数,而本发明的重加密方法可以根据在方法中加入的随机数自动为每条信息生成新的加密信息,这就极大的提高了同态加密信息分享的安全性和效率。



技术特征:

1.一种基于代理重加密的信息分享方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于代理重加密的信息分享方法,其特征在于,步骤1的具体过程如下:

3.根据权利要求2所述的基于代理重加密的信息分享方法,其特征在于,步骤2的具体过程如下:

4.根据权利要求3所述的基于代理重加密的信息分享方法,其特征在于,步骤3的具体过程如下:

5.根据权利要求4所述的基于代理重加密的信息分享方法,其特征在于,步骤4的具体过程如下:

6.根据权利要求5所述的基于代理重加密的信息分享方法,其特征在于,步骤5的具体过程如下:

7.根据权利要求6所述的基于代理重加密的信息分享方法,其特征在于,步骤6的具体过程如下:

8.根据权利要求7所述的基于代理重加密的信息分享方法,其特征在于,步骤7的具体过程如下:

9.一种基于代理重加密的信息分享装置,用于实现权利要求1至8所述的信息分享方法,其特征在于,包括密钥生成模块、信息发布模块、信息计算模块、重加密密钥生成模块和解密模块;


技术总结
本发明公开了一种基于代理重加密的信息分享方法及装置,该方法首先各自生成公私钥,分享方上传数据。其次分享方、被分享方与网络中的代理方合作生成重加密密钥,被分享方根据需求获取信息并决定是否进行计算。然后需要解密的内容发送给代理方,代理方用重加密密钥对独立加密内容进行二次加密,发送给被分享方。最后被分享方使用私钥获取独立加密的具体内容,获取原被加密信息的具体内容。该装置包括密钥生成模块、信息发布模块、信息计算模块、重加密密钥生成模块和解密模块。本发明根据在方法中加入的随机数自动为每条信息生成新的加密信息,极大的提高了同态加密信息分享的安全性和效率。

技术研发人员:游林,陆逸,饶志远,梁伟彪,林传旭,胡耿然
受保护的技术使用者:杭州电子科技大学
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1