Next Article in Journal
An Application to Fixed-Point Results in Tricomplex-Valued Metric Spaces Using Control Functions
Next Article in Special Issue
On QTAG-Modules Having All N-High Submodules h-Pure
Previous Article in Journal
Comparative Study on Rosseland’s Heat Flux on Three-Dimensional MHD Stagnation-Point Multiple Slip Flow of Ternary Hybrid Nanofluid over a Stretchable Rotating Disk
Previous Article in Special Issue
Secure Group Communications Using Twisted Group Rings
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Public Key Protocols over Skew Dihedral Group Rings

by
Javier de la Cruz
1,
Edgar Martínez-Moro
2 and
Ricardo Villanueva-Polanco
3,*
1
Department of Mathematics and Statistics, Universidad del Norte, Barranquilla 081007, Colombia
2
Institute of Mathematics, Universidad de Valladolid, 47011 Valladolid, Spain
3
Department of Computer Science and Engineering, Universidad del Norte, Barranquilla 081007, Colombia
*
Author to whom correspondence should be addressed.
Submission received: 22 August 2022 / Revised: 8 September 2022 / Accepted: 9 September 2022 / Published: 15 September 2022
(This article belongs to the Special Issue New Advances in Algebra, Ring Theory and Homological Algebra)

Abstract

:
This paper introduces skew dihedral group rings and their applications for public-key cryptography. We present a specific skew group ring that is the underlying algebraic platform for our cryptographic constructions. We then build a two-party key exchange protocol and present an analysis of its security. We then exploit it to derive a group key agreement protocol, a probabilistic public-key scheme, and a key encapsulation mechanism. In addition to the security analysis of our cryptographic constructions, we present a proof-of-concept implementation.

1. Introduction

The availability of quantum computers in the forthcoming future will make current public-key schemes insecure. Therefore, there is a need to devise quantum-secure cryptographic public-key primitives to replace the current public-key algorithms. This need undoubtedly has propelled research towards creating quantum-secure public-key schemes. There have been many proposed candidates thus far, most classified into five families. These families are lattice-based cryptography, multivariate cryptography, hash-based cryptography, code-based cryptography, and supersingular elliptic curve isogeny cryptography. The last round of the post-quantum cryptography standardization process run by the National Institute of Standards and Technology (NIST) includes various candidates in each of the mentioned families [1].
However, recently, a new promising family of cryptographic constructions, believed to be quantum-secure and based on variations of group rings [2,3,4], has been introduced. In particular, the recent works in [2,3,4] exploit the structure of dihedral twisted group rings to introduce cryptographic constructions. The work in [3] introduces a 2-cocycle β to construct a dihedral twisted group algebra F q β D 2 n . Over F q β D 2 n , the authors introduce a two-party key-exchange protocol and a probabilistic public-key scheme. Following an alternative approach, the authors of [2] propose a key exchange protocol, a probabilistic public-key scheme, and a key encapsulation mechanism. They also introduce a 2-cocycle α λ to form the resulting twisted algebra F q α λ D 2 n non-equivalent to F q β D 2 n for a non-square λ in the field F q . They explore its properties and exploit them to enhance the introduced key exchange protocol.
In other related works, the authors in [5] investigate right ideals as codes in twisted group rings. In particular, they characterize all linear codes that are twisted group codes in terms of their automorphism group.
Our work takes an alternative path by introducing a skew dihedral group ring which is the main tool for constructing a group key exchange protocol, a probabilistic public-key scheme, and a derived key encapsulation mechanism. We first formally define the notion of a skew group ring and explore some of its properties. We then study skew dihedral group rings and later construct a specific skew dihedral group ring by defining the group homomorphism θ σ : D 2 n Gal ( F q 2 , F q ) stated in Lemma 4. In particular, given the presentation G = D 2 n = x , y : x n = y 2 = 1 , y x y 1 = x 1 of the dihedral group, the map θ σ ( g ) = σ , where σ ( a ) = a q for all a F q 2 , for g = x i y , i { 0 , , n 1 } , and θ σ ( g ) = 1 otherwise is a group homomorphism. Over the resulting skew dihedral group ring F q 2 θ σ D 2 n , we realize our cryptographic constructions and analyze their security. Finally, we present a proof-of-concept implementation of our cryptographic constructions.
The outline of the paper is as follows. In Section 2, we show the basic definitions and results we need, whereas, in Section 3, we show the concrete presentation of the dihedral group ring we use. Section 4 presents the proposed key exchange protocol and analyzes its intractability assumptions. Section 5 introduces a group key agreement protocol that generalizes the two-party key agreement protocol presented in Section 4. Section 6 presents a probabilistic public-key encryption scheme, and Section 7 introduces a key encapsulation mechanism using the ideas from the previous sections. Section 8 presents the pseudo-codes of a proof-of-concept Python implementation for our cryptographic constructions. Finally, Section 9 concludes our work and presents future research directions.

2. Preliminaries

Let F q be the finite field with q = p m elements where p is a prime number and let Aut ( F q ) be the automorphism group of F q . Recall that any automorphism Θ Aut ( F q ) of the finite field F q is of the type Θ ( x ) = x p j . Denote by Gal ( F q k , F q ) the Galois group of F q k over F q , i.e., the set of all automorphisms of F q k that fix the subfield F q . It holds that Aut ( F q k ) = Gal ( F q k , F q ) × Aut ( F q ) , in particular Aut ( F q ) = Gal ( F q , F p ) . It is well-known that Gal ( F q k , F q ) is a cyclic group of order k generated by the Frobenius automorphism σ of F q k over F q defined as σ ( a ) = a q for all a F q k . Furthermore, we denote Hom ( G , Aut ( F q k ) ) and Hom ( G , Gal ( F q k , F q ) ) as the set of homomorphisms from G to Aut ( F q k ) and Gal ( F q k , F q ) , respectively. Note that Hom ( G , Gal ( F q k , F q ) ) Hom ( G , Aut ( F q k ) ) .
In the following paragraphs, we summarize the definitions and properties we need on skew group rings.
Definition 1.
Let G be a finite multiplicative group and let θ Hom ( G , Aut ( F q ) ) be a group homomorphism. The skew group ring F q θ G is the set of all formal sums g G a g g , where a g F q , with the following skew multiplication
a g g · b h h = a g ( θ ( g ) ( b h ) ) g h .
Note that at F q -vector space the skew group ring F q θ G coincides with the group ring F q G . However, rings not only may not coincide, but in general they are non-isomorphic. More precisely, we have the following result.
Lemma 1.
Let θ , β Hom ( G , Aut ( F q ) ) be homomorphisms. There is an F q -linear ring isomorphism F q θ G F q β G mapping a g g to a g δ ( g ) for some δ ( g ) G if and only δ : G G is a group isomorphism such that θ ( g ) = β ( δ ( g ) ) for all g G .
Proof. 
Denote by a g g · b h h the product in F q θ G and denote a g g b h h the product in F q β G . The image of a g g · b h h = a g θ ( g ) ( b h ) g h in F q θ G is a g θ ( g ) ( b h ) δ ( g h ) . The product in F q β G of the images of a g g and b h h are a g β ( δ ( g ) ) ( b h ) δ ( g ) δ ( h ) = a g β ( δ ( g ) ) ( b h ) δ ( g h ) . The two elements coincide if and only if θ ( g ) = β ( δ ( g ) ) for all g G . □
Remark 1.
Note that in general ( λ a g g ) ( b h h ) = λ a g θ ( g ) ( b h ) g h a g θ ( g ) ( λ b h ) g h = ( a g g ) ( λ b h h ) for λ F q and a g g , b h h F q θ G ; therefore, F q θ G may not be an algebra.
Lemma 2.
The map φ : F q θ G F q θ G , g G a g g g G θ ( g 1 ) ( a g ) g 1 is a ring anti-isomorphism of F q θ G .
Proof. 
Let a g g , b h h F q θ G . Then, we have
φ ( a g g · b h h ) = φ ( a g θ ( g ) ( b h ) g h ) = θ ( h 1 g 1 ) ( a g θ ( g ) ( b h ) ) h 1 g 1 = θ ( h 1 ) θ ( g 1 ) ( a g θ ( g ) ( b h ) ) h 1 g 1 = θ ( h 1 ) θ ( g 1 ) ( a g ) θ ( h 1 ) ( b h ) h 1 g 1 = θ ( h 1 ) ( b h ) θ ( h 1 ) θ ( g 1 ) ( a g ) h 1 g 1 = θ ( h 1 ) ( b h ) h 1 · θ ( g 1 ) ( a g ) g 1 = φ ( b h h ) φ ( a g g ) .
Definition 2.
For an element a = g G a g g F q θ G , we define its adjunct as
a ^ : = φ ( a ) = g G θ ( g 1 ) ( a g ) g 1 .

3. A Skew Dihedral Group Ring

Let G = D 2 n = x , y : x n = y 2 = 1 , y x y 1 = x 1 be a presentation of the dihedral group of order 2 n .
Lemma 3.
Let C n = x be the cyclic subgroup of D 2 n generated by x. Then, we have
1. 
F q θ D 2 n is a free F q θ C n -module with basis { 1 , y } . Therefore, F q θ D 2 n = F q θ C n F q θ C n y as direct sum of F q -vector spaces.
2. 
F q θ C n y F q θ C n as F q θ C n -modules.
3. 
For a F q θ C n y , a b F q θ C n if b F q θ C n y or a b F q θ C n y if b F q θ C n .
4. 
If a F q θ C n , then a ^ F q θ C n .
5. 
If a F q θ C n y , then a ^ F q θ C n y .
Proof. 
In what follows, the symbol [ k ] n for k Z denotes k [ k ] n mod n .
  • Since { 1 , y } is a transversal for C n in D 2 n , then D 2 n = C n C n y , and the assertion follows.
  • Since x i · x j = x [ i + j ] n and x i · x j y = x [ i + j ] n y for all i , j { 0 , , n 1 } , the assertions follow.
  • Since x i y · x j y = x [ i j ] n and x i y · x j = x [ i j ] n y for all i , j { 0 , , n 1 } , the assertions follow.
  • Since x i · x n i = 1 for all i { 0 , , n 1 } , then the assertion follows.
  • Since ( x i y ) 2 = 1 for all i { 0 , , n 1 } , then the assertion follows.
Definition 3.
We define the θ-reversible subspace of F q θ C n y as the vector subspace
Γ θ = { a = i = 0 n 1 a i x i y F q θ C n y a i = a n i for i = 1 , , n 1 } .
The following lemma introduces the group homomorphism θ σ Hom ( D 2 n , Aut ( F q 2 ) ) , which depends on the Frobenius automorphism σ , where F q 2 is a quadratic extension of F q . Note that since Gal ( F q 2 , F q ) Aut ( F q 2 ) , then θ σ Hom ( D 2 n , Gal ( F q 2 , F q ) ) . Furthermore, from here on, we only consider a quadratic extension of F q due to the ambient space over which we define our cryptographic constructions as the skew group ring F q 2 θ σ D 2 n .
Lemma 4.
Let σ Gal ( F q 2 , F q ) ) be the Frobenius automorphism of F q 2 over F q . Then, the map θ σ : G = D 2 n Gal ( F q 2 , F q ) defined by θ σ ( g ) = σ for g = x i y , i { 0 , , n 1 } and θ σ ( g ) = 1 otherwise is a group homomorphism.
Proof. 
This assertion follows straightforwardly.    □
Lemma 5.
Let θ σ Hom ( D 2 n , Gal ( F q 2 , F q ) ) be the group homomorphism defined in Lemma 4. Then, we have a b ^ = b a ^ for a , b Γ θ σ .
Proof. 
Let a = i = 0 n 1 a i x i y Γ θ σ and b = i = 0 n 1 b i x i y Γ θ σ . Then
a b ^ = i = 0 n 1 a i x i y j = 0 n 1 θ σ ( x j y ) ( b j ) x j y = j = 0 n 1 i = 0 n 1 a i θ σ ( x j ) ( b [ i j ] n ) x j
and
b a ^ = i = 0 n 1 b i x i y j = 0 n 1 θ σ ( x j y ) ( a j ) x j y = j = 0 n 1 i = 0 n 1 b i θ σ ( x j ) ( a [ i j ] n ) x j .
The first sum of Equations (1) and (2) follows from the definitions. The second sum of Equations (1) and (2) follows from θ σ being a homomorphism, and thus θ σ ( x i y ) ( θ σ ( x j y ) ( a ) ) = θ σ ( x [ i j ] n ) ( a ) for a F q 2 .
Since a , b Γ θ σ , then a i = a [ i ] n and b [ j i ] n = b [ i j ] n for i { 0 , , n 1 } , then θ σ ( x j ) ( a [ i ] n ) = a [ i ] n = a i and θ σ ( x j ) ( b [ i j ] n ) = b [ i j ] n = b [ j i ] n (since θ σ ( x j ) = 1 by construction). Therefore, the i-th term a i b [ j i ] n of i = 0 n 1 a i θ σ ( x j ) ( b [ i j ] n ) in (1) coincides with the [ j i ] n -th term b [ j i ] n a i of i = 0 n 1 b i θ σ ( x j ) ( a [ i j ] n ) in (2), which implies that i = 0 n 1 a i θ σ ( x j ) ( b [ i j ] n ) = i = 0 n 1 b i θ σ ( x j ) ( a [ i j ] n ) for all j { 0 , , n 1 } . □

4. A Key Exchange Protocol

This section presents a two-party key exchange protocol based on two-sided multiplications over a skew dihedral group ring. We remark that other works have considered two-sided semi-group actions or matrices over group rings for key exchange [2,3,4,6,7,8,9]. However, we follow an alternative approach. Recent papers [2,3,4] propose two-party key exchange protocols using two-sided multiplications over dihedral twisted group rings. Following their constructions, we introduce a two-party key exchange protocol over the skew group ring F q 2 θ σ D 2 n .
Remark 2.
Since F q 2 θ σ D 2 n is not an algebra, our protocol works over a different algebraic structure than that of [2,3,4].

4.1. The Construction

We start by setting up our key exchange protocol’s public parameters.
  • Choose m , n N and a prime number p such that p divides n. We then set q = p m and the finite field F q 2 .
  • Choose the map θ σ : D 2 n Gal ( F q 2 , F q ) as it was defined in Lemma 4. We remark that for g = x i y with i { 0 , , n 1 } , θ σ ( g ) = σ , where σ ( a ) = a q for all a F q 2 , and θ σ ( g ) = 1 otherwise.
  • Choose a random non-zero element h 1 F q 2 θ σ C n and a random non-zero element h 2 F q 2 θ σ C n y . Set h = h 1 + h 2 and make h public.
  • Let SK = F q 2 θ σ C 2 n × Γ θ σ be the secret key space, and sk = ( a , γ ) SK be a secret key; we define sk ^ as ( a , γ ^ ) . Furthermore, let us define the function ψ : SK × F q 2 θ σ D 2 n F q 2 θ σ D 2 n as ψ ( sk , h ) = a h γ and ID as a set of identifiers.
Let P i and P j be two parties and s be a bit-string that identifies a session. Let us denote as ID i ID the identifier of the party P i . The key exchange protocol between P i and P j runs as shown by Algorithm 1.
Algorithm 1 Two-party key exchange protocol
1:
The initiator P i , on input ( ID i , ID j , s ) , chooses a secret pair sk i = ( a i , γ i ) R SK and sends ( ID i , s , pk i = ψ ( sk i , h ) to P j .
2:
Upon receipt of ( ID i , s , pk i ) , P j chooses a secret pair sk j = ( a j , γ j ) R SK and sends ( ID j , s , pk j = ψ ( sk j , h ) to P i , computes k j = ψ ( sk j ^ , pk i ) , erases ( a j , γ j ) , and outputs the key k j under the session-id s.
3:
Upon receipt of ( ID j , s , pk j ) , P i computes k i = ψ ( sk i ^ , pk j ) , erases ( a i , γ i ) , and outputs the key k i under the session-id s.
We remark that if both P i and P j are uncorrupted during the exchange of the key and complete the protocol for session-id s, they then establish the same key. Because of the choice of θ σ , by Lemma 5, it follows
k i = a i pk j γ i ^ = a i a j h γ j γ i ^ = a j a i h γ i γ j ^ = a j pk i γ j ^ = k j

4.2. Intractability Assumptions

With the notation above, let h = h 1 + h 2 be a public element in F q 2 θ σ D 2 n , where h 1 is a random non-zero element from F q 2 θ σ C n and h 2 is a random non-zero element from F q 2 θ σ C n y . We now present attack games [10,11] for algebraic problems related to the security of our key exchange protocol.
Game 1
(Skew Dihedral Product Decomposition). For a given adversary A , we define the following attack game:
  • The challenger computes
    1: 
    ( a , γ ) R SK ;
    2: 
    pk a h γ ;
    and gives pk to the adversary.
  • The adversary outputs ( a ˜ , γ ˜ ) SK .
We define A ’s advantage in solving the Skew Dihedral Product Decomposition Problem for F q 2 θ σ D 2 n , denoted SDPDadv [ A , F q 2 θ σ D 2 n ] , as the probability that a ˜ h γ ˜ = a h γ .
Definition 4
(Skew Dihedral Product Decomposition Assumption). We say that the Skew Dihedral Product Decomposition (SDPD) assumption holds for F q 2 θ σ D 2 n if for all efficient adversaries A the quantity SDPDadv [ A , F q 2 θ σ D 2 n ] is negligible.
Game 2
(Computational Skew Dihedral Product). For a given adversary A , we define the following attack game:
  • The challenger computes
    1: 
    ( a 1 , γ 1 ) R SK ;
    2: 
    ( a 2 , γ 2 ) R SK ;
    3: 
    pk 1 a 1 h γ 1 ;
    4: 
    pk 2 a 2 h γ 2 ;
    5: 
    k a 2 pk 1 γ ^ 2 ;
    and gives both pk 1 and pk 2 to the adversary.
  • The adversary outputs some k ˜ F q 2 θ σ D 2 n .
We define A ’s advantage in solving the Computational Skew Dihedral Product (CSDP) Problem for F q 2 θ σ D 2 n , denoted CSDPadv [ A , F q 2 θ σ D 2 n ] , as the probability that k ˜ = k .
Definition 5
(Computational Skew Dihedral Product Assumption). We say that the Computational Skew Dihedral Product (CSDP) assumption holds for F q 2 θ σ D 2 n if for all efficient adversaries A the quantity CSDPadv [ A , F q 2 θ σ D 2 n ] is negligible.
Lemma 6.
If the SDPD assumption does not hold for F q 2 θ σ D 2 n , then the CSDP assumption does not hold for F q 2 θ σ D 2 n .
Proof. 
This assertion follows straightforwardly. □
Game 3
(Decisional Skew Dihedral Product). For a given adversary A , we define two experiments:
  • Experiment  b
  • The challenger computes
    1: 
    ( a 1 , γ 1 ) R SK ;
    2: 
    ( a 2 , γ 2 ) R SK ;
    3: 
    ( a 3 , γ 3 ) R SK ;
    4: 
    pk 1 a 1 h γ 1 ; pk 2 a 2 h γ 2 ;
    5: 
    k 0 a 2 pk 1 γ ^ 2 ; k 1 a 3 h γ 3 ;
    and gives the triple ( pk 1 , pk 2 , k b ) to the adversary.
  • The adversary outputs a bit b ˜ { 0 , 1 } .
Let W b be the event that A outputs 1 in experiment b . We define A ’s advantage in solving the Decisional Skew Dihedral Product Problem for F q 2 θ σ D 2 n as
DSDPadv [ A , F q 2 θ σ D 2 n ] = | Pr [ W 0 ] Pr [ W 1 ] | .
Definition 6
(Decisional Skew Dihedral Product Assumption). We say that the Decisional Skew Dihedral Product (DSDP) assumption holds for F q 2 θ σ D 2 n if for all efficient adversaries A the quantity DSDPadv [ A , F q 2 θ σ D 2 n ] is negligible.
Note that h is chosen as h = h 1 + h 2 , with h 1 being a random non-zero element from F q 2 θ σ C n and h 2 being a random non-zero element from F q 2 θ σ C n y , to not let the attacker win the DSDP Game trivially. Indeed, if h is chosen as h = h 1 + 0 with h 1 F q 2 θ σ C n , then k 0 F q 2 θ σ C n and k 1 F q 2 θ σ C n y by Lemma 3. Similarly, if h is chosen as h = 0 + h 2 with h 2 F q 2 θ σ C n y , then k 0 F q 2 θ σ C n y and k 1 F q 2 θ σ C n by Lemma 3. Therefore, the attacker can win the DSDP Game for both cases with non-negligible probability. Additionally, we have the following:
Lemma 7.
If the CSDP assumption does not hold for F q 2 θ σ D 2 n , then DSDP assumption does not hold for F q 2 θ σ D 2 n .
Proof. 
This assertion follows straightforwardly. □

4.3. The Hardness of the SDPD Problem

The SDPD problem is similar to the Dihedral Product Decomposition (DPD) Problem introduced in [3], then formalized in [2], and extended in [4]. In [2], the authors provide an algorithmic and algebraic analysis of their DPD problem, which is the underlying computational problem associated with the security of their cryptographic constructions. In particular, they define the twisted dihedral group algebra F q α λ D 2 n , where the 2-cocycle α λ : D 2 n × D 2 n F q * is defined by α λ ( g , h ) = λ (a non-square in F q ) for g = x i y , h = x j y with i , j { 0 , , n 1 } and α λ ( g , h ) = 1 otherwise. Furthermore, [2] demonstrates that F q α λ D 2 n = F q α λ C n F q α λ C n y as a direct sum of F -vector spaces and also defines Γ α λ F q α λ C n y in a similar way.
In [2], the DPD attack game is defined as follows. Let h = h 1 + h 2 be a public element in F q α λ D 2 n , where h 1 is a random non-zero element from F q α λ C n and h 2 is a random non-zero element from F q α λ C n y . For a given adversary A ,
  • The challenger computes
    1:
    ( a , γ ) R F q α λ C n × Γ α λ ;
    2:
    pk a h γ ;
    and gives pk to the adversary.
  • The adversary outputs ( a ˜ , γ ˜ ) F q α λ C n × Γ α λ .
The A ’s advantage in solving the Dihedral Product Decomposition Problem for F q α λ D 2 n is defined as the probability that a ˜ h γ ˜ = a h γ .
The authors of [2] analyze how an adversary may try to solve their DPD problem by exploiting quantum algorithms [12,13] or algebraic techniques [14]. We remark that since the DPD problem and SDPD problem are alike, such an algebraic and algorithmic analysis for the DPD problem presented in [2] may be adapted easily to the SDPD problem. However, we remark that adjusting such an analysis to the SDPD problem does not mean that both the DPD and SDPD problems are computationally equivalent. It is indeed an open question to prove whether the DPD problem (or any of its variants) and SDPD problem are computationally equivalent or not.

4.4. Security Analysis in the Authenticated-Links Adversarial Model

This subsection is devoted to further analyzing our two-party key exchange protocol in an appropriate security model [15,16,17]. In particular, we aim to prove that our protocol is session-key secure in the authenticated-links adversarial model (AM) of Canetti and Krawczyk [17], assuming the DSDP assumption holds for F q 2 θ σ . The definition of session-key security in the authenticated-links adversarial model of Canetti and Krawczyk is introduced in [17]. We add a description of it as follows:
  • Let P = { P 1 , P 2 , , P n } be a finite set of parties.
  • Let A be an adversary that controls all communication between two parties, however,
    • A is not allowed to inject or modify messages, except for messages sent by corrupted parties or sessions.
    • A may choose not to forward a message at all. However, if A decides to forward a message m, then A has to send it to the correct destination for m only once and without modifying m.
    • Parties give outgoing messages to A , who has control over their delivery via the Send query. A can activate a party P i by Send queries, i.e., the adversary has control over the creation of protocol sessions, which takes place within each party. Two sessions s 1 and s 0 are matching if the outgoing messages of one are the incoming messages of the other and vice versa. Additionally, A is allowed to query the oracles SessionStateReveal, SessionKeyReveal, and Corrupt.
      -
      If A queries the SessionStateReveal oracle for a specified session-id s within some party P i , then A obtains the contents of the specified session-id s within P i , including any secret information. This event is noted and produces no further output.
      -
      If A queries the SessionKeyReveal for a specified session-id s, then A obtains the session key for the specified session s, assuming that s has an associated session.
      -
      If A queries the Corrupt oracle for a specified party P i , then A takes over the party P i , i.e., A has access to all information in P i ’s memory, including long-lived keys and any session-specific information still stored. A corrupted party produces no further output.
    • Finally, A receives access to the test oracle, which can be queried once and at any stage to a completed, fresh, and unexpired session-id s. On input s, the test oracle chooses b R { 0 , 1 } , then it outputs the session key for the specified session-id s if b = 0 . Otherwise, it returns a random value in the key space. Moreover, A can issue subsequent queries as desired, but it cannot expose the test session. At any point, the adversary can try to guess b. Let Guess [ A , F q 2 θ σ D 2 n ] be the event that A correctly guesses b, and define the advantage SKAdv [ A , F q 2 θ σ D 2 n ] = | Guess [ A , F q 2 θ σ D 2 n ] 1 / 2 | .
Theorem 4.
If the DSDP assumption holds for F q 2 θ σ D 2 n , then our key exchange protocol is session-key secure in the the authenticated-links adversarial model, i.e., for any A in the authenticated-links adversarial model (AM), then the following holds:
1. 
The key-exchange protocol satisfies the property that if two uncorrupted parties complete matching sessions, they both output the same key.
2. 
SKAdv [ A , F q 2 θ σ D 2 n ] is negligible.
Proof. 
The proof is an adaptation of the proof for the key-exchange protocol over a twisted dihedral group algebra F q α λ D 2 n given in [2].
  • The proof of the first statement is given at the end of the Section 4.1.
  • To prove this statement, we proceed by contradiction. Let us suppose that there is an adversary A in the authentication-links model against our protocol that has a non-negligible advantage ϵ in guessing the bit b chosen by the test oracle (when queried). Let l be an upper bound on the number of sessions invoked by A in any interaction. We now present a distinguisher D (Algorithm 2) for the DSDP problem.
    Algorithm 2 A distinguisher for the DSDP problem
    1:
    function D ( h , F q 2 θ σ D 2 n , pk 1 , pk 2 , k )
    2:
         r R { 1 , , l } ;
    3:
        Invoke A on a simulated interaction in the AM with parties P 1 , , P n with identifiers ID 1 , , ID n , except for the r t h session;
    4:
        For the r-th session, let P i send ( ID i , s , pk i = a i h γ i ) to P j and let P j send ( ID j , s , pk j = a j h γ j ) to P i ;
    5:
        if the r-th session is selected by A as the test session then
    6:
          Give k to A as the answer to his query;
    7:
           d A ( k ) ;
    8:
        else
    9:
           d R { 0 , 1 } ;
    10:
        end if
    11:
        return d
    12:
    end function
    On the one hand, let us suppose that A picks the r-th as the test session, then A is provided with either k 0 or k 1 , since the DSDP challenger gives either of the two keys to D . Therefore, the probability that A correctly distinguishes is 1 / 2 + ϵ with non-negligible ϵ (by assumption). On the other hand, assume that A does not choose the r-th as the test session, then D always returns a random bit, and the distinguishing probability for the input is 1 / 2 .
    Note that the probability that the test session and the r-th session coincide is 1 / l . So, these do not coincide with probability 1 1 / l . Hence, the overall probability for D to win the DSDP Game is 1 / ( 2 l ) + ϵ / l + 1 / 2 1 / ( 2 l ) = 1 / 2 + ϵ / l , which is non-negligible.

5. Group Key Agreement

Here, we introduce a group key agreement protocol that generalizes the interactive two-party key agreement protocol presented in Section 4.1. Let us assume there are o > 1 participants with distinct identifiers ID 1 , ID 2 , ID 3 , ID 4 , , ID o . Algorithm 3 shows our group key agreement, and it runs as follows:
Algorithm 3 Group key exchange protocol
Participant ID 1 Participant ID 2
sk 1 R SK
computes M 1 M 1
Participant ID i Participant ID i + 1
sk i R SK
computes M i M i
Participant ID o
sk o R SK
computes k and M o Broadcasts M o Each participant
computes k from M o
  • The participant ID 1 randomly selects a secret pair sk 1 = ( a 1 , γ 1 ) SK and then sends the list of messages M 1 to the participant ID 2 , where
    M 1 = [ m 1 1 = h , m 1 2 = ψ ( sk 1 , h ) = a 1 h γ 1 ]
  • For i { 2 , , o 1 } , the participant ID i randomly selects a secret pair sk i = ( a i , γ i ) SK and then sends the list of messages M i to the participant ID i + 1 , where M i contains
    (a)
    [ m i 1 = ψ ( sk i , m i 1 1 ) , m i 2 = ψ ( sk i , m i 1 2 ) , , m i i 1 = ψ ( sk i , m i 1 i 1 ) , m i i = m i 1 i ,
    m i i + 1 = ψ ( sk ^ i , m i 1 i ) ] when i is even.
    (b)
    [ m i 1 = ψ ( sk ^ i , m i 1 1 ) , m i 2 = ψ ( sk ^ i , m i 1 2 ) , , m i i 1 = ψ ( sk ^ i , m i 1 i 1 ) , m i i = m i 1 i ,
    m i i + 1 = ψ ( sk i , m i 1 i ) ] when i is odd.
  • The participant ID o randomly selects a secret pair sk i = ( a i , γ i ) SK and then computes M o containing
    (a)
    [ m o 1 = ψ ( sk o , m o 1 1 ) , m o 2 = ψ ( sk o , m o 1 2 ) , , m o o 1 = ψ ( sk o , m o 1 o 1 ) , m o o = m o 1 o ,
    m o o + 1 = ψ ( sk ^ o , m o 1 o ) ] when o is even.
    (b)
    [ m o 1 = ψ ( sk ^ o , m o 1 1 ) , m o 2 = ψ ( sk ^ o , m o 1 2 ) , , m o o 1 = ψ ( sk ^ o , m o 1 o 1 ) , m o o = m o 1 o ,
    m o o + 1 = ψ ( sk o , m o 1 o ) ] when o is odd.
    and then sets k = m o o + 1 as the shared key, and finally broadcasts [ m o 1 , m o 2 , , m o 1 o 1 ] to all other participants.
  • For i { 1 , , o 1 } , the participant ID i computes k = ψ ( sk i , m o i ) when o is odd or k = ψ ( sk ^ i , m o i ) when o is even and sets k as the shared key.
Lemma 8.
After a complete run of the above protocol, the participants ID 1 , , ID o agree on a common key k .
Proof. 
We prove the previous statement by induction on the number of participants o.
Base Case
When o is 2, we obtain the two-party key agreement protocol.
Inductive Case
We now proceed with two cases:
  • Assume that the number of participants is o (odd) and that after running the protocol with o participants, the participant ID i with i { 1 , 2 , , o 1 } obtains the shared key via computing k o = ψ ( sk i , m o i ) , while the participant o obtains the shared key via computing k o = ψ ( sk o , m o 1 o ) .
    Suppose that there are o + 1 (even) participants. We show that after running the protocol with o + 1 participants, the participant ID i with i { 1 , 2 , , o } obtains the shared key via computing k o + 1 = ψ ( sk ^ i , m o + 1 i ) , while the participant o obtains the shared key via computing k o + 1 = ψ ( sk ^ o + 1 , m o o + 1 ) .
    On the one hand, note that
    k o + 1 = ψ ( sk ^ i , m o + 1 i ) = a i m o + 1 i γ ^ i = a i ψ ( sk o + 1 , m o i ) γ ^ i = a i a o + 1 m o i γ o + 1 γ ^ i = a o + 1 a i m o i γ i γ ^ o + 1 = a o + 1 ψ ( sk i , m o i ) γ ^ o + 1 = a o + 1 k o γ ^ o + 1
    for i { 1 , 2 , , o } . On the other hand,
    k o + 1 = ψ ( sk ^ o + 1 , m o o + 1 ) = a o + 1 m o o + 1 γ ^ o + 1 = a o + 1 ψ ( sk o , m o 1 o ) γ ^ o + 1 = a o + 1 k o γ ^ o + 1 .
  • Assume now that the number of participants is o (even) and that after running the protocol with o participants, the participant ID i with i { 1 , 2 , , o 1 } obtains the shared key via computing k o = ψ ( sk i ^ , m o i ) and the participant o obtains the shared key via computing k o = ψ ( sk o ^ , m o 1 o ) .
    Suppose that there are o + 1 (odd) participants. We show that after running the protocol with o + 1 participants, the participant ID i with i { 1 , 2 , , o } obtains the shared key via computing k o + 1 = ψ ( sk i , m o + 1 i ) , while the participant o obtains the shared key via computing k o + 1 = ψ ( sk o + 1 , m o o + 1 ) .
    On the one hand, note that
    k o + 1 = ψ ( sk i , m o + 1 i ) = a i m o + 1 i γ i = a i ψ ( sk ^ o + 1 , m o i ) γ i = a i a o + 1 m o i γ ^ o + 1 γ i = a o + 1 a i m o i γ ^ i γ o + 1 = a o + 1 ψ ( sk ^ i , m o i ) γ o + 1 = a o + 1 k o γ ^ o + 1
    for i { 1 , 2 , , o } . On the other hand,
    k o + 1 = ψ ( sk o + 1 , m o o + 1 ) = a o + 1 m o o + 1 γ o + 1 = a o + 1 ψ ( sk ^ o , m o 1 o ) γ o + 1 = a o + 1 k o γ ^ o + 1 .

Security Analysis

Since our group key exchange protocol follows a similar idea as that of a group key exchange protocol over twisted group rings introduced in [3,4], we can adapt the analysis of its security presented in [4] to this setting. Specifically, based on the idea of [18], the authors of [4] prove that if their Decisional Dihedral Product Assumption holds, then their group key management verifies that an adversary cannot distinguish the shared group key from an arbitrary element (see Theorem 1 from [4]).
Theorem 5.
If the DSDP assumption holds for F q 2 θ σ D 2 n , then our group key exchange protocol verifies that an adversary cannot distinguish the shared group key from an arbitrary element.
Proof. 
The proof of Theorem 1 in [4] can be easily adapted to this setting. □

6. Probabilistic Public Key Encryption

We now derive a probabilistic public key encryption from the key exchange protocol introduced in Section 4, in much the same way that the Elgamal encryption follows from the Diffie–Hellman protocol. This approach is used, for example, in [2,3,11,19].
Following the notation above,
  • Let PK = F q 2 θ σ D 2 n be the public key space, M = F q 2 θ σ D 2 n be the message space, and C = F q 2 θ σ D 2 n the cipher-text space.
  • Choose a random non-zero element h 1 F q 2 θ σ C n and a random non-zero element h 2 F q 2 θ σ C n y . Set h = h 1 + h 2 and make h public.
We now define the public key encryption scheme E = ( Gen , Enc , Dec ) , where Gen is shown by Algorithm 4, Enc is shown by Algorithm 5 and Dec is shown by Algorithm 6.
Algorithm 4 Generates a key pair
1:
functionGen( h F q 2 θ σ D 2 n )
2:
     ( a 1 , γ 1 ) R SK ;
3:
     pk a 1 h γ 1 ;
4:
     sk ( a 1 , γ 1 ) ;
5:
    return  pk , sk ;
6:
end function
Algorithm 5 Encrypts a plaintext
1:
functionEnc( m M , pk PK , r 2 SK , h F q 2 θ σ D 2 n )
2:
     ( a 2 , γ 2 ) r 2 ;
3:
     c 1 a 2 h γ 2 ;
4:
     c 2 m + a 2 pk γ ^ 2 ;
5:
     c ( c 1 , c 2 ) ;
6:
    return  c ;
7:
end function
Algorithm 6 Decrypts a ciphertext
1:
functionDec( c C , sk SK )
2:
     ( a 1 , γ 1 ) sk ;
3:
     ( c 1 , c 2 ) c ;
4:
     k a 1 c 1 γ ^ 1 ;
5:
     m c 2 k ;
6:
    return  m ;
7:
end function
Lemma 9
(Correctness). Let h be a public element in F q 2 θ σ D 2 n . Consider the encryption scheme E constructed above. For any message m M , r 2 R SK and ( pk , sk ) Gen ( h ) , it holds that m Dec ( Enc ( m , pk , r 2 , h ) , sk )
Proof. 
Since
( c 1 = a 2 h γ 2 , c 2 = m + a 2 pk γ ^ 2 ) Enc ( m , pk , r 2 , h )
and sk = ( a 1 , γ 1 ) , then
k = a 1 c 1 γ ^ 1 = a 1 a 2 h γ 2 γ ^ 1 = a 2 a 1 h γ 1 γ ^ 2 = a 2 pk γ ^ 2 ,
and therefore
c 2 k = m + a 2 pk γ ^ 2 a 2 pk γ ^ 2 = m
Remark 3.
r 2 SK must be randomly chosen each time Enc (Algorithm 5) is called to guarantee it to be probabilistic.
Theorem 6.
If the DSDP assumption holds for F q 2 θ σ D 2 n , then E is semantically secure.
Proof. 
The proof of Theorem 5.2 in [2] can be easily adapted to this setting. □

7. A Key Encapsulation Mechanism

By applying a generic transformation of Hofheinz, Hövelmanns, and Kiltz [20] to E , we introduce a CCA-secure key encapsulation mechanism. Let K = { 0 , 1 } l 1 be the key space and rep ( x ) be a function that simply returns the binary representation of x. Additionally, we construct the following two functions:
  • H 1 : { 0 , 1 } * SK is a hash function that takes in a bit-string, say x , and then uses a cryptographic hash function, e.g., SHAKE 256 , to compute a key in the keyspace from it. Following the notation of [21], H 1 ( x ) = SHAKE 256 ( x , o ) , where o = log 2 ( p ) 2 m ( n + n + 1 2 ) is the bit length of the output. From this bit-string, the corresponding pair ( a , γ ) SK can be obtained easily.
  • H 2 : { 0 , 1 } * K is a hash function that applies a cryptographic hash function, e.g., SHAKE 256 , to the input. Specifically, H 2 ( x ) = SHAKE 256 ( p 1 | | x , l 1 ) , where p 1 is a pre-pended fixed bit-string to make it different from H 1 .
    Applying the generic transformation U ¬ [ T [ E , H 2 ] , H 1 ] from [20], we obtain
    KEM = ( KeyGen , Encaps , Decaps ) ,
    where KeyGen is shown by Algorithm 7, Encaps is shown by Algorithm 8 and Decaps is shown by Algorithm 9.
Algorithm 7 Generates a key pair
1:
functionKeyGen( h )
2:
     ( pk , sk ) Gen ( h ) ;
3:
     s R M ;
4:
    return  ( s , sk , pk ) ;
5:
end function
Algorithm 8 Encapsulates a key
1:
functionEncaps( pk , h )
2:
     m R M ;
3:
     r H 1 ( rep ( m ) | | rep ( pk ) ) ;
4:
     c Enc ( m , pk , r , h ) ;
5:
     K H 2 ( rep ( m ) | | rep ( c ) ) ;
6:
    return  ( c , K ) ;
7:
end function
Algorithm 9 Decapsulates a key
1:
functionDecaps( ( s , pk , sk ) , c , h )
2:
     m Dec ( c , sk ) ;
3:
     r H 1 ( rep ( m ) | | rep ( pk ) ) ;
4:
    if  c = Enc ( m , pk , r , h )  then
5:
       K H 2 ( rep ( m ) | | rep ( c ) ) ;
6:
      return  K ;
7:
    else
8:
      return  H 2 ( rep ( s ) | | rep ( c ) ) ;
9:
    end if
10:
end function
Remark 4.
We refer the reader to [20] to see a proof of why this generic construction is CCA-secure.

8. Implementation

We implemented our proposed public-key encryption scheme and key encapsulation mechanism as proof-of-concept in Python. The interested reader can see it on Google Colaboratory [22].

8.1. Dihedral Group

To implement a dihedral group of order 2 n , we simply represent a dihedral group element g = x i 1 y j 1 as the integer k 1 = j 1 · n + i 1 . Moreover, we compute a 2 n × 2 n integer array table such that the row table [ k 1 ] , 0 k 1 < 2 n stores a 2 n array with the integer representations of g , g x , g x 2 , g x n 1 , g y , , g x n 1 y . To compute the operation of two given group elements, g = x i 1 y j 1 and h = x i 2 y j 2 , we simply return table [ k 1 ] [ k 2 ] , where k 1 = j 1 · n + i 1 and k 2 = j 2 · n + i 2 . To compute the multiplicative inverse of a given group element g = x i 1 y j 1 , the function inverse ( k 1 ) returns 0 if k 1 = 0 , or n k 1 if 1 k 1 < n , or k 1 if n k 1 < 2 n .

8.2. Homomorphism θ σ

The homomorphism θ σ is implemented as described next. Given k 1 and k 2 , two representations of two group elements, then the function homomorphism ( k 1 , k 2 ) returns a pointer to the function σ (shown by Algorithm 10) if n k 1 < 2 n  and  n k 2 < 2 n . Otherwise, it returns a pointer to the function identity I (shown by Algorithm 11).
Algorithm 10 Computes the Frobenius automorphism
1:
function σ ( a F q 2 )
2:
     [ b s , b s 1 , , b 0 ] getBinaryReprepresation ( q ) ;
3:
     r getOneFromQuadraticField ( ) ;
4:
    for  i s t o 0  do
5:
       r r · r
6:
      if  b i = 1  then
7:
         r r · a
8:
      end if
9:
    end for
10:
    return r
11:
end function
Algorithm 11 Computes the identity function
1:
function I ( a F q 2 )
2:
    return a
3:
end function

8.2.1. The Skew Dihedral Group Ring F q 2 θ σ D 2 n

An element a = i = 0 n 1 a i x i + i = 0 n 1 a n + i x i y in the group ring F q 2 θ σ D 2 n is represented as an array of 2 n field elements a = [ a 0 , a 1 , a 2 , , a 2 n 1 ] , where a i is the representation of the field element a i F q 2 . Algorithm 12 shows the addition of two ring elements, and Algorithm 13 shows the product of two ring elements.
Algorithm 12 Computes the addition of two ring elements
1:
functionaddition( a , b )
2:
     c [ 0 , , 0 ]
3:
    for  ( i 0 ; i < 2 n ; i i + 1 )  do
4:
       c [ i ] a [ i ] + b [ i ] ;
5:
  end for
6:
  return c
7:
end function
Algorithm 13 Computes the product of two ring elements
1:
functionproduct( a , b )
2:
     c [ 0 , , 0 ]
3:
    for  ( i 0 ; i < 2 n ; i i + 1 )  do
4:
      for  ( j 0 ; j < 2 n ; j j + 1 )  do
5:
         k table [ i , j ] ;
6:
         fe a [ i ] · ( homomorphism ( i ) ( b [ j ] ) ) ;
7:
         c [ k ] c [ k ] + fe ;
8:
      end for
9:
    end for
10:
    return c
11:
end function
On the one hand, the addition function has a cost of 2 n field additions to compute a ring element c . On the other hand, the product function has a cost of 4 n 2 field additions and 4 n 2 · ( 1 + f ) field multiplications, where f is the number of field multiplication to compute homomorphism ( i ) ( b [ j ] ) . Furthermore, Algorithm 14 computes the adjunct of a ring element, and its cost is 2 n · f multiplications.
We also implement some helper functions. In particular, getRandomFieldElement ( ) denotes a function that returns a random element in F q 2 . Furthermore, Algorithms 15–18 show functions to compute random elements from Γ θ σ , F q 2 θ σ D 2 n , F q 2 θ σ C n , and F q 2 θ σ C n y respectively. Finally, Algorithm 19 shows a function to compute a random public element h.
Algorithm 14 Computes the adjunct of a ring element
1:
functionadjunct( a )
2:
     c [ 0 , , 0 ]
3:
    for  ( i 0 ; i < 2 n ; i i + 1 )  do
4:
       j inverse ( i )
5:
       c [ j ] homomorphism ( j ) ( a [ i ] )
6:
    end for
7:
    return c
8:
end function
Algorithm 15 Computes a random element from Γ θ σ
1:
function getRandomfromT ()
2:
     c [ 0 , , 0 ]
3:
     c [ n ] getRandomFieldElement ( )
4:
     n 1 n / 2
5:
    for  ( i 1 ; i n 1 ; i i + 1 )  do
6:
       c [ i + n ] getRandomFieldElement ( )
7:
       c [ n + ( n i ) mod n ] c [ i + n ]
8:
    end for
9:
    return c
10:
end function
Algorithm 16 Computes a random element from F q 2 θ σ D 2 n
1:
function getRandomFD 2 n ()
2:
     c [ 0 , , 0 ]
3:
    for  ( i 0 ; i < 2 n ; i i + 1 )  do
4:
       c [ i ] getRandomFieldElement ( )
5:
    end for
6:
    return c
7:
end function
Algorithm 17 Computes a random element from F q 2 θ σ C n
1:
function getRandomFCn ()
2:
     c [ 0 , , 0 ]
3:
    for  ( i 0 ; i < n ; i i + 1 )  do
4:
       c [ i ] getRandomFieldElement ( )
5:
    end for
6:
    return c
7:
end function
Algorithm 18 Computes a random element from F q 2 θ σ C n y
1:
function getRandomFCny ()
2:
     c [ 0 , , 0 ]
3:
    for  ( i n ; i < 2 n ; i i + 1 )  do
4:
       c [ i ] getRandomFieldElement ( )
5:
    end for
6:
    return c
7:
end function
Algorithm 19 Computes a random public element h
1:
function getPublicElement ()
2:
     sw 1 False
3:
    while  not sw 1  do
4:
       a getRandomFD 2 n ( )
5:
       i 0
6:
       sw 2 False
7:
      while  i < n and not sw 2  do
8:
        if  a [ i ] 0  then
9:
           sw 2 True
10:
        end if
11:
         i i + 1
12:
      end while
13:
       i n
14:
       sw 3 False
15:
      while  i < 2 n and not sw 3  do
16:
        if  a [ i ] 0  then
17:
           sw 3 True
18:
        end if
19:
         i i + 1
20:
      end while
21:
       sw 1 sw 2 and sw 3
22:
    end while
23:
    return a
24:
end function

8.2.2. Parameters Choice

For our key encapsulation mechanism, we propose to use the parameters shown by Table 1, which provide varying degrees of security.
Table 1 shows four sets of parameters providing various degrees of security, where l 1 { 128 , 192 , 256 } refers to the length of the output key. We calculated the values in the level of security column as proposed in [2]. To see the code of our implementation, please see [22].

9. Conclusions

In this paper, we introduced skew dihedral group rings and constructed a specific skew dihedral group ring by defining the group homomorphism θ σ : D 2 n Gal ( F q 2 , F q ) stated in Lemma 4. Over the resulting skew dihedral group ring F q 2 θ σ D 2 n , we built our cryptographic protocols and analyzed their security. Finally, we presented a proof-of-concept implementation of our cryptographic constructions.
As a future research direction, it may be interesting to explore the design of other cryptographic protocols over skew group rings, e.g., password-authenticated key exchange or sigma protocols.

Author Contributions

Conceptualization, J.d.l.C. and R.V.-P.; methodology, J.d.l.C. and R.V.-P.; software, R.V.-P.; validation, J.d.l.C., E.M.-M. and R.V.-P.; formal analysis, J.d.l.C., E.M.-M. and R.V.-P.; investigation, J.d.l.C. and R.V.-P.; writing—original draft preparation, J.d.l.C., E.M.-M. and R.V.-P.; writing—review and editing, J.d.l.C. and R.V.-P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. National Institute of Standards and Technology. NIST Post-Quantum Cryptography. Available online: https://csrc.nist.gov/Projects/post-quantum-cryptography/round-3-submissions (accessed on 20 May 2022).
  2. de la Cruz, J.; Villanueva-Polanco, R. Public key cryptography based on twisted dihedral group algebras. Adv. Math. Commun. 2022. [Google Scholar] [CrossRef]
  3. Olvera, M.D.G.; Ramos, J.A.L.; Jover, B.T. Public Key Protocols over Twisted Dihedral Group Rings. Symmetry 2019, 11, 1019. [Google Scholar] [CrossRef]
  4. Olvera, M.D.G.; Ramos, J.A.L.; Jover, B.T. Secure Group Communications Using Twisted Group Rings. Mathematics 2022, 10, 2845. [Google Scholar] [CrossRef]
  5. De la Cruz, J.; Willems, W. Twisted group codes. IEEE Trans. Inform. Theory 2021, 67, 5178–5184. [Google Scholar] [CrossRef]
  6. Eftekhari, M. Cryptanalysis of Some Protocols Using Matrices over Group Rings. In Proceedings of the International Conference on Cryptology in Africa, Progress in Cryptology-AFRICACRYPT 2017, Dakar, Senegal, 24–26 May 2017; Joye, M., Nitaj, A., Eds.; Lecture Notes in Computer Science. Springer: Cham, Switzerland, 2017; Volume 10239. [Google Scholar]
  7. Kahrobaei, D.; Koupparis, C.; Shpilrain, V. Public key exchange using matrices over group rings, Groups Complex. Cryptology 2013, 5, 97–115. [Google Scholar]
  8. Lopez-Ramos, J.A.; Rosenthal, J.; Schipani, D.; Schnyder, R. An application of group theory in confidential network communications. Math. Methods Appl. Sci. 2018, 41, 2294–2298. [Google Scholar] [CrossRef]
  9. Maze, G.; Monico, C.; Rosenthal, J. Public key cryptography based on semigroup actions. Adv. Math. Commun. 2007, 1, 489–507. [Google Scholar] [CrossRef]
  10. Shoup, V. Sequences of Games: A Tool for Taming Complexity in Security Proofs, Cryptology ePrint Archive, Report 2004/332. 2004. Available online: http://eprint.iacr.org/2004/332 (accessed on 20 July 2022).
  11. Boneh, D.; Shoup, V. A Graduate Course in Applied Cryptography, Textbook. Available online: http://toc.cryptobook.us/book.pdf (accessed on 20 July 2022).
  12. Grover, L.K. A fast quantum mechanical algorithm for database search. In Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, Philadelphia, PA, USA, 22–24 May 1996; ACM: New York, NY, USA, 1996; pp. 212–219. [Google Scholar]
  13. Suo, J.; Wang, L.; Yang, S.; Zheng, W.; Zhang, J. Quantum algorithms for typical hard problems: A perspective of cryptanalysis. Quantum Inf. Process. 2020, 19, 178. [Google Scholar] [CrossRef]
  14. Roman’kov, V. A general encryption scheme using two-sided multiplications with its cryptanalysis. arXiv 2017, arXiv:1709.06282. [Google Scholar]
  15. Bader, C.; Hofheinz, D.; Jager, T.; Kiltz, E.; Li, Y. Tightly-Secure Authenticated Key Exchange. In Theory of Cryptography; Dodis, Y., Nielsen, J.B., Eds.; TCC 2015; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2015; Volume 9014. [Google Scholar]
  16. Jager, T.; Kiltz, E.; Riepel, D.; Schäge, S. Tightly-Secure Authenticated Key Exchange, Revisited, Cryptology ePrint Archive: Report 2020/1279. 2020. Available online: https://eprint.iacr.org/2020/1279 (accessed on 1 July 2022).
  17. Canetti, R.; Krawczyk, H. Analysis of Key-Exchange Protocols and Their Use for Building Secure Channels. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Advances in Cryptology-EUROCRYPT 2001, EUROCRYPT 2001, Innsbruck, Austria, 6–10 May 2001; Pfitzmann, B., Ed.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2001; Volume 2045. [Google Scholar]
  18. 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]
  19. Jao, D.; De Feo, L. Towards Quantum-Resistant Cryptosystems from Supersingular Elliptic Curve Isogenies. In Proceedings of the International Workshop on Post-Quantum Cryptography, PQCrypto 2011, Taipei, Taiwan, 29 November–2 December 2011; Yang, B.Y., Ed.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2011; Volume 7071. [Google Scholar]
  20. Hofheinz, D.; Hövelmanns, K.; Kiltz, E. A Modular Analysis of the Fujisaki-Okamoto Transformation, Cryptology ePrint Archive, Report 2017/604. 2017. Available online: https://eprint.iacr.org/2017/604 (accessed on 20 July 2022).
  21. Dworkin, M.J. SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions, Federal Inf. Process. Stds. (NIST FIPS). 2015. Available online: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf (accessed on 20 July 2020).
  22. de la Cruz, J.; Martínez-Moro, E.; Villanueva-Polanco, R. Implementation of cryptographic constructions based on a Skew Dihedral Group Algebra. Available online: https://colab.research.google.com/drive/1z0MihfAc0ZlHjSL-5iiMVyd_XUaz_Fpa?usp=sharing (accessed on 20 July 2022).
Table 1. Proposed parameters.
Table 1. Proposed parameters.
pmn l 1 (Bits)Level of Security in Bits
19119 { 128 , 192 , 256 } 124
23123 { 128 , 192 , 256 } 149
31131 { 128 , 192 , 256 } 200
41141 { 128 , 192 , 256 } 264
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

de la Cruz, J.; Martínez-Moro, E.; Villanueva-Polanco, R. Public Key Protocols over Skew Dihedral Group Rings. Mathematics 2022, 10, 3343. https://0-doi-org.brum.beds.ac.uk/10.3390/math10183343

AMA Style

de la Cruz J, Martínez-Moro E, Villanueva-Polanco R. Public Key Protocols over Skew Dihedral Group Rings. Mathematics. 2022; 10(18):3343. https://0-doi-org.brum.beds.ac.uk/10.3390/math10183343

Chicago/Turabian Style

de la Cruz, Javier, Edgar Martínez-Moro, and Ricardo Villanueva-Polanco. 2022. "Public Key Protocols over Skew Dihedral Group Rings" Mathematics 10, no. 18: 3343. https://0-doi-org.brum.beds.ac.uk/10.3390/math10183343

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