System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种多用户同态加解密方法技术_技高网

一种多用户同态加解密方法技术

技术编号:40564943 阅读:10 留言:0更新日期:2024-03-05 19:28
本发明专利技术公开了一种多用户同态加解密方法,包括以下步骤:S1:利用各个用户端的密钥,获得各个用户端的位置基;S2:利用各个用户端的秘密密钥和混淆门限,获得各个用户端的公钥;其中,每个用户端的秘密密钥包括公共模基和其自身的位置基;S3:利用各个用户端的公钥对各个用户端的明文进行加密,获得各个用户端的密文;S4:对各个用户端的密文进行同态运算,获得第一同态运算结果;利用所述公共模基对所述第一同态运算结果进行取模运算,获得第二同态运算结果;S5:利用各个用户端的秘密密钥对所述第二同态运算结果进行解密。其具有在不降低安全性的前提下使加解密速度更快优点。

【技术实现步骤摘要】

本专利技术涉及信息安全,更具体的说是涉及一种多用户同态加解密方法


技术介绍

1、密码技术是采用密码算法对重要机密信息进行加密以防止破译信息系统中的机密信息的技术手段。一般来说,一个密码技术必然包括加密和解密。新型密码技术的出现,特别是以同态加密为代表的密码技术,使得密文下的运算成为可能。同态运算包括加法同态和乘法同态两种最基本的运算,分别对应于加密和解密过程中的加法和乘法运算。通过同态运算,我们可以将数据加密后再进行运算,然后再解密以获取原始数据的结果,从而保护数据的安全性和隐私性。

2、多用户的同态加密技术是对一般的同态运算技术的扩展,通过使用多用户的同态加密技术,可以在不暴露用户数据的情况下实现数据的共享和计算,从而保护用户的隐私数据。目前,多用户的同态加密技术在多个领域中具有广泛的应用前景。例如医疗保健机构需要共享患者的病历信息以便医生进行诊断和治疗,银行需要共享客户的交易数据以便进行风险评估和信用评级等。

3、因此,如何提供一种多用户同态加解密方法是本领域技术人员亟需解决的问题。


技术实现思路

1、有鉴于此,本专利技术的目的是提供一种多用户同态加解密方法,其具有在不降低安全性的前提下使加解密速度更快优点。

2、为了实现上述目的,本专利技术采用如下技术方案:

3、一种多用户同态加解密方法,包括以下步骤:

4、s1:利用各个用户端的密钥,获得各个用户端的位置基;

5、s2:利用各个用户端的秘密密钥和混淆门限,获得各个用户端的公钥;其中,每个用户端的秘密密钥包括公共模基和其自身的位置基;

6、s3:利用各个用户端的公钥对各个用户端的明文进行加密,获得各个用户端的密文;

7、s4:对各个用户端的密文进行同态运算,获得第一同态运算结果;利用所述公共模基对所述第一同态运算结果进行取模运算,获得第二同态运算结果;

8、s5:利用各个用户端的秘密密钥对所述第二同态运算结果进行解密。

9、优选的,s1进一步包括:

10、基于用户端的密钥和随机数,生成用户端的位置基,其中,,表示用户端数,表示混淆门限,表示一个冗余向量中冗余项的个数。

11、优选的,s2进一步包括:

12、公共模基由各个用户端协商获得,其中,,且两两互质。

13、优选的,s2进一步包括:

14、各个用户端均进行以下操作:

15、为用户端随机创建一个的矩阵,其中,为公共模基的第个元素;

16、获取随机数,其中;基于公式获得;

17、将位置基中的个元素作为矩阵中个行向量的索引,并将矩阵中第行第列的元素替换为,获得矩阵;

18、将矩阵中除第行到行的其他行的元素全部替换为对应行的,获得矩阵;

19、矩阵和公共模基构成用户端的公钥。

20、优选的,s3基于以下公式获得各个用户端的密文:

21、;

22、其中,表示用户端的密文,表示用户端的明文,表示矩阵中的第行第列元素,表示放大倍数,表示用户端拥有的原始消息,表示随机正整数噪声。

23、优选的,s4进一步包括:

24、基于所述同态运算的四则运算顺序,确定各个用户端的运算顺序;

25、第一运算用户端将自身密文发送给第二运算用户端;

26、第二运算用户端对第一运算用户端的密文和自身密文进行第一中间运算,获得第一中间运算结果;

27、第二运算用户端将第一中间运算结果发送给第三运算用户端;

28、第三运算用户端对第一中间运算结果和自身密文进行第二中间运算,获得第二中间运算结果;

29、第三运算用户端将第二中间运算结果发送给第四运算用户端;

30、...

31、第m-1运算用户端对第m-3中间运算结果和自身密文进行第m-2中间运算,获得第m-2中间运算结果;

32、第m-1运算用户端将第m-2中间运算结果发送给第m运算用户端;

33、第m运算用户端对第m-2中间运算结果和自身密文进行第m-1中间运算,获得第m-1中间运算结果;

34、其中,第m-1中间运算结果即为第一同态运算结果。

35、优选的,第m运算用户端基于以下公式获得第二同态运算结果中的各个元素:

36、;

37、其中,表示第一同态运算结果中的第j行第k列元素,所述表示第二同态运算结果z中的第j行第k列元素;

38、第m运算用户端将所述第二同态运算结果发送给第一运算用户端、第二运算用户端、第三运算用户端、...、第m-1运算用户端。

39、优选的,s5进一步包括以下步骤:

40、用户端使用自身秘密密钥中位置基的第到个元素作为索引,提取第二同态运算结果z中的第行到行中的第个元素,其中,,表示位置基中的第个元素。

41、利用中国剩余定理对提取的元素进行求解,获得用户端的中间解密结果。

42、优选的,s5进一步包括以下步骤:

43、基于所述同态运算的四则运算顺序,确定各个用户端的执行顺序:

44、第一执行用户端将自身的中间解密结果发送给第二执行用户端;

45、第二执行用户端将自身的中间解密结果与第一执行用户端的中间解密结果相加,获得第一累加解密结果;

46、第二执行用户端将所述第一累加解密结果发送给第三执行用户端;

47、第三执行用户端将自身的中间解密结果与第一累加解密结果相加,获得第二累加解密结果,

48、第三执行用户端将所述第二累加解密结果发送给第四执行用户端;

49、...

50、第m-1执行用户端将自身的中间解密结果与第m-3累加解密结果相加,获得第m-2累加解密结果;

51、第m-1执行用户端将第m-2累加解密结果发送给第m执行用户端;

52、第m执行用户端将自身的中间解密结果与第m-2累加解密结果相加,获得第m-1累加解密结果。

53、优选的,s5进一步包括:

54、将所述第m-1累加解密结果t除以获得最终解密结果;

55、其中,表示第m-1累加解密结果中amp的幂次。

56、经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种多用户同态加解密方法,可以获得以下有益技术效果。

57、(1)本专利技术能够支持多个用户端之间独立加密,每一个用户端使用自身的密钥生成自己独立与其他用户端的秘密密钥,然后根据秘密密钥产生独立的公钥用于加密;

58、(2)本专利技术在同一个公共模基下,不同用户端之间可以在不同秘密密钥下实现同态运算,在解密阶段由参与运算的全体用户端通过自身的秘密密钥对密文分布式计算并聚合结果以完成解密。即本专利技术在保证数据安全性的前提下,实现了多用户场景下的同态加密计算。<本文档来自技高网...

【技术保护点】

1.一种多用户同态加解密方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种多用户同态加解密方法,其特征在于,S1进一步包括:

3.根据权利要求2所述的一种多用户同态加解密方法,其特征在于,S2进一步包括:

4.根据权利要求3所述的一种多用户同态加解密方法,其特征在于,S2进一步包括:

5.根据权利要求4所述的一种多用户同态加解密方法,其特征在于,S3基于以下公式获得各个用户端的密文:

6.根据权利要求5所述的一种多用户同态加解密方法,其特征在于,S4进一步包括:

7.根据权利要求6所述的一种多用户同态加解密方法,其特征在于,第m运算用户端基于以下公式获得第二同态运算结果中的各个元素:

8.根据权利要求7所述的一种多用户同态加解密方法,其特征在于,S5进一步包括以下步骤:

9.根据权利要求8所述的一种多用户同态加解密方法,其特征在于,S5进一步包括以下步骤:

10.根据权利要求8所述的一种多用户同态加解密方法,其特征在于,S5进一步包括:

【技术特征摘要】

1.一种多用户同态加解密方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种多用户同态加解密方法,其特征在于,s1进一步包括:

3.根据权利要求2所述的一种多用户同态加解密方法,其特征在于,s2进一步包括:

4.根据权利要求3所述的一种多用户同态加解密方法,其特征在于,s2进一步包括:

5.根据权利要求4所述的一种多用户同态加解密方法,其特征在于,s3基于以下公式获得各个用户端的密文:

6.根据权利要求5所述的...

【专利技术属性】
技术研发人员:李信岳浩李晓东刘义川金鑫
申请(专利权)人:北京隐算科技有限公司
类型:发明
国别省市:

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

1