一种轻量级的群组无证书密文等值测试加密系统与方法与流程

摘要: 本发明涉及信息安全与密码学,具体涉及一种轻量级的群组无证书密文等值测试加密系统与方法。背景技术:1、随着云计算、云存储以及大数据技术的发展,越来越多的个人医疗数...
一种轻量级的群组无证书密文等值测试加密系统与方法与流程

本发明涉及信息安全与密码学,具体涉及一种轻量级的群组无证书密文等值测试加密系统与方法。

背景技术:

1、随着云计算、云存储以及大数据技术的发展,越来越多的个人医疗数据、企业业务数据和金融交易数据被上传至云服务器进行存储和处理。由于云服务器通常不完全可信,因此需要先对用户数据进行加密再上传。然而,由于数据经过加密后明文内容被隐藏,传统基于明文的数据检索、比较和处理方式难以直接适用于密文数据,因此降低了云环境下数据的可用性。为了解决加密数据的比较问题,密文等值测试加密技术被提出。该技术允许授权测试者在不解密密文的前提下,判断不同公钥加密生成的密文是否对应同一明文,适用于医疗数据比对、重复数据检测、加密数据检索和隐私保护数据共享等场景。

2、现有技术中,一方面传统公钥密码体制存在证书生成、分发、验证和撤销等管理成本较高的问题;另一方面基于身份的密码体制虽然简化了证书管理,但存在密钥托管风险;而无证书公钥密码体制通过密钥生成中心kgc(key generation center)生成用户部分私钥,并由用户自行选择秘密值生成完整私钥,能够同时避免证书管理负担和密钥托管问题。但现有的无证书密文等值测试加密方案仍存在不足。一方面,部分方案依赖双线性对运算,计算开销较大,难以适用于移动终端、医疗设备和无线传感器等资源受限环境;另一方面,在群组数据共享场景中,现有方案通常需要为不同用户或授权关系分别生成多个测试陷门,导致陷门计算、传输和存储成本较高,降低了系统运行效率。

技术实现思路

1、鉴于以上技术问题中的至少一项,本技术提供了一种轻量级的群组无证书密文等值测试加密系统与方法,该系统与方法在无证书公钥密码体制下引入群组授权机制,采用无需执行双线性对运算的椭圆曲线运算实现密文生成、解密,并仅采用一个群陷门即可执行等值测试,能有效降低系统开销以及陷门生成、传输和存储成本。

2、本发明的技术方案是:

3、一种轻量级的群组无证书密文等值测试加密系统,该系统包括:

4、密钥生成中心kgc,用于生成公共参数和主密钥;根据公共参数、主密钥以及目标群组各用户向kgc注册时提交的用户身份标识,为群组各用户生成部分私钥和部分公钥;

5、群组用户,用于根据各自的部分公钥和部分私钥生成各自的完整公钥和完整私钥;向群组管理员发送各自的完整公钥,从而获取各自的群公钥;作为消息发送者的群组用户,对待发送消息加密生成密文并上传至云服务器;作为消息接收者的群组用户,从云服务器获取待解密密文进行解密得到消息明文,并对待解密密文进行有效性验证,若有效则输出消息明文,若无效则输出无效标志;

6、群组管理员,用于根据公共参数生成群私钥;基于群组各用户的完整公钥、公共参数和群私钥为群组各用户生成与其各自公钥相绑定的群公钥;基于群私钥生成与群组一一对应的群陷门并发给授权测试者;

7、授权测试者,为独立的实体或者为群组用户,用于在需要对指定的两个待比较密文执行等值测试时,向云服务器发送请求;根据公共参数和群陷门对云服务器提供的两个待比较密文进行等值测试,输出对应的等值测试结果;

8、云服务器,用于接收并存储消息发送者发送的密文;响应消息接收者发送的密文获取请求,向所述消息接收者提供对应的待解密密文;响应授权测试者的请求向授权测试者提供目标群组内的消息发送者此前分别生成并上传至云服务器的两个待比较密文。

9、一种轻量级的群组无证书密文等值测试加密方法,该方法包括:

10、s1、密钥生成中心kgc生成公共参数和主密钥;

11、s2、kgc根据公共参数、主密钥以及目标群组各用户向kgc注册时提交的用户身份标识,为群组各用户生成部分私钥和部分公钥;

12、s3、群组各用户根据自身的部分私钥与随机选择的秘密值,得到完整私钥,以及根据自身的部分公钥、随机选择的秘密值、椭圆曲线群的生成元得到完整公钥;

13、s4、群组管理员依据公共参数随机选择秘密值,生成群私钥;

14、s5、群组管理员根据公共参数、群私钥和群组各用户的完整公钥,为群组各用户生成与其各自公钥相绑定的群公钥;

15、s6、作为消息发送者的群组用户,根据自身的完整私钥、自身的群公钥、公共参数、消息接收者的公开公钥以及消息接收者的身份标识对待发送消息加密,生成相应的密文,并将生成的密文发送至云服务器进行存储;

16、s8、群组管理员根据群私钥生成与群组一一对应的群陷门,并将生成的群陷门发送给授权测试者;

17、s9、授权测试者向云服务器发送等值测试请求;

18、s10、云服务器响应等值测试请求,向授权测试者提供目标群组内的消息发送者此前分别生成并上传至云服务器进行存储的两个待比较密文;

19、s11、授权测试者根据公共参数和群陷门,对两个待比较密文进行等值测试,输出对应的等值测试结果。

20、可选地,根据所述的一种轻量级的群组无证书密文等值测试加密方法,所述kgc生成公共参数和主密钥,包括:

21、kgc根据预设的安全参数生成阶为素数、群内的运算遵循椭圆曲线加法规则的椭圆曲线群,以及选取的生成元;

22、kgc随机选择秘密值作为主密钥,并由主密钥得到主公钥;

23、kgc选择8个抗碰撞的单向哈希函数:、、、、、、、;其中,为模的非零剩余类构成的循环乘法群;表示待加密消息的比特长度,表示中整数的比特长度;表示闭包,由0和1组成的任意有限长度二进制串集合;

24、由上述各公共参数构成的集合。

25、可选地,根据所述的一种轻量级的群组无证书密文等值测试加密方法,kgc为群组用户生成部分私钥和部分公钥的方法为:kgc随机选择秘密值,并通过公共参数以及群组用户身份标识,计算群组用户的部分私钥和部分公钥,具体通过如下公式实现:

26、;

27、;

28、群组用户根据自身的部分私钥和部分公钥生成完整私钥与完整公钥的方法为:

29、群组用户随机选择秘密值;

30、按照下式计算群组用户的完整私钥:

31、

32、按照下式计算群组用户的公开的完整公钥:

33、

34、其中,为椭圆曲线群的生成元,为由第一公钥分量和第二公钥分量组成的有序二元组。

35、可选地,根据所述的一种轻量级的群组无证书密文等值测试加密方法,所述群组管理员基于依据公共参数随机选择的秘密值,生成群私钥,包括:群组管理员选择随机数,将和组成的有序二元组作为群私钥,其中分别为群私钥的第一群私钥分量和第二群私钥分量;

36、所述群组管理员根据群私钥生成与群组一一对应的群陷门的方法为:令群陷门。

37、可选地,根据所述的一种轻量级的群组无证书密文等值测试加密方法,群组管理员根据群私钥为群组用户生成群公钥,具体通过下式实现:

38、

39、

40、

41、其中,和分别是群组用户的群公钥的第一分量和第二分量。

42、可选地,根据所述的一种轻量级的群组无证书密文等值测试加密方法,所述作为消息发送者的群组用户,根据自身的完整私钥、自身的群公钥、公共参数、消息接收者的公开公钥以及消息接收者的身份标识对待发送消息加密,生成相应的密文,包括:

43、消息发送者对消息计算消息映射点,并构造经过消息映射点和原点的直线函数;

44、在所述直线函数上随机选择另一点,其中且,;

45、随机选择秘密值,按照下式计算密文的6个分量以及辅助参数:

46、(1);

47、(2);

48、(3);

49、(4);

50、(5);

51、(6);

52、(7);

53、其中,为椭圆曲线群元素,为被掩码保护的比特串,为密文完整性验证值;是计算密文分量时使用的消息接收者公钥绑定的辅助参数,不属于密文分量,表示将消息接收者的身份标识映射为中标量的结果;

54、最后得到消息发送者待向消息接收者发送的密文:

55、。

56、可选地,根据所述的一种轻量级的群组无证书密文等值测试加密方法,该方法还包括与s8-s11并行执行的步骤,包括:

57、s7、作为消息接收者的群组用户,向云服务器发送密文获取请求,并接收云服务器响应所述密文获取请求而提供的待解密密文,随后根据自身的完整私钥、公共参数、消息发送者的群公钥、消息发送者的公开公钥、消息发送者的身份标识,对云服务器反馈的密文进行解密,恢复出消息明文,并对所述待解密密文进行有效性验证,若有效则输出消息明文,若无效则输出无效标志。

58、可选地,根据所述的一种轻量级的群组无证书密文等值测试加密方法,所述s7包括:

59、按照下式计算辅助参数:

60、

61、其中表示将消息发送者身份标识映射为中标量的结果;和为公开公钥的两个分量;为的身份标识;

62、根据辅助参数、消息接收者的完整私钥和密文分量,按照下式恢复待加密消息与第二随机秘密值的拼接值,从而分别提取出和;

63、

64、通过下式解除第五密文分量的掩码,恢复消息测试摘要以及辅助点的横、纵坐标:

65、

66、最后,通过验证下面两个等式是否成立,验证待解密密文的有效性:

67、

68、

69、其中,第一等式用于验证从第四密文分量中恢复出的第二随机秘密值是否与第二密文分量一致;第二等式用于验证恢复出的消息测试摘要及第一至第五密文分量是否与第六密文分量一致;

70、若上述两个等式均成立,则判定所述待解密密文通过有效性验证,并输出恢复得到的消息明文;否则,判定所述待解密密文未通过有效性验证,并输出无效标志。

71、可选地,根据所述的一种轻量级的群组无证书密文等值测试加密方法,所述授权测试者根据公共参数和群陷门,对两个待比较密文进行等值测试,包括:

72、授权测试者根据群陷门和第一密文,计算:

73、

74、授权测试者根据群陷门和第二密文,计算:

75、

76、验证下列两个等式是否成立:

77、

78、

79、若上述等式均成立,则分别构造经过原点与点的直线函数,以及经过原点与点的直线函数;

80、验证所述直线函数是否满足:

81、

82、若成立,则输出,表示所述第一密文与第二密文对应同一明文;否则,输出,表示所述第一密文与第二密文不对应同一明文。

83、采用上述技术方案所产生的有益效果在于:

84、(1)本发明采用无双线性对的技术路线,基于椭圆曲线群运算实现系统初始化、密钥生成、加密、解密、授权和等值测试过程,无需执行计算开销较大的双线性对运算,能够有效降低计算成本,更适合资源受限环境。

85、(2)本发明支持群组粒度授权机制,群组管理员仅需生成一个群陷门,即可授权测试者对群组中不同用户、不同公钥加密生成的密文进行等值测试,能够降低陷门生成、传输和存储成本,提高群组环境下密文等值测试的执行效率。所述群陷门,是群组管理员基于目标群组的群私钥生成的群组级等值测试授权参数,用于授权测试者对同一群组内不同群组用户、不同公钥加密生成的密文执行等值测试。对于同一群组,群组管理员仅需生成一个群陷门,无需针对每一群组用户或者每一待比较密文分别生成陷门。授权测试者获得所述群陷门后,能够从密文中获得执行等值判断所需的测试辅助信息,进而判断两个密文是否对应同一明文,但不能据此解密密文或者恢复明文。

86、(3)本发明不仅关注群组内实体之间的安全通信,还能够在不解密密文的前提下实现密文等值测试,判断群组内不同公钥加密生成的密文是否对应同一明文,从而更适用于云端密文数据比对等应用场景。

87、(4)本发明采用无证书公钥密码体制,由密钥生成中心kgc生成群组用户的部分私钥,群组用户再结合自行选择的秘密值生成完整私钥,既避免了传统公钥密码体制中的证书管理问题,又避免了基于身份密码体制中的密钥托管问题,提高了加密系统的安全性和实用性。