A message recovery attack on multivariate polynomial trapdoor function

View article
PeerJ Computer Science

Introduction

The 21st century is the century of information and technology. Because of the advancements in the field of information technology, the secure communication has become the most challenging task. Public key cryptography plays a vital role in this regard. The security of most of the public key cryptosystems being used is based on the intractability of certain mathematical problems which are considered to be hard. For instance, the security of RSA (Rivest, Shamir & Adleman, 1978) relies on the difficulty of integer factorization problem (IFP) and ElGamal (1985) is based on the hardness discrete logarithm problem (DLP). But these problems can be solved on quantum computers using Shor’s algorithm (Shor, 1997). It is believed that multivariate public key cryptography is a good alternative in post-quantum reign for better security and efficiency. The security of a multivariate public key cryptosystems (MPKCs) relies on the difficulty of solving a system of multivariate polynomial equations (Ding & Yang, 2009) or isomorphism problem (Tang & Xu, 2012). In this context, several MPKCs were designed e.g., Matsumoto-Imai multivariate quadratic polynomial scheme (Matsumoto & Imai, 1988), the Hidden Field Equation method (Patarin, 1996), the Oil-Vinegar scheme (Patarin, 1997), etc. However, almost all of these schemes have been broken through various attacks (Courtois, 2001; Faugère & Joux, 2003; Patarin, 1995). A survey article on these schemes was written by Wolf & Preneel (2005). Markovski, Mileva & Dimitrova (2014) have introduced a new multivariate polynomial trapdoor over the field of rational numbers.

Algebraic attacks (Faugère & Joux, 2003; Kreuzer & galore!, 2009) can be roughly divided into two categories. Firstly, the attacks which concentrate on specific variety and break it because of particular properties e.g., Kipnis & Shamir (1998) attack against Oil and Vinegar. The second category comprises of algorithms generally used to solve multivariate polynomial system of equations. Examples include the XL algorithm (Courtois et al., 2000), and the relinearization technique (Kipnis & Shamir, 1999). Buchberger (1965) laid down a solid foundation of modern computational algebra by introducing the idea of Gröbner bases to address the problem of solving an algebraic system of multivariate polynomial equations. The Gröbner basis method is a general and well established technique to solve polynomial system of equations (Buchberger, 1976). For some applications of Göbner bases we refer to Buchberger & Winkler (1998), Buchberger (0000) and Francis & Ambedkar (2018). and for the detailed theory on computation of Gröbner basis we refer to the comprehensive books (Cox, Little & O’shea, 1998; Kreuzer & Robbiano, 2000) on computational algebra. The Buchberger’s algorithm turns out to be very useful to mount an algebraic attack on any multivariate cryptosystem.

In this article, the cryptanalysis of a multivariate polynomial trapdoor function (Markovski, Mileva & Dimitrova, 2014) over the field of rational numbers is presented. The authors claimed that the proposed scheme is based on 2n multivariate polynomial equations in 3n unknowns and hence has infinitely many solutions to defeat an algebraic attack. Our cryptanalysis shows that the proposed multivariate scheme is vulnerable to Gröbner basis attack on the associated system of multivariate polynomial equations.

The rest of the article is organised as: ‘Introduction’ gives the brief description of the proposed scheme along with the necessary notations and definitions; ‘The Multivariate Cryptosystem SBIM(Q)’ illustrates the scheme with the example given in Markovski, Mileva & Dimitrova (2014); ‘Cryptanalysis’ presents the cryptanalysis of the proposed scheme.

The Multivariate Cryptosystem SBIM(ℚ)

The trapdoor function under consideration uses the multivariate polynomials, usually quadratic, over ℚ, the field of rational numbers. The public key of this trapdoor function mainly consists of 2 n multivariate polynomials in 3 n unknowns r1, …, rns1, …, s2n. The variables ri; i=1 , …, n usually contain the information content, whereas the variables si; i=1 , …, 2n contain the redundant information. The redundant information is added for the security purpose. So, if we use a plaintext comprising of n rational numbers for the encryption purpose, we will get a ciphertext consisting of 2 n rational numbers. The quasigroup string transformations are used to construct the public key. These transformations are obtained from quasigroups represented in matrix form. The private key of this cryptosystem comprises of different 1 × n and n × n matrices over the field of rational numbers, and one 2n × 2n matrix.

Recall that a groupoid (Gf) having unique left as well as right inverses for each element in G with respect to the binary operation f is called a quasigroup. The binary operation f:G → G is then called a quasigroup bipermutation. From the binary operation f on the quasigroup G we can derive two new quasigroup bipermutation f(23) and f(13) as follows: f x 1 , x 2 = x 3 f 23 x 1 , x 3 = x 2 f 13 x 3 , x 2 = x 1 .

The next theorem gives a way to construct quasigroup bipermutation from matrices over a field 𝔽.

Theorem 2.1.

(Markovski, Mileva & Dimitrova, 2014) Consider two nonsingular square matrices A and B of order m over a field 𝔽. Let C be a row vector (1 × m matrix) over the field 𝔽. Then the following mapping is a quasigroup bipermutation on Fm. f r 1 , , r m ; s 1 , , s m = r 1 , , r m A + s 1 , , s m B + C , where risi ∈ F. The new quasigroup bipermutations f(13) and f(23) are defined in the following way as: f 13 r 1 , , r m ; s 1 , , s m = r 1 , , r m A 1 + s 1 , , s m B A 1 C A 1 , f 23 r 1 , , r m ; s 1 , , s m = r 1 , , r m A B 1 + s 1 , , s m B 1 C B 1 .

Note that, in the above representation, instead of elements risi ∈ 𝔽, we can use polynomials Xi and ri over 𝔽 as inputs for the mapping f, then the output f(X1, …, Xnr1, …, rn) will also be a polynomial.

Construction

In this section we describe the construction of the proposed trapdoor multivariate public key cryptosystem (Markovski, Mileva & Dimitrova, 2014). From now on the field 𝔽 is ℚ, the field of rational numbers. A positive integer n is used as a parameter of the scheme. The main global parameter is a multivariate polynomial ring in 3n indeterminates over the field of rational numbers ℚ. The construction is based on three algorithms. That is, a Key Generation algorithm, an encryption algorithm and the corresponding decryption algorithm as described in the next sections. The message space is the set of all n-tuples (a1, …, an) ∈ ℚ.

Key generation

The key generation process comprises of the following steps:

  1. Choosing Polynomials: Let r1, …, rns1, …, s2n denote the variables on ℚ. Choose n multivariate polynomials P1, …, Pn over ℚ in n variables r1, …, rn in a way that the system of equations P 1 r 1 , , r n = b 1 , P 2 r 1 , , r n = b 2 , P n r 1 , , r n = b n , has a unique solution r1 = a1, …, rn = an; ai ∈ ℝ for any bi ∈ ℚ. Here, ℝ denotes the field of real numbers. Next, choose n more multivariate polynomials Pn+1, …, P2n over ℚ with variables r1, …, rns1, …, s2n over ℚ.

  2. Applying Transformation: First choose a random permutation τ on the set of integers {1, 2, …, 2n} and then apply it on Pi to obtain the new polynomials Xi such that Xi = Pτ(i) for all i ∈ {1, 2, …, 2n}. Use these polynomials to define the vectors x = (X1, …, Xn) and y = (Xn+1, …, X2n). Now t − and t′ −transformations are applied to obtain new polynomials as follows: These two t − and t′ − transformations are necessary. Continuing this way, we can define more pairs of t − , t′ − quasigroup bipermutations from y″ and x″ by choosing new leaders li ∈ ℚn and n × n random matrices NiMi in the same way as in the above Eqs. (4) and (5).

    1. Define t −transformation: Choose a random vector l1 = (ℓ11, …, ℓ1n) ∈ ℚn known as leader and then define two quasigroup bipermutations f1 and f2 by randomly choosing non singular n × n matrices MiNi (i = 1, 2) as follows: f 1 l 1 ; x = l 1 M 1 + x N 1 ; f 2 x ; y = x M 2 + y N 2 , where x′ = f1(l1x) and set y′ = f2(x′; y).

    2. Define t′ −transformation: Use the vector y′ and another random leader l2 ∈ ℚn where l2 = (ℓ21, …, ℓ2n) to define new quasigroup bipermutations f3 and f4 by randomly choosing non singular n × n matrices MiNi (i = 3, 4) as follows: f 3 y ; l 2 = y M 3 + l 2 N 3 , f 4 x ; y = x M 4 + y N 4 , where y″ = f3(y′; l2). Again set x″ = f4(x′; y″).

  3. The Public Key: Let the integer s ≥ 0 be the number of additional transformations applied. Note that the last transformation was accomplished by randomly chosen leader l2+p and quasigroup bipermutations f3+s and f4+s applied on some n −tuples of multivariate polynomials v and w. When the last applied transformation was a t −transformation, we write f3+s(l2+sv)≔(A1, …, An) and f4+s((A1, …, An); w)≔(An+1, …, A2n). Whereas if the last applied transformation was a t′ −transformation, we let f3+s(wl2+s)≔(A1, …, An) and f4+s(v; (A1, …, An))≔(An+1, …, A2n). Finally, choose a random non singular matrix R over ℚ of order 2n × 2n and compute the public key, (Z1, …, Z2n), a new set of 2n polynomials as, Z 1 , , Z 2 n = A 1 , , A 2 n R . Clearly, each polynomial Zi = Zi(r1, …, rns1, …, s2n) is a multivariate polynomial in the 3n variables.

  4. The Private Key: The permutation τ, all the leaders li and all the matrices Mi, Ni, R, which were used to generate the public key, constitute the private key. Here we remark that all the leaders and the matrices are not necessarily required to be different but there should be at least two different leaders and at least four different matrices for defining the bipermutations.

Encryption

To encrypt a message M = (a1, …, an) in ℚn, first choose 2n random rational numbers b1, …, b2n and then evaluate all the public polynomials Zi by setting rj = aj; j=1 , …, n and sk = bk;  k=1 , …, 2n to compute the ciphertext c = (c1, …, c2n). That is, the components of the ciphertext c are the rational numbers computed as follows: c 1 = Z 1 a 1 , , a n , b 1 , , b 2 n , c 2 = Z 2 a 1 , , a n , b 1 , , b 2 n , c 2 n = Z 2 n a 1 , , a n , b 1 , , b 2 n .

Decryption

To decrypt a ciphertext c = (c1, …, c2n), the receiver will first compute the inverse of the private matrix R and compute the 2n-tuple (e1, …, e2n) = (c1, …, c2n)⋅R−1 and split it into two halve to obtain C1 = (e1, …, en) and C2 = (en+1, …, e2n). Depending on how the polynomials si’s were obtained, the receiver has to then apply either a u − or u′ −transformation to undo the effect of t − and t′−transformations:

  1. u −transformation: If the last transformation was a t −transformation defined by a leader l2+s and bipermutations f3+s and f4+s, then the receiver will apply a u −transformation defined by the parasstrophes f 3 + s 23 and f 4 + s 23 to obtain M1M2 ∈ ℚn as follows: M 1 = f 3 + s 23 l 2 + s ; C 1 , M 2 = f 4 + s 23 C 1 ; C 2 .

  2. u′ −transformation: If the last transformation was a t′ −transformation defined by a leader l2+s and bipermutations f3+s and f4+s, then the receiver will apply a u − transformation defined by the parasstrophes f 3 + s 13 and f 4 + s 13 to obtain M1M2 ∈ ℚn as follows: M 1 = f 3 + s 13 C 2 ; l 2 + s , M 2 = f 4 + s 13 C 1 ; C 2 .

Note that, we have to apply u − or u′ −transformations in the reverse order (from downward-up way). After each application of these transformations, we get n −tuples of rational numbers. In the end, instead of polynomial tuples x and y we get n −tuples of rational numbers p = (p1, …, pn) and q = (pn+1, …, p2n). Finally, the inverse permutation τ−1 is applied on (p1p2, …, p2n) to get b 1 = p τ 1 1 , , b 2 n = p τ 1 2 n . Use the values of b1, …, bn in the system Eq. (3) to get polynomial system of n equations in n unknowns. Solve the obtained system to get the required message M = (a1, …, an) ∈ ℚn.

Remark 2.2. The trapdoor function described above takes plaintext in the form of n −tuple of rational numbers as input and returns the corresponding ciphertext in the form of 2n −tuple of rational numbers as output. For the further details we refer to Markovski, Mileva & Dimitrova (2014).

Cryptanalysis

The underlying hard problem in the above described multivariate trapdoor cryptosystem is that a polynomial system of equations consisting of 2n equations in 3n unknowns has infinite number of solutions. Therefore, finding the exact solution is not possible. For a given ciphertext (c1, …, c2n) the attacker can make the following system using the public key polynomials (s1, …, s2n). Z 1 r 1 , , r n , s 1 , , s 2 n = c 1 , Z 2 r 1 , , r n , s 1 , , s 2 n = c 2 , Z 2 n r 1 , , r n , s 1 , , s 2 n = c 2 n .

The authors claim that, if the public key is produced by choosing suitable polynomials then the above system (Eq. (7)) has infinitely many solutions for the unknowns r1, …, rn and s1, …, s2n. Therefore, an attacker cannot find the actual plaintext in this way. They proposed that using quadratic polynomials for n = 4, a much secure key can be generated. Here, we try different attacks to check its security. First of all, it is obvious that the private key consists of several matrices over the field of rational numbers and certain quasigroup bipermutations which shows that the key space is infinite. So the brute force attack is not possible even if the degree of the polynomials is known. Before we introduce the Gröbner bases attack method on this trapdoor function, note that, an attacker is not interested in all 3n unknowns. To recover the message M = (a1, …, an) the attacker is only interested in the values of unknowns ri (i = 1, …, n) containing the information. That is, to recover the message we do not have to solve the entire system of 2n equations in 3n unknowns.

Gröbner bases method is based on the Buchberger’s algorithm (Buchberger, 1965) which is used to calculate Gröbner bases G for the ideal I generated by the polynomials in the system to be solved. Let 𝔽 be a field and I ⊂ 𝔽[r1, …, rn] be an ideal generated by the polynomials f1, …, fv ∈ 𝔽[r1, …, rn]. Then a set G = {g1, …, gk} ⊂ I will be a Gröbner bases for I with respect to some monomial ordering ≺ if the ideal generated by the leading terms of G is the same as the ideal generated by the leading terms of I. For a given monomial ordering, every ideal has a Gröbner bases (for details, see Cox, Little & O’shea, 1998; Kreuzer & Robbiano, 2000).

The Attack Model

As stated earlier, the attacker is not interested in the infinitely many solutions of a system of 2n polynomial equations in 3n unknowns. One can exploit the structure of the multivariate cryptosystem presented in Construction 2.1 to mount a Gröbner basis attack by extracting a system of n polynomials depending only in in n unknowns r1, …, rn from the resulting Gröbner basis.

To mount the proposed attack, set the working ring ℚ[r1, …, rns1, …, s2n] of 3n indeterminates defined over the field of rational numbers ℚ. After getting the public key polynomials Z1Z2, …, Z2n and the ciphertext C = (c1c2, …, c2n) ∈ ℚ2n, perform the steps in the following attack for the cryptanalysis of the cryptosystem described in Section 2.

Attack 3.1. (Message Recovery Attack)

Input: Public key polynomials Z1, …, Z2n ∈ ℚ[r1, …, rns1, …, s2n] and

Ciphertext C = (c1c2, …, c2n) ∈ ℚ2n.

Output: A system of n polynomial equations in n unknowns.

  1. Create an ideal I ⊂ ℚ[r1, …, rns1, …, s2n] as I = Z 1 c 1 , Z 2 c 2 , , Z 2 n c 2 n .

  2. Compute the reduced Gröbner basis G = {g1, …, gt} ⊂ ℚ[r1, …, rns1, …, s2n] of I.

  3. Identify the polynomials G1, …, Gn ∈ G depending only on the variables r1, …, rn. That is, Gi = gj for some gj ∈ G such that gj ∈ ℚ[r1, …, rn].

  4. Solve the polynomial system of n equations {G1 = 0, …, Gn = 0} for the values of r1, …, rn to recover the message M.

Note that, the success of Attack heavily depends on the successful execution of Step 2 of the attack. We have already noticed that the construction of public polynomials is based on the constant multiples of the n secret polynomials P1, …, Pn depending only on the variables r1, …, rn. Therefore, the resulting Gröbner basis will always contain polynomials depending only on these variables.

We now illustrate Attack 3.1 by mounting it first on the instance of the cryptosystem for n = 2 as given in [18, Section 4] and then for the case of n = 4.

Example 3.2 Using our notations and symbols given in Section Section 2, we use the information presented in encryption example of Markovski, Mileva & Dimitrova (2014) to mount the attack as follows. Here we have n = 2 and the resulting public key consists of the following 4 polynomials Z1, …, Z4 in 3n = 6 unknowns (r1r2s1s2s3s4).

Z 1 = 8 + 7 r 1 + 13 r 2 9 s 1 9 s 4 + 11 r 1 3 + 9 r 2 3 + 9 s 1 3 + 27 r 1 s 4 + 18 r 2 s 2 Z 2 = 21 5 r 1 + 4 r 2 + 9 s 1 3 s 3 + 3 s 4 9 r 1 3 6 r 2 3 6 s 1 3 3 s 2 4 18 r 1 s 4 3 r 2 s 1 12 r 2 s 2 Z 3 = 10 5 r 1 + r 2 + 3 s 1 + 3 s 4 + r 1 3 3 r 2 3 3 s 1 3 9 r 1 s 4 6 r 2 s 2 Z 4 = 13 9 r 1 18 r 2 + 12 s 1 + 12 s 4 16 r 1 3 12 r 2 3 12 s 1 3 36 r 1 s 4 24 r 2 s 2 . This public key has been produced by the key generation process given in Section (2.2) with the following polynomials: P 1 = r 1 2 r 2 , P 2 = r 1 3 2 , P 3 = r 1 3 + r 2 2 + s 1 3 + 3 r 1 s 4 + 2 r 2 s 2 + r 1 + r 2 s 1 s 4 , P 4 = s 2 4 r 2 s 1 + 2 r 1 + s 1 s 3 s 4 . For the construction, the random permutation is taken as τ = (3, 2, 1, 4). The secret matrices involved in transformation Eqs. (4) and (5) are chosen as: M 1 = 1 1 2 1 , M 2 = 1 0 1 1 , M 3 = 1 0 0 1 , M 4 = 1 2 1 1 N 1 = 0 3 1 0 , N 2 = 2 1 1 1 , N 3 = 3 5 1 2 , N 4 = 1 0 0 1 The leaders involved are l1 = (−1, 1) and l2 = (2,  − 1). Finally, a the invertible matrix R of order 2n = 4 is chosen as R = 2 1 0 3 1 2 1 1 0 3 2 0 3 1 1 4 .

The message M = (1, 1) ∈ ℚ2 is encrypted by evaluating the public polynomials at r1 = 1, r2 = 1 and 4 randomly chosen rational numbers s1 = s2 = s3 = 0, s4 = 1. That is, the resulting ciphertext (c1c2c3c4) is computed as: c 1 = Z 1 1 , 1 , 0 , 0 , 0 , 1 = 50 c 2 = Z 2 1 , 1 , 0 , 0 , 0 , 1 = 10 c 3 = Z 3 1 , 1 , 0 , 0 , 0 , 1 = 22 c 4 = Z 4 1 , 1 , 0 , 0 , 0 , 1 = 66 With this ciphertext C = (50,  − 10,  − 22,  − 66), we want to recover the corresponding plaintext M = (1, 1) without usin the secret key. For this purpose, we construct the following system of equations by using the public key polynomials Z1Z2Z3 and Z4 and the ciphertext. Z 1 50 = 0 , Z 2 + 10 = 0 , Z 3 + 22 = 0 , Z 4 + 66 = 0 . To mount the Gröbner basis attack, let I = 〈Z1 − c1Z2 + c2Z3 − c3Z4 − c4〉 be the ideal generated by the above system of multivariate polynomial system of equations.

We use the computer algebra system ApCoCoA (ApCoCoA Team, 2023) and the code given in Appendix A for calculating the reduced Gröbner bases G for the ideal I. The set G is found to contain the following four polynomials: F 1 = r 1 2 r 2 + 1 , F 2 = s 1 3 + 3 2 r 2 2 + 2 r 2 s 2 + 6 r 2 s 4 + 9 4 r 2 s 1 4 s 4 23 4 , F 3 = s 2 4 + r 2 s 1 4 r 2 s 1 + s 3 + s 4 + 3 , F 4 = r 2 3 3 2 r 2 2 + 3 4 r 2 1 4 . Recall that the variables ri’s contain the information about the original message while si are the redundant variables. In the above computed Gröbner basis, we are only interested in polynomials F1 and F4 that are expressed in two required unknowns r1 and r2. Solving F1 = 0 and F4 = 0 simultaneously, the only real solution of F4 = 0 is r2 = 1, and F1 = 0 then gives r1 = 1. This shows that the plaintext M = (r1r2) = (1, 1) has been successfully recovered without using the private key.

Remark 3.3. All computations are performed on the platform of Computer Algebra System ApCoCoA (ApCoCoA Team, 2023). For this purpose the Key Generation Algorithm 2.2 and the Encryption Algorithm 2.3 are implemented in the setting of ApCoCoA as given in Appendix A. The validity of the findings follows from the fact that our code generated the same public polynomials P1P2P3P4 and the ciphertext C = (c1c2c3c4) as given in Markovski, Mileva & Dimitrova (2014). Moreover, the computation of reduced Gröbner basis of the ideal I has been performed by the built-in function ReducedGBasis(I) available in ApCoCoA (ApCoCoA Team, 2023).

Example 3.4. For the case of n = 4, the multivariate ring over ℚ in 3n = 12 indeterminates is ℚ[r1, …, r4s1, …, s8]. As per requitremnt of the cryptosystem presented in Markovski, Mileva & Dimitrova (2014) the following secret polynomials Pi1 ≤ i ≤ 8 are chosen such that the polynomial system {P1 = 0, P2 = 0, P3 = 0, P4 = 0} has unique solution (a1a2a3a4) ∈ ℚ4. P 1 = 5 r 1 + r 2 + r 3 + 2 r 4 + 1 P 2 = r 1 2 r 2 r 4 P 3 = r 1 + 3 r 2 + 2 P 4 = r 1 r 3 + 2 r 1 + r 2 + 1 P 5 = r 1 2 + 5 r 2 2 + s 1 2 + 2 r 2 s 2 + 3 r 1 s 4 + r 1 s 5 + r 2 s 5 + r 1 r 2 s 4 s 5 P 6 = 2 r 1 r 3 2 r 2 s 1 r 3 s 1 s 2 2 + s 2 s 3 s 4 s 5 + s 5 s 6 + r 4 s 7 s 8 2 + 3 s 5 s 7 + s 8 P 7 = 2 r 2 s 2 + r 3 s 3 + s 3 2 5 s 4 2 + s 5 s 6 2 s 5 s 7 + r 1 + 4 r 4 + 2 s 1 s 3 s 5 + s 7 + s 8 + 2 P 8 = r 2 2 + 5 r 3 2 + 5 r 1 s 1 3 s 2 2 3 r 2 s 4 + 2 r 4 s 4 + s 4 2 + r 2 s 6 + r 3 s 7 + s 7 2 + s 8 2 + r 2 r 3 + 2 r 4 s 5 s 7 The random permutation is taken as τ = (3, 5, 1, 6, 8, 2, 4, 7) and for the transformations Eqs. (4) and (5), the secret matrices are taken as: M 1 = 1 1 2 1 2 1 3 1 1 0 0 1 2 1 0 0 , M 2 = 1 0 0 0 1 1 1 2 0 1 1 0 0 0 1 2 , M 3 = 1 0 3 4 0 1 0 3 2 1 3 1 1 0 0 1 , M 4 = 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 . N 1 = 1 3 0 3 1 0 1 0 2 1 1 2 3 0 0 1 , N 2 = 2 1 1 1 1 1 3 4 1 0 1 0 2 3 5 1 , N 3 = 3 5 1 1 1 2 1 0 0 0 2 0 2 0 3 0 , N 4 = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 . The leaders l1l2 and random secret matrix R are l 1 = 1 , 1 , 1 , 1 , l 2 = 2 , 1 , 2 , 2 , and R = 2 1 0 3 1 0 1 3 1 2 1 1 1 5 0 0 0 3 2 0 0 0 3 2 3 1 1 4 4 2 1 1 1 1 2 2 3 1 4 5 1 4 5 1 0 0 0 2 0 1 0 3 3 1 2 0 1 1 1 1 1 1 2 1 . The resulting public polynomials are: Z 1 = 18 r 1 2 + 42 r 2 2 + 88 r 1 r 3 65 r 3 2 65 r 1 s 1 88 r 2 s 1 44 r 3 s 1 + 11 s 1 2 20 r 2 s 2 5 s 2 2 + 21 r 3 s 3 + 44 s 2 s 3 + 21 s 3 2 + 33 r 1 s 4 + 39 r 2 s 4 26 r 4 s 4 118 s 4 2 + 11 r 1 s 5 + 11 r 2 s 5 44 s 4 s 5 13 r 2 s 6 + 65 s 5 s 6 13 r 3 s 7 + 44 r 4 s 7 42 s 5 s 7 13 s 7 2 57 s 8 2 + 158 r 1 + 42 r 2 + 67 r 3 + 103 r 4 + 42 s 1 21 s 3 11 s 4 + 113 s 5 10 s 7 + 65 s 8 + 187 , Z 2 = 64 r 1 2 152 r 2 2 72 r 1 r 3 + 190 r 3 2 + 190 r 1 s 1 + 72 r 2 s 1 + 36 r 3 s 1 38 s 1 2 232 r 2 s 2 78 s 2 2 + 78 r 3 s 3 36 s 2 s 3 + 78 s 3 2 114 r 1 s 4 114 r 2 s 4 + 76 r 4 s 4 352 s 4 2 38 r 1 s 5 38 r 2 s 5 + 36 s 4 s 5 + 38 r 2 s 6 + 42 s 5 s 6 + 38 r 3 s 7 36 r 4 s 7 156 s 5 s 7 + 38 s 7 2 + 74 s 8 2 + 121 r 1 + 287 r 2 8 r 3 + 422 r 4 + 156 s 1 78 s 3 + 38 s 4 186 s 5 + 76 s 7 + 42 s 8 + 341 , Z 3 = 46 r 1 2 34 r 2 2 + 46 r 1 r 3 + 30 r 3 2 + 30 r 1 s 1 46 r 2 s 1 23 r 3 s 1 8 s 1 2 132 r 2 s 2 41 s 2 2 + 58 r 3 s 3 + 23 s 2 s 3 + 58 s 3 2 24 r 1 s 4 18 r 2 s 4 + 12 r 4 s 4 284 s 4 2 8 r 1 s 5 8 r 2 s 5 23 s 4 s 5 + 6 r 2 s 6 + 81 s 5 s 6 + 6 r 3 s 7 + 23 r 4 s 7 116 s 5 s 7 + 6 s 7 2 17 s 8 2 + 207 r 1 + 193 r 2 + 60 r 3 + 306 r 4 + 116 s 1 58 s 3 + 8 s 4 + 13 s 5 + 29 s 7 + 81 s 8 + 347 , Z 4 = 63 r 1 2 7 r 2 2 102 r 1 r 3 35 r 3 2 35 r 1 s 1 + 102 r 2 s 1 + 51 r 3 s 1 + 194 r 2 s 2 + 72 s 2 2 97 r 3 s 3 51 s 2 s 3 97 s 3 2 + 21 r 2 s 4 14 r 4 s 4 + 478 s 4 2 + 51 s 4 s 5 7 r 2 s 6 148 s 5 s 6 7 r 3 s 7 51 r 4 s 7 + 194 s 5 s 7 7 s 7 2 + 44 s 8 2 361 r 1 + 362 r 2 106 r 3 513 r 4 194 s 1 + 97 s 3 49 s 5 39 s 7 148 s 8 616 , Z 5 = 87 r 1 2 141 r 2 2 + 18 r 1 r 3 30 r 3 2 30 r 1 s 1 18 r 2 s 1 9 r 3 s 1 27 s 1 2 54 r 2 s 2 + 9 s 2 2 + 9 s 2 s 3 81 r 1 s 4 + 18 r 2 s 4 12 r 4 s 4 6 s 4 2 27 r 1 s 5 27 r 2 s 5 9 s 4 s 5 6 r 2 s 6 + 9 s 5 s 6 6 r 3 s 7 + 9 r 4 s 7 6 s 7 2 15 s 8 2 + 255 r 1 + 441 r 2 + 86 r 3 + 92 r 4 + 27 s 4 + 60 s 5 3 s 7 + 9 s 8 + 386 , Z 6 = 44 r 1 2 70 r 2 2 + 22 r 1 r 3 25 r 3 2 25 r 1 s 1 22 r 2 s 1 11 r 3 s 1 13 s 1 2 32 r 2 s 2 + 4 s 2 2 + 3 r 3 s 3 + 11 s 2 s 3 + 3 s 3 2 39 r 1 s 4 + 15 r 2 s 4 10 r 4 s 4 20 s 4 2 13 r 1 s 5 13 r 2 s 5 11 s 4 s 5 5 r 2 s 6 + 14 s 5 s 6 5 r 3 s 7 + 11 r 4 s 7 6 s 5 s 7 5 s 7 2 16 s 8 2 + 138 r 1 + 186 r 2 + 53 r 3 + 57 r 4 + 6 s 1 3 s 3 + 13 s 4 + 48 s 5 3 s 7 + 14 s 8 + 208 , Z 7 = 142 r 1 2 248 r 2 2 76 r 1 r 3 + 285 r 3 2 + 285 r 1 s 1 + 76 r 2 s 1 + 38 r 3 s 1 61 s 1 2 416 r 2 s 2 133 s 2 2 + 147 r 3 s 3 38 s 2 s 3 + 147 s 3 2 183 r 1 s 4 171 r 2 s 4 + 114 r 4 s 4 678 s 4 2 61 r 1 s 5 61 r 2 s 5 + 38 s 4 s 5 + 57 r 2 s 6 + 109 s 5 s 6 + 57 r 3 s 7 38 r 4 s 7 294 s 5 s 7 + 57 s 7 2 + 95 s 8 2 + 404 r 1 + 875 r 2 + 55 r 3 + 845 r 4 + 294 s 1 147 s 3 + 61 s 4 257 s 5 + 128 s 7 + 109 s 8 + 929 , Z 8 = 79 r 1 2 + 5 r 2 2 + 136 r 1 r 3 136 r 2 s 1 68 r 3 s 1 + s 1 2 198 r 2 s 2 68 s 2 2 + 100 r 3 s 3 + 68 s 2 s 3 + 100 s 3 2 + 3 r 1 s 4 500 s 4 2 + r 1 s 5 + r 2 s 5 68 s 4 s 5 + 168 s 5 s 6 + 68 r 4 s 7 200 s 5 s 7 68 s 8 2 + 479 r 1 + 557 r 2 + 151 r 3 + 566 r 4 + 200 s 1 100 s 3 s 4 + 103 s 5 + 32 s 7 + 168 s 8 + 793 . The message M = (15, 10, 2, 3) ∈ ℚ4 is encrypted by evaluating the public key polynomials at r1 = 15, r2 = 10, r3 = 2, r4 = 3 and 8 randomly chosen rational numbers s1 = 0, s2 = 1, s3 = 2, s4 = 0, s5 =  − 10, s6 = 2, s7 = 5, s8 = 1. The encryption scheme ?? resulted in the ciphertext (c1c2, …, c8) as given below: c 1 = Z 1 15 , 10 , 2 , 3 , 0 , 1 , 2 , 0 , 10 , 2 , 5 , 1 = 3258 c 2 = Z 2 15 , 10 , 2 , 3 , 0 , 1 , 2 , 0 , 10 , 2 , 5 , 1 = 6360 c 3 = Z 3 15 , 10 , 2 , 3 , 0 , 1 , 2 , 0 , 10 , 2 , 5 , 1 = 585 c 4 = Z 4 15 , 10 , 2 , 3 , 0 , 1 , 2 , 0 , 10 , 2 , 5 , 1 = 8226 c 5 = Z 4 15 , 10 , 2 , 3 , 0 , 1 , 2 , 0 , 10 , 2 , 5 , 1 = 19001 c 6 = Z 4 15 , 10 , 2 , 3 , 0 , 1 , 2 , 0 , 10 , 2 , 5 , 1 = 9398 c 7 = Z 4 15 , 10 , 2 , 3 , 0 , 1 , 2 , 0 , 10 , 2 , 5 , 1 = 9244 c 8 = Z 4 15 , 10 , 2 , 3 , 0 , 1 , 2 , 0 , 10 , 2 , 5 , 1 = 8465 . With this ciphertext C = (3258,  − 6360, 585,  − 8226,  − 19001,  − 9398,  − 9244, 8465), we want to recover the corresponding plaintext M = (15, 10, 2, 3) without using the secret key. For this purpose, we construct the following system of equations by using the public key polynomials Z1Z2, …, Z8 and the ciphertext C. Z 1 3258 = 0 , Z 2 + 6360 = 0 , Z 3 585 = 0 , Z 4 + 8226 = 0 , Z 5 + 19001 = 0 , Z 6 + 9398 = 0 , Z 7 + 9244 = 0 , Z 8 8465 = 0 .

To mount Attack 3.1, let I = 〈Z1 − c1Z2 + c2, …, Z8 − c8〉 be the ideal generated by the above system of multivariate polynomial equations. Using the computer algebra system (ApCoCoA Team, 2023), the reduced Gröbner basis G of the ideal I is computed. The computed Gröbner basis G contains a total of 34 multivariate polynomials and of these polynomials, the following five polynomials are depending only on the variables of interest, that is, r1, …, r4. G 1 = r 3 2 + 8971 24 r 3 15 4 r 4 2221 3 , G 2 = r 1 + 3 16 r 3 + 3 8 r 4 33 2 , G 3 = r 2 + 1 16 r 3 + 1 8 r 4 21 2 , G 4 = r 3 r 4 3713 16 r 3 11 24 r 4 + 919 2 , G 5 = r 4 2 + 27121 288 r 3 11575 144 r 4 + 1577 36 . To recover the message M ∈ ℚ4, solve the system G 1 = 0 , G 2 = 0 , G 3 = 0 , G 4 = 0 , G 5 = 0 .

Label the variables r1r2r3, and r4 by xyz,  and w respectively and then use online polynomial system solver by Wolfram (available at https://www.wolframalpha.com/calculators/equation-solver-calculator). The only rational solution of the polynomial system Eq. (8) is given below: r 1 = x = 15 , r 2 = y = 10 , r 3 = z = 2 , and r 4 = w = 3 . Hence, the message M = (15, 10, 2, 3) is successfully recovered by mounting the attack.

Remark 3.5. We have observed that the proposed cryptosystem is vulnerable to the Gröbner bases attack. The bipermutations used to produce the public key are linear in which the polynomials are not multiplied with each other. This can be the weakest part of its construction. Because using linear bipermutations the Gröbner bases will contain the polynomials separately in the variables as were the starting polynomials. Among these, the polynomials in informative variables can be solved to get plaintext. The main cost in this attack is the Gröbner bases computation.

Complexity Analysis

As stated earlier that the success of Attack 3.1, depends on the computation of Gröbner basis of the ideal of interest. It is also known that the upper bound for the complexity of finding the solutions of a multivariate polynomial system with the help of the computation of Gröbner basis is a function of the degree of regularity dreg, the maximum degree observed during the process of computation. In the worst case scenario, this complexity is known to be doubly exponential in number of variables n, for details see (Bardet, Faugère & Salvy, 2015) and the references therein. This means that, in general or random setting, finding Gröbner basis is not an easy job. However, in the present scenario, to leave a trapdoor for the multivariate polynomial cryptosystem under consideration, the polynomials {P1, …, Pn} are special in the sense that the system of equations Eq. (3) should has a unique solution (r1, …, rn) = (a1, …, an) ∈ ℚn for all choices of the constants bi’s.

Moreover, for the secure instances of the cryptosystem, the authors suggested that the value of n = 4 is safe to choose . Therefore, in any such instance, there will be 2n = 8 polynomials in 3n = 12 variables r1, …, r4z1, …, z8. Out of these 8 polynomials, four polynomials P1, …, P4 are depending only on 4 variables r1, …, r4. For the required trapdoor in the construction presented in Construction 2.1, one has to start by choosing these four polynomials in such a way that the system P 1 r 1 , , r 4 = b 1 , P 2 r 1 , , r 4 = b 2 , P 3 r 1 , , r 4 = b 3 , P 4 r 1 , , r 4 = b 4 , has a unique solution (r1r2r3r4) = (a1a2a3a4) ∈ ℚ4 for all choices of the constants b1b2b3 and b4. Later on, 4 more polynomials are constructed by involving all the 12 variables, making a system of 8 equations in 12 unknowns. The public key polynomials {Z1, …, Z3n} are then obtained by some random linear combinations of the polynomials {P1, …, P2n} by using bipermutations Eqs. (4) and (5). In the entire construction, only n variables r1, …, rn are basic (or informative) and rest of the 2n variables s1, …, s2n are redundant.

The requirement of the unique solution of the system Eq. (9) makes the system Eq. (7) of 2n polynomials quite special rather than a general and hence the worst case scenario of the complexity of Gröbner basis computation is not applicable here. Moreover, we are not interested in the infinitely many solutions of the system Eq. (7) containing the values of the redundant unknowns s1, …, s2n but only the unknowns r1, …, rn are required to recover the message M. It, therefore, follows that there is no need to compute the complete Gröbner basis of the ideal I = 〈Z1 − c1Z2 + c2, …, Z8 − c8〉. One can terminate the Gröbner basis computation process when sufficient number of polynomials depending only on the basic variables are obtained. Again, the worst-case estimate of the complexity is not applicable.

This can also be achieved with the help of the well known application of the Gröbner basis, namely, the elimination theory. That is, just calculate the elimination ideal I∩ℚ[r1, …, r4] and then solve the system to recover the message.

Several instances of the multivariate cryptosystem as illustrated in Example 3.4 are computed for n = 4 and the message was successfully recovered by mounting Attack 3.1 and the Encryption Code (Appendix A) on the Dell laptop Latitude 3520 (11th Gen Intel(R) Core(TM) i5-1135G7 2.40 GHz, 8.0 GB Ram). For the computations involved in Example 3.4, the CPU time was recorded by ApCoCoA (ApCoCoA Team, 2023) as 7.2 sec. for the complete Gröbner basis computation. On the other hand, the total CPU time recorded as 285 millisecond by ApCoCoA in the computation of elimination ideal J = I∩ℚ[r1r2r3r4] and then computation of Gröbner basis of J. In many other instances with the parameter n = 4, the recorded time for the reduced Gröbner basis computation was within 2 sec. Therefore, the multivariate cryptosystem presented in Section Construction 2.1 is not secure against Gröbner basis Attack.

Conclusion and Future Work

In this article, we studied the security of the multivariate polynomial trapdoor public key cryptosystem proposed by Markovski, Mileva & Dimitrova (2014). We found that although the public key consists of less polynomials than the number of variables which will result in infinite many solutions of the polynomial system, even then the cryptosystem does not seem to be secure. One can mount a Gröbner bases attack against the recommended parameter n = 2 and nonlinear multivariate polynomial system (Eq. (3)) to recover the message without the knowledge of the secret key. The attack successfully recovers the original message that was encrypted by this cryptosystem in Section 4 of Markovski, Mileva & Dimitrova (2014). Moreover, the successful cryptanalysis of several other instances of this cryptosystem reveals that this cryptosystem is vulnerable to Gröbner bases attack. Moreover, the starting step in the key generation algorithms is to choose suitable polynomials in a way that the system (Eq. (3)) should have a unique solution. Although a linear system to meet this requirement can be constructed trivially but the construction of a nonlinear system of polynomial equations for n ≥ 4 is not an easy task. Therefore, a concrete way should be provided to formulate a system having unique real solution to generate a strong public key; that is, a public key to produce a ciphertext which is secure against Gröbner bases attack. Hence, we conclude that there are many security flaws in the proposed multivariate cryptosystem.

  Visitors   Views   Downloads