Discrete Logarithm of to the Base , Denoted , Is the Unique Integer , Ö²IÒQÚ
Total Page:16
File Type:pdf, Size:1020Kb
¢¡¤£¦¥§£¦¥©¨ ¢¡ ¨ ©¡¤¤ "!"#%$&$(')$(*©+-,.,"/10123!547698&,":$(;(6< ,.=&8?>A@BDCFEHGIKJ¤LK¥>NMOEQPR¨J S ¥UTV¡¤>?¨J¤WDX¤E YZ¨J¤¥1J¤>? ¢[ \M©¥¥U>^]`__aE b(¢c¤1¡¤Z£¦J¤U7¨£¦J¤>&¥UKedfd3dhgUifjfikhg1lOjm3nhg1ofdOjmfpfkOqfr3rsgUifjRtnOj3i ¢[ uM©UK¥¥ ¡¤¨¥wvU¨JKWx¡¤7y¦y¦Vz{£¦J¤v|¥ AKTK£¦}¤T~ O7£¦¥¥£¦J¤¥ ¡¤~Ky¦KTUJ¤£¦TwP¤K¥U£QJ?¡¤£¦¥ @ARf M.K7£¦¥¥U£J-£¦¥^vQ¨JW{U£PHK>O ¤£¦J ¨J W¥Z¨¥U£J vyFTK B|f¡¤£¦¥^TV¡¤¨Q ^ AKU¥J¤¨Qyc ¥KE ¢¡¤£¥ O7£¦¥¥£¦JW R¥ J¤`3KJ¤WDD@¤£J W¤£J vc y£ ¤y¦TV¡ ¨ ¥Q ¡¤@A3f> ¡¤3TKQ BO£¦J¤vIw ¤URW c¤TK£¦J¤vT ¤£¦K¥{w¡ K¢¡¤¨J AK¥UJ¤¨y©c¤¥U¡¤ AKU¥J5TK¨`£¦J¤v¡ TK B>¢7¨f£¦J¤vKy¦KTQJ¤£T-T ¤£¦K¥¨PR¨£¦y¨Q@¤y U£¦PR¨y^@B ¡¤KU¥sz{£¡¤c ¤U£h AKU~£¦¥¥U£QJ£¦J7z{U££J¤v~Q ¢[ MUK¥U¥E &OTKK <z{¡¤KUPHK1VU£W¤W KJ@B¡¤¥U OTK£¦}¤T- O7£¦¥¥£¦J5¨@APH>¡¤¥1¨J W¤¨WTK BO£¦v¡xJ¤£T Q ¢[ \M©UK¥¥Z¨ ¤ y£¦K¥%¡ £¥hKy¦KTUJ¤£¦ThP¤K¥U£QJ¤ FK£¡¤¡¤£¥§@O3J §¨QJBD ¨F7¨B@AZK 3W¤c¤TKW&U¨J¤¥U~£KW£¦J¨QJBDQu @B¨JB7K¨QJ¤¥>hKy¦KTUJ¤£¦T7TV¡¤¨J¤£¦TK¨y¦>h£J TKy¦c¤W¤£¦J¤v ¤¡¤RT BN£¦J¤v>¢7£¦TKU}¤y¦~£¦J¤v> ¨J WKTW £J¤vQ>%@B5¨JB£J¤Q7¨£¦J¥1U¨ve£¦PR¨ys¥1BO¥7>?z{£¡ c~ ¤U£ AKU~£¦¥¥U£QJ£¦J7z{U££J¤v~Q ¡ { c¤@¤y¦£¥U¡¤KUE ¢¡¤7TJ¤¥JQ§ ¢[ M©¥¥{W¤R¥ J¤~3KJ¤Wx-T BN£¦J¤vD vJ¤KU¨ysW¤£¦¥£¦@¤c£¦J¤> § ¤Q~`£¦J¤>NQ§TK¨`£¦J¤vJ¤z¡zef¥>N^§¥¨y¦KEhX¤ AKT£}¤Te O7£¥U¥£¦Jxc¤¥1{@O @<¨£¦J¤KWD£¦J7z{U££J¤v~Q ¢[ \M©UK¥¥Z¢¥Uc¤TV¡T BN£¦J¤vE ¢ T ]__Q£@B ¢[^ ¤M©¥¥>¥¦J¤TE Chapter Number-Theoretic Reference Problems Contents in Brief 3.1 Introduction and overview §?§&§?§?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 87 3.2 The integer factorization problem §&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 89 3.3 The RSA problem §?§?§&§?§?§?§&§?§?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 98 3.4 The quadratic residuosity problem §&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 99 3.5 Computing square roots in ¨ª©«§?§?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 99 3.6 The discrete logarithm problem §?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 103 3.7 The Dif®e-Hellman problem §&§?§?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 113 3.8 Composite moduli §?§?§&§?§?§?§&§?§?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 114 3.9 Computing individual bits §?§&§?§?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 114 3.10 The subset sum problem §?§?§&§?§?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 117 3.11 Factoring polynomials over ®nite ®elds §?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 122 3.12 Notes and further references §&§?§?§&§?§?§?§&§?§?§?§N§?§?§&§?§?§?§&§ 125 3.1 Introduction and overview The security of many public-key cryptosystems relies on the apparent intractability of the computational problems studied in this chapter. In a cryptographic setting, it is prudent to make the assumption that the adversary is very powerful. Thus, informally speaking, a com- putational problem is said to be easy or tractable if it can be solved in (expected) ¬ polyno- mial time, at least for a non-negligible fraction of all possible inputs. In other words, if there is an algorithm which can solve a non-negligible fraction of all instances of a problem in polynomial time, then any cryptosystem whose security is based on that problem must be considered insecure. The computational problems studied in this chapter are summarized in Table 3.1. The true computational complexities of these problems are not known. That is to say, they are widely believed to be intractable, although no proof of this is known. Generally, the only lower bounds known on the resources required to solve these problems are the trivial linear bounds, which do not provide any evidence of their intractability. It is, therefore, of inter- est to study their relative dif®culties. For this reason, various techniques of reducing one ® For simplicity, the remainder of the chapter shall generally not distinguish between deterministic polynomial- time algorithms and randomized algorithms (see ¯ 2.3.4) whose expected running time is polynomial. ° More precisely, these problems are intractable if the problem parameters are carefully chosen. 87 88 Ch. 3 Number-Theoretic Reference Problems Problem Description FACTORING Integer factorization problem: given a positive integer ± , ®nd ¹ ´¸ ³´¶ ³ its prime factorization; that is, write ±²)³´Uµ where ¬ |·U·· »¦ºH¼x½ the ³º are pairwise distinct primes and each . RSAP RSA problem (also known as RSA inversion): given a positive ³ ¾ integer ± that is a product of two distinct odd primes and , a ¿`ÀUÁ9ÂûĦ³^Ž`ÆÃÂþ?Ž`ÆÆN²½ positive integer » such that , and an Ç È È ÇZÂÃÊ^ËÁ^±(Æ integer , ®nd an integer such that ´sÉ . QRP Quadratic residuosity problem: given an odd composite inte- ± Ì Í ²½ ger and an integer having Jacobi symbol Î , decide ± whether or not Ì is a quadratic residue modulo . Î ± Ì^Ï{Ð SQROOT Square roots modulo ± : given a composite integer and Ì (the set of quadratic residues modulo ± ), ®nd a square root of ± Ñ Ñ ÌÂÃÊ^ËÁ±(Æ modulo ; that is, an integer such that É . Ò DLP Discrete logarithm problem: given a prime ³ , a generator of ÓNÔ ÓNÔ Õ Õ Ñ ×^ØÑ7س^ÅÙ , and an element ÖÏ , ®nd the integer , , ÒÚ ÖÂÊËÁ³Æ such that É . GDLP Generalized discrete logarithm problem: given a ®nite cyclic ± Ò Û ÖÏ{Û group Û of order , a generator of , and an element , שØ7Ñ Ø±wÅ7½ ÒQÚ²~Ö ®nd the integer Ñ , , such that . ÓNÔ Õ Ò DHP Dif®e-Hellman problem: given a prime ³ , a generator of , Ò ÊËÁ³ ÒÜ&ÊËÁs³ Ò ÜÊ^ËÁ³ Í and elements Í and , ®nd . GDHP Generalized Dif®e-Hellman problem: given a ®nite cyclic group Û Ò Û Ò ÒQÜ Ò Ü Í , a generator of , and group elements Í and , ®nd . SUBSET-SUM Subset sum problem: given a set of positive integers Ý ÎªÞ ÄUÌ Ä ÄÌ ß Ì and a positive integer , determine whether or ¬ ·U·· ß not there is a subset of the ÌVà that sums to . Table 3.1: Some computational problems of cryptographic relevance. computational problem to another have been devised and studied in the literature. These re- ductions provide a means for converting any algorithm that solves the second problem into an algorithm for solving the ®rst problem. The following intuitive notion of reducibility (cf. á 2.3.3) is used in this chapter. ã â 3.1 De®nition Let â and be two computational problems. is said to polytime reduce to âDØ?äã â ã , written , if there is an algorithm that solves which uses, as a subroutine, a hypothetical algorithm for solving ã , and which runs in polynomial time if the algorithm å for ã does. ã ã â Informally speaking, if â polytime reduces to , then is at least as dif®cult as ; ã â equivalently, â is no harder than . Consequently, if is a well-studied computational problem that is widely believed to be intractable, then proving that âxØ?ä~ã provides strong evidence of the intractability of problem ã . â ã â|Ø ã ãØ â ä 3.2 De®nition Let and be two computational problems. If ä and , then â ã â ã ä and are said to be computationally equivalent, written É . æ ç In the literature, the hypothetical polynomial-time subroutine for ç is sometimes called an oracle for . è c 1997 by CRC Press, Inc. Ð See accompanying notice at front of chapter. é 3.2 The integer factorization problem 89 â äã â ã Informally speaking, if É then and are either both tractable or both in- tractable, as the case may be. Chapter outline The remainder of the chapter is organized as follows. Algorithms for the integer factoriza- tion problem are studied in á 3.2. Two problems related to factoring, the RSA problem and á the quadratic residuosity problem, are brie¯y considered in á 3.3 and 3.4. Ef®cient algo- Ó Õ á rithms for computing square roots in , ³ a prime, are presented in 3.5, and the equiva- lence of the problems of ®nding square roots modulo a composite integer ± and factoring á ± is established. Algorithms for the discrete logarithm problem are studied in 3.6, and the related Dif®e-Hellman problem is brie¯y considered in á 3.7. The relation between the problems of factoring a composite integer ± and computing discrete logarithms in (cyclic ÓNÔ Î subgroups of) the group is investigated in á 3.8. The tasks of ®nding partial solutions to the discrete logarithm problem, the RSA problem, and the problem of computing square á êfå roots modulo a composite integer ± are the topics of 3.9. The -lattice basis reduction algorithm is presented in á 3.10, along with algorithms for the subset sum problem and for simultaneous diophantine approximation. Berlekamp's Ð -matrix algorithm for factoring á polynomials is presented in á 3.11. Finally, 3.12 provides references and further chapter notes. 3.2 The integer factorization problem The security of many cryptographic techniques depends upon the intractability of the in- teger factorization problem. A partial list of such protocols includes the RSA public-key á encryption scheme ( á 8.2), the RSA signature scheme ( 11.3.1), and the Rabin public-key encryption scheme ( á 8.3). This section summarizes the current knowledge on algorithms for the integer factorization problem. 3.3 De®nition The integer factorization problem (FACTORING) is the following: given a ¹ ´¸ µ ¶ ±-²³´ ³´ ³ positive integer ± , ®nd its prime factorization; that is, write where the ¬ Iëëë º º » ¼D½ ³ are pairwise distinct primes and each . 3.4 Remark (primality testing vs. factoring) The problem of deciding whether an integer is composite or prime seems to be, in general, much easier than the factoring problem. Hence, before attempting to factor an integer, the integer should be tested to make sure that it is indeed composite.