1. Introduction
PKA algorithms play an important role in the protection of privacy in IoT. However, the standard key length of usual PKA algorithms such as Diffie–Hellman or RSA [
1,
2], typically 512 bit, is not safe with respect to the eavesdropper’s computational power [
3]. On the other hand, increasing the key length also increases the computational complexity of the algorithm, thus decreasing its performance. After 40 more years since discovering the Diffie–Hellman, the study of modern PKA algorithms is widely spread in various mathematical fields. PKA based on using matrices have been considered in the literature, and they are based on the difficulty of solving a system of multivariate polynomial equations [
4,
5]. A generalized PKA class based on lattices was proposed in [
6,
7,
8,
9] and is a matrix-based cryptographic system, the attacks of which are reduced to the shortest vector problem. The application of PKA over rings introduces the new class of cryptographic systems, such as a fully-homomorphic encryption contributing to the development of a secure searchable encryption [
10].
In the papers [
11,
12], a new scheme of public key agreement based on non-commutative algebra called a strongly-asymmetric public key agreement (SAPKA) was introduced. This scheme is very general, and in order to perform computational or estimate breaking complexity, concrete realizations are needed. Concrete realizations of the above-mentioned general scheme, called strongly-asymmetric algorithm 3 (SAA-3) and strongly-asymmetric algorithm 4 (SAA-4), were constructed in the [
13].
The algorithms 3 (SAA-3) and 4 (SAA-4) are based on a public parameter , and in them, a receiver (B) is required to send a matrix basket to a sender (A) consisting of matrices commuting with one of his secret keys . A has to choose her secret key from this basket.
The present algorithm is an improved version of SAA-3 and SAA-4, called SAA-5, and the new points in it with respect to the previous ones are:
The public parameter is removed;
All constraints on the secret keys of
B (see Conditions (1)–(4) in
Section 1 of [
13]) are reduced to the requirement that certain matrices should not be invertible;
the attack developed in the remark after Equation (
15) does not use commutativity assumptions;
In [
13], the secret key is a scalar. In SAA-5, this is replaced by a matrix, which makes exhaustive attacks impossible even in the case of low-dimensional matrices;
all non-trivial constraints in the form of the secret key of B are removed;
In SAA-5, the way to construct and combine the public and secret keys of both
A and
B is different from [
13];
In SAA-5, B does not need to send a matrix basket, thus decreasing the computational complexity;
The important remark on the indeterminacy of the equations that condensate the attacker’s information (see Theorem 2) is new.
Attacks are discussed in
Section 4. The remark after Equation (
15) explains the reason for the choice of the non-invertibility of some of the public keys of
B.
Theorem 2 emphasizes another new feature of the present class of algorithms, namely that robustness against attacks is guaranteed not only by the difficulty of a problem, but also by its intrinsic indeterminacy: even if the attacker finds a solution, she still has to choose within a set of equivalent solutions obtained applying to it simple transformations. This set is so large so as to make exhaustive search impracticable.
An additional feature characterizing this class of algorithms is that the scheme on which they are based is not rigid, as in most PKA algorithms, but subject to an infinity of variations whose cryptographic merits are presently under investigation. An illustration of this statement is contained in the last section of the paper. In fact, for the simplicity of exposition, in all the previous sections, we have dealt with matrices with coefficients in a finite field (see the beginning of
Section 2). However, looking at the proofs, it is clear that the whole construction works for matrices with entries in a ring
provided that there is the possibility of constructing invertible matrices with entries in
. This possibility exists for a multiplicity of interesting rings, and in the numerical example discussed in
Section 4.2, this situation is illustrated choosing
where
p is a prime number of order
. Even if the example is simple and low-dimensional (
), exhaustive search is impracticable, and we have not been able to devise an alternative breaking strategy for it.
4. Attacks
In this section, we discuss the breaking complexity of the algorithm. We know that the eavesdropper (E) knows the public parameters, public keys, and the structure of public keys:
Etries to recover the SSK:
In the following, all logarithms will be referred to a fixed, but arbitrary basis. Assuming zero cost logarithms, E computes for all
:
In matrix notations and recalling that all logarithms are Schur logarithms, i.e., matrix logarithms are meant entry-wise:
Theorem 1. Suppose that:
- (i)
for some , is invertible in the matrix sense,
- (ii)
for the same j as in (i), is invertible in the matrix sense,
- (iii)
is Schur-invertible.
Then, the SSK satisfies the equation:where denotes the Schur inverse of . Remark 1. Since is matrix-invertible by assumption, Condition (i) implies that the product is matrix-invertible. However, the product of a matrix-invertible and a Schur-invertible matrix need not be matrix-invertible. Therefore Assumption (ii) is necessary for the proof of (8). Proof. Since by Assumption (iii)
is Schur-invertible, (
4) is equivalent to:
Under Assumptions (i) and (ii), (
5) is equivalent to:
and combining the two results:
Finally, from (
6) and Assumption (i), we get:
Inserting in (
7) these two results, one gets
which is (
8). □
Corollary 1. In the assumptions of Theorem 1, suppose that the Schur products in (8) coincide with the matrix products. Then, the SSK satisfies the equation: Proof. Under the assumptions of the corollary, (
8) becomes:
□
Corollary 2. If the conditions of both Theorem 1 and Corollary 1 are satisfied and, in addition, commutes with , then: Proof. Under the given assumptions, Equation (
9) becomes:
which is (
10). □
Remark 2. If is a scalar
, Condition (iii) of Theorem 1 and the conditions of Corollary 1 and Corollary 2 are automatically satisfied. Therefore, in this case, under Conditions (i) and (ii) of Theorem 1, Equation (10) says that the SSK is a function of the public parameters, i.e., the algorithm is breakable. However, it is easy for B to construct his secret keys so that either Condition (i) or (ii) of Theorem 1 is violated. For example, B can choose all the () so that they are not matrix-invertible, thus violating Condition (ii). If is a matrix, it is sufficient that it has a single zero entry to violate Condition (iii) of Theorem 1.
Equations (
4)–(
7) are
cubic matrix equations depending on the
matrix unknowns:
where the left-hand sides of Equations (
4)–(
6) are known to
E:
With these notations,
E finds the system of cubic equations:
from which she wants to derive
.
Remark 3. Theorem 1 explains why it is convenient to choose the not invertible for all and why it is convenient to choose to be a non-Schur-invertible matrix.
In fact, in this case, the direct attack to the SSK of Theorem 1 is not applicable, and
E faces the problem of solving the cubic system given by Equations (
12)–(
15). Since the cubic non-linearity is given by matrix multiplication, the scalar unknowns are strongly entangled, and it is known that this brings the complexity of the application of Groebner-type algorithms near the upper bound, which is super-exponential.
In addition to this, there is another more substantial difficulty for E given by the fact that, as shown by the following theorem, the above-mentioned system is intrinsically indeterminate.
Theorem 2. Suppose that is a solution of the system (12)–(15). Then, for any pair of invertible matrices, is a solution of the same system. Proof. It is sufficient to prove that the change of variables:
leaves the right-hand sides of Equations (
12)–(
15) unaltered. In fact:
□
An additional indeterminacy, with respect to the one described by Theorem 1, is the one arising in Equations (
13) and (
14) from the non-invertibility of
. However, even neglecting this one, Theorem 2 means that, even if
E finds a solution of the system (
12)–(
15), she has to choose among all the solutions obtained from it applying the transformations described in Theorem 2. Exhaustive search among these solutions, which are equi-probable for
E given her level of information, are impracticable even for
with
p a relatively small prime (say of the order
) because their cardinality is of the same order as the cardinality of
.
4.1. Computational Complexity
The computational complexity for A is given by:
computation of
computation of the SSK
In the computation of
, A computes for each element
:
The number of total scalar exponentiations is:
and the number of total scalar multiplications is:
The number of total scalar exponentiations is:
the number of total scalar multiplications is:
Therefore, the total number of exponentiations is:
The total number of scalar multiplications is:
The computational complexity for B is given by:
computation of
computation of
computation of the SSK
The calculation of each or requires scalar exponentiations and matrix products.
The calculation for SSK has two parts. The first part is the calculation of:
The second part is given by:
Each part contains
scalar exponentiations and
scalar multiplications. Therefore, the total number of scalar exponentiations is:
The total number of scalar multiplications is:
The total number of matrix multiplications is:
4.2. A Numerical Example
Here, we construct a numerical example of SAA5. The setting is the following:
: (dimension)
: a prime number,
: a prime number such that
: a set,
Since , the parameter c has period . Therefore, the function is periodic with period . Therefore, to avoid large numbers and keep the computations within the 32-bit domain, it is convenient to perform all operations that involve exponents of c modulo , while the multiplication of exponentials should be performed modulo p.
To avoid the use of a double module, we choose the coefficients of all secret keys in , and all operations are made in this ring. This has also the advantage that, since is a ring and not a field, all invertibility issues become more difficult in this framework. This fact will be exploited in greater generality in a future publication.
Bob chooses the secret key
as:
and additional secret keys:
is invertible in
, and
is calculated as:
Bob calculates the public keys
and
for
:
Alice calculates the public key
after receiving Bob’s public keys
:
In order to obtain the SSK, Bob first calculates
:
Finally, Bob calculates his SSK
using Alice’s public key
:
Alice calculates the SSK
using public key
as:
One can check that both secret keys and are same.