Next Article in Journal
Topic Network Analysis Based on Co-Occurrence Time Series Clustering
Next Article in Special Issue
Public Key Protocols over Skew Dihedral Group Rings
Previous Article in Journal
The Shape Parameter in the Shifted Surface Spline—An Easily Accessible Approach
Previous Article in Special Issue
Relative Gorenstein Dimensions over Triangular Matrix Rings
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Secure Group Communications Using Twisted Group Rings

by
María Dolores Gómez Olvera
,
Juan Antonio López Ramos
* and
Blas Torrecillas Jover
Department of Mathematics, University of Almeria, 04120 Almeria, Spain
*
Author to whom correspondence should be addressed.
Submission received: 27 June 2022 / Revised: 8 August 2022 / Accepted: 9 August 2022 / Published: 10 August 2022
(This article belongs to the Special Issue New Advances in Algebra, Ring Theory and Homological Algebra)

Abstract

:
In this paper we introduce a Group Key Management protocol following the idea of the classical protocol that extends the well-known Diffie–Hellman key agreement to a group of users. The protocol is defined in a non-commutative setting, more precisely, in a twisted dihedral group ring. The protocol is defined for an arbitrary cocycle, extending previous key agreements considered for two users. The main objective of this work is to show that there is no lack of security derived from the fact that a larger amount of public information is known by an external observer.

1. Introduction

In recent years, new hard problems have been proposed in public key cryptography, since those that we are using might be not secure soon. When two parties want to communicate through an insecure channel, they need to undertake a key agreement, which consists of agreeing on a secret shared key by exchanging information that does not compromise the common key.
The first widely used protocol that allows this to happen was proposed in 1976 by W. Diffie and M. Hellman [1], and works as follows:
Let Alice and Bob be two users, who want to agree on a common key through an insecure channel. Consider p a prime number, Z p * the multiplicative group of integers modulo p, and g a primitive root modulo p, all of them public.
(i)
Alice chooses a secret integer a, and sends Bob p A = g a ( mod p ) .
(ii)
Bob chooses a secret integer b, and sends Alice p B = g b ( mod p ) .
(iii)
Alice computes p B a ( mod p ) , and Bob computes p A b ( mod p ) , so both obtain the same value, which is the secret shared key K = g a b ( mod p ) .
Information shared does not compromise the shared key since the underlying problem an attacker would need to solve, the so-called Discrete Logarithm Problem (DLP) is believed to be hard. This key agreement can be seen as an example of the protocol by Maze et al. [2] in a general setting:
Let S be a finite set, G an abelian semigroup, ϕ a G action on S, and a public element s S .
(i)
Alice chooses a G , and sends Bob p A = ϕ ( a , s ) .
(ii)
Bob chooses b G , and sends Alice p B = ϕ ( b , s ) .
(iii)
Alice computes ϕ ( a , p B ) , and Bob computes ϕ ( b , p A ) , so both obtain the secret shared key K = ϕ ( a , ϕ ( b , s ) ) = ϕ ( b , ϕ ( a , s ) ) .
The underlying problem that gives sense to its security is known as the Semigroup Action Problem (SAP).
Semigroup Action Problem. Given a semigroup action ϕ of the group G on a set S and elements x S and y G , find g G such that ϕ ( g , x ) = y .
Motivated by this, the authors proposed in [3] a new setting, and some protocols, which extend these techniques to a non-commutative setting. In this case this is a twisted group ring, an extension of group rings, that have also been recently used in cryptography (cf. [4,5,6,7]). The action proposed in [3] is the two-sided multiplication in a twisted group ring. Thus the problem which the security of this new proposal is based on, is a modification in the twisted case of the so-called Decomposition Problem (DP).
Decomposition Problem. Given a group G, ( x , y ) G × G and S G , the problem is to find z 1 , z 2 S such that y = z 1 x z 2 .
A natural problem is how to extend this kind of key management protocol for two users to a greater set of these. In the classic Diffie–Hellman protocol, a solution is proposed in [8]; and in the more general case of SAP, this solution can be found in [9]. In both cases, it is shown that the extra information shared in the case of a n users, key exchange (≥2) does not imply any information leakage than in to the 2-users case.
Our aim in this work is to show that in this new setting, which differs from those above, given the non-commutativity of twisted group rings, these kind of protocols could be useful as well. Moreover, they could even avoid possible threats in the known cases.

2. Results

2.1. Algebraic Setting

In this section, twisted group rings are defined, and we also show some properties that allow the key exchange.
Definition 1.
Let K be a ring and G a finite multiplicative group. Let U ( K ) be the units of K. We call the map α : G × G U ( K ) a 2-cocycle if α ( 1 , 1 ) = 1 and for all g , h , k G it satisfies the equation
α ( g , h k ) α ( h , k ) = α ( g h , k ) α ( g , h )
We denote the set of all 2-cocycles of G by Z 2 ( G , U ( K ) ) .
Definition 2.
Let K be a ring, G be a multiplicative group, and α Z 2 ( G , U ( K ) ) . The group ring K α G is defined to be the set of all finite sums of the form
g i G r i g i ,
where r i K and all but a finite number of r i are zero.
The sum of two elements in K α G is defined by
g i G r i g i + g i G s i g i = g i G ( r i + s i ) g i .
and their product, which is twisted by a cocycle, is given by
g i G r i g i · g i G s i g i = g i G g j g k = g i r j s k α ( g j , g k ) g i .
Let K be a finite field, G the dihedral group of 2 m elements [10],
D 2 m = x , y : x m = y 2 = 1 , y x a = x m a y
and α Z 2 ( D 2 m , K ) . Let C m = x be the cyclic subgroup of D 2 m generated by x. Then we have that K α D 2 m is a free K α C m module with basis { 1 , y } , and therefore K α D 2 m is the direct sum of the K vector spaces:
K α D 2 m = K α C m K α C m y
Definition 3.
For a given 2-cocycle α Z 2 ( D 2 m , U ( K ) ) , we define the reversible subspace of R = K α G (where G is either C m or C m y ) as the vector subspace
Γ [ R ] = i = 0 m 1 r i x i y k R : r i = r m i .
We will denote Γ α = Γ [ K α C m y ] = i = 0 m 1 r i x i y k K α C m y : r i = r m i .
Now we establish some useful properties that will allow the introduction of the group key management protocol.
Definition 4.
Let R = K α D 2 m and α be a 2-cocycle. Given h R ,
h = 0 i m 1 k = 0 , 1 r i x i y k ,
where r i K and x , y D 2 m , we define h * K α D 2 m as
h * = 0 i m 1 k = 0 , 1 r i α ( x i y , x j y k ) 1 x i y k ,
Lemma 1.
There exist group rings R = K α D 2 m , such that, given two elements h 1 , h 2 R ,
(a) 
If h 1 , h 2 K α C n , then h 1 h 2 = h 2 h 1 .
(b) 
If h 1 , h 2 Γ α , then h 1 h 2 * = h 2 h 1 * , and h 1 * h 2 = h 2 * h 1 .
Before giving a proof of this lemma, let us give a couple of illustrative examples.
Example 1.
Let K and D 2 m be as previously introduced.
  • Let t be a primitive root of unity of K. The map α 1 Z 2 ( D 2 m , K * ) defined by α 1 ( δ , μ ) = 1 for δ = x i , μ = x j y k , and α 1 ( δ , μ ) = t j for δ = x i y , μ = x j y k , where i , j = 1 , , 2 m 1 , is a 2-cocycle that verifies Lemma 1. A proof can be found in [3].
  • Let λ an element in K * . The map α 2 Z 2 ( D 2 m , K * ) defined by α 2 ( δ , μ ) = λ for δ = x i y , μ = x j y , and α 2 ( δ , μ ) = 1 otherwise, where i , j = 1 , , 2 m 1 , is a 2-cocycle that verifies Lemma 1. A proof of (a) and (b.1) can be found in [11]. We now provide a proof for (b.2).
Proof (Proof of Lemma 1)
Let R = K α 2 D 2 m , where α 2 is the 2-cocycle defined above. Let h 1 , h 2 Γ α , Φ and φ ( h 1 ) = h 1 ^ as defined in [11]. The equalities (a) and (b) h 1 h 2 * = h 2 h 1 * were proven in [11]. It remains to prove that h 1 * h 2 = h 2 * h 1 . Using ([11], Lemma 3.8), we can prove the following:
h 1 * h 2 = Φ ( h 1 ) y ¯ ^ Φ ( h 2 ) y = Φ ( h 1 ) y ¯ ^ y ¯ Φ ( h 2 ) = λ 2 Φ ( h 1 ) Φ ( h 2 ) = λ 2 Φ ( h 2 ) Φ ( h 2 ) = Φ ( h 1 ) y ¯ ^ y ¯ Φ ( h 1 ) = Φ ( h 2 ) y ^ Φ ( h 1 ) y = h 2 * h 1

2.2. Key Management over Twisted Group Rings

In this section, we propose a key management protocol for n users. Let us define the action ϕ
ϕ : ( K α C m × K α C m y ) × R R
ϕ ( s i , h ) = δ i h μ i
where s i = ( δ i , μ i ) . Note that
ϕ ( s i ϕ ( s j , h ) ) = ϕ ( s i s j , h )
We will sometimes write ϕ ( s i s j , h ) to refer to ϕ ( s i , ϕ ( s j , h ) ) , to make some definitions more readable.
Let h R be a random public element and assume that R = K α C m K α C m y verifies Lemma 1. For i = 1 , , n , user U i holds a secret pair s i = ( δ i , μ i ) , where δ i K α C m and μ i Γ α K α C m y . Let us define the action ϕ by means of a two-sided product ϕ ( s i , h ) = δ i h μ i . We will denote s i * = ( δ i , μ i * ) . The initial key agreement for n users is given by the following steps:
(i)
For i = 1 , , n 1 , user U i sends to user U i + 1 the message
{ C i 1 , C i 2 , , C i i + 1 } ,
where C 1 1 = h , C 1 2 = δ 1 h μ 1 and
  • for i > 1 even, C i j = ϕ ( s i , C i 1 j ) , when j < i , C i i = C i 1 i , C i i + 1 = ϕ ( s i * , C i 1 i ) ,
  • for i > 1 odd, C i j = ϕ ( s i * , C i 1 j ) , when j < i , C i i = C i 1 i , C i i + 1 = ϕ ( s i , C i 1 i ) .
(ii)
User U n computes the shared key ϕ ( s n , C n 1 n ) in case n is odd and ϕ ( s n * , C n 1 n ) if n otherwise.
(iii)
User U n broadcasts
{ C n 1 , C n 2 , , C n n 1 } .
(iv)
User U i ( i = 1 , , n 1 ) computes ϕ ( s i , C n i ) if n is odd or ϕ ( s i * , C n i ) if n is even.
This protocol allows all users to obtain a common shared key. For α = α 1 , this was shown in Proposition 3 of [3]. Now we prove it for α = α 2 .
Proposition 1.
Let R = K α 2 D 2 m . After this protocol, users U 1 , , U n agree on a common key.
Proof of Proposition 1.
Firstly, we will consider that n is odd. Let us show that users U 1 , , U n 1 get the same key and that this is equal to U n key. To do so, we will prove by induction that
ϕ ( s i , C n i ) = ϕ ( s j , C n j )
for i j , i , j { 1 , , n 1 } and that these are also equal to the key that U n recovers, ϕ ( s n , C n 1 n ) . For n = 3 ,
ϕ ( s 1 , C 3 1 ) = ϕ ( s 1 , δ 3 δ 2 h μ 2 μ 3 * ) = δ 1 δ 3 δ 2 h μ 2 μ 3 * μ 1 = δ 2 δ 3 δ 1 h μ 1 μ 3 * μ 2 = ϕ ( s 2 , δ 3 δ 1 h μ 1 μ 3 * ) = ϕ ( s 2 , C 3 2 )
using the commutativity rules given by in Lemma 1,
μ 2 μ 3 * μ 1 = μ 2 μ 1 * μ 3 = μ 1 μ 2 * μ 3 = μ 1 μ 3 * μ 2 .
Moreover, ϕ ( s 3 , C 2 3 ) = δ 3 δ 2 δ 1 h μ 1 μ 2 * μ 3 = δ 2 δ 3 δ 1 h μ 1 μ 3 * μ 2 = ϕ ( s 2 , C 3 2 ) .
Now, suppose that
ϕ ( s i , C n i ) = ϕ ( s j , C n j ) .
Then we have
ϕ ( s i * , C n + 1 i ) = ϕ ( s i * , ϕ ( s n + 1 , C n i ) ) = ϕ ( s i * s n + 1 , C n i ) = ϕ ( s n + 1 * s i , C n i ) = ϕ ( s n + 1 * , ϕ ( s i , C n i ) ) = ϕ ( s n + 1 * , ϕ ( s j , C n j ) ) = ϕ ( s n + 1 * s j , C n j ) = ϕ ( s j * s n + 1 , C n j ) = ϕ ( s j * , ϕ ( s n + 1 , C n j ) ) = ϕ ( s j * , C n + 1 j )
and
ϕ ( s n , C n 1 n ) = ϕ ( s n , ϕ ( s n 1 * , C n 1 n 2 ) ) = ϕ ( s n s n 1 * , C n 1 n 2 ) = ϕ ( s n 1 s n * , C n 1 n 1 ) = ϕ ( s n 1 , ϕ ( s n * , C n 1 n 1 ) ) = ϕ ( s n 1 , C n n 1 )
So all users U 1 , , U n get the same key for n odd.
Secondly, we show that this also works for n even. We prove by induction that
ϕ ( s i * , C n i ) = ϕ ( s j * , C n j )
for i j , i , j { 1 , , n 1 } . And this also equals U n key, ϕ ( s n , C n 1 n ) . For n = 4 ,
ϕ ( s 1 * , ϕ ( s 4 , C 3 1 ) ) = ϕ ( s 1 * , δ 4 δ 3 δ 2 h μ 2 μ 3 * μ 4 ) = δ 1 δ 4 δ 3 δ 2 h μ 2 μ 3 * μ 4 μ 1 * = δ 2 δ 4 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ 2 * = ϕ ( s 2 * , δ 4 δ 3 δ 1 h μ 1 μ 3 * μ 4 ) = ϕ ( s 2 * , ϕ ( s 4 , C 3 2 ) ) ,
ϕ ( s 1 * , ϕ ( s 4 , C 3 1 ) ) = ϕ ( s 1 * , δ 4 δ 3 δ 2 h μ 2 μ 3 * μ 4 ) = δ 1 δ 4 δ 3 δ 2 h μ 2 μ 3 * μ 4 μ 1 * = δ 3 δ 4 δ 2 δ 1 h μ 1 μ 2 * μ 4 μ 3 * = ϕ ( s 3 * , δ 4 δ 2 δ 1 h μ 1 μ 2 * μ 4 ) = ϕ ( s 3 * , ϕ ( s 4 , C 3 3 ) )
using that δ i K α C m commute and
μ 2 μ 3 * μ 4 μ 1 * = μ 3 μ 2 * μ 4 μ 1 * = μ 3 μ 4 * μ 2 μ 1 * = μ 3 μ 4 * μ 1 μ 2 * = μ 3 μ 1 * μ 4 μ 2 * = μ 1 μ 3 * μ 4 μ 2 * ,
μ 2 μ 3 * μ 4 μ 1 * = μ 2 μ 4 * μ 1 μ 3 * = μ 2 μ 1 * μ 4 μ 3 * = μ 1 μ 2 * μ 4 μ 3 * .
In addition, ϕ ( s 4 * , C 3 4 ) = δ 4 δ 3 δ 2 δ 1 h μ 1 μ 2 * μ 3 μ 4 * = δ 3 δ 4 μ 2 μ 1 h μ 1 μ 2 * μ 4 μ 3 * = ϕ ( s 3 * , ϕ ( s 4 , C 3 3 ) ) .
Suppose now that
ϕ s i * , C n i = ϕ s j * , C n j .
Then we have
ϕ ( s i , C n + 1 i ) = ϕ s i , ϕ ( s n + 1 * , C n i ) = ϕ s i , ϕ ( s n + 1 * , C n i ) = ϕ s i s n + 1 * , C n i ) = ϕ s n + 1 s i * , C n i ) = ϕ s n + 1 , ϕ ( s i * , C n i ) = ϕ s n + 1 , ϕ ( s j * , C n j ) = ϕ s n + 1 s j * , C n j ) = ϕ s j s n + 1 * , C n j = ϕ s j , ϕ ( s n + 1 * , C n j ) = ϕ ( s j , C n + 1 j ) .
So the shared key ϕ s i , ϕ ( s n + 1 * , C n i ) is the same for every i { 1 , , n 1 } , and also,
ϕ ( s n * , C n 1 n ) = ϕ ( s n * , ϕ ( s n 1 , C n 1 n 2 ) ) = ϕ ( s n * s n 1 , C n 1 n 2 ) = ϕ ( s n 1 * s n , C n 1 n 1 ) = ϕ ( s n 1 * , ϕ ( s n , C n 1 n 1 ) ) = ϕ ( s n 1 * , C n n 1 )
so all users U 1 , , U n have the same shared key, and we are done. □
Note that this protocol in K α 2 D 2 m , for n = 2 users, is described in ([3], Section 3 ) and later in ([11], Protocol 1) using the cocycles of Example 1 respectively.
For clarity, we include an example for a small number n of users ( n > 2 ) :
Example 2.
For a small number of users, n, the key establishment is as follows:
(i) 
For i = 1 , , n 1 , user U i sends to user U i + 1 the following messages:
  • U 1 sends to U 2 { C 1 1 , C 1 2 } = { h , δ 1 h μ 1 } .
  • U 2 sends to U 3 { C 2 1 , C 2 2 , C 2 3 } = { δ 2 h μ 2 , δ 1 h μ 1 , δ 2 δ 1 h μ 1 μ 2 * } .
(ii) 
Then if n = 3 , given that n is odd, user U 3 computes the shared key ϕ ( s 3 , C 2 3 ) = δ 3 δ 2 δ 1 h μ 1 μ 2 * μ 3 .
(iii) 
User U 3 broadcast { C 3 1 , C 3 2 } = { δ 3 δ 2 h μ 2 μ 3 * , δ 3 δ 1 h μ 1 μ 3 * }
(iv) 
Then users U 1 and U 2 compute the shared key as follows:
  • U 1 computes ϕ ( s 1 * , C 4 1 ) = δ 1 δ 3 δ 2 h μ 2 μ 3 * μ 1 .
  • U 2 computes ϕ ( s 2 * , C 4 2 ) = δ 2 δ 3 δ 1 h μ 1 μ 3 * μ 2 .
These are equal to the key computed by U 3 , as shown in Proposition 1.
If n = 4 , given that n is even, the protocol works as follows:
(i) 
Users U 1 , U 2 send the same messages as before, and U 3 sends to U 4 { C 3 1 , C 3 2 , C 3 3 , C 3 4 } = { δ 3 δ 2 h μ 2 μ 3 * , δ 3 δ 1 h μ 1 μ 3 * , δ 2 δ 1 h μ 1 μ 2 * , δ 3 δ 2 δ 1 h μ 1 μ 2 * μ 3 } .
(ii) 
Then user U 4 computes the shared key ϕ ( s 4 * , C 3 4 ) = δ 4 δ 3 δ 2 δ 1 h μ 1 μ 2 * μ 3 μ 4 * .
(iii) 
User U 4 broadcast { C 4 1 , C 4 2 , C 4 3 } = { δ 4 δ 3 δ 2 h μ 2 μ 3 * μ 4 , δ 4 δ 3 δ 1 h μ 1 μ 3 * μ 4 , δ 4 δ 2 δ 1 h μ 1 μ 2 * μ 4 }
(iv) 
Then users U 1 , , U 3 compute the shared key as follows:
  • U 1 computes ϕ ( s 1 * , C 4 1 ) = δ 1 δ 4 δ 3 δ 2 h μ 2 μ 3 * μ 4 μ 1 * .
  • U 2 computes ϕ ( s 2 * , C 4 2 ) = δ 2 δ 4 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ 2 * .
  • U 3 computes ϕ ( s 3 * , C 4 3 ) = δ 3 δ 4 δ 2 δ 1 h μ 1 μ 2 * μ 4 μ 3 * .
All users obtain the same key, as shown in Proposition 1.
We have described the so-called Initial Key Agreement (IKA), but another important process in group communications is rekeying through the Auxiliary Key Agreement (AKA), which takes advantage of the information that was sent before to create a new key in a group when necessary, and is more computationally efficient than IKA. There exist three situations: the members of the group stay the same, a member leaves the group, or someone new joins it. It is important than the AKA happens in all these three situations, to ensure forward and backward security, as shown in [8,12,13].
In the first situation, every user U i has the information C n i received from the user U n . The rekeying process can be carried out by any of them. We call this user U c . He chooses a new element s c ˜ = ( δ c ˜ , μ c ˜ ) , where δ c ˜ K α C m and μ c ˜ Γ α K α C m y . If n is odd, he changes his private key to s c ˜ * s c and broadcasts the message
{ ϕ ( s c ˜ * , C n 1 ) , ϕ ( s c ˜ * , C n 2 ) , , ϕ ( s c ˜ * , C n c 1 ) , C n c , ϕ ( s c ˜ * , C n c + 1 ) , , ϕ ( s c ˜ * , C n n ) } .
If n is even, he changes his private key to s c ˜ s c * and broadcasts the message
{ ϕ ( s c ˜ , C n 1 ) , ϕ ( s c ˜ , C n 2 ) , , ϕ ( s c ˜ , C n c 1 ) , C n c , ϕ ( s c ˜ , C n c + 1 ) , , ϕ ( s c ˜ , C n n ) } .
Then every user recovers the common key using the private key s i if n is even, and s i * if n is odd. A proof can be found in [3].
In the second case, when some user leaves the group, the corresponding position in the rekeying message is omitted.
In the last case, when a new user U n + 1 joins the group, if n is odd, then U c adds the element ϕ ( s c ˜ , C n n ) and sends the new user the following
{ ϕ ( s c ˜ , C n 1 ) , ϕ ( s c ˜ , C n 2 ) , , ϕ ( s c ˜ , C n c 1 ) , C n c , ϕ ( s c ˜ , C n c + 1 ) , , ϕ ( s c ˜ , C n n 1 ) , ϕ ( s c ˜ , C n n ) } .
If n is even, U c adds the element ϕ ( s c ˜ * , C n n ) and sends to U n + 1 the following:
{ ϕ ( s c ˜ * , C n 1 ) , ϕ ( s c ˜ * , C n 2 ) , , ϕ ( s c ˜ * , C n c 1 ) , C n c , ϕ ( s c ˜ * , C n c + 1 ) , , ϕ ( s c ˜ * , C n n 1 ) , ϕ ( s c ˜ * , C n n ) } .
Finally, user U n + 1 proceeds to step 3 of the group key protocol and sends the other users the information to obtain the shared key using their private keys.

2.3. Security of the Group Key Management

In this section, we show that the extra information sent in the protocol for n users does not implies aditional information leakage for an attacker respect to the 2-users case. For this purpose, we define the following random variables, choosing X randomly from ( K α C m × Γ α ) n :
A n = v i e w ( n , X ) , y , f o r y R r a n d o m l y c h o s e n .
D n = v i e w ( n , X ) , ϕ ( s n * s n 1 s n 2 * s 3 s 2 * s 1 , h ) , h ) , i f n i s e v e n . v i e w ( n , X ) , ϕ ( s n s n 1 * s n 2 s 3 s 2 * s 1 , h ) , i f n i s o d d .
where
  • v i e w ( n , X ) : = the ordered set of all ϕ ( s i 1 s i 2 * s i 3 s m 2 * s m 1 s m * , h ) , for all proper subsets { i 1 , , i m } of { 1 , , n } ; m { 1 , , n 1 } .
when n is even, and
  • v i e w ( n , X ) : = the ordered set of all ϕ ( s i 1 s i 2 * s i 3 s m 2 s m 1 * s m , h ) , for all proper subsets { i 1 , , i m } of { 1 , , n } ; m { 1 , , n 1 } .
when n is odd.
Also note that ϕ ( s n * s n 1 s n 2 * s 3 s 2 * s 1 , h ) , or ϕ ( s n s n 1 * s n 2 s 3 s 2 * s 1 , h ) , is the common secret key, is case n is even or odd respectively.
Let the relation ∼ be polynomial indistinguishability, as defined in [8]. In this context, it means that no polynomial-time algorithm can distinguish between a key and a random value in K α D 2 m with probability significantly greater than 1 2 . We can derive the following result on ∼.
Proposition 2.
The relation ∼ is an equivalence relation.
A proof of this proposition can be found in [14]. Before we prove the main result, let us show that
Lemma 2.
We can write v i e w ( n , { s 1 , s 2 } X ) , with X = { s 3 , , s n } as a permutation of
V = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { s 2 * s 1 } X ) )
when n is even, and as a permutation of
V = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n * s n 1 s n 2 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
ϕ ( s n * s n 1 s 3 * s 1 , h ) , v i e w ( n 1 , { s 1 s 2 * } X ) )
when n is odd.
Proof of Lemma 2.
Now we show that both sets are equal. First, we prove that v i e w ( n , { s 1 , s 2 }
X ) V : Let a v i e w ( n , { s 1 , s 2 } X ) :
  • If n is even:
    (i)
    If a contains s 2 * s 1 ( = s 1 * s 2 ) , then it belongs to v i e w ( n 1 , { s 2 * s 1 } X ) V .
    (ii)
    If a does not contain s 1 (or s 1 * ) ,
    -
    but it contains all the remaining elements, s 2 ( * ) , , s n ( * ) , then it belongs to ϕ ( s n s n 1 * s 3 * s 2 , h ) V .
    -
    and if it does not contain all the remaining elements, then it belongs to v i e w ( n 1 , { s 2 } X ) V .
    (iii)
    If a does not contain s 2 (or s 2 * ) ,
    -
    but it contains all the remaining elements, s 1 ( * ) , s 3 ( * ) , , s n ( * ) , then it belongs to ϕ ( s n s n 1 * s 3 * s 1 , h ) V .
    -
    and if it does not contain all the remaining elements, then it belongs to v i e w ( n 1 , { s 1 } X ) V .
    (iv)
    Finally, if a does not contain s 1 neither s 2 , it belongs to any of the following v i e w ( n 1 , { s 1 } X ) , v i e w ( n 1 , { s 2 } X ) , v i e w ( n 1 , { s 1 s 2 * } V .
  • If n is odd:
    (i)
    If a contains s 2 * s 1 ( = s 1 * s 2 ) , then it belongs to v i e w ( n 1 , { s 2 * s 1 } X ) V .
    (ii)
    If a does not contain s 1 (or s 1 * ) ,
    -
    but it contains all the remaining elements, s 2 ( * ) , , s n ( * ) , then it belongs to ϕ ( s n * s n 1 s 3 * s 2 , h ) V .
    -
    and if it does not contain all the remaining elements, then it belongs to v i e w ( n 1 , { s 2 } X ) V .
    (iii)
    If a does not contain s 2 (or s 2 * ) ,
    -
    but it contains all the remaining elements, s 1 ( * ) , s 3 ( * ) , , s n ( * ) , then it belongs to ϕ ( s n * s n 1 s 3 * s 1 , h ) V .
    -
    and if it does not contain all the remaining elements, then it belongs to v i e w ( n 1 , { s 1 } X ) V .
    (iv)
    Finally, if a does not contain s 1 neither s 2 , it belongs to any of the following v i e w ( n 1 , { s 1 } X ) , v i e w ( n 1 , { s 2 } X ) , v i e w ( n 1 , { s 1 s 2 * } V .
The reverse inclusion, V v i e w ( n , { s 1 , s 2 } ) is true since all the elements in V belong to v i e w ( n , { s 1 , s 2 } X ) by definition. □
In ([3], Section 3) it is first described a decisional problem related to the key agreement protocol for n = 2 . Let us recall from ([11], Definition 4.7) a formal definition of this decisional problem.
For a given adversary A we define the following experiment:
  • The challenger computes
    (i)
    ( δ 1 , μ 1 ) R K α C m × Γ α ;
    (ii)
    ( δ 2 , μ 2 ) R K α C m × Γ α ;
    (iii)
    ( δ 3 , μ 3 ) R K α C m × Γ α ;
    (iv)
    pub 1 δ 1 h μ 1 ; pub 2 δ 2 h μ 2 ;
    (v)
    r 0 δ 2 pub 1 μ 2 * ; r 1 = δ 3 h μ 3 ;
    and gives the triple ( pub 1 , pub 2 , k b ) to the adversary.
  • The adversary outputs a bit b ¯ { 0 , 1 } .
If W b is the event that A outputs 1 in the experiment, we define A ’s advantage in solving the Decisional Dihedral Product Problem for K α D 2 m as
DDPadv [ A , K α D 2 m ] = | Pr [ W 0 ] Pr [ W 1 ] | .
We say then that the Decisional Dihedral Product Problem is hard or that the Decisional Dihedral Product Assumption holds for K α D 2 m if for all efficient adversaries A , the quantity DDPadv [ A , K α D 2 m ] is negligible.
Let us finally prove, following the idea of [8], that if the Decisional Dihedral Product Assumption holds, then the Group Key Management verifies that an adversary cannot distinguish the shared group key from an arbitrary element. To do so we prove the following:
Theorem 1.
For any n > 2 , A 2 D 2 implies that A n D n .
Proof of Theorem 1.
We show this is true by induction on n. Assume that A 2 D 2 and A i D i , i { 3 , , n 1 } . Thus, we have to show that A n D n . We define the random variables B n , C n , and show that A n B n C n D n , and since ∼ is a equivalence relation, by transitivity, this implies that A n D n .
We split the proof in two cases:
(a)
Assume n is even:
We redefine A n , D n using Lemma 2, and define B n , C n as follows:
  • A n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
    ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { s 2 * s 1 } X ) , y )
  • B n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
    ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , y )
  • C n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
    ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , ϕ ( s n * s n 1 s 4 * s 3 c , h ) )
  • D n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
    ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { s 2 * s 1 } X ) , ϕ ( s n * s n 1 s 4 * s 3 s 2 * s 1 , h ) )
choosing s 1 , s 2 R 1 × A 2 , c R 1 × A 1 ; and X ( R 1 × A 2 ) n 2 , y R 1 h A 1 randomly. Note that only the last two components vary.
A 2 D 2 A n B n
Suppose, for the sake of contradiction, that an adversary Eve distinguishes A n and B n . We produce an instance of A n B n for Eve
A n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { s 2 * s 1 } X ) , y ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , δ 2 δ 1 h μ 1 μ 2 * , , δ n 1 δ n 2 δ 3 ( δ 2 δ 1 ) h ( μ 1 μ 2 * ) μ 3 μ n 2 * μ n 1 , y ) B n = v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , y ϕ ( s n * s n 1 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , y ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , c 1 hc 2 , , δ n 1 δ n 2 δ 3 ( c 1 ) h ( c 2 ) μ 3 μ n 2 μ n 1 * , y )
if Eve distinguishes A n and B n , then in particular, she distinguishes δ 2 δ 1 h μ 1 μ 2 * from c 1 h c 2 (given δ 1 h μ 1 and δ 2 h μ 2 ) , which means that she distinguishes
A 2 = v i e w ( 2 , { s 1 , s 2 } ) , y = δ 1 h μ 1 , δ 2 h μ 2 , y D 2 = v i e w ( 2 , { s 1 , s 2 } ) , ϕ ( s 2 * s 1 , h ) = δ 1 h μ 1 , δ 2 h μ 2 , δ 2 δ 1 h μ 1 μ 2 *
which contradicts our hypothesis.
A n 2 D n 2 B n C n
Suppose towards the sake of contradiction that an adversary Eve distinguishes B n and C n . We produce and instance of B n C n for Eve
B n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n * s n 1 s 3 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n * s n 1 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , y ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , c 1 hc 2 , , δ n 1 δ 5 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 μ n 2 μ n 1 * , y ) C n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n * s n 1 s 3 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , ϕ ( s n s n 1 * s 5 s 4 * s 3 c , h ) ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , c 1 hc 2 , , δ n 1 δ 5 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 μ n 2 μ n 1 * , δ n δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 μ n )
if Eve distinguishes B n and C n in polynomial time, in particular, she distinguishes y and ϕ ( s n * s n 1 s 4 * ( s 3 c ) , h ) (given v i e w ( n 1 , { c } X ) ) . Let
( v i e w ( n 2 , { c s 3 , s 4 , s 5 , , s n 1 , s n } ) , y
be an instance of A n 2 , D n 2 :
A n 2 = ( v i e w ( n 2 , { s 3 c , s 4 , s 5 , , s n 1 , s n } ) , y = ( ( δ 3 c 1 ) h ( c 2 μ 3 ) , δ 4 h μ 4 , , δ n h μ n , δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * , δ n ( δ 3 c 1 ) h ( c 2 μ 3 ) μ n * , δ 5 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n , y ) D n 2 = v i e w ( n 2 , { s 3 c , s 4 , s 5 , , s n 1 , s n } ) , ϕ ( s n * s n 1 s 4 * ( s 3 c ) , h ) = ( ( δ 3 c 1 ) h ( c 2 μ 3 ) , δ 4 h μ 4 , , δ n h μ n , δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * , δ n ( δ 3 c 1 ) h ( c 2 μ 3 ) μ n * , δ 5 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 , , δ n δ n 1 δ 5 δ 4 h μ 4 μ 5 * μ n 1 μ n , δ n δ n 1 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ n 1 μ n )
since Eve can distinguish y and ϕ ( s n * s n 1 s 4 * ( s 3 c ) , h ) given v i e w ( n 1 , { c } X ) , then in particular she distinguishes y and ϕ ( s n * s n 1 s 4 * ( s 3 c ) , h ) given v i e w ( n 2 , { s 3 c , s 4 , s 5 , , s n 1 , s n } ) v i e w ( n 1 , { c } X ) , and this means A n 2 D n 2 , but this contradicts our hypothesis.
A 2 D 2 C n D n
Suppose, for the sake of contradiction, that an adversary Eve distinguishes C n and D n . We produce and instance of C n D n for Eve
C n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , ϕ ( s n * s n 1 s 4 * s 3 c , h ) ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , c 1 hc 2 , , δ n 1 δ n 2 δ 3 c 1 h c 2 μ 3 μ n 2 * μ n 1 , δ n δ n 1 δ 4 δ 3 c 1 h c 2 μ 3 μ 4 * μ n 1 μ n ) D n = ( v i e w ( n 1 , { s 1 } X ) , K ( n 1 , { s 1 } X ) , v i e w ( n 1 , { s 2 } X ) , K ( n 1 , { s 2 } X ) , v i e w ( n 1 , { s 2 * s 1 } X ) , ϕ ( s n * s n 1 s 4 * s 3 s 2 * s 1 , h ) ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , δ 2 δ 1 h μ 1 μ 2 * , , δ n 1 δ n 2 δ 3 ( δ 2 δ 1 ) h ( μ 1 μ 2 * ) μ 3 μ n 2 * μ n 1 , δ n δ n 1 δ 3 ( δ 2 δ 1 ) h ( μ 1 μ 2 * ) μ 3 μ n 1 μ n * )
as in the first case, if Eve distinguishes A n and B n , then in particular, she distinguishes δ 2 δ 1 h μ 1 μ 2 * from c 1 h c 2 (given δ 1 h μ 1 and δ 2 h μ 2 ) , which means that she distinguishes
A 2 = v i e w ( 2 , { s 1 , s 2 } ) , y = δ 1 h μ 1 , δ 2 h μ 2 , y D 2 = v i e w ( 2 , { s 1 , s 2 } ) , ϕ ( s 2 * s 1 , h ) = δ 1 h μ 1 , δ 2 h μ 2 , δ 2 δ 1 h μ 1 μ 2 *
which contradicts our hypothesis.
(b)
Similarly, if n is odd:
We redefine A n , D n using Lemma 2, and define B n , C n as follows:
  • A n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n * s n 1 s 3 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
    ϕ ( s n * s n 1 s 3 * s 1 , h ) , v i e w ( n 1 , { s 2 * s 1 } X ) , y )
  • B n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n * s n 1 s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
    ϕ ( s n * s n 1 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , y )
  • C n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n * s n 1 s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
    ϕ ( s n * s n 1 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , ϕ ( s n s n 1 * s 5 s 4 * s 3 c , h ) )
  • D n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n * s n 1 s 2 , h ) , v i e w ( n 1 , { s 2 } X ) ,
    ϕ ( s n * s n 1 s 3 * s 1 , h ) , v i e w ( n 1 , { s 2 * s 1 } X ) , ϕ ( s n s n 1 * s 5 s 4 * s 3 s 2 * s 1 , h ) )
choosing s 1 , s 2 R 1 × A 2 , c R 1 × A 1 ; and X ( R 1 × A 2 ) n 2 , y R 1 h A 2 randomly.
A 2 D 2 A n B n .
Suppose towards the sake of contradiction that an adversary Eve distinguishes A n and B n . We produce an instance of A n B n for Eve
A n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { s 2 * s 1 } X ) , y ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , δ 2 δ 1 h μ 1 μ 2 * , , δ n 1 δ n 2 δ 3 ( δ 2 δ 1 ) h ( μ 1 μ 2 * ) μ 3 μ n 2 * μ n 1 , y ) B n = v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , y ϕ ( s n * s n 1 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , y ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , c 1 hc 2 , , δ n 1 δ n 2 δ 3 ( c 1 ) h ( c 2 ) μ 3 μ n 2 μ n 1 * , y )
if Eve distinguishes A n and B n , then in particular, she distinguishes δ 2 δ 1 h μ 1 μ 2 * from c 1 h c 2 (given δ 1 h μ 1 and δ 2 h μ 2 ) , which means that she distinguishes
A 2 = v i e w ( 2 , { s 1 , s 2 } ) , y = δ 1 h μ 1 , δ 2 h μ 2 , y D 2 = v i e w ( 2 , { s 1 , s 2 } ) , ϕ ( s 2 * s 1 , h ) = δ 1 h μ 1 , δ 2 h μ 2 , δ 2 δ 1 h μ 1 μ 2 *
which contradicts our hypothesis.
A n 2 D n 2 B n C n .
Suppose, for the sake of contradiction, that an adversary Eve distinguishes B n and C n . We produce and instance of B n C n for Eve
B n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , y ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , c 1 hc 2 , , δ n 1 δ 5 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 μ n 2 * μ n 1 , y ) C n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , ϕ ( s n s n 1 * s 4 * s 3 c , h ) ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , c 1 hc 2 , , δ n 1 δ 5 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 μ n 2 * μ n 1 , δ n δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 μ n * )
if Eve distinguishes B n and C n in polynomial time, in particular, she distinguishes y and ϕ ( s n s n 1 * s 5 s 4 * ( s 3 c ) , h ) (given v i e w ( n 1 , { c } X ) ) . Let
( v i e w ( n 2 , { c s 3 , s 4 , s 5 , , s n 1 , s n } ) , y
be an instance of A n 2 , D n 2 :
A n 2 = ( v i e w ( n 2 , { s 3 c , s 4 , s 5 , , s n 1 , s n } ) , y = ( ( δ 3 c 1 ) h ( c 2 μ 3 ) , δ 4 h μ 4 , , δ n h μ n , δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * , δ n ( δ 3 c 1 ) h ( c 2 μ 3 ) μ n * , δ 5 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 * μ n , y ) D n 2 = v i e w ( n 2 , { s 3 c , s 4 , s 5 , , s n 1 , s n } ) , ϕ ( s n s n 1 * s 5 s 4 * ( s 3 c ) , h ) = ( ( δ 3 c 1 ) h ( c 2 μ 3 ) , δ 4 h μ 4 , , δ n h μ n , δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * , δ n ( δ 3 c 1 ) h ( c 2 μ 3 ) μ n * , δ 5 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ 5 , , δ n δ n 1 δ 5 δ 4 h μ 4 μ 5 * μ n 1 * μ n , δ n δ n 1 δ 4 ( δ 3 c 1 ) h ( c 2 μ 3 ) μ 4 * μ n 1 * μ n )
since Eve can distinguish y and ϕ ( s n s n 1 * s 5 s 4 * ( s 3 c ) , h ) given v i e w ( n 1 , { c } X ) , then in particular she distinguishes y and ϕ ( s n * s n 1 s 4 * ( s 3 c ) , h ) given v i e w ( n 2 , { s 3 c , s 4 , s 5 , , s n 1 , s n } ) v i e w ( n 1 , { c } X ) , and this means A n 2 D n 2 , but this contradicts our hypothesis.
A 2 D 2 C n D n .
Suppose towards the sake of contradiction that an adversary Eve distinguishes C n and D n . We produce and instance of C n D n for Eve
C n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { c } X ) , ϕ ( s n s n 1 * s 4 * s 3 c , h ) ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , c 1 hc 2 , , δ n 1 δ n 2 δ 3 c 1 h c 2 μ 3 μ n 2 * μ n 1 , δ n δ n 1 δ 4 δ 3 c 1 h c 2 μ 3 μ 4 * μ n 1 μ n ) D n = ( v i e w ( n 1 , { s 1 } X ) , ϕ ( s n s n 1 * s 2 , h ) , v i e w ( n 1 , { s 2 } X ) , ϕ ( s n s n 1 * s n 2 s 3 * s 1 , h ) , v i e w ( n 1 , { s 2 * s 1 } X ) , ϕ ( s n s n 1 * s 4 * s 3 s 2 * s 1 , h ) ) = ( δ 1 h μ 1 , , δ n δ n 1 δ 4 δ 3 h μ 3 μ 4 * μ n 1 μ n * , δ n δ n 1 δ 3 δ 1 h μ 1 μ 3 * μ 4 μ n 1 * μ n , δ 2 h μ 2 , , δ n 1 δ 3 δ 2 h μ 2 μ 3 * μ n 2 * μ n 1 , δ n δ n 1 δ 3 δ 2 h μ 1 μ 2 * μ 4 μ n 1 * μ n , δ 2 δ 1 h μ 1 μ 2 * , , δ n 1 δ n 2 δ 3 ( δ 2 δ 1 ) h ( μ 1 μ 2 * ) μ 3 μ n 2 * μ n 1 , δ n δ n 1 δ 3 ( δ 2 δ 1 ) h ( μ 1 μ 2 * ) μ 3 μ n 1 μ n * )
as in the first case, if Eve distinguishes A n and B n , then in particular, she distinguishes δ 2 δ 1 h μ 1 μ 2 * from c 1 h c 2 (given δ 1 h μ 1 and δ 2 h μ 2 ) , which means that she distinguishes
A 2 = v i e w ( 2 , { s 1 , s 2 } ) , y = δ 1 h μ 1 , δ 2 h μ 2 , y D 2 = v i e w ( 2 , { s 1 , s 2 } ) , ϕ ( s 2 * s 1 , h ) = δ 1 h μ 1 , δ 2 h μ 2 , δ 2 δ 1 h μ 1 μ 2 *
which contradicts our hypothesis.
So in the Initial Key Agreement the n-users underlying decisional problem is as hard as the 2-users decisional problem. This is also true in the Auxiliary Key Agreement. We can say the protocol provides forward and backward security, i.e. any former or future users cannot distinguish future or past distributed keys, as it is shown in the following result.
Corollary 1.
The AKA provides forward and backward security.
Proof of Corollary 1.
Let Eve be a powerful adversary, that knows all the information of a past user or a future user. She would know a subset of v i e w ( k , ε ) , where k is the number of current users, and ε the secret keys.
In the first case, when the members of the group stay the same, note that the key update adds a new secret key (and we consider it as a new user). Then we substitute n with k = n + 1 , ϕ ( s n * s n 1 s 4 * s 3 s 2 * s 1 , h ) (or ϕ ( s n s n 1 * s 3 s 2 * s 1 , h ) ) with ϕ ( s c ˜ s n * s n 1 s 3 s 2 * s 1 , h ) (resp. ϕ ( s c ˜ * s n s n 1 * s 3 s 2 * s 1 , h ) ) if n is even (if n is odd), and X with ε = { s 1 , s 2 , , s c 1 , s c , s c + 1 , , s n 1 , s n , s c } in Theorem 1. It follows that
A k = v i e w ( k , ε ) , y , f o r y R r a n d o m l y c h o s e n .
D k = v i e w ( k , ε ) , ϕ ( s c ˜ s n * s n 1 s 3 s 2 * s 1 , h ) , i f k i s o d d . v i e w ( k , ε ) , ϕ ( s c ˜ * s n s n 1 * s 3 s 2 * s 1 , h ) ) , i f k i s e v e n .
and it still verifies that if A 2 D 2 , then A k D k .
When a user leaves, the key update also adds a new secret key, so we replace n with k = n + 1 (the user left, but we suppose that Eve had access to the communications before that happened, and that private key is still part of the common secret key). The rest is the same, so we get again the first case, and the AKA benefits form the same security benefits in this case.
When a new users joins the group, we need to replace k = n + 2 (the new secret key and the key update), ϕ ( s n * s n 1 s 4 * s 3 s 2 * s 1 , h ) (or ϕ ( s n s n 1 * s 3 s 2 * s 1 , h ) ) with ϕ ( s n + 1 * s c ˜ s n * s n 1 s 3 s 2 * s 1 , h ) (resp. ϕ ( s n + 1 s c ˜ * s n s n 1 * s 3 s 2 * s 1 , h ) ) if n is even (resp. if n is odd), and X with ε = { s 1 , s 2 , , s n 1 , s n , s n + 1 , s c } in Theorem 1. It follows that
A k = v i e w ( k , ε ) , y , f o r y R r a n d o m l y c h o s e n .
D k = v i e w ( k , ε ) , ϕ ( s n + 1 * s c ˜ s n * s n 1 s 3 s 2 * s 1 , h ) , i f k i s e v e n . v i e w ( k , ε ) , ϕ ( s n + 1 s c ˜ * s n s n 1 * s 3 s 2 * s 1 , h ) ) , i f k i s o d d .
and it still verifies that if A 2 D 2 , then A k D k , so the Auxiliary Key Agreement benefits from the same security properties. □
Note that we could also consider D k as
D k = v i e w ( k , ε ) , ϕ ( s c ˜ , K p ) ) , i f k i s o d d . v i e w ( k , ε ) , ϕ ( s c ˜ * , K p ) ) , i f k i s e v e n .
where K p would be the former key, when the number of users stay the same or someone left, and
D k = v i e w ( k , ε ) , ϕ ( s n + 1 * s c ˜ , K p ) ) , i f k i s e v e n . v i e w ( k , ε ) , ϕ ( s n + 1 s c ˜ * , K p ) ) , i f k i s o d d .
when a new user joins the group.
Also note that in the key refresh, we consider k = n + 1 in the first two cases, but the set of secret keys are { s 1 , s 2 , , s c 1 , s c ˜ * s c , s c + 1 , , s n 1 , s n } when n is odd, and { s 1 , s 2 , , s c 1 , s c ˜ s c * , s c + 1 , , s n } when n is even, i.e. the number of stored keys stay the same, and the private key of the user U c is s c * ˜ s c or s c ˜ s c * depending on whether the number of users is even or odd. Finally when k = n + 2 , the set of secret keys has just one new key, from the new user U n + 1 , so it is { s 1 , s 2 , , s c 1 , s c ˜ * s c , s c + 1 , , s n 1 , s n , s n + 1 } when n is odd, and { s 1 , s 2 , , s c 1 , s c ˜ s c * , s c + 1 , , s n , s n + 1 } whenever n is even.

3. Discussion

In [8], Steiner et al. showed that Diffie–Hellman classical key exchange could be extended to a group of users. Many authors have studied similar Diffie–Hellman protocols until Maze et al. in [2] introduced a protocol in a more general setting as is the case of the action of a commutative semigroup over any set, extending all previous cases, and this was extended to a group of users in [9]. In this paper, we have shown a general result, concerning not only the number of users involved, but also a more general setting, as is the case of a noncommutative ring. The commutativity condition which is fundamental in [9] is substituted by a setting where non-commutativity is somehow controlled by a relation, in this case, given by a cocycle. In Proposition 1 we extend the protocols introduced in [3] and [11] for two users to a finite set of users and for every cocycle. Later, in Theorem 1, we prove that the security of this new protocol does not depend on the number of users, i.e., there is no information leakage even in this case where the amount of public information is noticeably greater.

Author Contributions

Conceptualization, investigation, writing original draft preparation, writing review and editing, supervision, M.D.G.O., J.A.L.R. and B.T.J.; funding acquisition, B.T.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Ministerio de Economía, Industria y Competitividad grant number MTM2017-86987-P; Junta de Andalucía grant number PY20-00770; and European Union-Junta de Andalucía-Universidad de Almería grant number FEDER- UAL18-FQM-B042-A.

Institutional Review Board Statement

Not aplicable.

Informed Consent Statement

Not aplicable.

Data Availability Statement

Not aplicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
DLPDiscrete Logarithm Problem
SAPSemigroup Action Problem
DPDecomposition Problem
IKAInitial Key Agreement
AKAAuxiliary Key Agreement

References

  1. Diffie, W.; Hellman, M. New Directions in Cryptography. IEEE Trans. Inf. Theory 1976, 6, 644–654. [Google Scholar] [CrossRef] [Green Version]
  2. Maze, G.; Monico, C.; Rosenthal, J. Public key cryptography based on semigroup actions. Adv. Math. Commun. 2007, 1, 489–507. [Google Scholar] [CrossRef] [Green Version]
  3. Gómez Olvera, M.D.; López Ramos, J.A.; Torrecillas Jover, B. Public Key Protocols over Twisted Dihedral Group Rings. Symmetry 2019, 11, 1019. [Google Scholar] [CrossRef] [Green Version]
  4. Eftekhari, M. A Diffie-Hellman key exchange protocol using matrices over group rings. Groups Complex. Cryptol. 2012, 4, 167–176. [Google Scholar] [CrossRef]
  5. Gupta, I.; Pandey, A.; Kant Dubey, U. A Key Exchange Protocol using Matrices over Group Rings. Asian-Eur. J. Math. 2018, 5, 1950075. [Google Scholar] [CrossRef]
  6. Habeeb, M.; Kahrobaei, D.; Koupparis, C.; Shpilrain, V. Public key exchange using semidirect product of (semi)groups. In Applied Cryptography and Network Security; ACNS 2013. Lecture Notes Comp. Sc.; Jacobson, M., Locasto, M., Mohasesel, P., Safavi-Naini, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7954, pp. 475–486. [Google Scholar]
  7. Kahrobaei, D.; Koupparis, C.; Shpilrain, V. Public key exchange using matrices over group rings. Groups Complex. Cryptol. 2013, 5, 97–115. [Google Scholar] [CrossRef] [Green Version]
  8. Steiner, M.; Tsudik, G.; Waidner, M. Key Agreement in Dynamic Peer Groups. IEEE Trans. Parallel Distrib. Syst. 2000, 11, 769–780. [Google Scholar] [CrossRef] [Green Version]
  9. López Ramos, J.A.; Rosenthal, J.; Schipani, D.; Schnyder, R. Group key management based on semigroup actions. J. Algebra Appl. 2017, 16, 1750148. [Google Scholar] [CrossRef] [Green Version]
  10. Rotman, J.J. An Introduction to the Theory of Groups; Springer: New York, NY, USA, 1999; 68p. [Google Scholar]
  11. De la Cruz, J.; Villanueva-Polanco, R. Public Key Cryptography based on Twisted Dihedral Group Algebras. Adv. Math. Commun. 2021. [Google Scholar] [CrossRef]
  12. Lopez-Ramos, J.A.; Rosenthal, J.; Schipani, D.; Schnyder, R. An application of group theory in confidential network communications. Math. Meth. Apply. Sci. 2018, 41, 2294–2298. [Google Scholar] [CrossRef] [Green Version]
  13. Steiner, M.; Tsudik, G.; Waidner, M. Diffie-Hellman key distribution extended to group communication. In Proceedings of the 3rd ACM Conference on Computer and Communications Security, New Delhi, India, 14–15 March 1996; ACM: New York, NY, USA, 1996; pp. 31–37. [Google Scholar]
  14. Barak, B. Computational Indistinguishability, Pseudorandom Generators; Lecture Notes; Princeton University: Princeton, NJ, USA, 2007. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Gómez Olvera, M.D.; López Ramos, J.A.; Torrecillas Jover, B. Secure Group Communications Using Twisted Group Rings. Mathematics 2022, 10, 2845. https://0-doi-org.brum.beds.ac.uk/10.3390/math10162845

AMA Style

Gómez Olvera MD, López Ramos JA, Torrecillas Jover B. Secure Group Communications Using Twisted Group Rings. Mathematics. 2022; 10(16):2845. https://0-doi-org.brum.beds.ac.uk/10.3390/math10162845

Chicago/Turabian Style

Gómez Olvera, María Dolores, Juan Antonio López Ramos, and Blas Torrecillas Jover. 2022. "Secure Group Communications Using Twisted Group Rings" Mathematics 10, no. 16: 2845. https://0-doi-org.brum.beds.ac.uk/10.3390/math10162845

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop