Poly-Dragon: an Efficient Multivariate Public Key Cryptosystem
Total Page:16
File Type:pdf, Size:1020Kb
J. Math. Cryptol. 4 (2010), 349–364 DOI 10.1515/JMC.2011.002 © de Gruyter 2011 Poly-Dragon: an efficient multivariate public key cryptosystem Rajesh P. Singh, A. Saikia and B. K. Sarma Communicated by Neal Koblitz Abstract. In this paper, we propose an efficient multivariate public key cryptosystem. Public key of our cryptosystem contains polynomials of total degree three in plaintext and ciphertext variables, two in plaintext variables and one in ciphertext variables. However, it is possible to reduce the public key size by writing it as two sets of quadratic multivariate polynomials. The complexity of encryption in our public key cryptosystem is O.n3/, where n is bit size, which is equivalent to other multivariate public key cryptosystems. For decryption we need only four exponentiations in the binary field. Our Public key algorithm is bijective and can be used for encryption as well as for signatures. Keywords. Permutation polynomial, multivariate cryptography, Little Dragon and Big Dragon cryptosystems. 2010 Mathematics Subject Classification. 11T71, 11T06, 94A60. 1 Introduction Public key cryptography has several practical applications, for example in elec- tronic commerce systems for authentication (electronic signatures) and for secure communication. The most widely used cryptosystems RSA and ECC (elliptic curve cryptosystems) are based on the problems of integer factorization and dis- crete logarithm respectively. Integer factorization and discrete logarithm problems are only believed to be hard but no proof is known for their NP-completeness or NP-hardness. Improvements in factorization algorithms and computation power demands larger bit size in RSA key which makes RSA less efficient for practical applications. Although RSA and ECC have some drawbacks, they are still not broken. But in 1999 [18] Peter Shor discovered the polynomial time algorithm for integer factorization and computation of discrete logarithm on quantum com- puters. Thus, once we have quantum computers in the range of 1,000 bits, the cryptosystems based on these problems can no longer be considered secure. So there is a strong motivation to develop public key cryptosystems based on prob- 350 R. P. Singh, A. Saikia and B. K. Sarma lems which are secure on both conventional and quantum computers. Multivariate cryptography is based on the problem of solving system of nonlinear equations over finite fields which is proven to be NP-complete. Quantum computers do not seem to have any advantage on solving NP-complete problems, so multivariate cryptography can be a viable option applicable to both conventional and quan- tum computers. MIC*, the first practical public key cryptosystem based on this problem was proposed in 1988 [13] by T. Matsumoto and H. Imai. The MIC* l cryptosystem was based on the idea of hiding a monomial x2 C1 by two invert- ible affine transformations. This cryptosystem was more efficient than RSA and ECC. Unfortunately, this cryptosystem was broken by Patarin in 1995 [14]. In 1996 [15] Patarin gave a generalization of MIC* cryptosystem called HFE. How- ever in HFE the secret key computation was not as efficient as in the original MIC* cryptosystem. The basic instance of HFE was broken in 1999 [10]. The at- tack uses a simple fact that every homogeneous quadratic multivariate polynomial has a matrix representation. Using this representation a highly over defined system of equations can be obtained which can be solved by a new technique called re- linearization. Patarin [16] investigated whether it is possible to repair MIC* with the same kind of easy secret key computations. He designed some cryptosystems known as Dragons (Little Dragon and Big Dragon) with multivariate polynomials of total degree 3 or 4 in public key (instead of 2) with enhanced security and with efficiency comparable to MIC*. In Dragon cryptosystems the public key was of mixed type of total degree 3 which is quadratic in plaintext variables and linear in ciphertext variables. However, Patarin [16] found that Dragon scheme with one hidden monomial is insecure. Some more multivariate public key cryptosystems can be found in [19] and [4]. For a brief introduction of multivariate cryptography we refer interested readers to [20]. An interesting introduction of hidden mono- mial cryptosystems can be found in [11]. Designing secure and efficient multivariate public key cryptosystems contin- ues to be a challenging area of research in recent years. In this paper, we present Poly-Dragon, an efficient multivariate public key Cryptosystem. Like Big Dragon cryptosystem the public key in our cryptosystem is of mixed type of total degree three, two in plaintext variables and one in ciphertext variables. However, it is possible to reduce the public key size by writing it as two sets of quadratic mul- tivariate polynomials (see [16]). The efficiency of our public key cryptosystem is equivalent to that of Big Dragon cryptosystem. The complexity of encryption or signature verification is equivalent to other multivariate public key cryptosystems, that is, O.n3/ where n is the bit size. In decryption or in signature generation we need four exponentiations in the finite field F2n and this results in much faster decryption and signature generation. The organization of the paper is as follows. In Section 2 we give some preliminaries and in Section 3 we generate some per- Poly-Dragon: an efficient multivariate public key cryptosystem. 351 mutation polynomials. In Section 4 we present our cryptosystem. In Section 5 we give the security analysis and in Section 6 we discuss the efficiency of the cryptosystem. Finally we make some concluding remarks in Section 7. 2 Preliminaries n Let p beaprime,n be a positive integer, and Fq be the finite field of q D p elements. A polynomial f.x/in FqŒx is said to be a permutation polynomial,ifit is a bijection of Fq onto Fq. For a polynomial f 2 FqŒx the following conditions are equivalent: (i) f is a permutation polynomial of Fq. (ii) the function f W Fq 7! Fq is onto. (iii) the function f W Fq 7! Fq is one-to-one. (iv) f.x/D a has a solution in Fq for each a 2 Fq. (v) f.x/D a has a unique solution in Fq for each a 2 Fq. Lemma 2.1 ([12]). (1) Every linear polynomial ax C b; a ¤ 0 over Fq is a permutation polynomial of Fq. k (2) The monomial x is a permutation polynomial of Fq if and only if gcd.k; q 1/ D 1. A polynomial L.x/ 2 Fqm Œx is called a linearized polynomial over Fq if mX1 qi L.x/ D ˛i x : (2.1) iD0 A linearized polynomial L.x/ satisfies the following: L.ˇ C / D L.ˇ/ C L./ and L.aˇ/ D aL.ˇ/ for all ˇ; 2 Fqm and a 2 Fq. Thus, L.x/ is a linear operator of the vector space Fqm over Fq. Consequently, L.x/ is a permutation polynomial of Fqm if and only if the only root of L.x/ in Fqm is 0. Let B D¹#1;#2;:::;#nº be aP basis of F2n over F2. Any element x 2 F2n n can be uniquely expressed as x D iD0 xi #i . Thus, F2n can be identified with n F2 and the element x 2 F2n with the n-tuple .x1;x2;:::;xn/.Theweight of x D .x1;x2;:::;xn/, denoted by !.x/, is defined to be the number of 1’s in x. Corresponding to an element ˛ D .˛0;˛1;:::;˛n1/ of the finite field F2n ,we define a linearized polynomial L˛.x/ on F2n as nX1 2i L˛.x/ D ˛i x : (2.2) iD0 352 R. P. Singh, A. Saikia and B. K. Sarma We use Tr.x/to denote the trace function from the field F2n to F2, i.e., 2 n1 Tr.x/D x C x2 C x2 CCx2 : 3 Some permutation polynomials In this section, we generate some families of permutation polynomials over F2n which will be used for the proposed cryptosystem. Proposition 3.1. Let n be an odd positive integer, and ˇ D .ˇ1;ˇ2;:::;ˇn/ be an element of F2n such that !.ˇ/ is even and that 0 and 1 are the only roots of Lˇ .x/ k in F2n . Suppose k1 and k2 are two nonnegative integers such that gcd.2 1 C 2k2 ;2n 1/ D 1.Let` be any positive integer with .2k1 C 2k2 / ` D 1 mod 2n 1 and be an element of F2n with Tr./D 1.Then ` f.x/D .Lˇ .x/ C / C Tr.x/ is a permutation polynomial of F2n . Proof. Suppose x and y are distinct elements in F2n such that f.x/ D f.y/.We claim that Tr.x/ ¤ Tr.y/. Otherwise, f.x/ D f.y/ implies that .Lˇ .x/ C ` ` / D .Lˇ .x/ C / . Thus, we have .Lˇ .x/ C / D .Lˇ .x/ C /,thatis, Lˇ .x C y/ D 0. Since x ¤ y and Lˇ .x/ has only 0 and 1 as roots, we have x C y D 1. Then, Tr.x/C Tr.y/ D Tr.x C y/ D 1, since n is odd. This contradiction shows Tr.x/ ¤ Tr.y/. Without loss of generality we may assume that Tr.x/D 0 and Tr.y/D 1.Now,f.x/D f.y/implies that ` ` .Lˇ .x/ C / D .Lˇ .y/ C / C 1 and therefore ` 2k1 C2k2 Lˇ .x/ C D Œ.Lˇ .y/ C / C 1 `.2k1 C2k2 / `:2k1 `2k2 D .Lˇ .y/ C / .Lˇ .y/ C / C.Lˇ .y/ C / C1 `:2k1 `2k2 D Lˇ .y/ C C .Lˇ .y/ C / C .Lˇ .y/ C / C 1; k1 k2 n since .2 C 2 / ` 1 mod 2 1.