<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Felix&#039; Math Place &#187; DLP</title>
	<atom:link href="http://math.fontein.de/tag/dlp/feed/" rel="self" type="application/rss+xml" />
	<link>http://math.fontein.de</link>
	<description>Focussed on, but not limited to Computational Number Theory</description>
	<lastBuildDate>Sat, 30 Jul 2011 12:35:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>One-dimensional Infrastructures.</title>
		<link>http://math.fontein.de/2009/07/20/one-dimensional-infrastructures/</link>
		<comments>http://math.fontein.de/2009/07/20/one-dimensional-infrastructures/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 03:45:16 +0000</pubDate>
		<dc:creator>Felix Fontein</dc:creator>
				<category><![CDATA[Algebra]]></category>
		<category><![CDATA[Number Theory]]></category>
		<category><![CDATA[baby steps]]></category>
		<category><![CDATA[DLP]]></category>
		<category><![CDATA[finite cyclic groups]]></category>
		<category><![CDATA[giant steps]]></category>
		<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[one-dimensional]]></category>

		<guid isPermaLink="false">http://math.fontein.de/?p=100</guid>
		<description><![CDATA[We give the definition of one-dimensional infrastructures and construct baby and giant steps. Moreover, we show that one-dimensional infrastructures generalize finite cyclic groups. Finally, we give some remarks on our choice of the giant step definition.]]></description>
			<content:encoded><![CDATA[<p>One-dimensional <a href="http://math.fontein.de/forward.php?r=http://math.fontein.de/2009/07/20/the-discrete-logarithm-problem-and-generalizations/">infrastructures</a> first appeared in the 1970&#8242;s in <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Daniel_Shanks">Daniel Shanks</a>&#8216; work on real <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Quadratic_field">quadratic number fields</a> <img src='http://math.fontein.de/wp-content/latex/d00/d00248310d083ee38220fcd63c90da45-T-000000-0.png' alt='\Q(\sqrt{D})' title='\Q(\sqrt{D})' class='latex-inline' />, <img src='http://math.fontein.de/wp-content/latex/d81/d81425db5fb71d5bdf550025e13f27d5-T-000000-0.png' alt='D &gt; 1' title='D &gt; 1' class='latex-inline' /> a squarefree integer, when he tried to fasten <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Dirichlet's_unit_theorem">regulator computations</a>. The previous algorithms used <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Continued_fraction">continued fraction expansion</a> to obtain the regulator in <img src='http://math.fontein.de/wp-content/latex/285/2855186bf61c2911a4f7d2266d06bb1a-T-000000-0.png' alt='\calO(D^{1/2 + \varepsilon})' title='\calO(D^{1/2 + \varepsilon})' class='latex-inline' /> binary operation, <img src='http://math.fontein.de/wp-content/latex/d74/d74ee6015ea3496d30f5596af4ffdeb0-T-000000-0.png' alt='\varepsilon &gt; 0' title='\varepsilon &gt; 0' class='latex-inline' /> arbitrary. Shanks found out that one can obtain a multiplication like operation, which he dubbed <i>giant steps</i>, as opposed to the <i>baby steps</i> taken by one step in the continued fraction expansion. He described a <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Baby-step_giant-step">baby step-giant step method</a> to compute the regulator in <img src='http://math.fontein.de/wp-content/latex/d39/d390c857ac766f503a264fa63ac6a64c-T-000000-0.png' alt='\calO(D^{1/4 + \varepsilon})' title='\calO(D^{1/4 + \varepsilon})' class='latex-inline' /> binary operations, requiring <img src='http://math.fontein.de/wp-content/latex/d39/d390c857ac766f503a264fa63ac6a64c-T-000000-0.png' alt='\calO(D^{1/4 + \varepsilon})' title='\calO(D^{1/4 + \varepsilon})' class='latex-inline' /> bytes of storage. His methods were analysed, written up more clearly and extended by various people, including <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Hendrik_Lenstra">Hendrik Lenstra</a>, Hugh Williams, <a href="http://math.fontein.de/forward.php?r=http://de.wikipedia.org/wiki/Johannes_Buchmann">Johannes Buchmann</a>, Rene Schoof, and many others. Extensions of the method to function fields exist as well, most notably due to the work of Andreas Stein and Renate Scheidler.</p>

<p>I begin with giving an abstract definition of a one-dimensional infrastructure.</p>
<blockquote class='theorem'><div class='theoremtitle'>Definition (One-dimensional infrastructure).</div> <div class='theoremmain'>
Let <img src='http://math.fontein.de/wp-content/latex/53c/53c3abe79fd26ae79ed63ffc0ed43ba7-T-000000-0.png' alt='R &gt; 0' title='R &gt; 0' class='latex-inline' /> be a real number. A <i>one-dimensional infrastructure</i> of circumference <img src='http://math.fontein.de/wp-content/latex/e1e/e1e1d3d40573127e9ee0480caf1283d6-T-000000-0.png' alt='R' title='R' class='latex-inline' /> is a pair <img src='http://math.fontein.de/wp-content/latex/086/086beb6a6c8a029942238364e5a8beab-T-000000-0.png' alt='(X, d)' title='(X, d)' class='latex-inline' />, where <img src='http://math.fontein.de/wp-content/latex/ad7/ad7c076d1b08f5c2422009b62fce1f6b-T-000000-0.png' alt='X \neq \emptyset' title='X \neq \emptyset' class='latex-inline' /> is a finite set and <img src='http://math.fontein.de/wp-content/latex/f0f/f0f2a25bb090add1980a3f5b57a78eb8-T-000000-0.png' alt='d : X \to \R/R\Z' title='d : X \to \R/R\Z' class='latex-inline' /> is an injective map.
</div></blockquote>
<p>If you interpret <img src='http://math.fontein.de/wp-content/latex/53d/53dc442d7f128388d1022722a9fb1699-T-000000-0.png' alt='\R/R\Z' title='\R/R\Z' class='latex-inline' /> as a circle of circumference <img src='http://math.fontein.de/wp-content/latex/e1e/e1e1d3d40573127e9ee0480caf1283d6-T-000000-0.png' alt='R' title='R' class='latex-inline' /> (think of it as folding up the real line, such that two numbers whose difference is an integer multiple of <img src='http://math.fontein.de/wp-content/latex/e1e/e1e1d3d40573127e9ee0480caf1283d6-T-000000-0.png' alt='R' title='R' class='latex-inline' /> are identified), a one-dimensional infrastructure can be seen as a circle with a finite number of dots on it. The map <img src='http://math.fontein.de/wp-content/latex/827/8277e0910d750195b448797616e091ad-T-000000-0.png' alt='d' title='d' class='latex-inline' /> gives the <i>distance</i> between <img src='http://math.fontein.de/wp-content/latex/b2b/b2b25ad57e49cd319d9a6a11043ddc59-T-000000-0.png' alt='0 \in \R/R\Z' title='0 \in \R/R\Z' class='latex-inline' /> and some element <img src='http://math.fontein.de/wp-content/latex/420/4202025ca33a0244467654fcec511b07-T-000000-0.png' alt='x \in X' title='x \in X' class='latex-inline' /> on the circle, whence <img src='http://math.fontein.de/wp-content/latex/827/8277e0910d750195b448797616e091ad-T-000000-0.png' alt='d' title='d' class='latex-inline' /> is called the <i>distance map</i>.</p>

<p>Now one can define two operations on a one-dimensional infrastructure. Due to Shanks&#8217; nomenclature, these are called <i>baby steps</i> and <i>giant steps</i>. To define a baby step, let <img src='http://math.fontein.de/wp-content/latex/420/4202025ca33a0244467654fcec511b07-T-000000-0.png' alt='x \in X' title='x \in X' class='latex-inline' />. Then consider the set <img src='http://math.fontein.de/wp-content/latex/901/901343c64ba16f6919ae25b0c0f8a5c9-T-000000-0.png' alt='F_x := \{ f \in \R \mid f &gt; 0, \; d(x) + f \in d(X) \}' title='F_x := \{ f \in \R \mid f &gt; 0, \; d(x) + f \in d(X) \}' class='latex-inline' />. It is non-empty as <img src='http://math.fontein.de/wp-content/latex/c3a/c3ab968c6c4b6804d97e983f6234eb40-T-000000-0.png' alt='R \in F_x' title='R \in F_x' class='latex-inline' /> and bounded from below. Moreover, it is discrete as <img src='http://math.fontein.de/wp-content/latex/021/02129bb861061d1a052c592e2dc6b383-T-000000-0.png' alt='X' title='X' class='latex-inline' /> is finite; therefore, <img src='http://math.fontein.de/wp-content/latex/437/4377aa8cdb929e6d41c3450d3b4e811a-T-000000-0.png' alt='f := \min F_x' title='f := \min F_x' class='latex-inline' /> exists and <img src='http://math.fontein.de/wp-content/latex/735/735ae9aca8061bafcab3b4f2b659ecc3-T-000000-0.png' alt='d(x) + f \in d(X)' title='d(x) + f \in d(X)' class='latex-inline' />, say <img src='http://math.fontein.de/wp-content/latex/be4/be49780a1dc1777e75065fb87effa473-T-000000-0.png' alt='d(x) + f = d(x&#039;)' title='d(x) + f = d(x&#039;)' class='latex-inline' /> with <img src='http://math.fontein.de/wp-content/latex/504/50420fbf311aea125947455e1ba82c69-T-000000-0.png' alt='x&#039; \in X' title='x&#039; \in X' class='latex-inline' />. In that case, we define <img src='http://math.fontein.de/wp-content/latex/186/186174f18e596a018c4ce2253b237166-T-000000-0.png' alt='\bs(x) := x&#039;' title='\bs(x) := x&#039;' class='latex-inline' />. This gives a bijective map <img src='http://math.fontein.de/wp-content/latex/9a1/9a11283ce793838351e2c90f4e0a32cc-T-000000-0.png' alt='\bs : X \to X' title='\bs : X \to X' class='latex-inline' /> which, in case <img src='http://math.fontein.de/wp-content/latex/efe/efe3a5bb6c9c50b2ca8832f13a03d671-T-000000-0.png' alt='\abs{X} &gt; 1' title='\abs{X} &gt; 1' class='latex-inline' />, has no fixed points. If <img src='http://math.fontein.de/wp-content/latex/53d/53dc442d7f128388d1022722a9fb1699-T-000000-0.png' alt='\R/R\Z' title='\R/R\Z' class='latex-inline' /> is interpreted as a circle and <img src='http://math.fontein.de/wp-content/latex/021/02129bb861061d1a052c592e2dc6b383-T-000000-0.png' alt='X' title='X' class='latex-inline' /> identified with <img src='http://math.fontein.de/wp-content/latex/c0a/c0a899a6db32eb9ab0c114464c932512-T-000000-0.png' alt='d(X)' title='d(X)' class='latex-inline' />, <img src='http://math.fontein.de/wp-content/latex/605/605ddc07b337a3f7e0b250ac390df3f7-T-000000-0.png' alt='\bs' title='\bs' class='latex-inline' /> will send each point to the &ldquo;next one&rdquo; in positive direction on the circle.</p>
<p>To define giant steps, let <img src='http://math.fontein.de/wp-content/latex/1a5/1a56b421aa542ce1d524cdb798af5438-T-000000-0.png' alt='x, x&#039; \in X' title='x, x&#039; \in X' class='latex-inline' />. For that, note that <img src='http://math.fontein.de/wp-content/latex/53d/53dc442d7f128388d1022722a9fb1699-T-000000-0.png' alt='\R/R\Z' title='\R/R\Z' class='latex-inline' /> is naturally a group, whence we can add <img src='http://math.fontein.de/wp-content/latex/6a0/6a0339d54403e41588f646cc16f8f3ec-T-000000-0.png' alt='d(x)' title='d(x)' class='latex-inline' /> and <img src='http://math.fontein.de/wp-content/latex/24b/24b50b6d69532468b1fda85005566248-T-000000-0.png' alt='d(x&#039;)' title='d(x&#039;)' class='latex-inline' />. Now <img src='http://math.fontein.de/wp-content/latex/522/5226a9c4a2031a296693ae583c3fb810-T-000000-0.png' alt='d(x) + d(x&#039;) \in \R/R\Z' title='d(x) + d(x&#039;) \in \R/R\Z' class='latex-inline' />, but in general <img src='http://math.fontein.de/wp-content/latex/492/492d30844b96632426425292a7724f69-T-000000-0.png' alt='d(x) + d(x&#039;) \not\in d(X)' title='d(x) + d(x&#039;) \not\in d(X)' class='latex-inline' />. But we can use a similar trick as in the baby step case: we jump back to the previous point of <img src='http://math.fontein.de/wp-content/latex/c0a/c0a899a6db32eb9ab0c114464c932512-T-000000-0.png' alt='d(X)' title='d(X)' class='latex-inline' />. For that, define <img src='http://math.fontein.de/wp-content/latex/53d/53d512023ac42fc3959e1526eaae316c-T-000000-0.png' alt='F_{x,x&#039;} := \{ f \in \R \mid f \ge 0, \; d(x) + d(x&#039;) - f \in d(X) \}' title='F_{x,x&#039;} := \{ f \in \R \mid f \ge 0, \; d(x) + d(x&#039;) - f \in d(X) \}' class='latex-inline' />. It is bounded from above, non-empty and discrete, whence <img src='http://math.fontein.de/wp-content/latex/d00/d00f9fa6cfda4cb2a043d2e1935f68b9-T-000000-0.png' alt='f := \max F_{x,x&#039;}' title='f := \max F_{x,x&#039;}' class='latex-inline' /> exists with <img src='http://math.fontein.de/wp-content/latex/2b9/2b998eda547036bd092d5898c2c1258e-T-000000-0.png' alt='d(x) + d(x&#039;) - f&#039; \in d(X)' title='d(x) + d(x&#039;) - f&#039; \in d(X)' class='latex-inline' />, say <img src='http://math.fontein.de/wp-content/latex/30c/30c4da0ba1ec1abf55a87114781b9561-T-000000-0.png' alt='d(x) + d(x&#039;) - f = d(y)' title='d(x) + d(x&#039;) - f = d(y)' class='latex-inline' /> for <img src='http://math.fontein.de/wp-content/latex/8b3/8b3cc65e479ef3fe34135fece82d7306-T-000000-0.png' alt='y \in X' title='y \in X' class='latex-inline' />; then we define <img src='http://math.fontein.de/wp-content/latex/178/178a93ec4f674cfbf13d6359f8c26e32-T-000000-0.png' alt='\gs(x, x&#039;) := y' title='\gs(x, x&#039;) := y' class='latex-inline' />. This gives a binary operation <img src='http://math.fontein.de/wp-content/latex/628/628c1a076e9896d86d2f6c70f5d811f2-T-000000-0.png' alt='\gs : X \times X \to X' title='\gs : X \times X \to X' class='latex-inline' /> which is in general not associative.</p>
<p>But even though, we have <img src='http://math.fontein.de/wp-content/latex/920/920ac0013afc283576bd0d04b563ecf5-T-000000-0.png' alt='\displaystyle  d(\gs(x, x&#039;)) \approx d(x) + d(x&#039;) ' title='\displaystyle  d(\gs(x, x&#039;)) \approx d(x) + d(x&#039;) ' class='latex-displaystyle' /> in general, assuming that <img src='http://math.fontein.de/wp-content/latex/6cb/6cb6526a6ed5679844601ec07700bb76-T-000000-0.png' alt='D := \max\{ d(\bs(x)) - d(x) \mid x \in X \}' title='D := \max\{ d(\bs(x)) - d(x) \mid x \in X \}' class='latex-inline' /> is small (here, we identify <img src='http://math.fontein.de/wp-content/latex/03e/03eb641a0495bc07a43ec01ad465ca03-T-000000-0.png' alt='d(\bs(x)) - d(x) \in \R/R\Z' title='d(\bs(x)) - d(x) \in \R/R\Z' class='latex-inline' /> with its smallest non-negative representant). More precisely, we have <img src='http://math.fontein.de/wp-content/latex/5ac/5ac33a8babc7ae02ddf6f385dc13dff3-T-000000-0.png' alt='d(\gs(x, x&#039;)) + f = d(x) + d(x&#039;)' title='d(\gs(x, x&#039;)) + f = d(x) + d(x&#039;)' class='latex-inline' /> with <img src='http://math.fontein.de/wp-content/latex/d62/d622cf14e7f78b63177bdeb9a936c066-T-000000-0.png' alt='0 \le f &lt; D' title='0 \le f &lt; D' class='latex-inline' />, whence the giant step operation is &ldquo;almost&rdquo; associative.</p>

<h3>Finite Cyclic Groups as One-dimensional Infrastructures.</h3>
<p>Let <img src='http://math.fontein.de/wp-content/latex/f3d/f3d5697634ea7d801aa5155c9cf93b94-T-000000-0.png' alt='G = \ggen{g}' title='G = \ggen{g}' class='latex-inline' /> be a finite cyclic group of order <img src='http://math.fontein.de/wp-content/latex/e1e/e1e1d3d40573127e9ee0480caf1283d6-T-000000-0.png' alt='R' title='R' class='latex-inline' />. For <img src='http://math.fontein.de/wp-content/latex/608/6088b106e79441e687187844cc8e5b35-T-000000-0.png' alt='h \in G' title='h \in G' class='latex-inline' />, one can write <img src='http://math.fontein.de/wp-content/latex/847/847a4030635c553acf30dd23a3992f51-T-000000-0.png' alt='h = g^n' title='h = g^n' class='latex-inline' /> with <img src='http://math.fontein.de/wp-content/latex/d6e/d6e49bd8411286f16dd3c4448b981ec9-T-000000-0.png' alt='n \in \Z' title='n \in \Z' class='latex-inline' />; note that <img src='http://math.fontein.de/wp-content/latex/49e/49e37786c49a7960d6fe05bda4ab998b-T-000000-0.png' alt='n = \log_g h \in \Z/R\Z' title='n = \log_g h \in \Z/R\Z' class='latex-inline' /> is the discrete logarithm of <img src='http://math.fontein.de/wp-content/latex/251/2510c39011c5be704182423e3a695e91-T-000000-0.png' alt='h' title='h' class='latex-inline' /> with respect to <img src='http://math.fontein.de/wp-content/latex/b2f/b2f5ff47436671b6e533d8dc3614845d-T-000000-0.png' alt='g' title='g' class='latex-inline' />. Hence, we get the isomorphism <img src='http://math.fontein.de/wp-content/latex/ab6/ab68ad75f82d1af304c064467e220a45-T-000000-0.png' alt='G \cong \Z/R\Z' title='G \cong \Z/R\Z' class='latex-inline' /> induced by <img src='http://math.fontein.de/wp-content/latex/061/0616fec5a0d987a688429d5649aeead4-T-000000-0.png' alt='\log_g : G \to \Z/R\Z' title='\log_g : G \to \Z/R\Z' class='latex-inline' />. As <img src='http://math.fontein.de/wp-content/latex/3d9/3d988503859d9b7cded531e49fb4a7bd-T-000000-0.png' alt='\Z/R\Z \subseteq \R/R\Z' title='\Z/R\Z \subseteq \R/R\Z' class='latex-inline' />, we get the injective map <img src='http://math.fontein.de/wp-content/latex/10b/10bbbfcdfc3a3c8cd5ef8a9e767ac2a4-T-000000-0.png' alt='d : G \to \R/R\Z' title='d : G \to \R/R\Z' class='latex-inline' />, <img src='http://math.fontein.de/wp-content/latex/580/5807a967c133e18037f24e2e00f193af-T-000000-0.png' alt='h \mapsto \log_g h' title='h \mapsto \log_g h' class='latex-inline' />, turning <img src='http://math.fontein.de/wp-content/latex/b4e/b4e0f44673b8b6b4e8823f8751860997-T-000000-0.png' alt='(G, d)' title='(G, d)' class='latex-inline' /> into a one-dimensional infrastructure.</p>

<p>Let <img src='http://math.fontein.de/wp-content/latex/cea/ceab1e4f6cd6a3c754e84c0f7d5e87af-T-000000-0.png' alt='h, h&#039; \in G' title='h, h&#039; \in G' class='latex-inline' />; then we get <img src='http://math.fontein.de/wp-content/latex/b6c/b6c25277c81444c2a6c753dacd9d4299-T-000000-0.png' alt='\bs(h) = g h' title='\bs(h) = g h' class='latex-inline' /> and <img src='http://math.fontein.de/wp-content/latex/318/318550181741921df2e45a59eda5e768-T-000000-0.png' alt='\gs(h, h&#039;) = h h&#039;' title='\gs(h, h&#039;) = h h&#039;' class='latex-inline' />, i.e. baby steps are multiplications by the generator <img src='http://math.fontein.de/wp-content/latex/b2f/b2f5ff47436671b6e533d8dc3614845d-T-000000-0.png' alt='g' title='g' class='latex-inline' /> and the giant steps equals the group operation. In particular, this provides an example for giant steps being associative.</p>

<p>Therefore, one-dimensional infrastructures can be seen as generalizations of finite cyclic groups.</p>

<h3>Remarks.</h3>
<p>Finally, we want to sketch some ideas, which will allow generalizing infrastructures to higher dimensions. For that, let <img src='http://math.fontein.de/wp-content/latex/086/086beb6a6c8a029942238364e5a8beab-T-000000-0.png' alt='(X, d)' title='(X, d)' class='latex-inline' /> be a one-dimensional infrastructure.
First, define the map <img src='http://math.fontein.de/wp-content/latex/607/607e911fcfd5c931258bc2a0ce8ba275-T-000000-0.png' alt='red : \R/R\Z \to X' title='red : \R/R\Z \to X' class='latex-inline' /> as follows. For <img src='http://math.fontein.de/wp-content/latex/761/761c34e472786fd68d2ddfa35001a638-T-000000-0.png' alt='r \in \R/R\Z' title='r \in \R/R\Z' class='latex-inline' />, define <img src='http://math.fontein.de/wp-content/latex/7b4/7b4316068aec56c5bccaebf0b74811f2-T-000000-0.png' alt='F_r := \{ f \in \R \mid f \ge 0, \; r - f \in d(X) \}' title='F_r := \{ f \in \R \mid f \ge 0, \; r - f \in d(X) \}' class='latex-inline' />. Again, <img src='http://math.fontein.de/wp-content/latex/44c/44c9a86d519b9a3c76d6ca56568aca0f-T-000000-0.png' alt='F_r' title='F_r' class='latex-inline' /> is non-empty, bounded from below and discrete, whence <img src='http://math.fontein.de/wp-content/latex/1c1/1c180a6b97867199d7454dc911e48b2f-T-000000-0.png' alt='f := \min F_r' title='f := \min F_r' class='latex-inline' /> exists and <img src='http://math.fontein.de/wp-content/latex/399/39915e0405ab03b236050ff3dd765873-T-000000-0.png' alt='r - f \in d(X)' title='r - f \in d(X)' class='latex-inline' />, say <img src='http://math.fontein.de/wp-content/latex/80c/80c1de675ea3d968b851f908f6e7b762-T-000000-0.png' alt='r - f = d(x)' title='r - f = d(x)' class='latex-inline' /> for some <img src='http://math.fontein.de/wp-content/latex/420/4202025ca33a0244467654fcec511b07-T-000000-0.png' alt='x \in X' title='x \in X' class='latex-inline' />. Define <img src='http://math.fontein.de/wp-content/latex/490/4906a2ce51e91fc66a1ad0884e7b31f4-T-000000-0.png' alt='red(r) := x' title='red(r) := x' class='latex-inline' />. Then <img src='http://math.fontein.de/wp-content/latex/bda/bda9643ac6601722a28f238714274da4-T-000000-0.png' alt='red' title='red' class='latex-inline' /> satisfies <img src='http://math.fontein.de/wp-content/latex/aa4/aa46e0cac552a0744c0ae6e450e49a30-T-000000-0.png' alt='red \circ d = \id_X' title='red \circ d = \id_X' class='latex-inline' /> and <img src='http://math.fontein.de/wp-content/latex/8cd/8cd57c8e64051a7de4f87ed88ddad963-T-000000-0.png' alt='\gs(x, x&#039;) = red(d(x) + d(x&#039;))' title='\gs(x, x&#039;) = red(d(x) + d(x&#039;))' class='latex-inline' /> for all <img src='http://math.fontein.de/wp-content/latex/1a5/1a56b421aa542ce1d524cdb798af5438-T-000000-0.png' alt='x, x&#039; \in X' title='x, x&#039; \in X' class='latex-inline' />.</p>

<p>If <img src='http://math.fontein.de/wp-content/latex/191/19140a159da8270611cfb409df429916-T-000000-0.png' alt='red&#039; : \R/R\Z \to X' title='red&#039; : \R/R\Z \to X' class='latex-inline' /> would be any other map satisfying <img src='http://math.fontein.de/wp-content/latex/332/332b04bbd73beb4c3ddddf3ec402da62-T-000000-0.png' alt='red&#039; \circ d = \id_X' title='red&#039; \circ d = \id_X' class='latex-inline' />, one would obtain another giant step function <img src='http://math.fontein.de/wp-content/latex/a53/a5377a44ab005b9968aa9b42724ba165-T-000000-0.png' alt='\gs&#039; : X \times X \to X' title='\gs&#039; : X \times X \to X' class='latex-inline' />, <img src='http://math.fontein.de/wp-content/latex/984/9848d602a7305b806befb3b0f1c4f635-T-000000-0.png' alt='(x, x&#039;) \mapsto red&#039;(d(x) + d(x&#039;))' title='(x, x&#039;) \mapsto red&#039;(d(x) + d(x&#039;))' class='latex-inline' />. In case <img src='http://math.fontein.de/wp-content/latex/021/02129bb861061d1a052c592e2dc6b383-T-000000-0.png' alt='X' title='X' class='latex-inline' /> comes from a finite cyclic group, as above, <img src='http://math.fontein.de/wp-content/latex/60b/60b6b0a8185fb85a1b53e6b97812159b-T-000000-0.png' alt='\gs&#039;' title='\gs&#039;' class='latex-inline' /> would again be the group operation. If this is not the case, <img src='http://math.fontein.de/wp-content/latex/520/52045a9aaf166813b2afe664a170dac9-T-000000-0.png' alt='\gs' title='\gs' class='latex-inline' /> and <img src='http://math.fontein.de/wp-content/latex/60b/60b6b0a8185fb85a1b53e6b97812159b-T-000000-0.png' alt='\gs&#039;' title='\gs&#039;' class='latex-inline' /> could be two distinct binary operations on <img src='http://math.fontein.de/wp-content/latex/021/02129bb861061d1a052c592e2dc6b383-T-000000-0.png' alt='X' title='X' class='latex-inline' />. If <img src='http://math.fontein.de/wp-content/latex/7b9/7b9b273181bd0d556fe261f453bedebc-T-000000-0.png' alt='red&#039;' title='red&#039;' class='latex-inline' /> satisfies <img src='http://math.fontein.de/wp-content/latex/610/610bb8190fe96644604e55fc2246ef8f-T-000000-0.png' alt='d(red&#039;(r)) \approx r' title='d(red&#039;(r)) \approx r' class='latex-inline' /> for all <img src='http://math.fontein.de/wp-content/latex/761/761c34e472786fd68d2ddfa35001a638-T-000000-0.png' alt='r \in \R/R\Z' title='r \in \R/R\Z' class='latex-inline' />, we would also have <img src='http://math.fontein.de/wp-content/latex/8b7/8b76998c53d8bd7b1f9f5c6a0bdceb13-T-000000-0.png' alt='\displaystyle  d(\gs&#039;(x, x&#039;)) \approx d(x) + d(x&#039;) \text{ for all } x, x&#039; \in X. ' title='\displaystyle  d(\gs&#039;(x, x&#039;)) \approx d(x) + d(x&#039;) \text{ for all } x, x&#039; \in X. ' class='latex-displaystyle' /></p>

<p>This shows that our choice of <img src='http://math.fontein.de/wp-content/latex/bda/bda9643ac6601722a28f238714274da4-T-000000-0.png' alt='red' title='red' class='latex-inline' /> is rather random; we could also define <img src='http://math.fontein.de/wp-content/latex/c4b/c4bc6c9e2ab58bfdfce55c11291cbb7f-T-000000-0.png' alt='red(r) = d^{-1}(d(x) + f)' title='red(r) = d^{-1}(d(x) + f)' class='latex-inline' /> with <img src='http://math.fontein.de/wp-content/latex/fcb/fcb23b52442cddbf359c773c16da930a-T-000000-0.png' alt='f = \min \{ f \in \R \mid f \ge 0, \; r + f \in d(X) \}' title='f = \min \{ f \in \R \mid f \ge 0, \; r + f \in d(X) \}' class='latex-inline' />, or chose <img src='http://math.fontein.de/wp-content/latex/8fa/8fa14cdd754f91cc6554c9e71929cce7-T-000000-0.png' alt='f' title='f' class='latex-inline' /> such that <img src='http://math.fontein.de/wp-content/latex/5c1/5c1085faa51b75a994cd65bd4439c172-T-000000-0.png' alt='\abs{f} = \min\{ \abs{f} \mid r + f \in d(X) \}' title='\abs{f} = \min\{ \abs{f} \mid r + f \in d(X) \}' class='latex-inline' />, with some additional condition to rule out ties. Any other arbitrary choice of <img src='http://math.fontein.de/wp-content/latex/bda/bda9643ac6601722a28f238714274da4-T-000000-0.png' alt='red' title='red' class='latex-inline' /> is also possible, as long as <img src='http://math.fontein.de/wp-content/latex/aa4/aa46e0cac552a0744c0ae6e450e49a30-T-000000-0.png' alt='red \circ d = \id_X' title='red \circ d = \id_X' class='latex-inline' /> is satisfied. We will later see that our definition of <img src='http://math.fontein.de/wp-content/latex/bda/bda9643ac6601722a28f238714274da4-T-000000-0.png' alt='red' title='red' class='latex-inline' /> is exactly the one we obtain in a canonical way if we obtain infrastructures from global fields of unit rank one. We call such maps <i>reduction maps</i>.</p>]]></content:encoded>
			<wfw:commentRss>http://math.fontein.de/2009/07/20/one-dimensional-infrastructures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Discrete Logarithm Problem and Generalizations.</title>
		<link>http://math.fontein.de/2009/07/20/the-discrete-logarithm-problem-and-generalizations/</link>
		<comments>http://math.fontein.de/2009/07/20/the-discrete-logarithm-problem-and-generalizations/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 03:44:15 +0000</pubDate>
		<dc:creator>Felix Fontein</dc:creator>
				<category><![CDATA[Algebra]]></category>
		<category><![CDATA[Cryptography]]></category>
		<category><![CDATA[discrete logarithm]]></category>
		<category><![CDATA[DLP]]></category>

		<guid isPermaLink="false">http://math.fontein.de/?p=95</guid>
		<description><![CDATA[We discuss the discrete logarithm problem, its use in cryptography, and two possible directions of generalization to other algebraic structures.]]></description>
			<content:encoded><![CDATA[<p>Let <img src='http://math.fontein.de/wp-content/latex/dfc/dfcf28d0734569a6a693bc8194de62bf-T-000000-0.png' alt='G' title='G' class='latex-inline' /> be a group and <img src='http://math.fontein.de/wp-content/latex/c97/c9742018c5575f06f59ce542b29ad79d-T-000000-0.png' alt='g \in G' title='g \in G' class='latex-inline' />. Using <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Exponentiation_by_squaring">square-and-multiply techniques</a>, one can rapidly compute <img src='http://math.fontein.de/wp-content/latex/b2b/b2b63185db2f665864115cf3662e28e2-T-000000-0.png' alt='g^n' title='g^n' class='latex-inline' /> for <img src='http://math.fontein.de/wp-content/latex/72e/72e07933327508be8d2ca29128a878d7-T-000000-0.png' alt='n \in \N' title='n \in \N' class='latex-inline' /> &ndash; in fact, <img src='http://math.fontein.de/wp-content/latex/1c8/1c87f8900f9f574177418d6ae737ed5c-T-000000-0.png' alt='\calO(\log n)' title='\calO(\log n)' class='latex-inline' /> group operations suffice.</p>

<p>On the other side, the inverse question, given <img src='http://math.fontein.de/wp-content/latex/b2b/b2b63185db2f665864115cf3662e28e2-T-000000-0.png' alt='g^n' title='g^n' class='latex-inline' /> and <img src='http://math.fontein.de/wp-content/latex/b2f/b2f5ff47436671b6e533d8dc3614845d-T-000000-0.png' alt='g' title='g' class='latex-inline' />, how to find <img src='http://math.fontein.de/wp-content/latex/7b8/7b8b965ad4bca0e41ab51de7b31363a1-T-000000-0.png' alt='n' title='n' class='latex-inline' />, is in general hard. In fact, a <a href="http://math.fontein.de/forward.php?r=http://shoup.net/papers/dlbounds1.pdf">result</a> by <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Victor_Shoup">Victor Shoup</a> says that for a black box group, there exists no deterministic algorithm which can find the <img src='http://math.fontein.de/wp-content/latex/7b8/7b8b965ad4bca0e41ab51de7b31363a1-T-000000-0.png' alt='n' title='n' class='latex-inline' /> in time less than <img src='http://math.fontein.de/wp-content/latex/6a3/6a36e60710aed6c3d5581ded9a7d2fcf-T-000000-0.png' alt='\calO(\sqrt{p})' title='\calO(\sqrt{p})' class='latex-inline' /> steps in any case, provided the prime <img src='http://math.fontein.de/wp-content/latex/838/83878c91171338902e0fe0fb97a8c47a-T-000000-0.png' alt='p' title='p' class='latex-inline' /> is the order of <img src='http://math.fontein.de/wp-content/latex/b2f/b2f5ff47436671b6e533d8dc3614845d-T-000000-0.png' alt='g' title='g' class='latex-inline' />. In other words: the <i>Discrete Logarithm Problem</i> (DLP) is hard in general: given <img src='http://math.fontein.de/wp-content/latex/fe7/fe7c96ffadea2923bee96d98d2284713-T-000000-0.png' alt='g, h' title='g, h' class='latex-inline' /> with <img src='http://math.fontein.de/wp-content/latex/859/859405989833767ee443fe1ce79a0bd7-T-000000-0.png' alt='h \in \ggen{g}' title='h \in \ggen{g}' class='latex-inline' />, find <img src='http://math.fontein.de/wp-content/latex/72e/72e07933327508be8d2ca29128a878d7-T-000000-0.png' alt='n \in \N' title='n \in \N' class='latex-inline' /> with <img src='http://math.fontein.de/wp-content/latex/ce3/ce33a2587bc7109e7981cac05dce06bd-T-000000-0.png' alt='g^n = h' title='g^n = h' class='latex-inline' />.</p>

<p>Consider the subgroup <img src='http://math.fontein.de/wp-content/latex/7ed/7ed77c1f1ac508aff4e95fd25007fde1-T-000000-0.png' alt='\ggen{g}' title='\ggen{g}' class='latex-inline' /> generated by <img src='http://math.fontein.de/wp-content/latex/b2f/b2f5ff47436671b6e533d8dc3614845d-T-000000-0.png' alt='g' title='g' class='latex-inline' />. It is of the form <img src='http://math.fontein.de/wp-content/latex/452/4528f03bb318711cd02ce75e74d11878-T-000000-0.png' alt='\{ g^n \mid n \in \Z \}' title='\{ g^n \mid n \in \Z \}' class='latex-inline' />, and the map <img src='http://math.fontein.de/wp-content/latex/503/503b11ef7c07b86273979a00fa6cfb4b-T-000000-0.png' alt='\varphi : \Z \to \ggen{g}' title='\varphi : \Z \to \ggen{g}' class='latex-inline' />, <img src='http://math.fontein.de/wp-content/latex/3d1/3d11e271491a167413e954b3caabeff0-T-000000-0.png' alt='n \mapsto g^n' title='n \mapsto g^n' class='latex-inline' /> is an epimorphism. Let <img src='http://math.fontein.de/wp-content/latex/a0e/a0eae85d119347884d6cb549c999bf9a-T-000000-0.png' alt='\ker \varphi = m \Z' title='\ker \varphi = m \Z' class='latex-inline' /> with <img src='http://math.fontein.de/wp-content/latex/b1a/b1a773f3976ad93dabd87998f18b05ed-T-000000-0.png' alt='m \ge 0' title='m \ge 0' class='latex-inline' />; then <img src='http://math.fontein.de/wp-content/latex/875/87567e37a1fe699fe1c5d3a79325da6f-T-000000-0.png' alt='\varphi' title='\varphi' class='latex-inline' /> induces an isomorphism <img src='http://math.fontein.de/wp-content/latex/482/482d4cd6d30c4f52cf97cfde0a8edddb-T-000000-0.png' alt='\psi : \Z/m\Z \to \ggen{g}' title='\psi : \Z/m\Z \to \ggen{g}' class='latex-inline' />. The inverse map <img src='http://math.fontein.de/wp-content/latex/25f/25fd80fb88382dec6bb4d700be0b09e7-T-000000-0.png' alt='\psi^{-1} : \ggen{g} \to \Z/m\Z' title='\psi^{-1} : \ggen{g} \to \Z/m\Z' class='latex-inline' />, <img src='http://math.fontein.de/wp-content/latex/e89/e89e54f5ac4093b162006e289e7740d7-T-000000-0.png' alt='g^n \mapsto n + m\Z' title='g^n \mapsto n + m\Z' class='latex-inline' /> is called the <i>discrete logarithm with base <img src='http://math.fontein.de/wp-content/latex/b2f/b2f5ff47436671b6e533d8dc3614845d-T-000000-0.png' alt='g' title='g' class='latex-inline' /></i>, denoted by <img src='http://math.fontein.de/wp-content/latex/ea5/ea5bbce6b9562a9db98d08fdb7ecfe61-T-000000-0.png' alt='\log_g' title='\log_g' class='latex-inline' />. Hence, the DLP is the problem of computing the function <img src='http://math.fontein.de/wp-content/latex/ea5/ea5bbce6b9562a9db98d08fdb7ecfe61-T-000000-0.png' alt='\log_g' title='\log_g' class='latex-inline' />.</p>

<p>In 1976, Whitfield Diffie and Martin Hellman came up with a <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Diffie-Hellman_key_exchange">key exchange protocol</a> based on the fact that, given <img src='http://math.fontein.de/wp-content/latex/b2f/b2f5ff47436671b6e533d8dc3614845d-T-000000-0.png' alt='g' title='g' class='latex-inline' />, <img src='http://math.fontein.de/wp-content/latex/729/72974a8b3ff4261878a9ec106886e0da-T-000000-0.png' alt='g^a' title='g^a' class='latex-inline' /> and <img src='http://math.fontein.de/wp-content/latex/995/995f2ec230855ed8ed2509232394a579-T-000000-0.png' alt='g^b' title='g^b' class='latex-inline' />, one probably needs to solve at least one DLP (to obtain <img src='http://math.fontein.de/wp-content/latex/0cc/0cc175b9c0f1b6a831c399e269772661-T-000000-0.png' alt='a' title='a' class='latex-inline' /> or <img src='http://math.fontein.de/wp-content/latex/92e/92eb5ffee6ae2fec3ad71c777531578f-T-000000-0.png' alt='b' title='b' class='latex-inline' />) to be able to compute <img src='http://math.fontein.de/wp-content/latex/9fa/9fa3d8eac258d5bc3d682c7e74d7e101-T-000000-0.png' alt='g^{a b} = (g^a)^b = (g^b)^a' title='g^{a b} = (g^a)^b = (g^b)^a' class='latex-inline' />. And nine years later, Taher ElGamal presented an <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/ElGamal_encryption">encryption scheme</a> which is also based on the DLP.</p>

<p>First, these systems were originally used with <img src='http://math.fontein.de/wp-content/latex/b71/b717fd1e81b140f3400f71c648b58569-T-000000-0.png' alt='G = \F_p^*' title='G = \F_p^*' class='latex-inline' /> or <img src='http://math.fontein.de/wp-content/latex/86e/86e0cb789def797e5f6208b22ca67c0b-T-000000-0.png' alt='\F_q^*' title='\F_q^*' class='latex-inline' />, the multiplicative groups of finite (prime) fields, but can in fact be used with <i>any</i> group. In 1985, Neal Koblitz and Victor Miller independently proposed to use <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Elliptic_curve_cryptography">elliptic curves</a> over finite fields <img src='http://math.fontein.de/wp-content/latex/9f8/9f8d3077d492926f4328882d4f1700aa-T-000000-0.png' alt='\F_q' title='\F_q' class='latex-inline' />, which yield abelian groups of size <img src='http://math.fontein.de/wp-content/latex/847/8474dcbc5424c09e6e8e61cccf15ec59-T-000000-0.png' alt='q + 1 + \calO(\sqrt{q})' title='q + 1 + \calO(\sqrt{q})' class='latex-inline' />. Later, groups obtained from hyperelliptic curves or curves were proposed.</p>

<p>There have also been proposals to replace groups by weaker structures, for example <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Semigroup">semigroups</a> or certain <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Loop_(algebra)">loops</a>. In general, one can use any algebraic structure <img src='http://math.fontein.de/wp-content/latex/7fc/7fc56270e7a70fa81a5935b72eacbe29-T-000000-0.png' alt='A' title='A' class='latex-inline' /> which allows to define <img src='http://math.fontein.de/wp-content/latex/02b/02b39c4bea11d679ef78cad17231b4d8-T-000000-0.png' alt='a^n' title='a^n' class='latex-inline' /> for <img src='http://math.fontein.de/wp-content/latex/026/026638d7828e8287894f1cccedfaee9c-T-000000-0.png' alt='a \in A' title='a \in A' class='latex-inline' />, <img src='http://math.fontein.de/wp-content/latex/76d/76d602aad8fc1509f7e385c3ad1d1d41-T-000000-0.png' alt='n \in \N_{&gt;0}' title='n \in \N_{&gt;0}' class='latex-inline' /> such that <img src='http://math.fontein.de/wp-content/latex/02b/02b39c4bea11d679ef78cad17231b4d8-T-000000-0.png' alt='a^n' title='a^n' class='latex-inline' /> can be computed efficiently. As for that, one usually wants <img src='http://math.fontein.de/wp-content/latex/a19/a19378050abcd419c9df03ddd0dbdaaa-T-000000-0.png' alt='a^n a^m = a^{n+m}' title='a^n a^m = a^{n+m}' class='latex-inline' />, we merely require the operation to be <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Power_associativity">power associative</a>.</p>

<p>Now one can ask if it is possible to drop this requirement and replace exponentiation and discrete logarithms by something similar. So far, the only such algebraic structure which has a huge class of instances which can be easily obtained from algebraic objects and in which one can efficiently compute are <i>infrastructures</i>. In the following articles I first want to explain and discuss the definition of infrastructures and show how finite abelian groups can be interpreted as infrastructures. Then I want to explain how infrastructures can be obtained from <a href="http://math.fontein.de/forward.php?r=http://en.wikipedia.org/wiki/Global_field">global fields</a>.</p>

<p>In case you want to read up more details, please consult the preprint of my paper <a href="http://math.fontein.de/forward.php?r=http://arxiv.org/abs/0809.1685">The Infrastructure of a Global Field of Arbitrary Unit Rank</a> or my <a href="http://math.fontein.de/forward.php?r=http://opac.nebis.ch/F/%3Flocal_base=NEBIS%26con_lng=ENG%26func=find-b%26find_code=SYS%26request=005797496">PhD thesis</a> (click <i>Volltext</i>).</p>]]></content:encoded>
			<wfw:commentRss>http://math.fontein.de/2009/07/20/the-discrete-logarithm-problem-and-generalizations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

