Next Article in Journal
Investigation of Controllable Modes in Active Vibration Cancellation Induced by Piezoelectric Patches
Next Article in Special Issue
Intrusion Detection Based on Gray-Level Co-Occurrence Matrix and 2D Dispersion Entropy
Previous Article in Journal
Computer-Aided Decision Making for Regional Seismic Risk Mitigation Accounting for Limited Economic Resources
Previous Article in Special Issue
A Novel Intermittent Jumping Coupled Map Lattice Based on Multiple Chaotic Maps
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

New Subclass Framework and Concrete Examples of Strongly Asymmetric Public Key Agreement

1
Information Science Department, Tokyo University of Science, 2641, Yamazaki, Noda, Chiba 278-8510, Japan
2
DICII, Engineering Faculty Via del Politecnico, Universitá di Roma Tor Vergata, 1, 00133 Roma, Italy
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Appl. Sci. 2021, 11(12), 5540; https://doi.org/10.3390/app11125540
Submission received: 26 April 2021 / Revised: 31 May 2021 / Accepted: 10 June 2021 / Published: 15 June 2021
(This article belongs to the Special Issue Cryptography and Its Applications in Information Security)

Abstract

:
Strongly asymmetric public key agreement (SAPKA) is a class of key exchange between Alice and Bob that was introduced in 2011. The greatest difference from the standard PKA algorithms is that Bob constructs multiple public keys and Alice uses one of these to calculate her public key and her secret shared key. Therefore, the number of public keys and calculation rules for each key differ for each user. Although algorithms with high security and computational efficiency exist in this class, the relation between the parameters of SAPKA and its security and computational efficiency has not yet been fully clarified. Therefore, our main objective in this study was to classify the SAPKA algorithms according to their properties. By attempting algorithm attacks, we found that certain parameters are more strongly related to the security. On this basis, we constructed concrete algorithms and a new subclass of SAPKA, in which the responsibility of maintaining security is significantly more associated with the secret parameters of Bob than those of Alice. Moreover, we demonstrate 1. insufficient but necessary conditions for this subclass, 2. inclusion relations between the subclasses of SAPKA, and 3. concrete examples of this sub-class with reports of implementational experiments.

1. Introduction

Since Shannon proposed the concept of “perfect secrecy” in crypto-systems [1], in which he introduced a theoretically unbreakable system even against computational power, the distribution of secret keys between the sender (Alice) and receiver (Bob) via an insecure channel has been one of the greatest problems in cryptography.
The Diffie–Hellman (DH) public key agreement (PKA) protocol that was proposed in 1976 [2] and the Rivest–Shamir–Adleman (RSA) crypto-system that was presented in 1978 [3] represented the most significant works in the area of cryptography, and it was previously believed that the problem of key distribution had been resolved.
However, recent considerable developments in the computational power of eavesdroppers have introduced several potential (even if not immediate) threats against standard PKA algorithms and public key cryptographies, particularly for small key lengths [4]. To maintain security, users have been forced to select longer keys, and the increased key length has led to higher computational costs. Thus, the preparation of secure communication infrastructure, particularly for devices with limited memory and computational power, has become challenging. Furthermore, the threat of quantum computers that are currently under development and Shor’s algorithm [5] cannot be underestimated.
Considering the demand for algorithms that are resilient against any type of theoretical attack, including quantum algorithm-based attacks, the development and study of new PKA algorithms and public key cryptographies, namely post-quantum cryptography (PQC), has become widespread. PKAs and public key cryptographies based on lattice problems such as the shortest vector problem (SVP), closest vector problem, and learning with errors (LWE) are among the most well known methods. Among these, SVP-based PKA and public key cryptographies, including NTRU prime [6], NTRU-HRSS-KEM [7], and NTRU Encrypt [8], module LWE-based PKA such as CRYSTALS–Kyber [9], and ring LWE-based PKA including NewHope [10] are leading approaches in this research area and have been considered as candidates for the NIST (National Institute of Standards and Technology) standardization of PQC systems [11,12]. When the parameters are properly selected, the above algorithms are considered to be resilient against attacks that use quantum computers and sufficiently computationally efficient to be used in practice.
However, there has been substantial discussion regarding the security of such algorithms. For example, in certain LWE-based algorithms, even if sufficiently large parameters are selected, a possible weakness has been observed [13,14,15]. Moreover, the notion that the difficulty in solving ring LWE is equivalent to that of solving the LWE (the difficulty of LWE is discussed in [14,16]) has not yet been proven; thus, other cases of weakened security [9,10] may arise. Weak parameters for NTRU-type PKA algorithms and public key cryptography are also reported in [17]. Owing to these uncertainties in the parameter settings to maintain security even in an ideal situation (i.e., without assuming limited memory and computational power), the preparation of secure communication infrastructure with these new-generation algorithms for less capable devices has resulted in greater difficulty and insecurity. Although there is no doubt that these algorithms will offer significant benefits even after the post-quantum computer era, security analysis of these algorithms should continue until users can be provided with a “guide” that explains how to set parameters to ensure secure PKA and public key cryptography according to the needs and environments of users.

1.1. Research Concept and Goals

We define a function C : N × R + R + , which shows the computational costs for T calculation steps by a device with efficiency E D (calculation steps per time) as follows:
C ( T , E D ) : = T × 1 E D .
Thus, it is given by time (s, ms, or another unit). Let P K A be a set of PKA algorithms and let T A : P K A × N N be a function that shows the calculation steps required for Alice to calculate the N N bit length of the secret shared key (SSK) of an algorithm A l g P K A , which increases monotonically for N. T B denotes the calculation steps for Bob in a similar manner.
Next, we consider A l g P K A , which has the following relation:
T A ( A l g , N ) = T B ( A l g , N )
for all N N . In this case, we suppose that the maximal computational cost that Bob is allowed to incur for the SSK calculation of A l g P K A , denoted by C m a x B , is C m a x B = T B ( A l g , N 0 ) × 1 E B , which is achieved when the bit length of the SSK is some N 0 N , and Bob can compute their SSK for all N N to satisfy:
C B ( T B ( A l g , N ) , E B ) : = T B ( A l g , N ) × 1 E B C m a x B : = T B ( A l g , N 0 ) × 1 E B ,
where E B denotes the device efficiency of Bob. As T B is a monotonically increasing function for the bit size of the SSK, condition (2) is reduced to N N 0 . Furthermore, if E B = E A , where E A denotes the device efficiency of Alice, the SSK can be computed for all N N 0 . Thus, Alice and Bob can calculate the SSK of a bit size that is equal to or less than N 0 within time C m a x B .
For the same A l g P K A , we assume that E B > E A and the maximal computational cost that Bob is allowed to incur C m a x B is the same as (2), where N 0 is the smallest bit size of SSK to maintain security. Let Alice’s computational cost for calculating her SSK of N N bits be C A ( T A ( A l g , N ) , E A ) : = T A ( A l g , N ) × 1 E A , and if Alice needs to calculate her SSK within the cost C m a x B as well as Bob, the following relation must be satisfied:
C A ( T A ( A l g , N ) , E A ) = T A ( A l g , N ) × 1 E A C m a x B = T B ( A l g , N 0 ) × 1 E B ,
where the equality holds for some N 1 N , but in this case, N 1 < N 0 must be satisfied because T A is a monotonically increasing function for the bit size of the SSK and 1 E B < 1 E A . This observation indicates that they must either use an N 1 -bit SSK, which is obviously less secure than when using an N 0 -bit SSK, or let Alice incur a cost of T A ( A l g , N 0 ) × 1 E A , which is larger than C m a x B . Most PKA algorithms, including the DH algorithm, satisfy (1), and there are many cases in which E B > E A in modern society where IoT techniques are continually being developed; thus, this situation is inevitable in the near future, if not immediate.
We consider determining an algorithm denoted by A l g A < B P K A , where
T A ( A l g A < B , N ) < T B ( A l g A < B , N )
being satisfied for all N N is one solution to the above undesirable situation. We denote the maximal computational cost that Bob is allowed to incur as C m a x , A < B B , which is defined as C m a x , A < B B : = T B ( A l g A < B , N 0 ) × 1 E B , where N 0 N and it is the smallest bit size of SSK to maintain security. In addition to the above T A = T B case, we suppose that both Bob and Alice must calculate her SSK within the maximal computational cost that Bob is allowed to incur C m a x , A < B B . In this case, Alice can calculate all N bits of the SSK to satisfy
C A ( T A ( A l g A < B , N ) , E A ) = T A ( A l g A < B , N ) × 1 E A C m a x , A < B B = T B ( A l g A < B , N 0 ) × 1 E B .
The equality holds when T A ( A l g A < B , N 1 ) × 1 E A = T B ( A l g A < B , N 0 ) × 1 E B holds for some N 1 N . In this case, it should be noted that N 1 = N 0 is achieved; that is, Alice calculating the SSK of N 0 bits within time C m a x , A < B B is possible, provided that
T A ( A l g A < B , N 0 ) T B ( A l g A < B , N 0 ) E A E B
holds, which is impossible when (1), because in this case, the left-hand side is equal to 1, but the right-hand side is less than 1. As E A E B is given (we may say that E A E B is a communication environment in which the algorithm is used), (4) is not always achieved for some A l g A < B P K A and N 0 N . Conversely, we can determine the minimal environment E A E B where Alice and Bob can calculate N 0 bits SSK within C m a x , A < B B time using A l g A < B P K A by simply calculating the left-hand side of (4).
Based on the above considerations, our research goals are as follows:
  • Constructions of A l g A < B P K A .
  • For A l g A < B P K A , the determination of T A ( A l g A < B , N 0 ) and T B ( A l g A < B , N 0 ) for any N 0 N .
  • The construction of the PKA class to which A l g A < B P K A belongs and the introduction of conditions for PKA algorithms to be members of this class.
As mentioned above, goal 2 provides a lower bound of E A E B to calculate the SSK of N 0 bits within time C m a x , A < B B . Goal 3 provides instructions on how to construct PKA algorithms to possess the relation (3). Thus, improving algorithms such as those of [9,10] to possess this property may be possible by attempting to fix their parameters according to the class conditions. We do not attempt to improve these algorithms in this study, but this subject is worthy of consideration and will be one of our most important future works.
We consider that these goals are achievable by fully utilizing the characteristics of the PKA framework known as strongly asymmetric public key agreement (SAPKA) [18]. The characteristics, high level of generality, and asymmetry of the key agreement process of SAPKA are explained in Section 1.2, along with its definition, and concrete methods that are derived from the characteristics are explained in Section 2.
Note that this study is not focused on how to construct secure PKA algorithms against any types of theoretical attacks; rather, it investigates how to reduce Alice’s computational complexity while maintaining the security of one given PKA algorithm. Our main theorems (in Section 5) do not provide any instructions on how to enhance the security of PKA algorithms, and resilience against attack such as man-in-the-middle (MITM) attack is not discussed in this paper (we consider that these topics should be discussed after existence of A l g A < B is proven and mentioned in Section 7.1 ).

1.2. SAPKA Framework

We provide a brief definition of SAPKA (the explicit definition is presented in Section 2.4) and its characteristics in this section.
First, Bob prepares a multiplicative semi-group S with 1. Subsequently, he selects five maps:
x 1 , x 2 , x 3 , x 4 , N 1 : S S ,
where N 1 must be an easily invertible map. In this case, “easily” means that the calculation of N 1 1 N 1 ( y ) for all y S can be performed in polynomial time. Furthermore, x 1 , x 2 , x 3 , and x 4 must satisfy the following equation, which is known as the compatibility condition:
x 1 x 2 ( y ) = x 3 x 4 ( y )
for all y S , where ∘ denotes the map composition. Equation (5) is a condition for Alice and Bob to calculate the same SSK (see the key agreement process in Figure 1). The key agreement process of SAPKA can be described as in Figure 1, and every secret/public key is displayed in Table 1.
As can be observed from Figure 1 and Table 1, Bob’s public keys are described by the map compositions and not by the element of S . Sending a map means sending the calculation rule of the map in combination with a set of parameters, which is the domain of the map. Thus, Alice simply follows the rules of y B , 1 and y B , 2 to calculate y A and κ A , and to calculate these, she must first receive y B , 1 and y B , 2 from Bob. Regardless of the x A that Alice selects (provided that x A S ), the equality of κ A and κ B holds, because the compatibility condition (5) holds for all elements of S . The generality mentioned above arises from the fact that there are only several restrictions for the secret keys of Bob, namely x 1 , x 2 , x 3 , x 4 , N 1 , and semi-group S . As the restrictions are only those in (5) and invertible regarding N 1 , Bob has substantial freedom in terms of the choices of these maps and the algebraic structure. By fixing these maps and S concretely, various PKA algorithms can be described, including the most well known of these, namely the DH algorithm (presented in [18]). In this study, we do not attempt to describe new-generation algorithms such as [7,9,10] in the form of SAPKA. However, we are optimistic that these can be described because S can be selected as not only scalars but also matrices, for example, with numerous options for x 1 , x 2 , x 3 , x 4 , N 1 .
Another notable characteristic of SAPKA is the asymmetry of the key agreement process. In this case, the asymmetry means that the number of public keys calculated by Alice and Bob differ, and thus, the two perform essentially different operations. Owing to this characteristic, an eavesdropper (Eve) must attempt attacks against a maximum of two public keys to obtain the secret information of either Bob or Alice. This may allow Alice to select her secret key from a set of small bit sizes and to reduce her computational complexity in certain cases. In Section 2, we explain Eve’s strategies for recovering the SSK from public keys, an observation from her strategies, and the research method derived from this observation.

2. Methods and Abstract of This Study

We explain the strategies for Eve to recover the SSK and the method for our research goal, which can be derived from the observation of her strategies.

2.1. Eve’s Strategies for Recovering SSK

Eve wishes to calculate κ A or κ B by determining the secret key of Alice or Bob from the public keys. She knows the two composed maps of Bob and one element of Alice, as follows:
y B , 1 ( y ) = N 1 1 x 4 ( y ) ( y S ) ,
y B , 2 ( y ) = x 1 x 2 ( y ) ( y S ) ,
y A = N 1 1 x 4 ( x A ) .
  • Eve’s Strategy 1
If x 4 is an invertible map, y B , 1 is also invertible; thus, she attempts to determine x A from (6) and (8):
x A = y B , 1 1 ( y A ) = x 4 1 N 1 N 1 1 x 4 ( x A ) .
Subsequently, she can calculate
κ A = x 1 x 2 ( x A ) .
If x 4 is not an invertible map, she obtains a set { x E S : y A = N 1 1 x 4 ( x E ) } instead of an element from (9). However, in this case, she can calculate the SSK as follows:
x 1 x 2 ( x E ) = x 3 x 4 ( x E ) = x 3 N 1 N 1 1 x 4 ( x E ) = x 3 N 1 ( y A ) = κ B .
The second equation of (10) is obtained from the compatibility condition (5), and the final equation is obtained from the definition of κ B (see Figure 1 or Step 5 of Section 2.4).
  • Eve’s Strategy 2
First, Eve attempts to obtain a map N 1 from (6) and then attempts to obtain a map x 3 , E : S S that satisfies
x 3 , E N 1 N 1 1 x 4 ( y ) = x 1 x 2 ( y )
for all y S . Finally, she can calculate the SSK as follows:
x 3 , E N 1 ( y A ) = x 3 , E N 1 N 1 1 x 4 ( x A ) = x 1 x 2 ( x A ) = κ A .
Suppose that Bob constructs y B , 1 and y B , 2 to satisfy the following two requirements:
Requirement 1.
It is difficult to calculate x 4 1 N 1 N 1 1 x 4 ( y ) = y for all y S in real time, or it is difficult to determine the invertible map of y B , 1 , x 4 1 N 1 in real time.
Requirement 2.
It is difficult to determine the map N 1 from y B , 1 = N 1 1 x 4 in real time, or it is difficult to obtain a map x 3 , E to satisfy (11) in real time.
Then, it is difficult for Eve to obtain x A from (9) and to proceed to (12) in real time; that is, Eve cannot obtain the SSK in real time. It should be noted that the secret key x A that Alice selects is not strongly related to Eve’s breaking complexity owing to Requirement 1. This means that Bob may take substantially more responsibility for maintaining security than Alice. In this case, Alice can select her secret key space as a small one in terms of the bit size, provided that an exhaustive search for x A is difficult in real time, and we expect that this will reduce Alice’s computational complexity for y A and κ A .

2.2. Methods

According to this observation, the methods that can be established for the research goal can be derived as follows:
  • Introduce algorithms from SAPKA (Section 3).
  • Estimate the breaking complexity of these algorithms under the assumption that the secret key space of Alice is smaller than that of Bob and verify whether or not Alice’s small key space reduces the breaking complexity of the algorithms (Section 4.2 and Section 4.3).
  • For algorithms for which Alice’s small key space does not reduce the breaking complexity, estimate their computational complexity to calculate the keys of both Alice and Bob (Section 4.4 and Section 4.5).
  • Construct the SAPKA subclass for which the algorithms possess the relation that the complexity of Alice for her keys is smaller than that of Bob (we call this subclass the “main SAPKA subclass” until we give definition of it) and introduce the necessary conditions for the subclass by generalizing the results of 3 (Section 5.1 and Section 5.2).
In Section 6, we implement some of the algorithms in Section 3 and report the experimental results. We can concretely observe what can be offered by the algorithms of the subclass constructed in Section 5.1.
At the beginning of Section 5, we add restrictions to the SAPKA framework, particularly for the public keys of Bob, before discussing our main themes. We explain these restrictions briefly below.

2.3. Restrictions on SAPKA Framework

We have already explained the high level of generality of SAPKA. However, owing to this generality, algorithms that do not ensure secure PKA are also included in this class. We present one example as follows:
Let S be S : = Z p for some prime number p. Bob selects the numbers x B , n B S and keeps them secret. Let the maps x 1 , x 2 , x 3 , x 4 , N 1 : S S be defined, for y S , as:
  • x 1 ( y ) : = x B y
  • x 2 : = i d
  • x 3 ( y ) : = x B y
  • x 4 ( y ) : = i d
  • N 1 ( y ) : = n B y .
In this case, all keys are described as in Table 2.
The SSK calculations are performed as follows:
κ A = x 1 x 2 ( x A ) = x B x A
κ B = x 3 N 1 ( y A ) = x 3 N 1 N 1 1 x 4 ( x A ) = x B x A .
In this case, Bob sending y B , 1 means that n B 1 must be a public key, although this element is supposed to be a secret; otherwise, Alice cannot calculate y A . Eve can easily calculate Alice’s secret key x A with n B n B 1 x A = x A ; thus, Eve can recover the SSK by calculating y B , 2 ( x A ) = x 1 x 2 ( x A ) . Without limiting this type of algorithm to be included in the SAPKA class, the main subclass that we attempt to construct in Section 5 can include weak algorithms. In this case, the subclass cannot be the one that we aim to construct.
To limit algorithms such as the above example, we add restrictions on the construction of Bob’s public keys using a map referred to as a “non-easily invertible map” with the following definition.
Definition 1.
The map f g : S S is called as a non-easily invertible map if the calculation f g 1 f g ( y ) for all y S is difficult to compute in the mean of the computational complexity, and the order of complexity for computing f g 1 f g ( y ) ( y S ) is equal to or greater than O ( 2 t ( n ) ) , where n is the bit size of y and t : N R + is a monotonically increasing function:
t ( n ) = a n
for some a R + { 0 } .
O of this definition is Landau’s big-O notation (Definition 5 in Section 4.1). We limit Bob’s public keys y B , 1 and y B , 2 to be constructed as
y B , 1 ( y ) = N 1 1 x 4 ( y ) = f g N 1 1 x 4 ( y )
y B , 2 ( y ) = x 1 x 2 ( y ) = f g x 1 x 2 ( y )
for certain non-easily mapped f g : S S and certain maps x 1 , x 2 , x 4 , N 1 : S S . By doing so, attacks from Eve cannot be performed within a polynomial time. Furthermore, with several additional restrictions in Section 5, Requirement 2 of Section 2.1 can be achieved.
We attempt 4. of the method mentioned in Section 2.2 within this restricted SAPKA class with a non-easily invertible map (the explicit definition of this restricted SAPKA class by a non-easily invertible map is also provided Section 5).

2.4. Explicit Definition of SAPKA

We present the definition of SAPKA [18]. The SAPKA algorithms have the following common ingredients:
  • a multiplicative semi-group S with 1;
  • a set M ^ S of easily invertible maps : S S , known as noise space; and
  • a set M S of maps : S S .
In the above, S is public, and M ^ S and M S belong to Bob’s secret. From the key space,
K B : = M S × M S × M S × M S × M S ^ .
Bob prepares the quintuple ( x 1 , x 2 , x 3 , x 4 , N 1 ) as their secret key, and x 1 , x 2 , x 3 , x 4 must satisfy the following condition, which allows Alice and Bob to obtain the SSK.
Definition 2.
Let S be a multiplicative semi-group with 1. If the functions x 1 , x 2 , x 3 , x 4 : S S satisfy the following condition for all y S :
x 1 x 2 ( y ) = x 3 x 4 ( y ) ,
the maps x 1 , x 2 , x 3 , x 4 are said to be compatible, where ∘ denotes a map composition.
Definition 3.
For a multiplicative semi-group S with 1 and the quintuple C : = ( x 1 , x 2 , x 3 , x 4 , N 1 ) K B , if the maps x 1 , x 2 , x 3 , x 4 satisfy (13), we state that C is a member of the SAPKA class. We express this relation as:
C S A P K A .
The key agreement process of SAPKA is described as follows:
Step 1B
Bob prepares the maps ( x 1 , x 2 , x 3 , x 4 , N 1 ) K B , of which x 1 , x 2 , x 3 , x 4 satisfy (13).
In this case, each of x 1 , x 2 , x 3 , x 4 , N 1 is their secret key.
Step 2B
Bob constructs their public keys y B , 1 , y B , 2 as a map for each:
y B , 1 : = N 1 1 x 4
y B , 2 : = x 1 x 2
and sends ( y B , 1 , y B , 2 ) to Alice.
Step 1A
Alice selects her secret key x A from S .
Step 2A
Alice calculates her public key y A as follows:
y A : = y B , 1 ( x A ) = N 1 1 x 4 ( x A )
and sends it to Bob.
Step 3A
Alice calculates the SSK denoted by κ A as follows:
κ A : = y B , 2 ( x A ) = x 1 x 2 ( x A ) .
Step 3B
Bob calculates the SSK denoted by κ B as follows:
κ B : = x 3 N 1 ( y A ) = x 3 N 1 N 1 1 x 4 ( x A ) = x 3 x 4 ( x A ) .

2.5. Abstract of This Study

Here, we give an outline of this study, including research goal, short abstract of each section.
  • Research Goal
Construction of algorithms that possess the property that Alice’s complexity for SSK is smaller than that of Bob’s and introduction of SAPKA subclass that includes algorithms of the same property.
We show concrete examples that how Alice and Bob calculate the SSK, respectively, when the key agreement process is asymmetric. Three examples that are normal DH of SAPKA description, noise element included type DH, and matrix type DH are shown.
  • Section 4: Breaking Complexity of SAPKA Algorithms
In this section, we demonstrate what problems that the algorithms of Section 3 are reduced to. Estimations of breaking complexities are done under the assumption that Alice’s secret key space is smaller than Bob’s secret key space. Here, we can see how problems algorithms reduced to are varied according to algebraic structure and SAPKA parameters. Finally, using some of SAPKA algorithms, we discuss how small Alice’s secret key space can be while maintaining security.
Here, we try to construct the SAPKA subclass of property that Alice’s computational complexity for SSK is smaller than that of Bob. At first, we exclude algorithms of weak security from the subclass framework as we mentioned in Section 2.3. Without this procedure, the subclass can contain algorithms of above property but sufficiently weak security so that Eve can obtain the SSK within polynomial time. After this limitation is done, we define the subclass and introducing some conditions (only necessarily conditions for algorithms into the subclass) by expanding the results of Section 4 so that it can be applied to the SAPKA framework.

3. Concrete Examples of SAPKA

3.1. DH

As demonstrated in [18], the SAPKA class includes the DH algorithm. However, the process is symmetric because, in this case, S : = Z p , where p is a prime number (thus, S forms a finite field), g S is the public parameter, N 1 1 is the identity map, and Alice can calculate the public key y A = x 4 ( x A ) = g x A , even before receiving y B , 1 . The process is asymmetric in the sense that Alice and Bob use different secret information, but it is symmetric in the sense that the two perform the same operations independently.

3.2. Noised DH (NDH)

The following example is a variant of the DH that does not improve its security substantially but is useful to illustrate the concept of SAPKA algorithms simply.
The components are the same as those in Section 3.1. Bob selects their secret keys x B , n B S . The key agreement process of the NDH algorithm is described by the following steps.
Step 1B
Bob prepares the quintuple C N D H : = ( x 1 , x 2 , x 3 , x 4 , N 1 ) K B as follows:
  • x 1 ( y ) : = ( g x B ) y
  • x 2 : = i d
  • x 3 ( y ) = y x B
  • x 4 ( y ) = g y
  • N 1 ( y ) : = y n B 1 ,
where y is selected arbitrarily from S .
Step 2B
Bob constructs their public keys y B , 1 , y B , 2 as a map for each
y B , 1 ( y ) : = N 1 1 x 4 ( y ) = N 1 1 ( g y ) = ( g y ) n B = g n B y
y B , 2 ( y ) : = x 1 x 2 ( y ) = ( g x B ) y
and sends ( y B , 1 , y B , 2 ) to Alice. This is equivalent to sending g n B , g x B S .
Step 1A
Alice selects her secret key x A from S .
Step 2A
Alice calculates her public key y A as follows,
y A : = y B , 1 ( x A ) = N 1 1 x 4 ( x A ) = g n B x A
and sends it to Bob.
Step 3A
Alice calculates the SSK denoted by κ A as in the DH case:
κ A : = y B , 2 ( x A ) = x 1 x 2 ( x A ) = ( g x B ) x A = g x B x A .
Step 3B
Bob calculates the SSK denoted by κ B as follows:
κ B : = x 3 N 1 ( y A ) = x 3 N 1 N 1 1 x 4 ( x A ) = x 3 N 1 ( g n B x A ) = x 3 ( g n B 1 n B x A ) = ( g x A ) x B = g x B x A .

3.3. Schur Exponentiation-Based DH (SEDH)

Let S be the multiplicative semi-group S : = M ( d , Z p ) of d × d matrices with entries in Z p . The algorithm introduced in this section uses Schur exponentiation; that is, element-wise matrix exponentiation. The symbol c M is defined as follows:
c M i j : = c M if M is a scalar c i j M i j if M is a matrix ; i , j { 1 , , d } .
The key agreement process is as follows:
Step 1B
Bob selects a matrix x B S , an invertible matrix N B S , and a primitive element g of Z p . Subsequently, he constructs the quintuple C S E : = ( x 1 , x 2 , x 3 , x 4 , N 1 ) K B for all a , b { 1 , , d } as follows:
  • x 1 ( y ) a , b : = l { 1 , , d } ( g x B ) a , l ( y ) l , g
  • x 2 : = i d
  • x 3 ( y ) a , b : = l { 1 , , d } ( y ) l , b ( x B ) a , l
  • x 4 ( y ) : = g y
  • N 1 ( y ) a , b : = l { 1 , , d } ( y ) l , b ( N B 1 ) a , l ,
where y S . The compatibility condition holds for all y S and a , b { 1 , , d } :
x 1 x 2 ( y ) a , b = l { 1 , , d } ( g x B ) a , l ( y ) l , b = l { 1 , , d } g ( x B ) a , l ( y ) l , b
= g l { 1 , , d } ( x B ) a , l ( y ) l , b = g ( x B y ) a , b = ( g x B y ) a , b
x 3 x 4 ( y ) a , b = l { 1 , , d } ( g y ) l , b ( x B ) a , l = l { 1 , , d } g ( y ) l , b ( x B ) a , l
= g l { 1 , , d } ( x B ) a , l ( y ) l , b = g ( x B y ) a , b = ( g x B y ) a , b .
Step 2B
Bob constructs their public keys y B , 1 , y B , 2 as a map for each
y B , 1 ( y ) a , b : = N 1 1 x 4 ( y ) a , b = l { 1 , , d } ( g y ) l , b ( N B ) a , l
y B , 2 ( y ) a , b : = x 1 x 2 ( y ) a , b = l { 1 , , d } ( g x B ) a , l ( y ) l , b
for all a , b { 1 , , d } . In this case, y B , 1 ( y ) a , b can also be expressed as follows:
y B , 1 ( y ) a , b = l { 1 , , d } ( g y ) l , b ( N B ) a , l = l { 1 , , d } ( g N B ) a , l ( y ) l , b .
Bob sends the maps ( y B , 1 , y B , 2 ) to Alice. This is equivalent to sending the matrices g N B , g x B S .
Step 1A
Alice selects her secret key x A S .
Step 2A
Alice calculates her public key y A for all a , b { 1 , , d } as follows:
y A a , b : = y B , 1 ( x A ) a , b = N 1 1 x 4 ( x A ) a , b = l { 1 , , d } ( g N B ) a , l ( x A ) l , b
= ( g N B x A ) a , b
and sends it to Bob.
Step 3A
Alice calculates the SSK denoted by κ A for all a , b { 1 , , d } as follows:
κ A a , b : = y B , 2 ( x A ) a , b : = x 1 x 2 ( x A ) a , b = l { 1 , , d } ( g x B ) a , l ( x A ) l , b = ( g x B x A ) a , b .
Step 3B
Bob calculates the SSK denoted by κ B for all a , b { 1 , , d } as follows:
κ B a , b : = x 3 N 1 ( y A ) a , b = x 3 N 1 N 1 1 x 4 ( x A ) a , b = x 3 N 1 ( g N B x A ) a , b
= l { 1 , , d } ( g N B x A ) l , b ( x B N B 1 ) a , l = g l { 1 , , d } ( N B x A ) l , b ( x B N B 1 ) a , l = g ( x B N B 1 N B x A ) a , b
= g ( x B x A ) a , b = ( g x B x A ) a , b .
This process is illustrated in Figure 2.
Remark 1.
Let V be a vector space of V : = Z p d . Each of the above maps x 1 , x 2 , x 3 , x 4 , N 1 can also be considered as the map V V and the condition
x 1 x 2 ( y ) a = l { 1 , , d } ( g x B ) a , l ( y ) l = ( g x B y ) a = l { 1 , , d } ( g y ) l ( x B ) a , l = x 3 x 4 ( y ) a .
is satisfied for all y V and a { 1 , , d } , where x B , N B are the same as above. Thus, Alice can select her secret key x A from V and the computational complexity for calculating y A , κ A , and κ B is obviously reduced compared with the case when x A S = M ( d , Z p ) . The precise breaking and computational complexities for the C S E of both the x A V and x A S cases are investigated in the following section.

4. Breaking Complexity of SAPKA Algorithms

As mentioned in Section 2.2, we estimate the breaking complexity (Section 4.2 and Section 4.3) and computational complexity (Section 4.4) of the algorithms in Section 3.2 and Section 3.3 under the assumption in Section 4.1.

4.1. Assumptions

Let n and m be numbers in N , and n > m . We define two functions | · | : N N and | · | S : S N , which represent the bit lengths of the input. The difference between the two functions is the domains. The input of the first one is from N , and the second one is from S . The semi-groups of the above two algorithms are constructed based on a prime number p, where | p | = n . In this case, we can express the bit size of the element in S as | y | S n when S = Z p and | y | S d 2 n when S = M ( d , Z p ) . We construct subsets denoted by S ̲ of S for both the S = Z p and S = M ( d , Z p ) cases, respectively, as follows:
S ̲ : = { y S : | y | S m } ( when S = Z p case )
S ̲ : = { y S : | y | S d 2 m } ( when S = M ( d , Z p ) case ) ,
with the aim of determining whether the complexity of the algorithms in Section 3.2 and Section 3.3 are reduced if we suppose that Alice’s secret key is selected from the small bit length set S ̲ .
Prior to investigating the breaking complexity of the algorithms in Section 3.2 and Section 3.3 under the assumption and a certain condition for n and m, we demonstrate that not only the complexity, but also the order of complexity (a definition of order is provided in Definition 5) to compute one discrete logarithm problem (DLP) differ between the cases when an exponent is selected from a larger bit length set and from a smaller bit length set.
The required settings are as follows:
  • a prime number p, where | p | = n ;
  • a semi-group S : = Z p ;
  • a subset S ̲ : = { y S : | y | S m } S ; and
  • a map x g : S S , x g ( y ) : = g y , where g is a primitive element of S .
We prove that if n = s ( m ) > m for some monotonically increasing function s : N N of not a linear and monic polynomial, the calculation of the DLP, namely
x g 1 x g ( y ) = log g g y = y ,
is easier when y S ̲ than when y S in terms of the complexity and order (Proposition 1). First, we name this input y of x g according to the size of set y as per the following definition:
Definition 4.
Let n and m be numbers in N ( n > m ) , and let n be the bit size of each element of Z p . For a given map x g : Z p Z p , defined as
x g ( y ) : = g y ,
where g is an element in S , if the set y belongs to S ̲ , we call this y anm-bit logarithm. If the set is S , y is known as ann-bit logarithm.
The complexity of obtaining the n-bit logarithm refers to the complexity of calculating x g 1 x g ( y ) when y S (for the m-bit logarithm, y S ̲ ).
We represent the time complexity using the function T : N R + , where the input is the bit size and the output is the multiplication steps. The complexity of calculating the DLP of the m-bit logarithm is given by T ( m ) = 2 m 2 [19,20]. In this case, the complexity of calculating the n-bit logarithm is T ( n ) = T ( s ( m ) ) = 2 s ( m ) 2 . Obviously, T ( n ) > T ( m ) when n = s ( m ) > m ; however, we should also consider how the complexity increases as m increases. We can compare the growth rate of T ( m ) and T ( s ( m ) ) using Landau’s big-O notation with the following definition:
Definition 5.
For functions T , g : N R + , if there exist c , m 0 N such that
T ( m ) c g ( m )
is satisfied for all m m 0 , we state that T ( m ) has an order of g ( m ) time complexity, and we describe it as
T ( m ) O ( g ( m ) ) .
Relation (19) indicates that O ( g ) is a set defined by:
O ( g ) : = { T : there   exists c , m 0 N to   satisfy   ( 18 ) for   all   m m 0 }
Therefore, for two complexity functions T , T : N R + , where T ( m ) T ( m ) for all m N and t ( m ) O ( g ( m ) ) , T ( m ) O ( g ( m ) ) , if we wish to state that the growth rate of T is higher than that of T (the order of T is higher than T), we can simply describe it as follows:
O ( g ( m ) ) O ( g ( m ) )
or
g ( m ) > g ( m )
for all m. In this case,
T ( n ) O ( g ( n ) )
T ( n ) O ( g ( n ) ) , T ( n ) O ( g ( n ) )
hold. We can prove that the growth rate of t ( s ( m ) ) = 2 s ( m ) 2 is higher than T ( m ) = 2 m 2 as follows:
Proposition 1.
If and only if the monotonically increasing function s : N N for satisfying n = s ( m ) > m is a not linear and monic polynomial, the growth rate of T ( ( s ( m ) ) = 2 s ( m ) 2 is higher than T ( m ) = 2 m 2 ; that is,
O ( 2 s ( m ) 2 ) O ( 2 m 2 )
holds.
Proof. 
Note that T ( s ( m ) ) O ( 2 s ( m ) 2 ) and T ( m ) O ( 2 m 2 ) . Suppose that s is a one-degree but non-monic polynomial defined as:
n = s ( m ) = h m + b ,
where h , b N , h 1 . If O ( 2 m 2 ) = O ( 2 s ( m ) 2 ) holds in this case, there must exist the constants c , m 0 N such that for all m m 0 ,
2 s ( m ) 2 = 2 h m + b 2 c 2 m 2
is satisfied. However, in this case, 2 m ( h 1 ) + b 2 c holds, so that c cannot be a constant. Thus, in this case,
O ( 2 s ( m ) 2 ) O ( 2 m 2 )
holds. When the case s is over a one-degree polynomial, it is obvious that there is no c , m 0 N to satisfy (20) for all m m 0 .
If s is a linear and monic polynomial described as
n = s ( m ) = m + b ,
where b N , we have
O ( 2 s ( m ) 2 ) = O ( 2 m + b 2 ) = O ( 2 b 2 m 2 ) = O ( 2 m 2 ) .
Therefore, if Alice and Bob attempt a key exchange using the DH algorithm, where Bob’s secret key x B is
x B S
and Alice’s secret key x A is
x A S ̲ ,
Eve should attempt to obtain x A , which is easier for her to obtain than x B . The security of the algorithms in Section 3.2 and Section 3.3 also depends on the difficulty of the DLP, but these algorithms may not be the same as DH owing to one of Bob’s public keys y B , 1 and especially the map N 1 . In Section 2.1, we discussed the requirement for y B , 1 to allow Alice to select her secret key from a small bit length set without reducing the breaking complexity. For both algorithms, Requirement 2 is satisfied if Bob selects n B , as it is an n-bit logarithm for x g with the algorithm of Section 3.2, and similarly, N B is selected with the algorithm of Section 3.3. Of course, in this case, the number n must be sufficiently large to ensure that the calculation of the n-bit logarithm is not achieved in real time.
At this point, we focus on verifying whether the other algorithms in Section 3.2 and Section 3.3 satisfy Requirement 1. of Section 2.1. Subsequently, we attempt to determine the polynomial s; that is, how small m can be and the computational complexity of these algorithms for each key of Alice and Bob when m is selected to be as small as possible (Section 4.4).

4.2. Eve Attempts an Attack against NDH

We assume the following:
  • a prime number p, where | p | = n ;
  • a semi-group S : = Z p ;
  • a subset S ̲ : = { y S : | y | S m } S ;
  • x A S ̲ ;
  • n B , x B S ;
  • a map x g : S S , x g ( y ) : = g y , where g is a primitive element of S ;
  • a non-linear and monic polynomial s, where n = s ( m ) > m for all m N .
Eve’s goal is to obtain x A from the following public keys
  • y B , 1 ( y ) = N 1 1 x 4 ( y ) = N 1 1 ( g y ) = ( g y ) n B = g n B y
  • y B , 2 ( y ) : = x 1 x 2 ( y ) = ( g x B ) y ,
and public elements
  • g x B
  • g n B
  • y A = N 1 1 x 4 ( x A ) = g n B x A .
She must calculate
y B , 1 1 ( y A ) = x 4 1 N 1 ( y A ) = log g ( y A ) n B 1 = log g g n B x A n B 1 = log g g x A = x A .
As she does not know n B , it appears that she must obtain the n-bit logarithm n B by calculating log g g n B = n B before obtaining the m-bit logarithm x A . However, (21) can be described as
y B , 1 1 ( y A ) = x 4 1 N 1 ( y A ) = n B 1 log g y A = n B 1 log g n B g n B x A log g n B g = log g n B g n B x A = x A .
Thus, when we define a map x g : S S such that
x g ( y ) : = x g n B ( y ) = ( g n B ) y ,
y B , 1 1 = x g 1 , we can construct x g using only g n B , which is public. For this attack, Eve only needs to calculate x g 1 ( y A ) = x g 1 x g ( x A ) to obtain the m-bit logarithm x A . Therefore, it can be said that Alice selecting a small bit length set S ̲ reduces the breaking complexity for Eve; that is, Requirement 1 of Section 2.1 is not satisfied in this case.

4.3. Eve Attempts an Attack against SEDH

We assume the following:
  • a prime number p, where | p | = n ;
  • a semi-group S : = M ( d , Z p ) ;
  • a subset S ̲ : = { y S : | y | S d 2 m } S ;
  • x A S ̲ ;
  • N B , x B S ;
  • a map x g : S S , x g ( y ) : = g y , where g is a primitive element of S ; and
  • a not linear monic polynomial s, where n = s ( m ) > m for all m N .
Eve’s goal is to obtain x A from the following public keys:
  • y B , 1 ( y ) a , b : = N 1 1 x 4 ( y ) a , b = l { 1 , , d } ( g y ) l , b ( N B ) a , l
  • y B , 2 ( y ) a , b : = x 1 x 2 ( y ) a , b = l { 1 , , d } ( g x B ) a , l ( y ) l , b ,
where a , b { 1 , , d } , and the following elements:
  • g x B
  • g N B
  • y A = N 1 1 x 4 ( x A ) = g N B x A ,
to calculate
y B , 1 1 ( y A ) a , b = x 4 1 N 1 ( g N B x A ) a , b = log g ( g N B 1 N B x A ) a , b = log g ( g x A ) a , b = ( x A ) a , b
for all a , b { 1 , , d } . It appears that she first needs to obtain an element N B by calculating log g ( g N B ) a , b for all a , b { 1 , , d } , the complexity of which is equivalent to the complexity for calculating d 2 n-bit logarithms for the map x g , because she does not know N B , so as to obtain N B 1 . After obtaining N B , she can proceed to the final two equalities of (22), and the complexity of calculating log g ( g x A ) a , b = ( x A ) a , b for all a , b { 1 , , d } is equivalent to the complexity of calculating d 2 m-bit logarithms for the map x g . We now verify that Eve really needs to calculate at least the same amount as to obtain d 2 n-bit logarithms by calculating log g ( g N B ) a , b for all a , b { 1 , , d } . In Attack 1, we attempt to find other descriptions for map y B , 1 , as in Section 4.2. In Attack 2, we attempt an attack in which Eve avoids calculating d 2 DLPs for N B , and we compare the breaking complexity of the attack with an exhaustive search for x A S ̲ . In Attack 3, we attempt to determine the least complexity that Eve requires to obtain x A . Hereafter, we refer to the logarithm of matrix M M ( d , Z p ) as follows:
log g M = ( log g M a , b ) ( g Z p )
log G M = ( log G a , b M a , b ) ( G M ( d , Z p ) ) .
  • Attack 1
Using the known element g N B , Eve attempts the following calculation for all a , b { 1 , , d } :
log g N B ( y A ) = log g N B g N B x A .
However, unlike in Section 4.2, the relation log g N B g N B x A = x A does not hold. She obtains X S instead of x A S ̲ from (23):
log g N B g N B x A = log g N B ( g N B ) X = X .
In this case, X holds for the relation
N B X = N B x A ,
where • denotes element-wise matrix multiplication. Obviously, X = x A does not always hold, so N 1 1 x 4 ( y A ) = log g N B ( y A ) also does not hold. Moreover, to obtain x A , Eve needs to calculate log g g N B = N B .
  • Attack 2
We introduce an attack in which Eve does not calculate log g g N B = N B . The public key of Alice y A is described as
y A = l { 1 , , d } ( g N B ) 1 , l ( x A ) l , 1 l { 1 , , d } ( g N B ) 1 , l ( x A ) l , d l { 1 , , d } ( g N B ) d , l ( x A ) l , 1 l { 1 , , d } ( g N B ) d , l ( x A ) l , d
= g N B ) 1 , 1 ( x A ) 1 , 1 ( g N B ) 1 , 2 ( x A ) 2 , 1 ( g N B ) 1 , d ( x A ) d , 1 ( g N B ) 1 , 1 ( x A ) 1 , d ( g N B ) 1 , 2 ( x A ) 2 , d ( g N B ) 1 , d ( x A ) d , d ( g N B ) d , 1 ( x A ) 1 , 1 ( g N B ) d , 2 ( x A ) 2 , 1 ( g N B ) d , d ( x A ) d , 1 ( g N B ) d , 1 ( x A ) 1 , d ( g N B ) d , 2 ( x A ) 2 , d ( g N B ) d , d ( x A ) d , d .
Step 1
For row b { 1 , , d } of y A , Eve creates a matrix W b = ( w a , l ( b ) ) M ( d , Z p ) to satisfy
( g N B ) 1 , 1 ( x A ) 1 , b ( g N B ) 1 , 2 ( x A ) 2 , 1 ( g N B ) 1 , d ( x A ) d , b ( g N B ) d , 1 ( x A ) 1 , b ( g N B ) d , 2 ( x A ) 2 , 1 ( g N B ) d , d ( x A ) d , b = w 1 , 1 ( b ) w 1 , 2 ( b ) w 1 , d ( b ) w d , 1 ( b ) w d , 2 ( b ) w d , d ( b ) .
Step 2
For all a , l { 1 , , d } , Eve calculates
v a , l : = log ( g N B ) a , l w a , l ( b ) .
Step 3
For all l { 1 , , d } , Eve verifies whether or not
v 1 , l = v 2 , l = = v d , l
is true.
Step 4
If (26) is true for all l { 1 , , d } , Eve can recover row b { 1 , , d } of x A :
( x A ) 1 , b = v 1 , 1 = = v d , 1 ( x A ) 2 , b = v 1 , 2 = = v d , 2 ( x A ) d , b = v 1 , d = = v d , d .
As N B is an invertible matrix, there exists exactly one ( X 1 , b , X 2 , b , , X d , b ) t Z p d to satisfy system (24) for a given y A , g N B of row b { 1 , , d } ; thus, it must be ( x A 1 , b , x A 2 , b , , x A d , b ) t . If (26) is false in some l { 1 , , d } , Eve returns to Step 1.
In Step 2, Eve needs to calculate at least two DLPs of m-bit logarithms; thus, she requires 2 · 2 m 2 multiplications. As Z p forms a group under multiplication, for any arbitrary element e in Z p , there exists a unique w a , d ( b ) Z p such that:
e w a , d ( b ) = ( y A ) a , b
for each a { 1 , , d } . Thus, Eve has 2 n ( d 1 ) choices for ( w a , 1 ( b ) , w a , 2 ( b ) , , w a , d 1 ( b ) ) and each a { 1 , , d } , and therefore, Eve must repeat Steps 2 to 4 at most 2 n d ( d 1 ) times. The total multiplications required for this attack is denoted as:
2 n d ( d 1 ) + m 2 + 1 = 2 s ( m ) d ( d 1 ) + m 2 + 1 ,
which is much larger than the total multiplications required for an exhaustive search on each row of x A S ̲ , namely:
m 2 d m
  • Attack 3
Suppose that Eve attempts to determine x A directly from the formula of Alice’s public key y A :
( y A ) a , b = l { 1 , , d } ( g N B ) a , l ( x A ) l , b .
As N B is an invertible matrix, this is equivalent to solving the following system for X S ̲ :
( y A ) a , b = l { 1 , , d } ( g N B ) a , l ( X ) l , b
for all a , b { 1 , , d } and given y A , g N B . The least complexity for finding X from (28) is expressed by the following theorem:
Theorem 1.
The complexity of solving (28) for X S ̲ is equal to or greater than the complexity of obtaining N B from log g g N B .
Proof. 
Suppose that Eve can determine X = x A S ̲ from (28) for a given g N B and y A with a complexity denoted by the function T : N R + defined as T ( m ) : = p ( m ) , where p is a polynomial. Under this assumption, Eve can solve system (28) even when x A S (thus, X S ) because, in this case, the complexity is T ( s ( m ) ) = p ( s ( m ) ) , which is also a polynomial. It should be noted that solving (28) is equivalent to solving the following system for all a , b { 1 , , d } :
( y A ) a , b t = l { 1 , , d } ( g N B ) t l , b ( X ) a , l t
for given matrices ( g N B ) t , ( y A ) t , where t denotes matrix transposition, because
( y A ) a , b t = g ( N B x A ) t = g ( x A ) t ( N B ) t = g l { 1 , , d } ( x A ) a , l t ( N B ) l , b t ,
= l { 1 , , d } ( g N B ) t l , b ( x A ) a , l t
for all a , b { 1 , , d } . This emphasizes that Eve can solve the system of both variable matrices by left multiplication and right multiplication on the Schur exponent of a given matrix. Therefore, once she has obtained X S and calculates g X within polynomial time, the following system can also be solved for an unknown N B S :
( y A ) a , b = l { 1 , , d } ( g X ) l , b ( N B ) a , l
for all a , b { 1 , , d } within polynomial time. As N B is the matrix logarithm of g N B , we can state that, if Eve can solve system (28) for X within polynomial time, she can obtain d 2 n-bit logarithms within polynomial time. □
This theorem claims that the problem of calculating log g g N B = N B is polynomial-time-reducible to the problem of solving system (28) for X S ̲ .

4.4. Determination of n and m

We investigate how large the bit sizes n and m must be, as well as the computational complexity of calculating the public keys and SSK for Alice and Bob according to n and m. If the attacks on SEDH are only those in Section 4.3, Eve must execute an exhaustive search for each row of x A (as the attack is performed by each row, Eve requires d times exhaustive searches within a vector space of size 2 d m ) or must obtain N B , the difficulty of which is equivalent to obtaining d 2 n-bit logarithms, as in the above attacks. We assume that attacks against SEDH are only those described in Section 4.3, and we determine the sizes of n and m. Considering that the difficulty for Eve to obtain N B depends on the difficulty of the DLP and that of obtaining x A directly from (24) by an exhaustive search depends on the vector space of size 2 d m , n and m must satisfy the requirements in Table 3.
As mentioned in Section 4, the complexity of one n-bit logarithm denoted by the function
T : N R +
is T ( n ) = T ( s ( m ) ) = 2 s ( m ) 2 , and the complexity of an exhaustive search for x A of each row denoted by the function T : N R + is T ( m ) = 2 d m . (In fact, Eve must solve d 2 DLPs or d exhaustive searches for a vector space Z 2 m d , but d 2 and d are so trivial for exponential functions that we consider these complexities for only one number.) If Alice and Bob would like the breaking complexity for one DLP and that for an exhaustive search for one row of x A to be equalized, the polynomial s : N N mentioned at the beginning of Section 4.3; that is, the relation between n and m, is obtained by the following theorem:
Theorem 2.
If the time complexity for obtaining one n-bit logarithm is equal to the complexity of an exhaustive search within a vector space of size 2 d m , the polynomial s : N N for m N is obtained by
s ( m ) = 2 d m .
Proof. 
We obtain
T ( n ) = T ( s ( m ) ) = T ( m ) s ( m ) 2 = d m .
With this relation, what does the computational complexity for Alice and Bob become?

4.5. Computational Complexity of SEDH for Alice and Bob

For a given d N , approximately d m multiplications are required if the bit size of the exponent is n to calculate one scalar exponentiation. Furthermore, approximately m multiplications are required if the bit size of the exponent is m. Thus, the calculation
g X
requires approximately d 2 s ( m ) = 2 d 3 m multiplications if X S . If X S ̲ , it requires approximately d 2 m multiplications. Moreover, the calculation
l { 1 , , d } ( Y a , l ) ( X ) l , b
requires d s ( m ) = 2 d 2 m multiplications if X S and d m multiplications if X S ̲ for each a , b { 1 , , d } . Thus, according to (14) and (15), the computational complexities required by Alice for y A and her SSK denoted by the functions T y A , T κ A : N R + of m are
T y A ( m ) : = d 3 m
T κ A ( m ) : = d 3 m .
From the calculations of g x B , g N B , and (16), Bob’s computational complexities for y B , 1 , y B , 2 , and their SSK, denoted by the functions T y B , 1 , T y B , 2 , T κ B : N R + of n, become
T y B , 1 ( n ) : = d 2 n
T y B , 2 ( n ) : = d 2 n
T κ B ( n ) : = d 3 n
As n = s ( m ) = 2 d m , T y B , 1 , T y B , 2 , and T y κ B can be described as functions of m as follows:
T y B , 1 ( n ) = T y B , 1 ( s ( m ) ) = d 2 s ( m ) = 2 d 3 m
T y B , 2 ( n ) = T y B , 2 ( s ( m ) ) = d 2 s ( m ) = 2 d 3 m
T κ B ( n ) = T κ B ( s ( m ) ) = d 3 s ( m ) = 2 d 4 m .
Thus, the total complexity for Alice and Bob can be compared:
T y A ( m ) + T κ A ( m ) = 2 d 3 m < 4 d 3 m + 2 d 4 m = T y B , 1 ( s ( m ) ) + T y B , 2 ( s ( m ) ) + T κ B ( s ( m ) ) .
When d is given, T y A ( m ) + T κ A ( m ) and T y B , 1 ( s ( m ) ) + T y B , 2 ( s ( m ) ) + T κ B ( s ( m ) ) have the same order of complexity. 2 d 4 and 2 d 3 are considered as coefficients.
Of course, we can consider the total complexity for Alice and Bob by the functions T A , T B : N R + of d, which are defined as
T A ( d ) : = 2 m d 3
T B ( d ) : = 4 m d 3 + 2 m d 4
for a given m. In this case, T A ( d ) O ( d 3 ) , T B ( d ) O ( d 4 ) , and O ( d 4 ) O ( d 3 ) are obvious. Which values of m and d should be given and which should be the input of the functions can be determined the environment in which the algorithm is used, such as the computational resources and communication infrastructure.
Remark 2.
As mentioned in Remark 1, Alice can select her secret key x A not only as a matrix, but also as a vector, whereas x B and N B are selected as matrices. Let V be a vector space of V : = Z p d , where | y | d n ( y V ) and a subset V ̲ of V ̲ : = { y V : | y | d m } V , and suppose that x A is selected from V ̲ . In this case, the breaking strategy against this algorithm for Eve is as follows:
  • solving d 2 DLPs for N B and d DLPs for x A , and
  • an exhaustive attack for x A within V ̲ , the size of which is 2 s m .
That is, the breaking complexity is equivalent to the case when x A S ̲ in terms of the order of complexity. Thus, there is also no problem in selecting n and m from the relation of Theorem 2 in this case. The computational complexities for y A , κ A , and κ B , which are denoted by the functions T y A , v e c , T κ A , v e c , and T κ B , v e c : N R + , are
T y A , v e c ( m ) : = d 2 m
T κ A , v e c ( m ) : = d 2 m
T κ B , v e c ( n ) : = d 2 n
for a given d. It can be observed that the complexities are reduced from (34), (35), and (38). Moreover, the calculation of (33) is independent for each element a { 1 , , d } , and thus, it can be computed in parallel. The calculation is also parallelized for each l { 1 , , d } . In Section 6, we report the results of the implementational experiments of SEDH in the case of x A V ̲ . To determine how rapidly the calculation is performed, particularly for Alice, we compare the calculation speed with that of the usual DH algorithm.

5. Generalization

In this section, all investigations are conducted under the following assumptions:
  • the numbers n , m N and a not linear and monic polynomial s, where n = s ( m ) > m for all m N ;
  • a number p, where | p | = n ;
  • a semi-group S , where | y | S k n ( y S , k N ) ;
  • a subset S ̲ : = { y S : | y | S k m } S ; and
  • x A S ̲ .
In the above, | · | S is the same notation as that in Section 4.1. Furthermore, the constant k is uniquely determined by the properties of S , such as the dimensions of the matrices and vectors. For example, k = 1 when S = Z p and k = d 2 when S = M ( d , Z p ) .
As mentioned in Section 2.3, we first construct a SAPKA subclass, in which the security of each algorithm is ensured by a non-easily invertible map (Definition 1). Thereafter, we attempt to construct the main SAPKA subclass mentioned in Section 2.2. We introduce inclusion relations between other subclasses and necessary conditions for algorithms to belong to the main subclass in Section 5.2.
We present the definition of the subclass based on the non-easily invertible map.
Definition 6.
For a multiplicative semi-group S and the quintuple C : = ( x 1 , x 2 , x 3 , x 4 , N 1 ) , where the maps x 1 , x 2 , x 3 , x 4 satisfy (13) and N 1 is an easily invertible map of N 1 : S S , if maps x 1 , x 2 , x 3 , x 4 , N 1 : S S exist, where N 1 is easily invertible and a non-easily invertible map f g : S S exists such that the following equations:
x 1 x 2 ( y ) = x 3 x 4 ( y )
x 1 x 2 ( y ) = f g x 1 x 2 ( y )
N 1 1 x 4 ( y ) = f g N 1 1 x 4 ( y )
x 1 x 2 ( e ) S ̲ N 1 1 x 4 ( e ) S ̲
are satisfied for all y S , where e is an identity element of S , the quintuple C is a member of the S A P K A f g class, and we express this relation as
C S A P K A f g .
From (40) and (41), and the compatibility condition of (13), the equation
x 1 x 2 ( y ) = f g x 1 x 2 ( y ) = f g x 3 x 4 ( y ) = x 3 x 4 ( y )
for all y S is automatically satisfied. Using (42), the equation
f g x 3 N 1 N 1 1 x 4 ( y ) = f g x 3 x 4 ( y )
= x 3 x 4 ( y ) = x 3 N 1 N 1 1 x 4 ( y ) = x 3 N 1 f g N 1 1 x 4 ( y )
holds for all y S . Thus, the public keys and SSK of Alice and Bob for the algorithms in this class can be described as Table 4.
Moreover, (41) and (42) ensure that the maps x 1 x 2 and N 1 1 x 4 and thus the element x A , cannot be disclosed by Eve within polynomial time. If x 1 x 2 ( e ) S ̲ and N 1 1 x 4 ( e ) S ̲ , the complexities for calculating
f g 1 f g x 1 x 2 ( e ) = x 1 x 2 ( e )
f g 1 f g N 1 1 x 4 ( e ) = N 1 1 x 4 ( e )
are reduced compared to the case when (43) holds (see Remark 3 in Section 5.1). If x 1 , x 2 , x 3 , x 4 , N 1 are linear maps, for example, Eve can obtain a linear map x 3 , E N 1 , E : S S to satisfy:
x 3 , E N 1 , E N 1 1 x 4 ( e ) = x 1 x 2 ( e )
by matrix multiplication, because x 1 x 2 ( e ) is described as a matrix. Moreover, as S is a multiplicative semi-group, x 1 x 2 ( y ) for any y S can be expressed as x 1 x 2 ( y e ) and either of the equations
x 1 x 2 ( y e ) = y x 1 x 2 ( e ) = y x 3 , E N 1 , E N 1 1 x 4 ( e ) = x 3 , E N 1 , E N 1 1 x 4 ( y e )
or
x 1 x 2 ( y e ) = x 1 x 2 ( e ) y = x 3 , E N 1 , E N 1 1 x 4 ( e ) y = x 3 , E N 1 , E N 1 1 x 4 ( y e )
holds for all y S . Thus, only if Eve knows the calculation rule of map x 3 N 1 can she obtain a map x 3 , E N 1 , E to satisfy
x 3 , E N 1 , E f g N 1 1 x 4 ( y ) = f g x 3 , E N 1 , E N 1 1 x 4 ( y ) = f g x 1 x 2 ( y )
for all y S . Finally, she can calculate the SSK as follows:
x 3 , E N 1 , E ( y A ) = x 3 , E N 1 , E f g N 1 1 x 4 ( x A ) = f g x 1 x 2 ( x A ) = κ A .
Of course, if the maps x 1 , x 2 , x 3 , x 4 , N 1 are not linear, this attack may be impossible, but if (43) holds and n is sufficiently large to make the calculation of f g 1 f g ( y ) ( y S ̲ ) difficult in real time, Eve cannot proceed to (46). Thus, Requirement 2 of Section 2.1 is achieved for all algorithms in the S A P K A f g class.
  • Algorithms of S A P K A f g Class
It can be proven that C N D H in Section 3.2 and C S E in Section 3.3 belong to the S A P K A f g class. For C N D H , if S : = Z p and Bob defines x 1 , x 2 , x 3 , x 4 , N 1 , f g as
  • x 1 ( y ) : = x B y
  • x 2 : = i d
  • x 3 ( y ) : = x B y
  • x 4 ( y ) : = i d
  • N 1 : = n B 1 y
  • f g ( y ) : = g y ,
then (40) holds, and (41) and (42) are satisfied according to the descriptions of the public keys of Bob in Table 5.
For C S E , if S : = M ( d , Z p ) and Bob defines x 1 , x 2 , x 3 , x 4 , N 1 , f g as
  • x 1 ( y ) : = x B y
  • x 2 : = i d
  • x 3 ( y ) : = x B y
  • x 4 ( y ) : = i d
  • N 1 : = N B 1 y
  • f g ( y ) : = g y ,
(40) holds, and (41) and (42) are satisfied according to Table 6.
At this point, we construct a S A P K A f g subclass, the algorithms of which possess the same property as the SEDH that was investigated in Section 4.3 and Section 4.4, namely biased computational complexity to Bob (see Section 5.1). We mainly focus on this class in this study.

5.1. Notations and Definitions

Prior to constructing the main subclass (Definition 9), we present several definitions and notations below. Definition 7 provides one S A P K A f g subclass in which the algorithms are symmetric and include DH. In Section 5.2, we investigate how this subclass relates to the main subclass of Definition 9. Definition 8 provides the name for the input y of a given map f g : S S according to the set of y. We use this definition to emphasize the difference in complexity for calculating f g 1 f g ( y ) of a given map f g when y S ̲ and when y S . The notations directly below Definition 8 are functions that demonstrate the complexity for calculating each key. As these notations and Definition 8 allow us to express the breaking and computational complexity for each key quantitatively, the main subclass can be defined by equalities and inequalities.
Definition 7.
For the quintuple C such that C S A P K A f g , if N 1 = x 4 = i d , we state that C is a member of the symmetric S A P K A f g class, and we express this relation as
C S A P K A f g , s y m m e t r y .
If C S A P K A f g , s y m m e t r y , one of the public keys of Bob y B , 1 is described as
y B , 1 ( y ) = N 1 1 x 4 ( y ) = f g N 1 1 x 4 ( y ) = f g ( y ) ,
where y S . This means that Bob sending y B , 1 is equivalent to simply informing Alice of the construction rule of y A . Alice can calculate y A without any secret/public information from Bob. Symmetry means that the number of public keys that both Alice and Bob construct is essentially one, and they can construct their public keys without any public/secret information from the other.
For C N D H in Section 3.2, if the parameter n B is equal to 1, C N D H describes the usual DH. We denote this case of C N D H as C D H , and we obtain
C D H S A P K A f g , s y m m e t r y .
Moreover, C S E in the case of N B = E , denoted by C S E , ( N B = E ) , is
C S E , ( N B = E ) S A P K A f g , s y m m e t r y .
Definition 8.
For a given non-easily invertible map f g : S S , if the set to which the input y belongs is S ̲ , we refer to the input y as a k m -bit f g 1 element. If the set to which the input y belongs is S , we refer to the input y as a k n -bit f g 1 element
The complexity of obtaining the k n -bit f g 1 element means the complexity of calculating f g 1 f g ( y ) when y S (for the k m -bit f g 1 element, y S ̲ ).
We define the following functions of bit size that demonstrate the complexity of calculating each public key and SSK as well as the complexity for Eve to obtain a certain key:
  • T y B , 1 : N R + : the complexity required for Bob to construct y B , 1 ;
  • T y B , 2 : N R + : the complexity required for Bob to construct y B , 2 ;
  • T y A : N R + : the complexity required for Alice to calculate y A ;
  • T κ A : N R + : the complexity required for Alice to calculate her SSK κ A ;
  • T κ B : N R + : the complexity required for Bob to calculate their SSK κ B ;
  • T E v e x A : N R + : the least complexity required for Eve to obtain Alice’s secret key x A from public informations, where the input of T E v e x A is m; and
  • T f g 1 : N R + : the complexity required to compute f g 1 f g ( y ) for map f g , where the input of T f g 1 is m if y S ̲ and n if y S .
Furthermore, for T E v e x A , T f g 1 , we define the following functions to describe their order:
  • h E v e x A : N R + to obtain the relation T E v e x A O ( h E v e x A ) , and
  • h f g 1 : N R + to obtain the relation T f g 1 O ( h f g 1 ) .
Example 1.
  • If T y B , 1 , T y B , 2 , and T κ B are defined as functions of n, T y A and T κ A are defined as functions of m, and the polynomial s is concretely determined, we can compare the total computational complexity for Alice and Bob as per Section 4.5.
  • The least complexity for Eve to obtain x A in Section 3.3 is determined as
    T E v e x A ( m ) d 2 2 s ( m ) 2 .
  • The complexity of obtaining the d 2 n -bit f g 1 element, where f g is the non-easily invertible map of C S E as defined in Table 6, is expressed as
    T f g 1 ( n ) = T f g 1 ( s ( m ) ) = d 2 2 s ( m ) 2 .
  • The complexity of obtaining the d 2 m -bit f g 1 element is determined as
    T f g 1 ( m ) = d 2 2 m 2 .
In general, the complexity of obtaining the k n -bit f g 1 element for a given non-easily invertible map f g : S S is described by T f g 1 ( n ) = T f g 1 ( s ( m ) ) , and that of the k m -bit f g 1 element is T f g 1 ( m ) . We can compare not only the complexity but also the order of complexity of the two using the map h f g 1 defined above, as per the following Remark 3.
Remark 3.
When the order of complexity for computing the k m -bit f g 1 element for map f g is equal to O ( 2 a m ) , where a R + { 0 } :
T f g 1 ( s ( m ) ) O ( h f g 1 ( s ( m ) ) ) = O ( 2 a s ( m ) ) O ( 2 a m ) = O ( h f g 1 ( m ) ) T f g 1 ( m )
holds, and the equality holds if and only if s is a linear monic polynomial for some t N :
n = s ( m ) = m + t .
This can be proven in a similar manner to Proposition 1, and in this case, s is restricted as a non-linear and monic polynomial, so the equality never holds.
When the order of complexity for computing the k m -bit f g 1 element is greater than O ( 2 a m ) , although the sufficient and necessary condition of s for the equality of (47) may not be the same,
O ( h f g 1 ( s ( m ) ) ) = O ( 2 a s ( m ) ) O ( 2 a m ) = O ( h f g 1 ( m ) )
holds because, for all m, the ratio h f g 1 ( s ( m ) ) h f g 1 ( m ) is much larger and cannot be a constant in this case. This means that when s is a not linear and monic polynomial, the problem of obtaining the k n -bit f g 1 element by computing f g 1 f g ( y ) ( y S ) and the problem of obtaining the k m -bit f g 1 element by computing f g 1 f g ( y ) ( y S ̲ ) belong to different orders of complexity classes. Furthermore, needless to say, T f g 1 ( s ( m ) ) > T f g 1 ( m ) holds.
Definition 9.
For the quintuple C of C S A P K A f g , if the following relations hold:
T E v e x A ( m ) T f g 1 ( s ( m ) )
T y B , 1 ( s ( m ) ) + T y B , 2 ( s ( m ) ) + T κ B ( s ( m ) ) > T y A ( m ) + T κ A ( m ) ,
we state that C is a member of the class that is computationally biased to Bob S A P K A f g , and we write this relation as
C S A P K A f g , A < B .
If the relation
T E v e x A ( m ) T f g 1 ( m )
holds, C is a member of the computationally unbiased S A P K A f g class, and we write this relation as
C S A P K A f g , A = B .
Relation (49) indicates that the breaking complexity of an algorithm that is constructed from C S A P K A f g , A < B is equal to or greater than the complexity that is required to obtain the k n -bit f g 1 element, even if x A is selected from S ̲ . Furthermore, (51) indicates that when C S A P K A f g , A = B , the breaking complexity is equal to or less than that of obtaining the k m -bit f g 1 element. As noted in Remark 3, not only does T f g 1 ( s ( m ) ) > T f g 1 ( m ) hold, but the orders of complexity are also different, so there cannot exist a C such that C S A P K A f g , A < B S A P K A f g , A = B . Thus, we obtain Lemma 1 in Section 5.2.

5.2. Inclusion Relations between Subclasses of SAPKA and Necessity Condition

Lemma 1.
For S A P K A f g , A < B S A P K A f g and S A P K A f g , A = B S A P K A f g , the following relation holds:
S A P K A f g , A < B S A P K A f g , A = B = .
According to the attack introduced in Section 4.3, we obtain the following results.
Theorem 3.
For C S E in Section 3.3, if Attack 2 of Section 4.3 and the exhaustive attack for x A S ̲ are only attacks without calculating log g g N B = N B or there exist other attacks but the order of complexity is equal to or greater than O ( 2 d m ) ,
C S E S A P K A f g , A < B .
Proof. 
According to Attack 3 in Section 4.3 and the descriptions of T E v e x A ( m ) and T f g 1 ( s ( m ) ) in Example 1, we obtain
T E v e x A ( m ) d 2 2 s ( m ) 2 = T f g 1 ( s ( m ) ) .
Under this assumption, n = s ( m ) = 2 d m holds, and thus, we obtain
T y B , 1 ( s ( m ) ) + T y B , 2 ( s ( m ) ) + T κ B ( s ( m ) ) = 4 m d 3 + 2 m d 4 > T y A ( m ) + T κ A ( m ) = 2 m d 3
from Section 4.5. □
We introduce two necessary conditions for the S A P K A f g , A < B class.
Theorem 4
(Necessary Condition 1). If the quintuple C : = ( x 1 , x 2 , x 3 , x 4 , N 1 ) S A P K A f g , A < B , the relation
C S A P K A f g , s y m m e t r y
holds.
Proof. 
We prove the contrapositive. If C S A P K A f g , s y m m e t r y , Alice’s public key y A is described as:
y A = N 1 1 x 4 ( x A ) = f g N 1 1 x 4 ( x A )
according to (40), but N 1 and x 4 are identities; thus, y A becomes
y A = f g ( x A ) .
Because x A S ̲ , x A is a k m -bit f g 1 element for map f g , and we obtain
T E v e x A ( m ) = T f g 1 ( m ) .
Thus, C S A P K A f g , A = B . Moreover, Lemma 1 indicates that C S A P K A f g , A < B . □
Corollary 1.
The quintuple C D H of the usual DH is
C D H S A P K A f g , A = B ,
and C S E , ( N B = E ) defined in Section 5.1 is
C S E , ( N B = E ) S A P K A f g , A = B .
Theorem 5
(Necessary Condition 2). If the quintuple C : = ( x 1 , x 2 , x 3 , x 4 , N 1 ) S A P K A f g , A < B , then there does’t exist a map f g : S S such that to satisfy
f g N 1 1 x 4 ( y ) = f g ( y ) T f g 1 ( m ) T f g 1 ( m )
for all y S , m N .
Proof. 
We prove the contrapositive. We assume that for C S A P K A f g , A < B , there exists a map f g : S S to satisfy
f g N 1 1 x 4 ( y ) = f g ( y )
T f g 1 T f g 1
for all y S . According to (54), y A can be described as
y A = f g N 1 1 x 4 ( x A ) = f g ( x A ) .
This indicates that x A is a k m -bit f g 1 element for a map f g . In combination with (55), the relation
T E v e x A ( m ) = T f g 1 ( m ) T f g 1 ( m )
holds. Thus, C S A P K A f g , A = B ; that is, C S A P K A f g , A < B is proven. □
Corollary 2.
C N D H S A P K A f g , A = B
Proof. 
The attack of Section 4.2 indicates that
y A = f g N 1 1 x 4 ( x A ) = g n B x A = ( g n B ) x A = f g ( x A ) ,
where f g ( y ) : = f f g ( N 1 1 x 4 ( 1 ) ) ( y ) = f g n B ( y ) , and (53) is satisfied. □
Remark 4.
Theorem 1 of Section 4.3 implies that there does not exist a map f g to satisfy f g ( y ) = f g N 1 1 x 4 ( y ) with T f g 1 T f g 1 as for algorithm of C S E .
According to the proof of Theorem 4 and Corollary 2, we obtain the following inclusion relation:
Corollary 3.
S A P K A f g , s y m m e t r y S A P K A f g , A = B .
Proof. 
From the proof of Theorem 4,
C S A P K A f g , s y m m e t r y C S A P K A f g , A = B
is obtained. Thus, we obtain
S A P K A f g , s y m m e t r y S A P K A f g , A = B .
Moreover, C N D H is related to C N D H S A P K A f g , s y m m e t r y , but C N D H S A P K A f g , A = B according to Corollary 2. Thus, S A P K A f g , s y m m e t r y S A P K A f g , A = B is obtained. □
Figure 3 presents the inclusion relations between the subclasses of SAPKA.
Remark 5.
The proposition
S A P K A f g , A < B S A P K A f g , A = B = S A P K A f g .
as well as the necessary conditions (52) and (53) as sufficient conditions for the S A P K A f g , A < B class have not yet been confirmed. These will be investigated in our subsequent paper.

6. Implementational Experiments

In this section, we report the simple experimental results. All experiments were performed in the following environment:
  • OS: Windows 10 Pro
  • Processor: 2.90 GHz Intel Core i7-10700
  • RAM: 8 GB
  • Language: JAVA
Table 7, Table 8 and Table 9 indicate the computational complexity for Alice ( y A , κ A ) and Bob ( y B , 1 , y B , 2 , κ B ) according to d and m while n was fixed as 1024, 3072, and 5120 bits. As can be observed from Table 7, Table 8 and Table 9, the calculation time for Bob increased as d increased. This is because the calculation complexities of (32) and (33) were dependent only on d, whereas n was fixed. For Alice’s computation, there were cases in which the calculation time decreased as d increased (Table 8 and Table 9). This can be explained by (32) and (33) for each a { 1 , , d } , being independent, and an increase in d resulted in a decrease in m. Therefore, these values can be computed in parallel with a smaller m when d increases. When d > 4 , the calculation time will increase despite the decrease in the size of m owing to a shortage in processors for efficient parallel computing.
Moreover, the difference in the order of complexity for Alice and Bob can be observed from Figure 4, where m was fixed as 128 bits and d increased from 2 to 16.
We verified how rapidly the calculation of Alice could be achieved by comparing the speed with that of the usual DH. Table 10 and Figure 5 compare the calculation times of SEDH and DH for y A and κ A for the same security level (n) from 1024 to 7168 bits. The calculation speeds in the following table and figure are the averages of 50 calculations.

7. Conclusions

In this study, we have estimated the breaking complexity and computational complexity of two SAPKA class algorithms. One of these potentially possesses the property whereby the security is less dependent on the secret key space of Alice than that of Bob. This property allows Alice to calculate her SSK with less complexity than Bob in the algorithm.
Moreover, we generalized these algorithms and constructed SAPKA subclasses according to the security/efficiency properties. We constructed several subclass algorithms in which the above property holds. We expect that algorithms in this class will aid in constructing secure communication infrastructures, even with a small capability of devices for one side (Alice’s computational asymmetry). The necessary conditions for this class and inclusion relations with other SAPKA subclasses were also investigated.
In the following Future Work section, we provide several unclear points, which include new problems obtained from this study (indicated by •) and problems not discussed in this paper but that must be investigated for practical use of presented algorithms and frameworks (indicated by ∘).

Future Works

Is it true that S A P K A f g , A < B S A P K A f g , A = B = S A P K A f g ? (Remark 5)
Is it true that if the relations (52) and (53) hold for C S A P K A f g , C is a member of the S A P K A f g , A < B class? That is, are (52) and (53) also sufficient conditions for the S A P K A f g , A < B class? As mentioned in Section 2.2, this paper does not provide how to construct secure PKA algorithms resilient to any types of theoretical attacks. However, if sufficient conditions for the S A P K A f g , A < B class are found, algorithms that cannot be broken at least within polynomial time can be easily constructed because those are protected thanks to non-easily mappable f g (page 23). Of course, conditions might differ depending on required security level, but considering the sufficient conditions surely helps us provide how to construct secure PKA algorithms.
Does S need to be selected as a multiplicative semi-group/group? For example, the algorithms in Section 3.3 are effective even in vector space, which forms an additive group (Remark 1). We should investigate how we can construct PKA algorithms on algebraic structures other than multiplicative semi-groups and then compare the breaking and computational complexities with the original one.
We should attempt to describe algorithms such as LWE-based or NTRU-type algorithms with the SAPKA parameters and verify whether these algorithms belong to the S A P K A f g , A < B class. Otherwise, would it be possible to modify these to belong to the S A P K A f g , A < B class?
It is well known that key agreement algorithms are vulnerable against man-in-the-middle (MITM) attack. Obviously, also algorithms in SAPKA are also not exceptional without any measures. Moreover, the number of public keys especially for Bob is larger than symmetric type algorithms, so they way to manage public keys for SAPKA algorithms must be discussed more. Adaptability with techniques such as digital signature [21,22] and public key certifications [23] must be well discussed.
As mentioned in [1], the SSKs that Alice and Bob calculate should be ephemeral, and each key must have enough randomness. To practically use algorithms introduced in this paper, if public keys and SSK are sufficiently random to protect Eve from deducing SSK must be investigated.

Author Contributions

Conceptualization, K.J., S.I. and M.R.; Formal analysis, K.J. and S.I.; Implementation, K.J.; Writing—original draft, K.J.; Writing—review and editing, K.J., S.I. and M.R. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
PKApublic key agreement
SAPKAstrongly asymmetric public key agreement
SSKsecret shared key
DHDiffie-Hellman
NDHNoised Diffie-Hellman
SEDHSchur Exponentiation-Based Diffie-Hellman
DLPdiscrete logarithm problem
MITMman-in-the-middle

References

  1. Shannon, C.E. Communication Theory of Secrecy Systems. Bell Syst. Tech. J. 1949, 28, 656–715. [Google Scholar] [CrossRef]
  2. Diffie, W.; Hellman, M. New directions in cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef] [Green Version]
  3. Rivest, R.L.; Shamir, A.; Adleman, L. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 1978, 21, 120–126. [Google Scholar] [CrossRef]
  4. Adrian, D.; Bhargavan, K.; Durumeric, Z.; Gaudry, P.; Green, M.; Halderman, J.A.; Heninger, N.; Springall, D.; Thomé, E.; Valenta, L.; et al. Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, Denver, CO, USA, 12–16 October 2015; pp. 5–17. [Google Scholar]
  5. Shor, P.W. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. SIAM J. Comput. 1997, 26, 1484–1509. [Google Scholar] [CrossRef] [Green Version]
  6. Bernstein, D.J.; Chuengsatiansup, C.; Lange, T.; van Vredendaal, C. NTRU Prime: Reducing Attack Surface at Low Cost. In Selected Areas in Cryptography—SAC 2017; Lecture Notes in Computer Science; Adams, C., Camenisch, J., Eds.; Springer: Cham, Switzerland, 2017; Volume 10719. [Google Scholar] [CrossRef] [Green Version]
  7. Hülsing, A.; Rijneveld, J.; Schanck, J.; Schwabe, P. High-Speed Key Encapsulation from NTRU. In Cryptographic Hardware and Embedded Systems—CHES 2017; Lecture Notes in Computer Science; Fischer, W., Homma, N., Eds.; Springer: Cham, Switzerland, 2017; Volume 10529. [Google Scholar] [CrossRef] [Green Version]
  8. Hoffstein, J.; Pipher, J.; Silverman, J.H. NTRU: A ring-based public key cryptosystem. In Algorithmic Number Theory—ANTS 1998; Lecture Notes in Computer Science; Buhler, J.P., Ed.; Springer: Berlin/Heidelberg, Germany, 1998; Volume 1423. [Google Scholar] [CrossRef]
  9. Bos, J.; Ducas, L.; Kiltz, E.; Lepoint, T.; Lyubashevsky, V.; Schanck, J.M.; Schwabe, P.; Seiler, G.; Stehle, D. CRYSTALS—Kyber: A CCA-Secure module-lattice-based KEM. In Proceedings of the 2018 IEEE European Symposium on Security and Privacy (EuroS and P), London, UK, 24–26 April 2018; pp. 353–367. [Google Scholar] [CrossRef] [Green Version]
  10. Alkim, E.; Ducas, L.; Poppelmann, T.; Schwabe, P. Post-quantum key exchange—A new hope. In Proceedings of the 25th USENIX Security Symposium (USENIX Security 16), Austin, TX, USA, 10–12 August 2016; pp. 327–343. [Google Scholar]
  11. Post-Quantum Cryptography Competition Round 2 Submissions. Available online: https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions (accessed on 16 March 2021).
  12. PQC Standardization Process: Third Round Candidate Announcement. Available online: https://csrc.nist.gov/News/2020/pqc-third-round-candidate-announcement (accessed on 16 March 2021).
  13. Micciancio, D.; Regev, O. Worst-case to average-case reductions based on Gaussian measures. J. Comput. 2007, 37, 267–302. [Google Scholar] [CrossRef] [Green Version]
  14. Regev, O. On lattices, learning with errors, random linear codes, and cryptography. J. ACM 2009, 56, 1–40. [Google Scholar] [CrossRef]
  15. Laine, K.; Lauter, K. Key Recovery for LWE in Polynomial Time. IACR Cryptology ePrint Archive 2015, no. 176. Available online: https://eprint.iacr.org/2015/176.pdf (accessed on 14 June 2021).
  16. Peikert, C. Public-key cryptosystems from the worst-case shortest vector problem. In Proceedings of the forty-first annual ACM symposium on Theory of computing, Bethesda, MD, USA, 31 May–2 June 2009; pp. 333–342. [Google Scholar]
  17. Coppersmith, D.; Shamir, A. Lattice Attacks on NTRU. In Advances in Cryptology—EUROCRYPT ’97; Lecture Notes in Computer Science; Fumy, W., Ed.; Springer: Berlin, Germany, 1997; Volume 1233. [Google Scholar] [CrossRef] [Green Version]
  18. Accardi, L.; Iriyama, S.; Regoli, M.; Ohya, M. Strongly Asymmetric Public Key Agreement Algorithms; Technical Report ISEC2011-20; IEICE: Tokyo, Japan, 2011; pp. 115–121. [Google Scholar]
  19. Pollard, J. Monte Carlo Methods for Index Computation (modp). Math. Comput. 1978, 32, 918–924. [Google Scholar]
  20. Pohlig, S.; Hellman, M. An improved algorithm for computing logarithms over GF(p) and its cryptographic significance (Corresp.). IEEE Trans. Inf. Theory 1978, 24, 106–110. [Google Scholar] [CrossRef]
  21. Lamport, L. Constructing Digital Signatures from a One-Way Function; Technical Report CSL-98; SRI International: Menlo Park, CA, USA, 1979; Volume 238. [Google Scholar]
  22. Merkle, R.C. A Certified Digital Signature, Conference on the Theory and Application of Cryptology; Springer: New York, NY, USA, 1989. [Google Scholar]
  23. Cooper, D.; Santesson, S.; Farrell, S.; Boeyen, S.; Housley, R.; Polk, W. Internet X. 509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, RFC 5280. 2008, pp. 1–151. Available online: https://datatracker.ietf.org/doc/html/rfc5280 (accessed on 14 June 2021).
Figure 1. Key agreement process of SAPKA.
Figure 1. Key agreement process of SAPKA.
Applsci 11 05540 g001
Figure 2. Key agreement process of Schur exponentiation-based DH.
Figure 2. Key agreement process of Schur exponentiation-based DH.
Applsci 11 05540 g002
Figure 3. Inclusion relations between subclasses of SAPKA.
Figure 3. Inclusion relations between subclasses of SAPKA.
Applsci 11 05540 g003
Figure 4. Comparison of calculation times (ms) for Alice and Bob according to d (m = 128).
Figure 4. Comparison of calculation times (ms) for Alice and Bob according to d (m = 128).
Applsci 11 05540 g004
Figure 5. Comparison of calculation times (ms) for Alice with DH.
Figure 5. Comparison of calculation times (ms) for Alice with DH.
Applsci 11 05540 g005
Table 1. Complete list of key of SAPKA.
Table 1. Complete list of key of SAPKA.
KeyParameter
BobSecret keys x 1 , x 2 , x 3 , x 4 , N 1 : S S
Public keys y B , 1 = N 1 1 x 4 : S S
y B , 2 = x 1 x 2 : S S
SSK κ B = x 3 x 4 ( x A ) S
AliceSecret key x A S
Public key y A = N 1 1 x 4 ( x A ) S
SSK κ A = x 1 x 2 ( x A ) S
Table 2. Complete list of key of example algorithm of SAPKA.
Table 2. Complete list of key of example algorithm of SAPKA.
KeyParameter
BobSecret keysmaps x 1 , x 2 , x 3 , x 4 , N 1 : S S and elements x B , n B S
Public keys y B , 1 ( y ) = N 1 1 x 4 ( y ) = n B 1 y ( y S )
y B , 2 ( y ) = x 1 x 2 ( y ) = x B y ( y S )
SSK κ B = x 3 x 4 ( x A ) = x B x A
AliceSecret key x A S
Public key y A = N 1 1 x 4 ( x A ) = n B 1 x A
SSK κ A = x 1 x 2 ( x A ) = x B x A
Table 3. Requirements for n and m.
Table 3. Requirements for n and m.
Requirements
nSufficiently large for one DLP
m 2 d m must be sufficiently large for an exhaustive search
Table 4. Public keys and SSK of Alice and Bob for S A P K A f g class.
Table 4. Public keys and SSK of Alice and Bob for S A P K A f g class.
KeyParameter
BobPublic keys y B , 1 ( y ) = N 1 1 x 4 ( y ) = f g N 1 1 x 4 ( y ) ( y S ) ,
y B , 2 ( y ) = x 1 x 2 ( y ) = f g x 1 x 2 ( y ) ( y S )
SSK κ B = x 3 N 1 ( y A ) = f g x 3 N 1 N 1 1 x 4 ( x A ) ( 44 )
AlicePublic key y A = N 1 1 x 4 ( x A ) = f g N 1 1 x 4 ( x A )
SSK κ A = x 1 x 2 ( x A ) = f g x 1 x 2 ( x A )
Table 5. Public keys of Bob for C N D H .
Table 5. Public keys of Bob for C N D H .
Public keys of Bob y B , 1 ( y ) = N 1 1 x 4 ( y ) = g n B y = f g N 1 1 x 4 ( y ) ( y S ) ,
y B , 2 ( y ) = x 1 x 2 ( y ) = g x B y = f g x 1 x 2 ( y ) ( y S )
Table 6. Public keys of Bob for C S E .
Table 6. Public keys of Bob for C S E .
Public keys of Bob y B , 1 ( y ) = N 1 1 x 4 ( y ) = g N B y = f g N 1 1 x 4 ( y ) ( y S ) ,
y B , 2 ( y ) = x 1 x 2 ( y ) = g x B y = f g x 1 x 2 ( y ) ( y S )
Table 7. Calculation time (ms) for Alice and Bob when n = 1024 .
Table 7. Calculation time (ms) for Alice and Bob when n = 1024 .
dmBob (ms)Alice (ms)
22567.693075511.89631633
412816.79750613.39046122
68525.3101635.37513889
Table 8. Calculation times (ms) for Alice and Bob when n = 3072 .
Table 8. Calculation times (ms) for Alice and Bob when n = 3072 .
dmBob (ms)Alice (ms)
2768131.79246617.612742
4384272.97162416.480546
6256472.9508628.988962
Table 9. Calculation times (ms) for Alice and Bob when n = 5120 .
Table 9. Calculation times (ms) for Alice and Bob when n = 5120 .
dmBob (ms)Alice (ms)
21280528.01718665.886198
46401164.8519557.475974
64261942.06485108.263714
Table 10. Comparison of calculation times (ms) for Alice with DH.
Table 10. Comparison of calculation times (ms) for Alice with DH.
Security (n)(m)(d)DH (ms)SEDH (ms)
102425622.7272021.896316327
2048512215.5148166.451664815
3072384451.77674816.480546
409610242111.33203432.10356
51206404202.80614257.475974
61447684335.20875294.12185
71688964535.273036144.93926
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Iriyama, S.; Jimbo, K.; Regoli, M. New Subclass Framework and Concrete Examples of Strongly Asymmetric Public Key Agreement. Appl. Sci. 2021, 11, 5540. https://doi.org/10.3390/app11125540

AMA Style

Iriyama S, Jimbo K, Regoli M. New Subclass Framework and Concrete Examples of Strongly Asymmetric Public Key Agreement. Applied Sciences. 2021; 11(12):5540. https://doi.org/10.3390/app11125540

Chicago/Turabian Style

Iriyama, Satoshi, Koki Jimbo, and Massimo Regoli. 2021. "New Subclass Framework and Concrete Examples of Strongly Asymmetric Public Key Agreement" Applied Sciences 11, no. 12: 5540. https://doi.org/10.3390/app11125540

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