[go: up one dir, main page]

CN101291214A - A method, system and device for generating a group key - Google Patents

A method, system and device for generating a group key Download PDF

Info

Publication number
CN101291214A
CN101291214A CNA200710098508XA CN200710098508A CN101291214A CN 101291214 A CN101291214 A CN 101291214A CN A200710098508X A CNA200710098508X A CN A200710098508XA CN 200710098508 A CN200710098508 A CN 200710098508A CN 101291214 A CN101291214 A CN 101291214A
Authority
CN
China
Prior art keywords
key
group
group key
members
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA200710098508XA
Other languages
Chinese (zh)
Other versions
CN101291214B (en
Inventor
许春香
钟欢
刘亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
Original Assignee
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, University of Electronic Science and Technology of China filed Critical Huawei Technologies Co Ltd
Priority to CN200710098508XA priority Critical patent/CN101291214B/en
Publication of CN101291214A publication Critical patent/CN101291214A/en
Application granted granted Critical
Publication of CN101291214B publication Critical patent/CN101291214B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

In order to solve the problems such as large amount of calculation, more storage space occupation and higher requirements to band width in a group key negotiation method in the prior technology. The invention provides a method of generating a group of secret keys as well as a system and equipment carrying out the method, which belongs to the network communication field. The method comprises the steps that: group members forms a logic ring, system parameters are selected and each member and a neighboring member generate a secret key and an intermediate value shared by the two members and issue the intermediate value; secret keys of other members shared by two members are calculated according to all intermediate values received to generate a group of keys. The system comprises a logic ring forming module, a system parameter selecting module, a message receiving and transmitting module and a group key generating module. The equipment comprises a logic ring forming module, a system parameter selecting module, a D-H public key value calculating module, a shared key generating module, an intermediate value generating module, a message receiving and transmitting module and a group key generating module. The technology provided by the invention solves the problems in the prior technology and is easy to use.

Description

一种生成组密钥的方法、系统和设备 A method, system and device for generating a group key

技术领域 technical field

本发明涉及网络通信领域,特别涉及一种生成组密钥的方法、系统和设备。The invention relates to the field of network communication, in particular to a method, system and equipment for generating a group key.

背景技术 Background technique

利用多方共享组密钥来解决组通信安全的关键是组密钥的生成和分发,这种生成和分发必须是排外的,即非组成员无法获得组密钥。目前已有的组密钥管理技术可以分为两大类:集中管理式和分布协商式。与集中管理式相比,分布协商式组密钥管理技术适合使用在不能或无法建立中心控制节点的场合,比如军用Ad hoc网络、P2P网络、保密视频会议等。现有的组密钥协商方案都是基于有限域上离散对数难解问题的,以Burmester-Desmedt方案(BD方案)为例进行说明,该方案中用n表示组内的成员数,U表示组成员,SK表示组密钥。参见图1,为现有技术中Burmester-Desmedt组密钥协商方法的流程图,该Burmester-Desmedt组密钥协商方法具体如下:The key to solve group communication security by using multi-party shared group key is the generation and distribution of the group key, which must be exclusive, that is, non-group members cannot obtain the group key. The existing group key management technologies can be divided into two categories: centralized management and distributed negotiation. Compared with the centralized management type, the distributed negotiation group key management technology is suitable for use in occasions where a central control node cannot or cannot be established, such as military Ad hoc networks, P2P networks, and confidential video conferences. The existing group key agreement schemes are all based on the discrete logarithm problem over finite fields. The Burmester-Desmedt scheme (BD scheme) is used as an example to illustrate. In this scheme, n represents the number of members in the group, and U represents Group member, SK represents the group key. Referring to Fig. 1, it is a flowchart of the Burmester-Desmedt group key agreement method in the prior art, and the Burmester-Desmedt group key agreement method is specifically as follows:

步骤101:选择系统参数。设p,q为大素数,Zp是整数模p构成的集合,g是Zp中的一个元素,且g的阶为q,q即gq≡1modp的最小正整数。Step 101: Select system parameters. Let p, q be a large prime number, Z p is a set composed of integers modulo p, g is an element in Z p , and the order of g is q, q is the smallest positive integer of g q ≡ 1modp.

步骤102:组内成员集合{U1,U2,…,Un}组成一个逻辑环,参见图2,为n个成员U1,U2,…,Un组成环的示意图。Step 102 : A set of members { U 1 , U 2 , .

步骤103:每个成员Ui随机从Zp中选择一个数ri,计算 Z i = g r i mod p , 并向所有组成员广播ziStep 103: Each member U i randomly selects a number r i from Z p , and calculates Z i = g r i mod p , and broadcast z i to all group members;

步骤104:每个成员Ui计算 X i = ( z i + 1 / z i - 1 ) r i mod p , 并向所有组成员广播XiStep 104: Each member U i calculates x i = ( z i + 1 / z i - 1 ) r i mod p , and broadcast X i to all group members;

步骤105:计算组密钥,每个成员Ui计算组密钥 SK = ( z i - 1 ) nr i · X i n - 1 · X i + 1 n - 2 · · · X i - 2 mod p . Step 105: Calculate the group key, each member U i calculates the group key SK = ( z i - 1 ) nr i &Center Dot; x i no - 1 · x i + 1 no - 2 &Center Dot; · &Center Dot; x i - 2 mod p .

通过上述步骤,每个成员计算的都是同一个结果,即组密钥 SK = g r 1 r 2 + r 2 r 3 + · · · + r n r 1 mod p . Through the above steps, each member calculates the same result, that is, the group key SK = g r 1 r 2 + r 2 r 3 + · · &Center Dot; + r no r 1 mod p .

该Burmester-Desmedt组密钥协商方法的缺点是:计算量较大,造成处理速度慢;占用的存储空间比较大;另外对带宽的要求高。The disadvantages of the Burmester-Desmedt group key agreement method are: large amount of calculation, resulting in slow processing speed; relatively large storage space; and high bandwidth requirements.

发明内容 Contents of the invention

为了解决现有技术中组密钥协商方法计算量较大、占用存储空间较大,且对带宽要求较高的问题,本发明实施例提供了一种生成组密钥的方法、系统和设备。In order to solve the problems that the group key negotiation method in the prior art has a large amount of calculation, occupies a large storage space, and requires high bandwidth, the embodiments of the present invention provide a method, system and device for generating a group key.

一种生成组密钥的方法,所述方法包括:A method of generating a group key, the method comprising:

组内成员组成一个逻辑环,所述环内成员用Ui表示,其中,i=1,2,……,n,所述n为组内成员总数;The members in the group form a logical ring, and the members in the ring are represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of members in the group;

选择基于椭圆曲线的系统参数,所述系统参数包括:素数q,整数模q所得到的最小非负余数的集合Zp,基于椭圆曲线的公开基点P;Select system parameters based on elliptic curves, the system parameters include: prime number q, set Z p of the smallest non-negative remainder obtained by integer modulo q, and public base point P based on elliptic curves;

根据椭圆曲线上的Diffie-Hellman密钥协商协议和所述系统参数,成员Ui与成员Ui-1生成两两共享密钥Ki-1,i,与成员Ui+1生成两两共享密钥Ki,i+1;且,当i=n时,所述i+1=1;According to the Diffie-Hellman key agreement protocol on the elliptic curve and the system parameters, member U i and member U i-1 generate a pairwise shared key K i-1,i , and member U i+1 generates a pairwise shared key K i-1,i Key K i, i+1 ; and, when i=n, said i+1=1;

所述成员Ui根据所述两两共享密钥Ki-1,i和所述两两共享密钥Ki,i+1生成中间值,并在组内广播携带所述中间值的组密钥协商报文;The member U i generates an intermediate value according to the pairwise shared key K i-1,i and the pairwise shared key K i,i+1 , and broadcasts a group key carrying the intermediate value within the group Key negotiation message;

所述成员Ui收到所有其他成员广播的所述组密钥协商报文后,提取所述中间值,根据所述中间值计算其他成员与所述其他成员的下一个成员的两两共享密钥;After the member U i receives the group key negotiation message broadcast by all other members, it extracts the intermediate value, and calculates the pairwise shared secret between the other member and the next member of the other member according to the intermediate value. key;

验证所述两两共享密钥Ki,i+1是否等于两两共享密钥Ki+1,i,验证通过,所述成员Ui根据所有两两共享密钥生成组密钥SK=K1,2+K2,3+…+Kn,1Verify whether the pairwise shared key K i,i+1 is equal to the pairwise shared key K i+1,i , the verification is passed, and the member U i generates a group key SK=K based on all pairwise shared keys 1, 2 + K 2, 3 + . . . + K n, 1 .

本发明实施例还提供了一种生成组密钥的系统,所述系统包括:The embodiment of the present invention also provides a system for generating a group key, the system comprising:

逻辑环组成模块,用于将组内成员组成一个逻辑环,所述环内成员用Ui表示,其中,i=1,2,……,n,所述n为组内成员总数;A logic ring forming module is used to form a logical ring of members in the group, and the members in the ring are represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of members in the group;

系统参数选择模块,用于选择基于椭圆曲线的系统参数;A system parameter selection module for selecting system parameters based on elliptic curves;

报文收发模块,用于发送和接收组密钥协商报文,所述组密钥协商报文携带所述逻辑环组成模块中的成员生成的D-H公钥值和中间值;A message sending and receiving module, configured to send and receive a group key negotiation message, where the group key negotiation message carries the D-H public key value and intermediate value generated by members in the logical ring composition module;

组密钥生成模块,用于根据所述系统参数选择模块选择的系统参数和从所述报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。A group key generation module, configured to generate a group key according to the system parameters selected by the system parameter selection module and the D-H public key value and intermediate value in the group key negotiation message received from the message transceiver module.

本发明实施例还提供了一种生成组密钥的设备,所述设备包括:The embodiment of the present invention also provides a device for generating a group key, and the device includes:

逻辑环组成模块,用于与组内设备组成一个逻辑环,本设备用Ui表示,其中,i=1,2,……,n,所述n为组内设备总数;A logical ring forming module is used to form a logical ring with the equipment in the group, and the equipment is represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of equipment in the group;

系统参数选择模块,用于所述逻辑环组成模块完成逻辑环组成后,选择基于椭圆曲线的系统参数;A system parameter selection module, used for selecting system parameters based on elliptic curves after the logical ring composition module completes the logical ring composition;

D-H公钥值计算模块,用于根据所述系统参数选择模块选择的系统参数,计算D-H公钥值,并通过报文收发模块发送给设备Ui-1和设备Ui+1The DH public key value calculation module is used to calculate the DH public key value according to the system parameters selected by the system parameter selection module, and send it to the device U i-1 and the device U i+1 through the message sending and receiving module;

共享密钥生成模块,用于根据Diffie-Hellman密钥协商协议、从报文收发模块接收的设备Ui-1和设备Ui+1的D-H公钥值,分别生成两两共享密钥Ki-1,i和两共享密钥Ki,i+1The shared key generation module is used to generate pairwise shared keys K i respectively according to the Diffie-Hellman key agreement protocol and the DH public key values of the device U i-1 and the device U i+1 received from the message sending and receiving module -1, i and two shared keys K i, i+1 ;

中间值生成模块,用于根据所述共享密钥生成模块所生成的两两共享密钥Ki-1,i和Ki,i+1生成中间值;An intermediate value generating module, configured to generate an intermediate value according to the pairwise shared keys K i-1, i and K i, i+1 generated by the shared key generating module;

报文收发模块,用于发送和接收组密钥协商报文,所述组密钥协商报文携带所述D-H公钥值计算模块计算的D-H公钥值或所述中间值生成模块生成的中间值;A message transceiver module, configured to send and receive a group key negotiation message, the group key negotiation message carrying the D-H public key value calculated by the D-H public key value calculation module or the intermediate value generated by the intermediate value generation module value;

组密钥生成模块,用于根据所述系统参数选择模块选择的系统参数和从所述报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。A group key generation module, configured to generate a group key according to the system parameters selected by the system parameter selection module and the D-H public key value and intermediate value in the group key negotiation message received from the message transceiver module.

本发明实施例提供的方案与同类方案相比,在达到相同的安全性时,具有计算速度快、存储空间占用小和网络带宽要求低的特点。Compared with similar solutions, the solution provided by the embodiment of the present invention has the characteristics of fast calculation speed, small storage space occupation and low network bandwidth requirement when achieving the same security.

附图说明 Description of drawings

图1是现有技术中提供的Burmester-Desmedt组密钥协商方法的流程图;Fig. 1 is the flowchart of the Burmester-Desmedt group key agreement method provided in the prior art;

图2是现有技术中提供的n个成员U1,U2,…,Un组成环的示意图;Fig. 2 is a schematic diagram of a ring composed of n members U 1 , U 2 ,..., U n provided in the prior art;

图3是本发明实施例1提供的生成组密钥的方法的流程图;FIG. 3 is a flowchart of a method for generating a group key provided in Embodiment 1 of the present invention;

图4是本发明实施例1提供的3个成员组成一个逻辑环的示意图;Fig. 4 is a schematic diagram of a logical ring composed of three members provided by Embodiment 1 of the present invention;

图5是本发明实施例1提供的4个成员组成一个逻辑环的示意图;FIG. 5 is a schematic diagram of four members forming a logical ring provided by Embodiment 1 of the present invention;

图6是本发明实施例2提供的新成员加入组时生成组密钥的方法的流程图;6 is a flowchart of a method for generating a group key when a new member joins a group provided by Embodiment 2 of the present invention;

图7是本发明实施例4提供的可认证的生成组密钥的方法的流程图;FIG. 7 is a flow chart of an authenticated method for generating a group key provided in Embodiment 4 of the present invention;

图8是本发明实施例5提供的生成组密钥的系统示意图;FIG. 8 is a schematic diagram of a system for generating a group key provided by Embodiment 5 of the present invention;

图9是本发明实施例6提供的生成组密钥的设备示意图。FIG. 9 is a schematic diagram of a device for generating a group key provided by Embodiment 6 of the present invention.

具体实施方式 Detailed ways

下面结合附图和具体实施例对本发明作进一步说明,但本发明不局限于以下实施例。The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments, but the present invention is not limited to the following embodiments.

实施例1Example 1

本发明实施例提供了一种生成组密钥的方法,该方法基于椭圆曲线密码系统,这里简单地介绍一下椭圆曲线密码学ECC(Elliptic Curves Cryptography,椭圆曲线密码学),它是在1985年由Neal Koblitz和Victor Miller独立提出来的。这种密码体制具有安全性能高、计算量小、密钥长度短、处理速度快、存储空间占用小和带宽要求低等特点,因而在安全领域具有广泛的应用前景。近年来,椭圆曲线密码系统已被诸如ANSI(American NationalStandard Institute,美国国家标准学会)、IEEE(Institute of Electrical and ElectronicsEngineers,美国电气及电子工程师学会)、ISO(International StandardizationOrganization,国际标准化组织)和NIST(National Institute of Standards and Technology,美国国家标准和技术学会)等标准化组织纳入为标准。The embodiment of the present invention provides a method for generating a group key, the method is based on elliptic curve cryptography, here is a brief introduction to elliptic curve cryptography ECC (Elliptic Curves Cryptography, elliptic curve cryptography), which was developed in 1985 Independently proposed by Neal Koblitz and Victor Miller. This cryptographic system has the characteristics of high security performance, small amount of calculation, short key length, fast processing speed, small storage space occupation and low bandwidth requirement, so it has a wide application prospect in the security field. In recent years, elliptic curve cryptosystem has been adopted by such as ANSI (American National Standard Institute, American National Standards Institute), IEEE (Institute of Electrical and Electronics Engineers, American Institute of Electrical and Electronics Engineers), ISO (International Standardization Organization, International Organization for Standardization) and NIST ( National Institute of Standards and Technology, American National Institute of Standards and Technology) and other standardization organizations are included as standards.

本实施例用n表示组内的成员数,U表示组成员,SK表示组密钥。参见图3,为本发明实施例生成组密钥的方法的流程图,该方法具体步骤如下:In this embodiment, n represents the number of members in the group, U represents the group members, and SK represents the group key. Referring to Fig. 3, it is a flowchart of a method for generating a group key according to an embodiment of the present invention, and the specific steps of the method are as follows:

步骤301:一组成员U1,...,Un组成一个逻辑环,例如系统初始化时为所有参与者分配一个连续的序列号,这组成员通过这些连续的序列号组成一个逻辑环,参见图2,为组成员组成的逻辑环示意图。Step 301: A group of members U 1 ,..., U n form a logical ring. For example, when the system is initialized, a continuous serial number is assigned to all participants. This group of members forms a logical ring through these continuous serial numbers. See Figure 2 is a schematic diagram of a logical ring composed of group members.

步骤302:选择系统参数,进行系统初始化。具体过程如下:Step 302: Select system parameters and perform system initialization. The specific process is as follows:

设GF(p)是一个阶为素数p的有限域,在该域上定义一椭圆曲线EC:y2=x3+αx+β(a,β∈GF(p),4a3+27β2(modp)≠0;p为190位以上的大素数)。则ECp(a,β)={(x,y)|y2=x3+ax+β(mod p)}∪O(O为单位元)组成一个Abel群。Let GF(p) be a finite field whose order is a prime number p, define an elliptic curve EC on this field: y 2 =x 3 +αx+β(a,β∈GF(p), 4a 3 +27β 2 ( modp)≠0; p is a large prime number above 190 bits). Then EC p (a, β)={(x, y)|y 2 =x 3 +ax+β(mod p)}∪O (O is the identity element) forms an Abelian group.

对给定的ECC系统,取点P∈ECp(α,β)为一公开基点,P的阶为大素数q(一般取q≥120bits)。定义G={O,P,2P,...,(q-1)P}。由此可知G是有限的循环Abel群,q为循环周期。For a given ECC system, the point P∈EC p (α, β) is taken as a public base point, and the order of P is a large prime number q (generally q≥120bits). Define G={O, P, 2P, . . . , (q-1)P}. It can be seen that G is a finite cyclic Abel group, and q is a cyclic period.

另外,选择hash函数H:G→Zq,Zq是整数模q所得到的最小非负余数的集合{0,1,...,q-1}。In addition, choose the hash function H: G→Z q , Z q is the set {0, 1, ..., q-1} of the smallest non-negative remainder obtained by integer modulo q.

步骤303:每一个成员Ui分别与上家”Ui-1和“下家”Ui+1生成两两共享密钥。Step 303: Each member U i generates pairwise shared keys with the upper family U i-1 and the lower family U i+1 respectively.

其中,两方DH密钥的生成过程基于现有技术中的Diffie-Hellman密钥协商协议,现将两方DH协商过程介绍如下:Wherein, the generation process of the two-party DH key is based on the Diffie-Hellman key agreement protocol in the prior art, and the two-party DH negotiation process is introduced as follows:

成员A和成员B为DH协议的两方,首先,A从Zq中随机选择一个数a,将aP发送给B,B从Zq中随机选择一个数b,将bP发送给A;Member A and member B are the two parties of the DH protocol. First, A randomly selects a number a from Z q , sends aP to B, and B randomly selects a number b from Z q , and sends bP to A;

然后,A计算a(bP),B计算b(aP),即A和B共享密钥abP。abP称为A与B共享的DH密钥。Then, A computes a(bP), B computes b(aP), that is, A and B share the secret key abP. abP is called the DH key shared by A and B.

本实施例中每一个成员Ui从Zq中随机选择一个数ri,然后计算D-H公钥值Xi=riP,将携带Xi的组密钥协商报文发送给他的“上家”Ui-1和“下家”Ui+1In this embodiment, each member U i randomly selects a number r i from Z q , then calculates the DH public key value Xi = r i P, and sends the group key negotiation message carrying Xi to his "upper Home" U i-1 and "Next Home" U i+1 ,

每一个成员Ui接收到“上家”和“下家”发来的组密钥协商报文后,提取Xi-1和Xi+1,计算Ki-1,i=riXi-1=(xi-1,i,yi-1,i),Ki,i+1=riXi+1=(xi,i+1,yi,i+1)。Each member U i extracts Xi -1 and Xi +1 after receiving the group key negotiation message sent by the "upper family" and "lower family", and calculates K i-1, i = r i X i −1 =(x i-1, i , y i-1, i ), K i,i+1 =r i X i+1 =(x i,i+1 , y i,i+1 ).

步骤304:每一个成员Ui用与“上家”共享的DH密钥的对应分量乘以与“下家”共享的DH密钥的对应分量,再作模p运算生成中间值,然后广播携带中间值的组密钥协商报文。Step 304: Each member U i multiplies the corresponding component of the DH key shared with the "upper family" by the corresponding component of the DH key shared with the "lower family", and then performs a modulo p operation to generate an intermediate value, and then broadcasts and carries Group key negotiation packets with intermediate values.

该步骤具体实现为:Ui向其他成员广播Yi=(z1,i,z2,i),其中z1,i=xi-1,ixi,i+1 mod p,z2,i=yi-1,iyi,i+1 mod p。This step is specifically implemented as: U i broadcasts Y i = (z 1, i , z 2, i ) to other members, where z 1, i = x i-1, i x i, i+1 mod p, z 2 , i = y i-1, i y i, i+1 mod p.

步骤305:每一个成员Ui收到所有其他成员广播的组密钥协商报文,提取中间值,根据中间值,计算出其他每一个成员与其“下家”的两两共享密钥,然后根据所有的两两共享密钥生成组密钥,组密钥即为每一个成员与下家共享的两方DH密钥的椭圆曲线点之和。Step 305: Each member U i receives the group key negotiation message broadcast by all other members, extracts the intermediate value, and calculates the pairwise shared key of each other member and its "next family" according to the intermediate value, and then according to All pairwise shared keys generate a group key, which is the sum of the elliptic curve points of the two DH keys shared by each member and the next party.

该步骤具体实现为:每一个成员Ui接收到所有其他成员发来的Y后,计算Ki+l,i+l+1=(xi+l,i+l+1,yi+l,i+l+1),其中 x i + l , i + l + 1 = z 1 , i + l x i + l - 1 , i + l - 1 mod p , y i + l , i + l + 1 = z 2 , i + l y i + l - 1 , i + l - 1 mod p , 这里l遍取1,2,...,n-1。先验证等式 K i , i - 1 = K i - 1 , i = ( z 1 , i - 1 x i - 2 , i - 1 - 1 mod p , z 2 , i - 1 y i - 2 , i - 1 - 1 mod p ) 是否成立,通过验证该等式查看接收到的传输包是否有错误或是否为非组内成员发送的,如果成立,则计算组密钥SK,SK=K1,2+K2,3+…+Kn,1,否则Ui宣告协商失败。The specific implementation of this step is: after each member U i receives Y from all other members, calculate K i+l, i+l+1 = (x i+l, i+l+1 , y i+l , i+l+1 ), where x i + l , i + l + 1 = z 1 , i + l x i + l - 1 , i + l - 1 mod p , the y i + l , i + l + 1 = z 2 , i + l the y i + l - 1 , i + l - 1 mod p , Here l passes 1, 2, ..., n-1. Verify the equation first K i , i - 1 = K i - 1 , i = ( z 1 , i - 1 x i - 2 , i - 1 - 1 mod p , z 2 , i - 1 the y i - 2 , i - 1 - 1 mod p ) If it is true, verify the equation to check whether the received transmission packet has errors or whether it is sent by a non-member of the group. If it is true, calculate the group key SK, SK=K 1, 2 + K 2, 3 +... +K n, 1 , otherwise U i declares that the negotiation fails.

通过上述组密钥协商过程,所有成员都得到同一个组密钥结果SK=(r1r2+r2r3+...+rnr1)P。Through the above-mentioned group key negotiation process, all members get the same group key result SK=(r 1 r 2 +r 2 r 3 +...+r n r 1 )P.

下面分别以组内有3个成员和4个成员为例说明组密钥的协商过程。The negotiation process of the group key is described below by taking three and four members in the group as examples respectively.

参见图4,为3个成员组成一个逻辑环的示意图。3个成员协商组密钥的过程:Referring to FIG. 4 , it is a schematic diagram of three members forming a logical ring. The process of 3 members negotiating a group key:

(1)U1随机选择r1∈Zq,接着U1→U3,U2:X1=r1P,U2随机选择r2∈Zq,接着U2→U1,U3:X2=r2P,U3随机选择r3∈Zq,接着U3→U2,U1:X3=r3P。(1) U 1 randomly selects r 1 ∈ Z q , then U 1 → U 3 , U 2 : X 1 = r 1 P, U 2 randomly selects r 2 ∈ Z q , then U 2 → U 1 , U 3 : X 2 =r 2 P, U 3 randomly selects r 3 ∈ Z q , then U 3 →U 2 , U 1 : X 3 =r 3 P.

(2)U1收到X3、X2后,计算K31=r1X3=(x31,y31),K12=r1X2=(x12,y12),以及z11=x31x12modp,z21=y31y12modp,广播Y1=(z11,z21);(2) After receiving X 3 and X 2 , U 1 calculates K 31 = r 1 X 3 = (x 31 , y 31 ), K 12 = r 1 X 2 = (x 12 , y 12 ), and z 11 =x 31 x 12 modp, z 21 =y 31 y 12 modp, broadcast Y 1 =(z 11 , z 21 );

U2收到X1、X3后,计算K12=r2X1=(x12,y12),K23=r2X3=(x23,y23),以及z12=x12x23modp,z22=y12y23modp,广播Y2=(z12,z22);After receiving X 1 and X 3 , U 2 calculates K 12 = r 2 X 1 = (x 12 , y 12 ), K 23 = r 2 X 3 = (x 23 , y 23 ), and z 12 = x 12 x 23 modp, z 22 = y 12 y 23 modp, broadcast Y 2 = (z 12 , z 22 );

U3收到X2、X1后,计算K23=r3X2=(x23,y23),K31=r3X1=(x31,y31),以及z13=x23x31modp,z23=y23y31modp,广播Y3=(z13,z23)。After receiving X 2 and X 1 , U 3 calculates K 23 = r 3 X 2 = (x 23 , y 23 ), K 31 = r 3 X 1 = (x 31 , y 31 ), and z 13 = x 23 x 31 modp, z 23 =y 23 y 31 modp, broadcast Y 3 =(z 13 , z 23 ).

(3)U1收到Y2、Y3后,计算 K 23 = ( x 23 , y 23 ) = ( z 12 x 12 - 1 mod p , z 22 y 12 - 1 mod p ) , U1验证 ( z 13 x 23 - 1 mod p , z 23 y 23 - 1 mod p ) = r 1 X 3 , 若成立,则计算密钥:SK=K12+K23+K31,否则协商失败,停止协商。(3) After receiving Y 2 and Y 3 , U 1 calculates K twenty three = ( x twenty three , the y twenty three ) = ( z 12 x 12 - 1 mod p , z twenty two the y 12 - 1 mod p ) , U 1 Verification ( z 13 x twenty three - 1 mod p , z twenty three the y twenty three - 1 mod p ) = r 1 x 3 , If established, calculate the key: SK=K 12 +K 23 +K 31 , otherwise, the negotiation fails and the negotiation is stopped.

U2收到Y3、Y1后,计算 K 31 = ( x 31 , y 31 ) = ( z 13 x 23 - 1 mod p , z 23 y 23 - 1 mod p ) , U2验证 ( z 11 x 31 - 1 mod p , z 21 y 31 - 1 mod p ) = r 2 X 1 , 若成立,则计算密钥:SK=K12+K23+K31;否则协商失败,停止协商。After U 2 receives Y 3 and Y 1 , it calculates K 31 = ( x 31 , the y 31 ) = ( z 13 x twenty three - 1 mod p , z twenty three the y twenty three - 1 mod p ) , U2 authentication ( z 11 x 31 - 1 mod p , z twenty one the y 31 - 1 mod p ) = r 2 x 1 , If established, the key is calculated: SK=K 12 +K 23 +K 31 ; otherwise, the negotiation fails and the negotiation is stopped.

U3收到Y1、Y2后,计算 K 12 = ( x 12 , y 12 ) = ( z 11 x 31 - 1 mod p , z 21 y 31 - 1 mod p ) ,U3验证 ( z 12 x 12 - 1 mod p , z 22 y 12 - 1 mod p ) = r 3 X 2 , 若成立,则计算密钥:SK=K12+K23+K31;否则协商失败,停止协商。After receiving Y 1 and Y 2 , U 3 calculates K 12 = ( x 12 , the y 12 ) = ( z 11 x 31 - 1 mod p , z twenty one the y 31 - 1 mod p ) , U3 verifies ( z 12 x 12 - 1 mod p , z twenty two the y 12 - 1 mod p ) = r 3 x 2 , If established, the key is calculated: SK=K 12 +K 23 +K 31 ; otherwise, the negotiation fails and the negotiation is stopped.

三个成员得到同一个组密钥SK=(r1r2+r2r3+r3r1)P。The three members get the same group key SK=(r 1 r 2 +r 2 r 3 +r 3 r 1 )P.

参见图5,为4个成员组成一个逻辑环的示意图。4个成员协商组密钥的过程:Referring to FIG. 5 , it is a schematic diagram of four members forming a logical ring. The process of 4 members negotiating a group key:

(1)U1随机选择r1∈Zq,接着U1→U4,U2:X1=r1P,U2随机选择r2∈Zq,接着U2→U1,U3:X2=r2P,U3随机选择r3∈Zq,接着U3→U2,U4:X3=r3P,U4随机选择r4∈Zq,接着U4→U3,U1:X4=r4P。(1) U1 randomly selects r 1 ∈ Z q , then U 1 → U 4 , U 2 : X 1 = r 1 P, U 2 randomly selects r 2 ∈ Z q , then U 2 → U 1 , U 3 : X 2 = r 2 P, U 3 randomly selects r 3 ∈ Z q , then U 3 → U 2 , U 4 : X 3 = r 3 P, U 4 randomly selects r 4 ∈ Z q , then U 4 → U 3 , U 1 : X 4 =r 4 P.

(2)U1收到X4、X2后,计算K41=r1X4=(x41,y41),K12=r1X2=(x12,y12),以及z11=x41 x12modp,z21=y41y12modp,广播Y1=(z11,z21);(2) After receiving X 4 and X 2 , U 1 calculates K 41 = r 1 X 4 = (x 41 , y 41 ), K 12 = r 1 X 2 = (x 12 , y 12 ), and z 11 =x 41 x 12 modp, z 21 =y 41 y 12 modp, broadcast Y 1 =(z 11 , z 21 );

U2收到X1、X3后,计算K12=r2X1=(x12,y12),K23=r2X3=(x23,y23),以及z12=x12x23modp,z22=y12y23modp,广播Y2=(z12,z22);After receiving X 1 and X 3 , U 2 calculates K 12 = r 2 X 1 = (x 12 , y 12 ), K 23 = r 2 X 3 = (x 23 , y 23 ), and z 12 = x 12 x 23 modp, z 22 = y 12 y 23 modp, broadcast Y 2 = (z 12 , z 22 );

U3收到X2、X4后,计算K23=r3X2=(x23,y23),K34=r3X4=(x34,y34),以及z13=x23x34modp,z23=y23y34modp,广播Y3=(z13,z23);After receiving X 2 and X 4 , U 3 calculates K 23 = r 3 X 2 = (x 23 , y 23 ), K 34 = r 3 X 4 = (x 34 , y 34 ), and z 13 = x 23 x 34 modp, z 23 =y 23 y 34 modp, broadcast Y 3 =(z 13 , z 23 );

U4收到X3、X1后,计算K34=r4X3=(x34,y34),K41=r4X1=(x41,y41),以及z14=x34x41modp,z24=y34y41modp,广播Y4=(z14,z24)。After receiving X 3 and X 1 , U 4 calculates K 34 = r 4 X 3 = (x 34 , y 34 ), K 41 = r 4 X 1 = (x 41 , y 41 ), and z 14 = x 34 x 41 modp, z 24 =y 34 y 41 modp, broadcast Y 4 =(z 14 , z 24 ).

(3)U1收到Y2、Y3、Y4后,计算 K 23 = ( x 23 , y 23 ) = ( z 12 x 12 - 1 mod p , z 22 y 12 - 1 mod p ) , K 34 = ( x 34 , y 34 ) = ( z 13 x 23 - 1 mod p , z 23 y 23 - 1 mod p ) , U1验证 ( z 14 x 34 - 1 mod p , z 24 y 34 - 1 mod p ) = r 1 X 4 , 若成立,则计算密钥:SK=K12+K23+K34+K41;否则协商失败,停止协商;(3) After U 1 receives Y 2 , Y 3 , and Y 4 , calculate K twenty three = ( x twenty three , the y twenty three ) = ( z 12 x 12 - 1 mod p , z twenty two the y 12 - 1 mod p ) , K 34 = ( x 34 , the y 34 ) = ( z 13 x twenty three - 1 mod p , z twenty three the y twenty three - 1 mod p ) , U 1 Verification ( z 14 x 34 - 1 mod p , z twenty four the y 34 - 1 mod p ) = r 1 x 4 , If established, calculate the key: SK=K 12 +K 23 +K 34 +K 41 ; otherwise, the negotiation fails and the negotiation is stopped;

U2收到Y1、Y3、Y4后,计算 K 34 = ( x 34 , y 34 ) = ( z 13 x 23 - 1 mod p , z 23 y 23 - 1 mod p ) , K 41 = ( x 41 , y 41 ) = ( z 14 x 34 - 1 mod p , z 24 y 34 - 1 mod p ) , U2验证 ( z 11 x 41 - 1 mod p , z 21 y 41 - 1 mod p ) = r 2 X 1 , 若成立,则计算密钥:SK=K12+K23+K34+K41;否则协商失败,停止协商;After U 2 receives Y 1 , Y 3 , and Y 4 , it calculates K 34 = ( x 34 , the y 34 ) = ( z 13 x twenty three - 1 mod p , z twenty three the y twenty three - 1 mod p ) , K 41 = ( x 41 , the y 41 ) = ( z 14 x 34 - 1 mod p , z twenty four the y 34 - 1 mod p ) , U2 authentication ( z 11 x 41 - 1 mod p , z twenty one the y 41 - 1 mod p ) = r 2 x 1 , If established, calculate the key: SK=K 12 +K 23 +K 34 +K 41 ; otherwise, the negotiation fails and the negotiation is stopped;

U3收到Y4、Y1、Y2后,计算 K 41 = ( x 41 , y 41 ) = ( z 14 x 34 - 1 mod p , z 24 y 34 - 1 mod p ) , K 12 = ( x 12 , y 12 ) = ( z 11 x 41 - 1 mod p , z 21 y 41 - 1 mod p ) , U3验证 ( z 12 x 12 - 1 mod p , z 22 y 12 - 1 mod p ) = r 3 X 2 , 若成立,则计算密钥:SK=K12+K23+K34+K41;否则协商失败,停止协商;After U 3 receives Y 4 , Y 1 , and Y 2 , it calculates K 41 = ( x 41 , the y 41 ) = ( z 14 x 34 - 1 mod p , z twenty four the y 34 - 1 mod p ) , K 12 = ( x 12 , the y 12 ) = ( z 11 x 41 - 1 mod p , z twenty one the y 41 - 1 mod p ) , U3 verification ( z 12 x 12 - 1 mod p , z twenty two the y 12 - 1 mod p ) = r 3 x 2 , If established, calculate the key: SK=K 12 +K 23 +K 34 +K 41 ; otherwise, the negotiation fails and the negotiation is stopped;

U4收到Y1、Y2、Y3后,计算 K 12 = ( x 12 , y 12 ) = ( z 11 x 41 - 1 mod p , z 21 y 41 - 1 mod p ) , K 23 = ( x 23 , y 23 ) = ( z 12 x 12 - 1 mod p , z 22 y 12 - 1 mod p ) , U4验证 ( z 13 x 23 - 1 mod p , z 23 y 23 - 1 mod p ) = r 4 X 3 , 若成立,则计算密钥:SK=K12+K23+K34+K41;否则协商失败,停止协商。After U 4 receives Y 1 , Y 2 , and Y 3 , it calculates K 12 = ( x 12 , the y 12 ) = ( z 11 x 41 - 1 mod p , z twenty one the y 41 - 1 mod p ) , K twenty three = ( x twenty three , the y twenty three ) = ( z 12 x 12 - 1 mod p , z twenty two the y 12 - 1 mod p ) , U4 authentication ( z 13 x twenty three - 1 mod p , z twenty three the y twenty three - 1 mod p ) = r 4 x 3 , If established, the key is calculated: SK=K 12 +K 23 +K 34 +K 41 ; otherwise, the negotiation fails and the negotiation is stopped.

四个成员得到同一个组密钥SK=K12+K23+K34+K41=(r1r2+r2r3+r3r4+r4r1)P。Four members get the same group key SK=K 12 +K 23 +K 34 +K 41 =(r 1 r 2 +r 2 r 3 +r 3 r 4 +r 4 r 1 )P.

实施例2Example 2

本实施例提供了新成员加入组中时,组密钥的协商方法。本实施例以实施例1为基础,假设成员组∑={U1,...,Un}已经执行了实施例1提供的基本协商,并获得了共享的组密钥种子r=H(SK)=r1r2+r2r3+...riri+1+...+rn-1rn+rnr1,此时成员∑′={Un+1,...,Un+m}需要加入到该组中与∑中的成员共享新的密钥。需要U1和Un与新加入的成员∑′进行交互,所有组成员(包括∑内的其他组成员)均可计算得到新的组密钥。This embodiment provides a group key negotiation method when a new member joins the group. This embodiment is based on Embodiment 1, assuming that the member group Σ={U 1 ,..., U n } has performed the basic negotiation provided by Embodiment 1, and obtained the shared group key seed r=H( SK)=r 1 r 2 +r 2 r 3 +...r i r i+1 +...+r n-1 r n +r n r 1 , at this time member ∑′={U n+1 ,..., U n+m } need to join the group and share the new key with the members in ∑. U 1 and U n need to interact with the newly joined member Σ', and all group members (including other group members in Σ) can calculate a new group key.

其中,m+2个成员Vi组成一个逻辑环,V1=U1,V2=Un,Vi=Un+i-2(3≤i≤m+2),参见图6,为新成员加入组时生成组密钥的方法的流程图。新成员加入组时生成组密钥的具体步骤如下:Among them, m+2 members V i form a logical ring, V 1 =U 1 , V 2 =U n , V i =U n+i-2 (3≤i≤m+2), see Figure 6, for A flowchart of a method for generating a group key when a new member joins the group. The specific steps to generate a group key when a new member joins the group are as follows:

步骤601:Vi(i=3,4,…,m+2)从Zq中随机选择一个数r′i,V1从Zq中随机选择一个数r1,计算r′1=r1·r,V2从Zq中随机选择一个数r2,计算r′2=r2·r。Step 601: V i (i=3, 4, ..., m+2) randomly selects a number r' i from Z q , V 1 randomly selects a number r 1 from Z q , and calculates r' 1 =r 1 ·r, V 2 randomly selects a number r 2 from Z q , and calculates r′ 2 =r 2 ·r.

步骤602:Vi(i=1,2,…,m+2)计算D-H公钥值X′i=r′i·P,并将X′1发送给他的“上家”Vi-1和“下家”Vi+1,同时V1将r1′或成员V2将r2′发送给成员U2,...,Un-1Step 602: V i (i=1, 2, ..., m+2) calculates the DH public key value X' i =r' i ·P, and sends X' 1 to his "upper family" V i-1 and "next home" V i+1 , while V 1 sends r 1 ′ or member V 2 sends r 2 ′ to members U 2 ,..., U n-1 .

步骤603:Vi收到X′i-1和X′i+1后,计算与“上家”Vi-1的DH密钥K′i-1,i和与“下家”Vi+1的DH密钥K′i,i+1,将K′i-1,i的第一分量与K′i,i+1的第一分量相乘并对p求模,其值记为z′1,i,将K′i-1,i的第二分量与K′i,i+1的第二分量相乘并对p求模,其值记为z′2,i,然后广播(z′1,i,z′2,i)。具体算法如下:Step 603: After receiving X'i -1 and X'i +1 , V i calculates the DH key K'i- 1 , i and the "downer" V i+ 1 ’s DH key K′ i, i+1 , multiply the first component of K′ i-1, i by the first component of K′ i, i+1 and modulo p, and its value is recorded as z ′ 1, i , multiply the second component of K′ i-1, i with the second component of K′ i, i+1 and do modulo p, its value is recorded as z′ 2, i , and then broadcast ( z' 1, i , z' 2, i ). The specific algorithm is as follows:

Vi收到X′i-1和X′i+1后,计算K′i-1,i=r′iX′i-1=(x′i-1,y′i-1,i),K′i,i+1=(x′i,i+1,y′i,i+1)=r′iX′i+1,接着Vi广播Y′i=(x′i-1,ix′i,i+1modp,y′i-1,iy′i,i+1modp)=(z′1,i,z′2,i)(i遍取1,2,...,m+2)。广播使U2,...,Un-1也得到Y′iAfter receiving X′ i-1 and X′ i+1 , V i calculates K′ i-1, i = r′ i X′ i-1 = (x′ i-1 , y′ i-1 , i) , K' i, i+1 = (x' i, i+1 , y' i, i+1 ) = r' i X' i+1 , then V i broadcasts Y' i = (x' i-1 , i x′ i, i+1 modp, y′ i-1, i y′ i, i+1 modp)=(z′ 1, i , z′ 2, i ) (i takes 1, 2, . . . , m+2). Broadcasting makes U 2 ,..., U n-1 also get Y′ i .

步骤604:Vi收到V′j(j遍取1,2,...,m+2,且j≠i)后,依次计算出K′1,2,K′2,3,…,K′m+2,1,而K′1,2,K′2,3,…,K′m+2,1之和即为组密钥SK′i。同时成员U2,Un-1收到Y′j后可以跟V1或V2一样计算K′1,2,K′2,3,…,K′m+2,1,从而计算出组密钥SK′i。具体算法如下:Step 604: After V i receives V' j (j passes 1, 2, ..., m+2, and j≠i), it calculates K' 1, 2 , K' 2, 3 , ..., K' m+2,1 , and the sum of K' 1,2 , K' 2,3 , ..., K' m+2,1 is the group key SK' i . At the same time, members U 2 and U n-1 can calculate K′ 1,2 , K′ 2,3 ,…, K′ m+2,1 in the same way as V 1 or V 2 after receiving Y′ j , thus calculating the group Key SK' i . The specific algorithm is as follows:

Vi收到Y′j(j遍取1,2,...,m+2,且j≠I)后,计算 K i + l , i + l + 1 ′ = ( z 1 , i + l ′ x i + l - 1 , i + l ′ - 1 mod p , z 2 , i + l ′ y i + l - 1 , i + l ′ - 1 mod p ) = ( x i + l , i + l + 1 ′ , y i + l , i + l + 1 ′ ) ; 同时成员U2,...,Un-1收到Y′j后可以跟V1一样计算 K l + 1 , l + 2 ′ = ( z 1 , l + 1 ′ x l , l + 1 ′ - 1 mod p , z 2 , l + 1 ′ y l , l + 1 ′ - 1 mod p ) = ( x l + 1 , l + 2 ′ , y l + 1 , l + 2 ′ ) (其中,l遍取1,2,...,m+1)。After V i receives Y′ j (j takes 1, 2, ..., m+2, and j≠I), calculate K i + l , i + l + 1 ′ = ( z 1 , i + l ′ x i + l - 1 , i + l ′ - 1 mod p , z 2 , i + l ′ the y i + l - 1 , i + l ′ - 1 mod p ) = ( x i + l , i + l + 1 ′ , the y i + l , i + l + 1 ′ ) ; At the same time, members U 2 ,..., U n-1 can calculate in the same way as V 1 after receiving Y′ j K l + 1 , l + 2 ′ = ( z 1 , l + 1 ′ x l , l + 1 ′ - 1 mod p , z 2 , l + 1 ′ the y l , l + 1 ′ - 1 mod p ) = ( x l + 1 , l + 2 ′ , the y l + 1 , l + 2 ′ ) (Where, 1, 2, . . . , m+1 are taken for the l pass).

Vi先验证等式 K i , i - 1 ′ = K i - 1 , i ′ = ( z 1 , i - 1 ′ x i - 2 , i - 1 ′ - 1 mod p , z 2 , i - 1 ′ y i - 2 , i - 1 ′ - 1 mod p ) 是否成立,成员U2,...,Un-1可以验证 K 1 , m + 2 ′ = K m + 2,1 ′ = ( z 1 , m + 2 x m + 1 , m + 2 ′ - 1 mod p , z m + 1 , m + 2 y m + 1 , m + 2 ′ - 1 mod p ) 是否成立,如果都成立,则计算组密钥SK′=K′1,2+K′2,3+…+K′m+2,1V i first verify the equality K i , i - 1 ′ = K i - 1 , i ′ = ( z 1 , i - 1 ′ x i - 2 , i - 1 ′ - 1 mod p , z 2 , i - 1 ′ the y i - 2 , i - 1 ′ - 1 mod p ) Whether it holds, members U 2 ,..., U n-1 can verify K 1 , m + 2 ′ = K m + 2,1 ′ = ( z 1 , m + 2 x m + 1 , m + 2 ′ - 1 mod p , z m + 1 , m + 2 the y m + 1 , m + 2 ′ - 1 mod p ) Whether it is true, if both are true, calculate the group key SK′=K′ 1,2 +K′ 2,3 +…+K′ m+2,1 .

通过上述步骤,所有成员得到同一个组密钥SK′=(r′1r′2+r′2r′3+…+r′m+2r′1)P。Through the above steps, all members get the same group key SK'=(r' 1 r' 2 +r' 2 r' 3 +...+r' m+2 r' 1 )P.

现举例如下:假设成员组∑={U1,...,U5}已经执行了基本协商,并获得了共享的密钥种子r=H(SK),此时成员∑′={U6}需要加入到组中与∑中成员共享新的密钥。使用本实施例提供的方法,需要U1和U5与新加入的成员U6进行交互,使所有组成员均可计算得到新的组密钥。这里3个成员{Vi}组成一个逻辑环,其中V1=U1,V2=U5,V3=U6。V1,V2和V3组成逻辑环后,执行以下具体步骤:An example is as follows: Assume that the member group Σ={U 1 ,...,U 5 } has performed basic negotiation and obtained the shared key seed r=H(SK), at this time member ∑′={U 6 } need to join the group and share the new key with the members in ∑. Using the method provided in this embodiment, U 1 and U 5 need to interact with the newly joined member U 6 , so that all group members can calculate a new group key. Here three members {V i } form a logic ring, where V 1 =U 1 , V 2 =U 5 , V 3 =U 6 . After V 1 , V 2 and V 3 form a logic ring, perform the following specific steps:

(1)V3从Zq中随机选择一个数r′3,V1从Zq中随机选择一个数r1,计算r′1=r1·r,V2从Zq中随机选择一个数r2,计算r′2=r2·r;(1) V 3 randomly selects a number r′ 3 from Z q , V 1 randomly selects a number r 1 from Z q , calculates r′ 1 = r 1 ·r, V 2 randomly selects a number from Z q r 2 , calculate r′ 2 =r 2 ·r;

然后V1计算X′1=r′1·P并将X′1发送给他的“上家”V3和“下家”V2,V2计算X′2=r′2·P,并将X′2发送给他的“上家”V1和“下家”V3,V3计算X′3=r′3·P,并将X′3发送给他的“上家”V2和“下家”V1Then V 1 calculates X′ 1 =r′ 1 ·P and sends X′ 1 to his “upper” V 3 and “lower” V 2 , V 2 calculates X′ 2 =r′ 2 ·P, and Send X′ 2 to his “upper home” V 1 and “lower home” V 3 , V 3 calculates X′ 3 = r′ 3 ·P, and sends X′ 3 to his “upper home” V 2 and "Xia Jia" V 1 ;

同时V1和V2分别将r1和X′2发送给U2,...,U4At the same time, V 1 and V 2 send r 1 and X′ 2 to U 2 , . . . , U 4 respectively.

(2)V1收到X′3、X′2后,计算K′31=r′1X′3=(x′31,y′31),K′12=r′1X′2=(x′12,y′12),以及z′11=x′31x′12modp,z′21=y′31y′12modp,广播Y′1=(z′11,z′21);(2) After receiving X′ 3 and X′ 2 , V 1 calculates K′ 31 =r′ 1 X′ 3 =(x′ 31 , y′ 31 ), K′ 12 =r′ 1 X′ 2 =( x′ 12 , y′ 12 ), and z′ 11 =x′ 31 x′ 12 modp, z′ 21 =y′ 31 y′ 12 modp, broadcast Y′ 1 =(z′ 11 , z′ 21 );

V2收到X′1、X′3后,计算K′12=r′2X′1=(x′12,y′12),K′23=r′2X′3=(x′23,y′23),以及z′12=x′12x′23modp,z′22=y′12y′23modp,广播Y′2=(z′12,z′22);After receiving X′ 1 and X′ 3 , V 2 calculates K′ 12 = r′ 2 X′ 1 = (x′ 12 , y′ 12 ), K′ 23 = r′ 2 X′ 3 = (x′ 23 , y′ 23 ), and z′ 12 =x′ 12 x′ 23 modp, z′ 22 =y′ 12 y′ 23 modp, broadcast Y′ 2 =(z′ 12 , z′ 22 );

V3收到X′2、X′1后,计算K′23=r′3X′2=(x′23,y′23),K′31=r′3X′1=(x′31,y′31),以及z′13=x′23x′31modp,z′23=y′23y′31modp,广播Y′3=(z′13,z′23)。After receiving X′ 2 and X′ 1 , V 3 calculates K′ 23 = r′ 3 X′ 2 = (x′ 23 , y′ 23 ), K′ 31 = r′ 3 X′ 1 = (x′ 31 , y′ 31 ), and z′ 13 =x′ 23 x′ 31 modp, z′ 23 =y′ 23 y′ 31 modp, broadcasting Y′ 3 =(z′ 13 , z′ 23 ).

(3)V1收到Y′2、Y′3后,计算 K 23 ′ = ( x 23 ′ , y 23 ′ ) = ( z 12 ′ x 12 ′ - 1 mod p , z 22 ′ y 12 ′ - 1 mod p ) , V1验证 ( z 13 ′ x 23 ′ - 1 mod p , z 23 ′ y 23 ′ - 1 mod p ) = r 1 ′ X 3 ′ , 若成立,则计算密钥:SK′=K′12+K′23+K′31;否则协商失败,停止协商;(3) After receiving Y′ 2 and Y′ 3 , V 1 calculates K twenty three ′ = ( x twenty three ′ , the y twenty three ′ ) = ( z 12 ′ x 12 ′ - 1 mod p , z twenty two ′ the y 12 ′ - 1 mod p ) , V 1 Verification ( z 13 ′ x twenty three ′ - 1 mod p , z twenty three ′ the y twenty three ′ - 1 mod p ) = r 1 ′ x 3 ′ , If established, calculate the key: SK'=K' 12 +K' 23 +K'31; otherwise, the negotiation fails and the negotiation is stopped;

V2收到Y′3、Y′1后,计算 K 31 ′ = ( x 31 ′ , y 31 ′ ) = ( z 13 ′ x 23 ′ - 1 mod p , z 23 ′ y 23 ′ - 1 mod p ) , V2验证 ( z 11 ′ x 31 ′ - 1 mod p , z 21 ′ y 31 ′ - 1 mod p ) = r 2 ′ X 1 ′ , 若成立,则计算密钥:SK′=K′12+K′23+K′31;否则协商失败,停止协商;After receiving Y′ 3 and Y′ 1 , V 2 calculates K 31 ′ = ( x 31 ′ , the y 31 ′ ) = ( z 13 ′ x twenty three ′ - 1 mod p , z twenty three ′ the y twenty three ′ - 1 mod p ) , V2 Verification ( z 11 ′ x 31 ′ - 1 mod p , z twenty one ′ the y 31 ′ - 1 mod p ) = r 2 ′ x 1 ′ , If established, calculate the key: SK'=K' 12 +K' 23 +K'31; otherwise, the negotiation fails and the negotiation is stopped;

V3收到Y′1、Y′2后,计算 K 12 ′ = ( x 12 ′ , y 12 ′ ) = ( z 11 ′ x 31 ′ - 1 mod p , z 21 ′ y 31 ′ - 1 mod p ) , U3验证 ( z 12 ′ x 12 ′ - 1 mod p , z 22 ′ y 12 ′ - 1 mod p ) = r 3 ′ X 2 ′ , 若成立,则计算密钥:SK′=K′12+K′23+K′31;否则协商失败,停止协商;After receiving Y′ 1 and Y′ 2 , V 3 calculates K 12 ′ = ( x 12 ′ , the y 12 ′ ) = ( z 11 ′ x 31 ′ - 1 mod p , z twenty one ′ the y 31 ′ - 1 mod p ) , U3 verification ( z 12 ′ x 12 ′ - 1 mod p , z twenty two ′ the y 12 ′ - 1 mod p ) = r 3 ′ x 2 ′ , If established, calculate the key: SK'=K' 12 +K' 23 +K'31; otherwise, the negotiation fails and the negotiation is stopped;

U2收到r1,X′2、Y′2、Y′3后,计算K′12=rr1X′2 K 23 ′ = ( x 23 ′ , y 23 ′ ) = ( z 12 ′ x 12 ′ - 1 mod p , z 22 ′ y 12 ′ - 1 mod p ) , K 31 ′ = ( x 31 ′ , y 31 ′ ) = ( z 13 ′ x 23 ′ - 1 mod p , z 23 ′ y 23 ′ - 1 mod p ) , 由此计算出组密钥:SK′=K′12+K′23+K′31After U 2 receives r 1 , X′ 2 , Y′ 2 , and Y′ 3 , it calculates K′ 12 = rr 1 X′ 2 , K twenty three ′ = ( x twenty three ′ , the y twenty three ′ ) = ( z 12 ′ x 12 ′ - 1 mod p , z twenty two ′ the y 12 ′ - 1 mod p ) , K 31 ′ = ( x 31 ′ , the y 31 ′ ) = ( z 13 ′ x twenty three ′ - 1 mod p , z twenty three ′ the y twenty three ′ - 1 mod p ) , From this, the group key is calculated: SK'=K' 12 +K' 23 +K'31;

U3收到r1,X′2、Y′2、Y′3后,计算K′12=rr1X′2 K 23 ′ = ( x 23 ′ , y 23 ′ ) = ( z 12 ′ x 12 ′ - 1 mod p , z 22 ′ y 12 ′ - 1 mod p ) , K 31 ′ = ( x 31 ′ , y 31 ′ ) = ( z 13 ′ x 23 ′ - 1 mod p , z 23 ′ y 23 ′ - 1 mod p ) , 由此计算出组密钥:SK′=K′12+K′23+K′31After receiving r 1 , X′ 2 , Y′ 2 , and Y′ 3 , U 3 calculates K′ 12 = rr 1 X′ 2 , K twenty three ′ = ( x twenty three ′ , the y twenty three ′ ) = ( z 12 ′ x 12 ′ - 1 mod p , z twenty two ′ the y 12 ′ - 1 mod p ) , K 31 ′ = ( x 31 ′ , the y 31 ′ ) = ( z 13 ′ x twenty three ′ - 1 mod p , z twenty three ′ the y twenty three ′ - 1 mod p ) , From this the group key is calculated: SK'=K' 12 +K' 23 +K' 31 .

U4收到r1、X′2、Y′2和Y′3后,计算K′12=rr1X′2 K 23 ′ = ( x 23 ′ , y 23 ′ ) = ( z 12 ′ x 12 ′ - 1 mod p , z 22 ′ y 12 ′ - 1 mod p ) , K 31 ′ = ( x 31 ′ , y 31 ′ ) = ( z 13 ′ x 23 ′ - 1 mod p , z 23 ′ y 23 ′ - 1 mod p ) . After receiving r1, X′ 2 , Y′ 2 and Y′ 3 , U 4 calculates K′ 12 =rr 1 X′ 2 , K twenty three ′ = ( x twenty three ′ , the y twenty three ′ ) = ( z 12 ′ x 12 ′ - 1 mod p , z twenty two ′ the y 12 ′ - 1 mod p ) , K 31 ′ = ( x 31 ′ , the y 31 ′ ) = ( z 13 ′ x twenty three ′ - 1 mod p , z twenty three ′ the y twenty three ′ - 1 mod p ) .

由此计算出组密钥:SK′=K′12+K′23+K′31From this the group key is calculated: SK'=K' 12 +K' 23 +K' 31 .

通过上述方法,所有成员得到同一个组密钥SK′=(r′1r′2+r′2r′3+r′3r′1)P。Through the above method, all members get the same group key SK'=(r' 1 r' 2 +r' 2 r' 3 +r' 3 r' 1 )P.

实施例3Example 3

本实施例提供了其他成员退出组时,组密钥的协商方法。本实施例以实施例1为基础,假定成员∑={U1,...,Un}已经执行了实施例1提供的基本协商,此时有k个成员 Σ ′ = { U j 1 , . . . , U j k } 需要离开该组,余下的组成员 Σ ′ ′ = { U 1 , · · · , U j 1 - 1 , U j 1 + 1 , . . . , U j k - 1 , U j k + 1 , · · · , U n } , 余下的组成员为了避免离开该组的成员获得本组的组密钥,需要部分相邻的两个成员重新随机选择一个数。具有执行以下步骤:This embodiment provides a group key negotiation method when other members leave the group. This embodiment is based on Embodiment 1, assuming that members Σ={U 1 ,..., U n } have performed the basic negotiation provided by Embodiment 1, and there are k members at this time Σ ′ = { u j 1 , . . . , u j k } need to leave the group, the remaining group members Σ ′ ′ = { u 1 , &Center Dot; · · , u j 1 - 1 , u j 1 + 1 , . . . , u j k - 1 , u j k + 1 , · · · , u no } , In order to prevent the remaining members of the group from obtaining the group key of the group, some adjacent two members need to randomly select a number again. with the following steps:

首先,余下的组成员 Σ ′ ′ = { U 1 , · · · , U j 1 - 1 , U j 1 + 1 , . . . , U j k - 1 , U j k + 1 , · · · , U n } 中的成员Ui(i为奇数)从Zq中随机选择一个数ri′,重新计算Xi=r′iP, Σ ′ ′ = { U 1 , · · · , U j 1 - 1 , U j 1 + 1 , . . . , U j k - 1 , U j k + 1 , · · · , U n } 中成员Ui(i为偶数)取r′i=riFirst, the remaining group members Σ ′ ′ = { u 1 , · · · , u j 1 - 1 , u j 1 + 1 , . . . , u j k - 1 , u j k + 1 , · · · , u no } The member U i (i is an odd number) randomly selects a number r i ′ from Z q , and recalculates X i =r′ i P, Σ ′ ′ = { u 1 , &Center Dot; &Center Dot; &Center Dot; , u j 1 - 1 , u j 1 + 1 , . . . , u j k - 1 , u j k + 1 , · &Center Dot; · , u no } Among the members U i (i is an even number), take r′ i =r i .

然后,余下的组成员 Σ ′ ′ = { U 1 , · · · , U j 1 - 1 , U j 1 + 1 , . . . , U j k - 1 , U j k + 1 , · · · , U n } 重新运行实施例1中提供的组密钥协商方法,计算出新的共享组密钥。Then, the remaining group members Σ ′ ′ = { u 1 , &Center Dot; &Center Dot; &Center Dot; , u j 1 - 1 , u j 1 + 1 , . . . , u j k - 1 , u j k + 1 , &Center Dot; &Center Dot; · , u no } Rerun the group key negotiation method provided in Embodiment 1 to calculate a new shared group key.

实施例4Example 4

本实施例在以上实施例的基础上,可以添加签名认证机制,实现可认证的组密钥协商,本实施例以实施例1为基础进行说明,每个成员生成中间值或D-H公钥值后,再对中间值或D-H公钥值进行签名,并将签名结果附带在组密钥协商报文中一起发送;其他成员收到组密钥协商报文后,用签名验证密钥协商报文是否正确。On the basis of the above embodiments, this embodiment can add a signature authentication mechanism to realize authenticated group key negotiation. This embodiment is described on the basis of Embodiment 1. After each member generates an intermediate value or a D-H public key value , and then sign the intermediate value or the D-H public key value, and send the signature result together with the group key negotiation message; after receiving the group key negotiation message, other members use the signature to verify whether the key negotiation message is correct.

参见图7,为可认证的生成组密钥的方法的流程图。该方法包括以下步骤:Referring to FIG. 7 , it is a flow chart of an authenticated method for generating a group key. The method includes the following steps:

步骤701:每一个成员Ui从Zq中随机选择一个数ri,然后计算D-H公钥值Xi=riP和签名Sig(Xi),将其一起发送给“上家”Ui-1和“下家”Ui+1Step 701: Each member U i randomly selects a number r i from Z q , then calculates the DH public key value X i = r i P and signature Sig(X i ), and sends them together to the "upper family" U i -1 and the "next home" U i+1 .

步骤702:每一个成员Ui接收到“上家”发来的Xi-1和“下家”发来的Xi+1后,先验证签名Sig(Xi-1)和Sig(Xi+1)是否正确,验证通过,则执行步骤703,否则,执行步骤708。Step 702: After each member U i receives X i-1 from the "upper family" and X i+1 from the "lower family", it first verifies the signatures Sig(X i-1 ) and Sig(X i +1 ) is correct, and the verification is passed, then execute step 703, otherwise, execute step 708.

步骤703:计算Ki-1,i=riXi-1=(xi-1,i,yi-1,i),Ki,i+1=riXi+1=(xi,i+1,yi,i+1),然后Ui向其他成员广播Yi=(z1,i,z2,i)和Sig(Yi),其中z1,i=xi-1,ixi,i+1modp,z2,i=yi-1,iyi+1modp。Step 703: Calculate K i-1, i = r i X i-1 = (x i-1, i , y i-1, i ), K i, i+1 = r i X i+1 = (x i, i+1 , y i, i+1 ), then U i broadcasts Y i = (z 1, i , z 2, i ) and Sig(Y i ) to other members, where z 1, i = x i -1, i x i, i+1 modp, z 2, i = y i-1, i y i+1 modp.

步骤704:每一个成员Ui接收到所有其他成员发来的Y和Sig(Y)后,用签名Sig(Y)验证Y是否正确,验证通过后,执行步骤705,否则,执行步骤708。Step 704: After each member U i receives Y and Sig(Y) from all other members, it uses the signature Sig(Y) to verify whether Y is correct. After the verification is passed, execute step 705; otherwise, execute step 708.

步骤705:验证通过,成员Ui计算Ki+l,i+l+1=(xi+l,i+l+1,yi+l,i+l+1),其中 x i + l , i + l + 1 = z 1 , i + l x i + l - 1 , i + l - 1 mod p , y i + l , i + l + 1 = z 2 , i + l y i + l - 1 , i + l - 1 mod p , 这里l遍取1,2,...,n-1。Step 705: After the verification is passed, the member U i calculates K i+l, i+l+1 = (x i+l, i+l+1 , y i+l, i+l+1 ), where x i + l , i + l + 1 = z 1 , i + l x i + l - 1 , i + l - 1 mod p , the y i + l , i + l + 1 = z 2 , i + l the y i + l - 1 , i + l - 1 mod p , Here l passes 1, 2, ..., n-1.

步骤706:成员Ui验证等式 K i , i - 1 = K i - 1 , i = ( z 1 , i - 1 x i - 2 , i - 1 - 1 mod p , z 2 , i - 1 y i - 2 , i - 1 - 1 mod p ) 是否成立,如果成立,则执行步骤707,否则执行步骤708。Step 706: Member U i verifies the equation K i , i - 1 = K i - 1 , i = ( z 1 , i - 1 x i - 2 , i - 1 - 1 mod p , z 2 , i - 1 the y i - 2 , i - 1 - 1 mod p ) Whether it is established, if established, go to step 707, otherwise go to step 708.

步骤707:成员Ui计算组密钥SK=K1,2+K2,3+…+Kn,1Step 707: The member U i calculates the group key SK=K 1,2 +K 2,3 +...+K n,1 .

步骤708:成员Ui宣告协商失败。Step 708: The member U i announces that the negotiation fails.

最终,所有成员都得到同一个组密钥结果SK=(r1r2+r2r3+...+rnr1)P。Finally, all members get the same group key result SK=(r 1 r 2 +r 2 r 3 +...+r n r 1 )P.

上述的签名方案取决于具体的应用环境所采用的签名认证机制,包括但不限于:IBE(Identity-based Encryption,基于身份的加密法、RSA签名、DSA(Digital Signature Algorithm,数字签名算法)、ECDSA(Elliptic Curve Digital SignatureAlgorithm,椭圆曲线数字签名算法)、HMAC(Hash Message Authentication Codes,哈希信息验证码)认证机制等。The above signature scheme depends on the signature authentication mechanism adopted in the specific application environment, including but not limited to: IBE (Identity-based Encryption, identity-based encryption method, RSA signature, DSA (Digital Signature Algorithm, digital signature algorithm), ECDSA (Elliptic Curve Digital Signature Algorithm, Elliptic Curve Digital Signature Algorithm), HMAC (Hash Message Authentication Codes, Hash Information Verification Code) authentication mechanism, etc.

当参与协商的组成员的规模很大时,可将组成员分成n个子组,分别记为group1,group2,…,groupn,各个子组中的成员数目分别为m1,m2,…,mn,协商如下:When the number of group members participating in the negotiation is large, the group members can be divided into n subgroups, which are recorded as group 1 , group 2 , ..., group n , and the number of members in each subgroup is m 1 , m 2 , …, m n , negotiated as follows:

groupi(i=1,2,…,n)中mi个成员构成一个逻辑环,执行实施例1提供的基本协商,得到组密钥SKi=(ri,si);m i members in group i (i=1, 2, ..., n) form a logical ring, perform the basic negotiation provided by Embodiment 1, and obtain the group key SK i =(r i , s i );

group1,group2,…,groupn构成一个逻辑环,groupi(i=1,2,…,n)计算Xi=riP,执行实施例1提供的基本协商,协商出组密钥SK=K1,2+K2,3+…+Kn,1group 1 , group 2 , ..., group n constitute a logical ring, group i (i=1, 2, ..., n) calculates Xi = r i P, performs the basic negotiation provided by embodiment 1, and negotiates the group key SK=K 1,2 +K 2,3 + . . . +K n,1 .

最终,所有成员得到同一个组密钥SK=(r1r2+r2r3+...+rnr1)P。Finally, all members get the same group key SK=(r 1 r 2 +r 2 r 3 +...+r n r 1 )P.

实施例5Example 5

参见图8,为生成组密钥的系统示意图。本实施例还提供了一种生成组密钥的系统,包括:Referring to FIG. 8 , it is a schematic diagram of a system for generating a group key. This embodiment also provides a system for generating a group key, including:

逻辑环组成模块,用于将组内成员组成一个逻辑环,环内成员用Ui表示,其中,i=1,2,……,n,所述n为组内成员总数;A logical ring forming module is used to form a logical ring by members in the group, and the members in the ring are represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of members in the group;

系统参数选择模块,用于选择基于椭圆曲线的系统参数;A system parameter selection module for selecting system parameters based on elliptic curves;

报文收发模块,用于发送和接收组密钥协商报文,该组密钥协商报文携带逻辑环组成模块中的成员的D-H公钥值和中间值;The message sending and receiving module is used to send and receive the group key negotiation message, and the group key negotiation message carries the D-H public key value and the intermediate value of the members in the logical ring composition module;

组密钥生成模块,用于根据系统参数选择模块选择的系统参数和从报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。The group key generation module is used to generate the group key according to the system parameters selected by the system parameter selection module and the D-H public key value and the intermediate value in the group key negotiation message received from the message sending and receiving module.

其中,组密钥生成模块具体包括:Among them, the group key generation module specifically includes:

共享密钥生成单元,用于根据Diffie-Hellman密钥协商协议和系统参数选择模块选择的系统参数,生成成员Ui与成员Ui-1的两两共享密钥Ki-1,i,生成成员Ui与成员Ui+1的两两共享密钥Ki,i+1;且,当i=n时,所述i+1=1;The shared key generation unit is used to generate pairwise shared keys K i-1,i of member U i and member U i-1 according to the Diffie-Hellman key agreement protocol and the system parameters selected by the system parameter selection module , and generate The pairwise shared key K i,i+1 of member U i and member U i+1; and, when i=n, said i+1=1;

中间值生成单元,用于根据共享密钥生成单元所生成的两两共享密钥Ki-1,i和Ki,i+1生成中间值;An intermediate value generating unit, configured to generate an intermediate value according to pairwise shared keys K i-1, i and K i, i+1 generated by the shared key generating unit;

共享密钥验证单元,用于验证两两共享密钥Ki,i+1是否等于两两共享密钥Ki+1,i,验证通过,通知组密钥生成单元生成组密钥;否则,通知组密钥生成单元停止生成组密钥;The shared key verification unit is used to verify whether the pairwise shared key K i, i+1 is equal to the pairwise shared key K i+1, i , and if the verification is passed, notify the group key generation unit to generate a group key; otherwise, Notify the group key generating unit to stop generating the group key;

组密钥生成单元,用于收到共享密钥验证单元发送的生成组密钥的通知后,根据中间值计算相邻成员间的两两共享密钥,并根据所有两两共享密钥生成组密钥;The group key generation unit is used to calculate the pairwise shared key between adjacent members according to the intermediate value after receiving the notification of generating the group key sent by the shared key verification unit, and generate a group key according to all pairwise shared keys. key;

当有其它成员加入或退出时,系统还包括:When other members join or quit, the system also includes:

组密钥种子生成模块,用于对生成的组密钥进行运算,生成组密钥种子;The group key seed generation module is used to operate the generated group key to generate the group key seed;

组密钥更新模块,用于当有新成员加入所述组时,根据逻辑环组成模块将新成员与原来的成员U1和Un组成一个新逻辑环,使用组密钥种子生成模块所生成的组密钥种子,通过组密钥生成模块生成新的组密钥。或者,当有成员退出所述组时,将余下的成员组成一个新逻辑环,成员用Wi表示,i为小于n的正整数,根据i的值将成员分为奇数成员和偶数成员;使奇数成员选择与原随机数不同的随机数,使偶数成员选择与原随机数相同的随机数,通过组密钥生成模块生成新的组密钥。The group key update module is used for when a new member joins the group, according to the logical ring composition module, the new member and the original members U1 and Un form a new logical ring, which is generated by the group key seed generation module The group key seed of is used to generate a new group key through the group key generation module. Or, when a member withdraws from the group, the remaining members form a new logical ring, the members are represented by Wi , i is a positive integer less than n, and the members are divided into odd members and even members according to the value of i; Odd members select a random number different from the original random number, so that the even members select the same random number as the original random number, and generate a new group key through the group key generation module.

为了进一步完善系统,系统还包括:In order to further improve the system, the system also includes:

签名生成模块,用于对D-H公钥值和中间值进行签名,并在组密钥协商报文中携带签名;The signature generation module is used to sign the D-H public key value and the intermediate value, and carry the signature in the group key negotiation message;

签名验证模块,用于接收到密钥协商报文后,用收到的签名验证组密钥协商报文是否正确。The signature verification module is configured to use the received signature to verify whether the group key negotiation message is correct after receiving the key negotiation message.

实施例6Example 6

参见图9,本实施例提供了一种生成组密钥的设备,包括:Referring to Figure 9, this embodiment provides a device for generating a group key, including:

逻辑环组成模块,用于与组内设备组成一个逻辑环,本设备用Ui表示,其中,i=1,2,……,n,n为组内设备总数;The logical ring forming module is used to form a logical ring with the equipment in the group, and this equipment is represented by U i , wherein, i=1, 2, ..., n, n is the total number of equipment in the group;

系统参数选择模块,用于逻辑环组成模块完成逻辑环组成后,选择基于椭圆曲线的系统参数;The system parameter selection module is used for selecting the system parameters based on the elliptic curve after the logical ring composition module completes the logical ring composition;

D-H公钥值计算模块,用于根据系统参数选择模块选择的系统参数,计算D-H公钥值,并通过报文收发模块发送给设备Ui-1和设备Ui+1The DH public key value calculation module is used to calculate the DH public key value according to the system parameters selected by the system parameter selection module, and send it to the device U i-1 and the device U i+1 through the message sending and receiving module;

共享密钥生成模块,用于根据Diffie-Hellman密钥协商协议、从报文收发模块接收的设备Ui-1和设备Ui+1的D-H公钥值,分别生成两两共享密钥Ki-1,i和两共享密钥Ki,i+1The shared key generation module is used to generate pairwise shared keys K i respectively according to the Diffie-Hellman key agreement protocol and the DH public key values of the device U i-1 and the device U i+1 received from the message sending and receiving module -1, i and two shared keys K i, i+1 ;

中间值生成模块,用于根据共享密钥生成模块所生成的两两共享密钥Ki-1,i和Ki,i+1生成中间值;The intermediate value generation module is used to generate an intermediate value according to the pairwise shared keys K i-1, i and K i, i+1 generated by the shared key generation module;

报文收发模块,用于发送和接收组密钥协商报文,其中,组密钥协商报文携带D-H公钥值计算模块计算的D-H公钥值或中间值生成模块生成的中间值;The message sending and receiving module is used to send and receive the group key negotiation message, wherein the group key negotiation message carries the D-H public key value calculated by the D-H public key value calculation module or the intermediate value generated by the intermediate value generation module;

组密钥生成模块,用于根据系统参数选择模块选择的系统参数和从报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。The group key generation module is used to generate the group key according to the system parameters selected by the system parameter selection module and the D-H public key value and the intermediate value in the group key negotiation message received from the message sending and receiving module.

当有新设备加入该组或者有设备退出该组时,该设备还包括:When a new device joins the group or a device exits the group, the device also includes:

组密钥更新模块,用于当组内设备个数发生变化时,根据上述系统参数选择模块、D-H公钥值计算模块、共享密钥生成模块、中间值生成模块和报文收发模块中的信息生成新的组密钥。The group key update module is used to select the module according to the above system parameters, the D-H public key value calculation module, the shared key generation module, the intermediate value generation module and the information in the message sending and receiving module when the number of devices in the group changes Generate a new group key.

为了保证设备所收发信息的有效性和安全性,该设备还包括:In order to ensure the validity and security of the information sent and received by the device, the device also includes:

签名生成模块,用于对D-H公钥值计算模块计算的D-H公钥值或中间值生成模块生成的中间值进行签名,并在组密钥协商报文中携带签名;The signature generation module is used to sign the D-H public key value calculated by the D-H public key value calculation module or the intermediate value generated by the intermediate value generation module, and carry the signature in the group key negotiation message;

签名验证模块,用于接收到密钥协商报文后,用签名验证所述组密钥协商报文是否正确。The signature verification module is configured to use the signature to verify whether the group key negotiation message is correct after receiving the key negotiation message.

以上实施例具有:The above embodiment has:

1)安全性能更高:椭圆曲线离散对数问题的计算复杂度目前是完全指数级的,而RSA(RSA公钥密码体制)是亚指数级的。1) Higher security performance: the computational complexity of the elliptic curve discrete logarithm problem is completely exponential at present, while RSA (RSA public key cryptosystem) is sub-exponential.

2)计算量小和处理速度快:在相同的计算资源条件下,椭圆曲线体制比RSA和DSA(数字签名标准)有更快的处理速度。2) Small amount of calculation and fast processing speed: Under the same computing resource conditions, the elliptic curve system has faster processing speed than RSA and DSA (digital signature standard).

3)存储空间占用小:椭圆曲线体制的密钥长度和系统参数与RSA及DSA相比要小得多。160比特ECC与1024比特RSA、DSA具有相同的安全强度,210比特ECC则与2048比特RSA、DSA具有相同的安全强度,这意味着它所占的存储空间要小得多。3) The storage space is small: the key length and system parameters of the elliptic curve system are much smaller than those of RSA and DSA. 160-bit ECC has the same security strength as 1024-bit RSA and DSA, and 210-bit ECC has the same security strength as 2048-bit RSA and DSA, which means it occupies much less storage space.

4)带宽要求低:对于给定的安全级别,ECC比RSA和DSA有更小的参数。对于更高的安全级别,参数大小的差异更加明显。更小的参数带来的好处是,计算速度更快,密钥更短和密钥证书更小,因而签名长度和密文长度更短。4) Low bandwidth requirements: For a given security level, ECC has smaller parameters than RSA and DSA. For higher security levels, the difference in parameter size is more pronounced. The benefit of smaller parameters is that the calculation speed is faster, the key is shorter and the key certificate is smaller, so the length of the signature and the length of the ciphertext are shorter.

综上,椭圆曲线密码可以用较小的开销(如带宽,计算量,存储空间,功耗等)和时延实现较高的安全性,特别适用于计算能力和带宽受限的情况,如Ad Hoc网络环境下的安全通信等。与同类方案相比,在达到相同的安全性时,具有计算速度快、存储空间占用小和网络带宽要求低的特点。In summary, elliptic curve cryptography can achieve higher security with less overhead (such as bandwidth, calculation, storage space, power consumption, etc.) and delay, and is especially suitable for situations where computing power and bandwidth are limited, such as Ad Secure communication in Hoc network environment, etc. Compared with similar solutions, it has the characteristics of fast calculation speed, small storage space occupation and low network bandwidth requirement when achieving the same security.

以上实施例提供的技术方案,可以通过软件实现,软件可以存储在计算机可读取的物理介质中,如:光盘,软盘或硬盘等。The technical solutions provided in the above embodiments can be realized by software, and the software can be stored in a computer-readable physical medium, such as a CD, a floppy disk or a hard disk.

以上所述的实施例,只是本发明的较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。The above-described embodiments are only preferred specific implementations of the present invention, and ordinary changes and replacements performed by those skilled in the art within the scope of the technical solution of the present invention should be included in the protection scope of the present invention.

Claims (18)

1.一种生成组密钥的方法,其特征在于,所述方法包括:1. A method for generating a group key, characterized in that the method comprises: 组内成员组成一个逻辑环,所述环内成员用Ui表示,其中,i=1,2,……,n,所述n为组内成员总数;The members in the group form a logical ring, and the members in the ring are represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of members in the group; 选择基于椭圆曲线的系统参数,所述系统参数包括:素数q,整数模q所得到的最小非负余数的集合Zq,基于椭圆曲线的公开基点P;Select system parameters based on elliptic curves, the system parameters include: prime number q, the set Z q of the smallest non-negative remainder obtained by integer modulo q, and the public base point P based on elliptic curves; 根据椭圆曲线上的Diffie-Hellman密钥协商算法和所述系统参数,成员Ui与成员Ui-1生成两两共享密钥Ki-1,i,与成员Ui+1生成两两共享密钥Ki,i+1;且,当i=n时,所述i+1=1;According to the Diffie-Hellman key agreement algorithm on the elliptic curve and the system parameters, member U i and member U i-1 generate a pairwise shared key K i-1,i , and member U i+1 generates a pairwise shared key K i-1,i Key K i, i+1 ; and, when i=n, said i+1=1; 所述成员Ui根据所述两两共享密钥Ki-1,i和所述两两共享密钥Ki,i+1生成中间值,并在组内广播携带所述中间值的组密钥协商报文;The member U i generates an intermediate value according to the pairwise shared key K i-1,i and the pairwise shared key K i,i+1 , and broadcasts a group key carrying the intermediate value within the group Key negotiation message; 所述成员Ui收到所有其他成员广播的所述组密钥协商报文后,提取所述中间值,根据所述中间值计算其他成员与所述其他成员的下一个成员的两两共享密钥;After the member U i receives the group key negotiation message broadcast by all other members, it extracts the intermediate value, and calculates the pairwise shared secret between the other member and the next member of the other member according to the intermediate value. key; 验证所述两两共享密钥Ki,i+1是否等于两两共享密钥Ki+1,i,验证通过,所述成员Ui根据所有两两共享密钥生成组密钥SK=K1,2+K2,3+…+Kn,1Verify whether the pairwise shared key K i,i+1 is equal to the pairwise shared key K i+1,i , the verification is passed, and the member U i generates a group key SK=K based on all pairwise shared keys 1, 2 + K 2, 3 + . . . + K n, 1 . 2.如权利要求1所述的生成组密钥的方法,其特征在于,所述成员Ui与成员Ui-1生成两两共享密钥Ki-1,i,与成员Ui+1生成两两共享密钥Ki,i+1的步骤具体包括:2. The method for generating a group key according to claim 1, characterized in that, said member U i and member U i-1 generate pairwise shared keys K i-1,i , and members U i+1 The steps of generating pairwise shared keys K i, i+1 specifically include: 所述成员Ui从所述Zq中选择随机数ri,计算D-H公钥值Xi=riP,发送携带所述D-H公钥值Xi的组密钥协商报文给成员Ui-1和成员Ui+1The member U i selects a random number r i from the Z q , calculates the DH public key value Xi = r i P, and sends a group key negotiation message carrying the DH public key value Xi to the member U i -1 and member U i+1 ; 所述成员Ui接收到成员Ui-1发送的组密钥协商报文后,提取Xi-1,计算Ki-1,i=riXi-1=(xi-1,i,yi-1,i);After the member U i receives the group key negotiation message sent by the member U i-1 , it extracts Xi -1 and calculates K i-1, i = r i X i-1 = (xi -1, i , y i-1, i ); 所述成员Ui接收到成员Ui+1发送的组密钥协商报文后,提取Xi+1,计算Ki,i+1=riXi+1=(xi,i+1,yi,i+1)。After the member U i receives the group key negotiation message sent by the member U i+1 , it extracts X i+1 and calculates K i,i+1 =r i X i+1 =(xi ,i+1 , y i, i+1 ). 3.如权利要求1所述的生成组密钥的方法,其特征在于,所述成员Ui根据所述两两共享密钥Ki-1,i和所述两两共享密钥Ki,i+1生成中间值的步骤具体包括:3. The method for generating a group key according to claim 1, wherein the member U i is based on the pairwise shared key K i-1, i and the pairwise shared key K i, The steps for i+1 to generate an intermediate value include: 所述成员Ui用所述两两共享密钥Ki-1,i的对应分量乘以所述两两共享密钥Ki,i+1的对应分量,然后对乘积进行取模,将取模后的坐标点作为中间值。The member U i multiplies the corresponding component of the pairwise shared key K i-1, i by the corresponding component of the pairwise shared key K i, i+1 , and then moduloes the product to obtain The coordinate point after the modulus is used as the intermediate value. 4.如权利要求3所述的生成组密钥的方法,其特征在于,所述根据所述中间值计算其他成员与所述其他成员的下一个成员的两两共享密钥的步骤具体包括:4. The method for generating a group key according to claim 3, wherein the step of calculating the pairwise shared key between other members and the next member of the other members according to the intermediate value specifically comprises: 计算Ki+l,i+l+1=(xi+l,i+l+1,yi+l,i+l+1),所述l遍取1,2,...,n-1,所述 x i + l , i + l + 1 = z 1 , i + l x i + l - 1 , i + l - 1 mod p , 所述 y i + l , i + l + 1 = z 2 , i + l y i + l - 1 , i + l - 1 modp,所述z1,i+l,z2,i+l为所述中间值的两个分量。Calculate K i+l, i+l+1 = (x i+l, i+l+1 , y i+l, i+l+1 ), the said l pass takes 1, 2, ..., n -1, said x i + l , i + l + 1 = z 1 , i + l x i + l - 1 , i + l - 1 mod p , said the y i + l , i + l + 1 = z 2 , i + l the y i + l - 1 , i + l - 1 modp, the z 1, i+l and z 2, i+l are two components of the intermediate value. 5.如权利要求1至4中任一权利要求所述的生成组密钥的方法,其特征在于,所述成员Ui根据所有两两共享密钥生成组密钥SK=K1,2+K2,3+…+Kn,1的步骤具体包括:5. The method for generating a group key according to any one of claims 1 to 4, wherein said member U i generates a group key SK=K 1,2+ The steps of K 2,3 +...+K n, 1 specifically include: 所述成员Ui将每一个两两共享密钥进行椭圆曲线点求和得到组密钥SK=K1,2+K2,3+…+Kn,1The member U i performs elliptic curve point summation on each pairwise shared key to obtain the group key SK=K 1,2 +K 2,3 +...+K n,1 . 6.如权利要求2所述的生成组密钥的方法,其特征在于,所述成员Ui对生成的组密钥进行哈希运算,生成组密钥种子r=r1r2+r2r3+...riri+1+...+rn-1rn+rn r1,当有m个新成员加入所述组时,所述m为正整数,所述方法还包括:6. The method for generating a group key according to claim 2, wherein the member U i performs a hash operation on the generated group key to generate a group key seed r=r 1 r 2 +r 2 r 3 +...r i r i+1 +...+r n-1 r n +r n r 1 , when there are m new members joining the group, the m is a positive integer, the Methods also include: 将所述m个新成员与所述成员U1、所述成员Un组成一个新逻辑环,所述新逻辑环内成员用Vi表示,所述i=1,2,……,m+2,其中,V1表示所述成员U1,V2表示所述成员Un;Forming the m new members, the member U 1 and the member U n into a new logical ring, the members in the new logical ring are denoted by V i , and the i=1, 2, ..., m+ 2, wherein, V 1 represents the member U 1 , and V 2 represents the member Un; 所述成员V1根据所述r1和所述r计算r1′=r1·r;The member V 1 calculates r 1 ′=r 1 ·r according to the r 1 and the r; 所述成员V2根据所述r2和所述r计算r2′=r2·r;said member V 2 calculates r 2 ′=r 2 ·r according to said r 2 and said r; 除所述成员V1,V2之外的成员Vi选择随机数ri′,Members V i other than said members V 1 , V 2 select a random number r i ′, 每个成员Vi根据组密钥协商协议和所述ri′,与相邻的成员生成两两共享密钥,根据所述两两共享密钥生成新的中间值,并广播携带所述中间值的组密钥协商报文;Each member V i generates a pairwise shared key with adjacent members according to the group key agreement protocol and the r i ', generates a new intermediate value according to the pairwise shared key, and broadcasts the intermediate value value group key negotiation message; 每个成员Vi收到所述新逻辑环内所有其它成员的组密钥协商报文后,提取中间值,生成新的组密钥;After each member V i receives the group key negotiation messages of all other members in the new logical ring, it extracts the intermediate value and generates a new group key; 同时,所述成员V1将所述r1′或所述成员V2将所述r2′发送给所述成员Ui,所述Ui中的i=2,3,……,n-1;若所述成员Ui收到的为r1′,则按所述成员V1生成新组密钥的方法生成新的组密钥;若所述成员Ui收到的为r2′,则按所述成员V2生成新组密钥的方法生成新的组密钥。At the same time, the member V 1 sends the r 1 ′ or the member V 2 sends the r 2 ′ to the member U i , where i =2, 3, ..., n- 1; if the member U i receives r 1 ′, generate a new group key according to the method that member V 1 generates a new group key; if the member U i receives r 2 ′ , then generate a new group key according to the method of generating a new group key by the member V2 . 7.如权利要求1所述的生成组密钥的方法,其特征在于,当有m个成员退出所述组时,所述方法还包括:7. The method for generating group keys as claimed in claim 1, wherein when m members withdraw from the group, the method further comprises: 余下的n-m个成员组成一个新逻辑环,所述环内成员用Wi表示,i=1,2,……,n-m,所述成员Wi重新选择随机数,根据Diffie-Hellman密钥协商协议和所述系统参数,与相邻的成员生成新的两两共享密钥,根据所述新的两两共享密钥生成新的组密钥。The remaining nm members form a new logical ring, and the members in the ring are represented by Wi , i=1, 2, ..., nm, and the members Wi reselect random numbers, according to the Diffie-Hellman key agreement agreement and the system parameters, generate a new pairwise shared key with adjacent members, and generate a new group key according to the new pairwise shared key. 8.如权利要求7所述的生成组密钥的方法,其特征在于,所述成员Wi根据i的值分为奇数成员和偶数成员,相应地,所述成员Wi重新选择随机数的步骤具体为:8. The method for generating a group key as claimed in claim 7, wherein said member Wi is divided into odd members and even members according to the value of i, and correspondingly, said member Wi reselects the random number The specific steps are: 所述奇数成员重新选择的随机数与原随机数不同,所述偶数成员重新选择的随机数为原随机数。The random number reselected by the odd member is different from the original random number, and the reselected random number by the even member is the original random number. 9.如权利要求1所述的生成组密钥的方法,其特征在于,所述方法还包括:9. The method for generating a group key according to claim 1, further comprising: 所述成员Ui生成中间值后,对所述中间值进行签名,并在所述组密钥协商报文中携带所述签名,接收到所述组密钥协商报文的成员用所述签名验证所述组密钥协商报文是否正确。After the member U i generates the intermediate value, it signs the intermediate value, and carries the signature in the group key negotiation message, and the member receiving the group key negotiation message uses the signature Verify whether the group key negotiation message is correct. 10.如权利要求2所述的生成组密钥的方法,其特征在于,所述方法还包括:10. The method for generating a group key according to claim 2, further comprising: 所述成员Ui计算D-H公钥值Xi=riP后,对所述D-H公钥值进行签名,并在所述组密钥协商报文中携带所述签名,接收到所述组密钥协商报文的成员用所述签名验证所述组密钥协商报文是否正确。After the member U i calculates the DH public key value X i = ri P, it signs the DH public key value, and carries the signature in the group key negotiation message, and receives the group key The members of the key negotiation message use the signature to verify whether the group key negotiation message is correct. 11.一种生成组密钥的系统,其特征在于,所述系统包括:11. A system for generating group keys, characterized in that the system comprises: 逻辑环组成模块,用于将组内成员组成一个逻辑环,所述环内成员用Ui表示,其中,i=1,2,……,n,所述n为组内成员总数;A logic ring forming module is used to form a logical ring of members in the group, and the members in the ring are represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of members in the group; 系统参数选择模块,用于选择基于椭圆曲线的系统参数;A system parameter selection module for selecting system parameters based on elliptic curves; 报文收发模块,用于发送和接收组密钥协商报文,所述组密钥协商报文携带所述逻辑环组成模块中的成员生成的D-H公钥值和中间值;A message sending and receiving module, configured to send and receive a group key negotiation message, where the group key negotiation message carries the D-H public key value and intermediate value generated by members in the logical ring composition module; 组密钥生成模块,用于根据所述系统参数选择模块选择的系统参数和从所述报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。A group key generation module, configured to generate a group key according to the system parameters selected by the system parameter selection module and the D-H public key value and intermediate value in the group key negotiation message received from the message transceiver module. 12.如权利要求11所述的生成组密钥的系统,其特征在于,所述组密钥生成模块具体包括:12. The system for generating a group key as claimed in claim 11, wherein the group key generation module specifically comprises: 共享密钥生成单元,用于根据Diffie-Hellman密钥协商协议和所述系统参数选择模块选择的系统参数,生成成员Ui与成员Ui-1的两两共享密钥Ki-1,i,生成成员Ui与成员Ui+1的两两共享密钥Ki,i+1;且,当i=n时,所述i+1=1;A shared key generation unit, configured to generate pairwise shared keys K i-1,i of member U i and member U i-1 according to the Diffie-Hellman key agreement protocol and the system parameters selected by the system parameter selection module , generating pairwise shared keys K i,i+1 of member U i and member U i+1 ; and , when i=n, said i+1=1; 中间值生成单元,用于根据所述共享密钥生成单元所生成的两两共享密钥Ki-1,i和Ki,i+1生成中间值;An intermediate value generation unit, configured to generate an intermediate value according to the pairwise shared keys K i-1, i and K i, i+1 generated by the shared key generation unit; 共享密钥验证单元,用于验证所述两两共享密钥Ki,i+1是否等于两两共享密钥Ki+1,i,验证通过,通知组密钥生成单元生成组密钥;否则,通知组密钥生成单元停止生成组密钥;The shared key verification unit is used to verify whether the pairwise shared key K i, i+1 is equal to the pairwise shared key K i+1, i , and if the verification is passed, notify the group key generation unit to generate a group key; Otherwise, notify the group key generating unit to stop generating the group key; 组密钥生成单元,用于收到所述共享密钥验证单元发送的生成组密钥的通知后,根据所述中间值计算相邻成员间的两两共享密钥,并根据所有两两共享密钥生成组密钥。The group key generation unit is configured to calculate the pairwise shared key between adjacent members according to the intermediate value after receiving the notification of generating the group key sent by the shared key verification unit, and calculate the pairwise shared key between adjacent members according to all pairwise shared keys. The key generates the group key. 13.如权利要求11所述的生成组密钥的系统,其特征在于,所述系统还包括:13. The system for generating a group key as claimed in claim 11, wherein the system further comprises: 组密钥种子生成模块,用于对生成的组密钥进行运算,生成组密钥种子;The group key seed generation module is used to operate the generated group key to generate the group key seed; 组密钥更新模块,用于当有新成员加入所述组时,根据所述逻辑环组成模块将新成员与所述成员U1和所述Un组成一个新逻辑环,使用所述组密钥种子生成模块所生成的组密钥种子,通过所述组密钥生成模块生成新的组密钥。The group key update module is used for when a new member joins the group, according to the logical ring composition module, the new member forms a new logical ring with the member U 1 and the U n , and uses the group key The group key seed generated by the key seed generation module, and a new group key is generated by the group key generation module. 14.如权利要求13所述的生成组密钥的系统,其特征在于,所述组密钥更新模块还用于:14. The system for generating a group key as claimed in claim 13, wherein the group key update module is also used for: 当有成员退出所述组时,将余下的成员组成一个新逻辑环,成员用Wi表示,i为小于n的正整数,根据i的值将成员分为奇数成员和偶数成员;使所述奇数成员选择与原随机数不同的随机数,使所述偶数成员选择与原随机数相同的随机数,通过所述组密钥生成模块生成新的组密钥。When a member withdraws from the group, the remaining members form a new logical ring, the members are represented by Wi , i is a positive integer less than n, and the members are divided into odd members and even members according to the value of i; Odd members select a random number different from the original random number, so that the even members select the same random number as the original random number, and generate a new group key through the group key generation module. 15.如权利要求11所述的生成组密钥的方法,其特征在于,所述系统还包括:15. The method for generating a group key according to claim 11, wherein the system further comprises: 签名生成模块,用于对D-H公钥值和中间值进行签名,并在所述组密钥协商报文中携带所述签名;A signature generation module, configured to sign the D-H public key value and the intermediate value, and carry the signature in the group key negotiation message; 签名验证模块,用于接收到所述密钥协商报文后,用所述签名验证所述组密钥协商报文是否正确。A signature verification module, configured to use the signature to verify whether the group key negotiation message is correct after receiving the key negotiation message. 16.一种生成组密钥的设备,其特征在于,所述设备包括:16. A device for generating a group key, characterized in that the device comprises: 逻辑环组成模块,用于与组内设备组成一个逻辑环,本设备用Ui表示,其中,i=1,2,……,n,所述n为组内设备总数;A logical ring forming module is used to form a logical ring with the equipment in the group, and the equipment is represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of equipment in the group; 系统参数选择模块,用于所述逻辑环组成模块完成逻辑环组成后,选择基于椭圆曲线的系统参数;A system parameter selection module, used for selecting system parameters based on elliptic curves after the logical ring composition module completes the logical ring composition; D-H公钥值计算模块,用于根据所述系统参数选择模块选择的系统参数,计算D-H公钥值,并通过报文收发模块发送给设备Ui-1和设备Ui+1The DH public key value calculation module is used to calculate the DH public key value according to the system parameters selected by the system parameter selection module, and send it to the device U i-1 and the device U i+1 through the message sending and receiving module; 共享密钥生成模块,用于根据Diffie-Hellman密钥协商协议、从报文收发模块接收的设备Ui-1和设备Ui+1的D-H公钥值,分别生成两两共享密钥Ki-1,i和两共享密钥Ki,i+1The shared key generation module is used to generate pairwise shared keys K i respectively according to the Diffie-Hellman key agreement protocol and the DH public key values of the device U i-1 and the device U i+1 received from the message sending and receiving module -1, i and two shared keys K i, i+1 ; 中间值生成模块,用于根据所述共享密钥生成模块所生成的两两共享密钥Ki-1,i和Ki,i+1生成中间值;An intermediate value generating module, configured to generate an intermediate value according to the pairwise shared keys K i-1, i and K i, i+1 generated by the shared key generating module; 报文收发模块,用于发送和接收组密钥协商报文,所述组密钥协商报文携带所述D-H公钥值计算模块计算的D-H公钥值或所述中间值生成模块生成的中间值;A message transceiver module, configured to send and receive a group key negotiation message, where the group key negotiation message carries the D-H public key value calculated by the D-H public key value calculation module or the intermediate value generated by the intermediate value generation module value; 组密钥生成模块,用于根据所述系统参数选择模块选择的系统参数和从所述报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。A group key generation module, configured to generate a group key according to the system parameters selected by the system parameter selection module and the D-H public key value and intermediate value in the group key negotiation message received from the message transceiver module. 17.如权利要求16所述的生成组密钥的设备,其特征在于,所述设备还包括:17. The device for generating a group key according to claim 16, further comprising: 组密钥更新模块,用于当组内设备个数发生变化时,根据所述系统参数选择模块、D-H公钥值计算模块、共享密钥生成模块、中间值生成模块和报文收发模块中的信息生成新的组密钥。The group key update module is used for when the number of devices in the group changes, according to the system parameter selection module, the D-H public key value calculation module, the shared key generation module, the intermediate value generation module and the message sending and receiving module information to generate a new group key. 18.如权利要求16所述的生成组密钥的设备,其特征在于,所述设备还包括:18. The device for generating a group key according to claim 16, further comprising: 签名生成模块,用于对所述D-H公钥值计算模块计算的D-H公钥值或中间值生成模块生成的中间值进行签名,并在所述组密钥协商报文中携带所述签名;A signature generation module, configured to sign the D-H public key value calculated by the D-H public key value calculation module or the intermediate value generated by the intermediate value generation module, and carry the signature in the group key negotiation message; 签名验证模块,用于接收到所述密钥协商报文后,用所述签名验证所述组密钥协商报文是否正确。A signature verification module, configured to use the signature to verify whether the group key negotiation message is correct after receiving the key negotiation message.
CN200710098508XA 2007-04-19 2007-04-19 Group cipher key generating method, system and apparatus Expired - Fee Related CN101291214B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710098508XA CN101291214B (en) 2007-04-19 2007-04-19 Group cipher key generating method, system and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710098508XA CN101291214B (en) 2007-04-19 2007-04-19 Group cipher key generating method, system and apparatus

Publications (2)

Publication Number Publication Date
CN101291214A true CN101291214A (en) 2008-10-22
CN101291214B CN101291214B (en) 2011-08-10

Family

ID=40035315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710098508XA Expired - Fee Related CN101291214B (en) 2007-04-19 2007-04-19 Group cipher key generating method, system and apparatus

Country Status (1)

Country Link
CN (1) CN101291214B (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010094183A1 (en) * 2009-02-18 2010-08-26 华南理工大学 Group key management method based on n-dimensional sphere
CN102468955A (en) * 2010-11-15 2012-05-23 中国移动通信集团公司 Method and equipment for communication between member nodes of user group and network side in Internet of things
CN102655452A (en) * 2011-03-04 2012-09-05 中兴通讯股份有限公司 Method and device for generating group safety association
CN102724211A (en) * 2012-06-29 2012-10-10 飞天诚信科技股份有限公司 Key agreement method
WO2013078970A1 (en) * 2011-11-30 2013-06-06 西安西电捷通无线网络通信股份有限公司 Key negotiation method and apparatus according to sm2 key exchange protocol
CN104320778A (en) * 2014-10-28 2015-01-28 东南大学 Integrity protection method for long data stream in wireless sensor network
CN106533663A (en) * 2016-11-01 2017-03-22 广东浪潮大数据研究有限公司 Data encryption method, encryption party device, data decryption method, and decryption party device
CN108200108A (en) * 2018-04-11 2018-06-22 吕航宇 A kind of rivest, shamir, adelman and its application
CN112422276A (en) * 2020-11-04 2021-02-26 郑州信大捷安信息技术股份有限公司 Method and system for realizing multi-party key agreement
CN113315636A (en) * 2021-05-31 2021-08-27 暨南大学 Key exchange method for secure communication between automobile ECUs
CN115314203A (en) * 2022-10-11 2022-11-08 南京易科腾信息技术有限公司 Group key negotiation method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
CN100344183C (en) * 2003-09-19 2007-10-17 华为技术有限公司 Group system group key managing method
CN100456669C (en) * 2003-09-22 2009-01-28 华为技术有限公司 A Method for Group Key Distribution

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2479957A (en) * 2009-02-18 2011-11-02 Univ South China Tech Group key management method based on n-dimensional sphere
WO2010094183A1 (en) * 2009-02-18 2010-08-26 华南理工大学 Group key management method based on n-dimensional sphere
GB2479957B (en) * 2009-02-18 2014-09-03 Univ South China Tech A group key management approach based upon N-dimensional hypersphere
CN102468955B (en) * 2010-11-15 2014-10-08 中国移动通信集团公司 Communication method and equipment for network side and member node of user group in Internet of things
CN102468955A (en) * 2010-11-15 2012-05-23 中国移动通信集团公司 Method and equipment for communication between member nodes of user group and network side in Internet of things
CN102655452A (en) * 2011-03-04 2012-09-05 中兴通讯股份有限公司 Method and device for generating group safety association
CN102655452B (en) * 2011-03-04 2018-01-05 中兴通讯股份有限公司 The generation method and device of a kind of group of Security Association
US9313026B2 (en) 2011-11-30 2016-04-12 China Iwncomm Co., Ltd. Key negotiation method and apparatus according to SM2 key exchange protocol
WO2013078970A1 (en) * 2011-11-30 2013-06-06 西安西电捷通无线网络通信股份有限公司 Key negotiation method and apparatus according to sm2 key exchange protocol
CN102724211B (en) * 2012-06-29 2014-12-10 飞天诚信科技股份有限公司 Key agreement method
CN102724211A (en) * 2012-06-29 2012-10-10 飞天诚信科技股份有限公司 Key agreement method
CN104320778A (en) * 2014-10-28 2015-01-28 东南大学 Integrity protection method for long data stream in wireless sensor network
CN106533663A (en) * 2016-11-01 2017-03-22 广东浪潮大数据研究有限公司 Data encryption method, encryption party device, data decryption method, and decryption party device
CN108200108B (en) * 2018-04-11 2021-02-05 吕航宇 Asymmetric encryption algorithm and application thereof
CN108200108A (en) * 2018-04-11 2018-06-22 吕航宇 A kind of rivest, shamir, adelman and its application
CN112422276A (en) * 2020-11-04 2021-02-26 郑州信大捷安信息技术股份有限公司 Method and system for realizing multi-party key agreement
CN112422276B (en) * 2020-11-04 2022-03-25 郑州信大捷安信息技术股份有限公司 Method and system for realizing multi-party key agreement
CN113315636A (en) * 2021-05-31 2021-08-27 暨南大学 Key exchange method for secure communication between automobile ECUs
CN113315636B (en) * 2021-05-31 2022-02-25 暨南大学 Key exchange method for secure communication between automobile ECUs
CN115314203A (en) * 2022-10-11 2022-11-08 南京易科腾信息技术有限公司 Group key negotiation method
CN115314203B (en) * 2022-10-11 2022-12-20 南京易科腾信息技术有限公司 Group key negotiation method

Also Published As

Publication number Publication date
CN101291214B (en) 2011-08-10

Similar Documents

Publication Publication Date Title
CN101321053B (en) Group cipher key generating method, system and apparatus
CN101291214A (en) A method, system and device for generating a group key
US8918648B2 (en) Digital signature and key agreement schemes
CN101192928B (en) Authentication method and system for mobile ad hoc network
CN112187450B (en) Method, device, equipment and storage medium for key management communication
CN101431414A (en) Authentication group key management method based on identity
CN111934877B (en) A SM2 collaborative threshold signature method, storage medium and electronic device
CN104639329A (en) Method for mutual authentication of user identities based on elliptic curve passwords
CN113297633A (en) Quantum digital signature method
TWI455555B (en) Authentication device, authentication method, and program
CN104811302A (en) Oval curve mixing signcryption method based on certificateless effect
Harn et al. How to share secret efficiently over networks
US9178700B2 (en) Information processing apparatus, information processing method, program, and recording medium
Tseng A secure authenticated group key agreement protocol for resource-limited mobile devices
CA2730626A1 (en) Improved digital signature and key agreement schemes
CN110855425A (en) Lightweight multiparty cooperative SM9 key generation and ciphertext decryption method and medium
CN106953727B (en) Group safety certifying method based on no certificate in D2D communication
Daza et al. Cryptographic techniques for mobile ad-hoc networks
Li et al. AD‐ASGKA–authenticated dynamic protocols for asymmetric group key agreement
CN101867477A (en) Method for establishing session key in sensor network
US20140189361A1 (en) Nformation processing apparatus, signature generation apparatus, information processing method, signature generation method, and program
US20140208110A1 (en) Information processing apparatus, signature generation apparatus, signature verification apparatus, information processing method, signature generation method, and signature verification method
CN114021165A (en) Partial private-public key pair construction method, authentication key negotiation method and system
CN110430041B (en) Certificate-free digital signature method in cloud service scenario
Lavanya Comparison of RSA-threshold cryptography and ecc-threshold cryptography for small mobile adhoc networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110810

Termination date: 20150419

EXPY Termination of patent right or utility model