1.一种差集扩展群组密钥协商方法,其特征在于,包括以下步骤:
生成差集,并基于差集为区块链中的每一用户计算协商交互模型,所述协商交互模型中定义有该用户的交互对象,且每一用户的交互对象数量相同,将每一用户以及协商交互模型中对应的所有交互对象作为一个分组,在所有分组中,任意两个用户在不同分组共同出现的次数为预设常数,其中交互对象为区块链中的其他用户;
为区块链中的每一用户生成公私钥对,将每一用户作为发送方用户来执行第一交互以及第二交互,在第一交互中,每一发送方用户将自身私钥进行加密后发送给对应的接收方用户,接收方用户将接收到的所有加密私钥进行聚合得到第一聚合值,接收方用户将接收到的所有加密私钥进行聚合得到第一聚合值的公式表示如下:其中,g为循环群G的生成元, 表示发送方用户为接收方用户选择的随机值, 为发送方用户的子密钥, 为接收方用户的公钥,i为当前用户, 为当前用户的子密钥,为第一聚合值, 为当前用户的私钥;在第二交互中,每一发送方用户将自身的第一聚合值加密后发送给对应的接收方用户,接收方用户将接收到的所有加密第一聚合值进行聚合得到第二聚合值,其中,与发送方用户对应的协商交互模型中的交互对象为对应的接收方用户,接收方用户将接收到的所有加密第一聚合值进行聚合得到第二聚合值的公式表示如下:其中,g为循环群G的生成元, 表示发送方用户为接收方用户选择的随机值,为发送方用户的加密第一聚合值, 为接收方用户的公钥,i为当前用户, 为当前用户的最小正整数, 为第二聚合值;
每一用户使用自身私钥与第二聚合值通过哈希运算得到群组会话密钥,每一用户使用自身私钥与第二聚合值通过哈希运算得到群组会话密钥的公式表示如下:其中, 为用户i的群组会话密钥, 为,SID为会话标识符,H为哈希运算, 为第二聚合值。
2.根据权利要求1所述的一种差集扩展群组密钥协商方法,其特征在于,在“基于差集为区块链中的每一用户计算协商交互模型”步骤中,对差集进行正规化得到正规差集,基于预设的扩展参数将所述正规差集进行循环按位模加得到分组映射表,基于所述分组映射表对为区块链中的用户分配协商交互模型,其中,所述扩展参数包括区块链中的用户数量,每一分组内的用户数量以及任意两个用户在不同分组共同出现的次数。
3.根据权利要求1所述的一种差集扩展群组密钥协商方法,其特征在于,以串行交互的方式来执行第一交互以及第二交互,即为每一发送方用户分配交互顺序,在第一交互中,每一发送方用户依据交互顺序将自身私钥进行加密后发送给对应的接收方用户,在第二交互中,每一发送方用户依据交互顺序将自身的第一聚合值加密后发送给对应的接收方用户。
4.根据权利要求1所述的一种差集扩展群组密钥协商方法,其特征在于,以并行交互的方式来执行第一交互以及第二交互,即在第一交互中,所有发送方用户同时将自身私钥进行加密后发送给对应的接收方用户,在第二交互中,每一发送方用户同时将自身的第一聚合值加密后发送给对应的接收方用户。
5.一种均负载高安全群组密钥协商方法,其特征在于,包括:
使用与权利要求1相同的方法为区块链中的每一用户计算协商交互模型;
为区块链中的每一用户生成公私钥对,将每一用户作为发送方用户来执行第三交互以及第四交互,在第三交互中,每一发送方用户将自身私钥进行加密后发送给对应的接收方用户,接收方用户将接收到的所有加密私钥进行聚合得到第三聚合值,并对第三聚合值附加BLS签名得到第一签名值;在第四交互中,每一发送方用户将自身的第三聚合值加密后联合第一签名值发送给对应的接收方用户,接收方用户将接收到所有加密第三聚合值进行聚合得到第四加密聚合值,同时聚合接收到的所有第一签名值得到第二签名值,其中,与发送方用户对应的协商交互模型中的交互对象为对应的接收方用户;
每一用户对所述第二签名值进行验证,验证通过后使用自身私钥与第四聚合值通过哈希运算得到群组会话密钥。
6.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1‑4任一所述的一种差集扩展群组密钥协商方法或权利要求5所述的一种均负载高安全群组密钥协商方法。
7.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据权利要求1‑4任一所述的一种差集扩展群组密钥协商方法或权利要求5所述的一种均负载高安全群组密钥协商方法。