<?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>Modulo Errors &#187; Cryptology</title>
	<atom:link href="http://maths.straylight.co.uk/archives/category/cryptology/feed" rel="self" type="application/rss+xml" />
	<link>http://maths.straylight.co.uk</link>
	<description>for when the margin is too small</description>
	<lastBuildDate>Thu, 12 Jan 2012 16:36:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Joint Mathematics Meetings 2011</title>
		<link>http://maths.straylight.co.uk/archives/352</link>
		<comments>http://maths.straylight.co.uk/archives/352#comments</comments>
		<pubDate>Sun, 16 Jan 2011 20:37:27 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Algebra]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Graph Theory]]></category>
		<category><![CDATA[Number Theory]]></category>
		<category><![CDATA[Pop.Maths]]></category>
		<category><![CDATA[Postdoc]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/?p=352</guid>
		<description><![CDATA[I spent last week in New Orleans for the Joint Mathematics Meetings 2011. I&#8217;d made a rather last minute booking after noticing a couple of sessions could be useful, and hadn&#8217;t quite grasped the scale of the event. I&#8217;d normally think of 200 mathematicians as a large gathering, but the JMM had over six thousand [...]]]></description>
			<content:encoded><![CDATA[<p>I spent last week in New Orleans for the <a href="http://www.ams.org/meetings/national/jmm/2125_intro.html">Joint Mathematics Meetings 2011</a>. I&#8217;d made a rather last minute booking after noticing a couple of sessions could be useful, and hadn&#8217;t quite grasped the scale of the event. I&#8217;d normally think of 200 mathematicians as a large gathering, but the JMM had over six thousand participants and at peak more than thirty parallel sessions to choose between&#8230; the densely typed book of abstracts runs to 450 pages! Hence, as well as the content that justifies dipping into my travel budget, I was able to see a wide range of talks purely out of curiosity. So, partly for my own future convenience, and partly to give some indication of the range available, I thought I&#8217;d note down everything I attended. As that was 42 talks &#8211; plus an art exhibition and a film &#8211; this post got rather long, so the rest is beneath the cut.</p>
<p><span id="more-352"></span></p>
<p><strong>AMS Contributed Paper Sessions: Combinatorics and Graph Theory, I</strong><br />
<small><a href="http://www.math.uiuc.edu/~ykim36/">Y. Kim</a>, <em>Cycle-saturated graphs with minimum number of edges</em>.<br />
<a href="http://www.uafortsmith.edu/Math/DanielPragel">D. Pragel</a>, <em>Algebraic and Graph-Theoretic Properties of the Box Product of Two Paths</em>.<br />
<a href="http://www.math.dartmouth.edu/~barghi/">A. Barghi</a>, <em>Firefighting on Random Geometric Graphs</em>.<br />
<a href="http://academics.smcvt.edu/jellis-monaghan/">J. Ellis-Monaghan</a>, <em>Ribbon Graphs and Twisted Duality</em>.<br />
<a href="http://www.dean.usma.edu/departments/math/people/Braunstein/">J. Fierson</a>, <em>Some graph theoretical results for the task mapping problem for parallel computers</em>.<br />
S. Raval, <em>Complex Contagions on Graph Dynamical Systems</em>.<br />
</small></p>
<p>Although I&#8217;m officially a number theorist (honest, it says so right there in the sidebar!) much of my thesis topic and subsequent work has been more concerned with graphs, and there was plenty of interest on offer here. </p>
<p>From a research perspective the box product construction particularly caught my attention: in the presented work, products of paths were considered, which yield grids that can be sliced vertically into copies of one factor, and horizontally into the other. This carries over into some nice structural properties of the adjacency matrix, and they were able to come up with a particularly neat characterisation of its determinant based on the length of the paths. The obvious next step would be to try something more complicated than paths, and I wonder if some candidates from my own studies of cyclotomic graphs might be suitable. </p>
<p>On the other hand, the firefighting problem is something I&#8217;d have no idea how to solve, but it seems like I could make an undergrad project out of it &#8211; or a web game! Given a graph, some vertices are specified as being on fire. Each round, firefighters may be placed at any vertices that aren&#8217;t on fire, then the fire spreads to any neighbouring vertices that haven&#8217;t been protected in this way. On an infinite graph, the question is whether such a fire can be contained or could burn indefinitely.</p>
<p><strong>AMS Colloquium Lectures</strong><br />
<small><a href="http://www.ma.huji.ac.il/~alexlub/">A. Lubotzky</a>, <em>Expander graphs in pure and applied mathematics, I</em>.</small></p>
<p>More in the graph-theory line: unfortunately I was only able to attend this, the first of a series of three talks by Alex Lubotzky on the subject, but at least I now know what expander graphs are and why I might care! The original motivation was practical: in designing a communications network (be it mobile phones or multicore processors) you want short routes between nodes for speed and reliability, but as few connections between nodes as possible to minimise cost. Expander graphs are those which (remarkably) manage to balance these opposing properties, but they also find application in a surprising range of abstract mathematical topics. </p>
<p><strong>MAA Contributed Paper Sessions: Cryptology for Undergraduates</strong><br />
<small><a href="http://homepages.uc.edu/~cabarcd/">D. Cabarcas</a>, <em>Algebraic Cryptanalysis as a tool for teaching Cryptology</em>.<br />
<a href="http://facultyfp.salisbury.edu/despickler/personal/index.asp">D. Spickler</a>, <em>Cryptography Tools: A Teaching Tool for the Investigation of Classical Cryptography and Cryptanalysis</em>. (<a href="http://facultyfp.salisbury.edu/despickler/personal/CryptTools.asp">Cryptography Tools</a>)<br />
<a href="http://www.wou.edu/~beaverc/">C. Beaver</a>, <em>Group Signature Schemes: How to share a secret without telling it</em>.<br />
<a href="http://mathinfo.montclair.edu/people/people.php3?id=113&#038;type=&#038;sig=">A. Li</a>, <em>Cryptography, a Great Topic for Undergraduate Mathematics Courses</em>.<br />
<a href="http://personal.denison.edu/~feil/">T. Feil</a>, <em>A Cryptology Course for the Non-Mathematician</em>.<br />
<a href="http://www.roberttalbert.net/index.html">R. Talbert</a>, <em>A Brief Fly-Through of Cryptology for First-Semester Students using Active Learning and Common Technology</em>.<br />
<a href="http://buzzard.ups.edu/">R. Beezer</a>, <em>A first-year seminar in cryptology</em>. (<a href="http://buzzard.ups.edu/talks/beezer-2011-jmmno-crypto-course.pdf">slides</a>).<br />
<a href="http://www.cwu.edu/~boersmas/index.html">S. Boersma</a>, <em>Student Codebooks: An in-depth writing assignment</em>.<br />
K. Smith, <em>Codes in History, the Arts, and Literature</em>.<br />
<a href="http://www.wlc.edu/academics/mat/index.aspx?id=3221">K. Meyer</a>, <em>Making Cryptography Come Alive</em>.<br />
<a href="http://euler.slu.edu/~may/">M. May</a>, <em>Using Cryptography to Show Students that Math is Everywhere</em>.<br />
</small></p>
<p>This session was one of my reasons for making the long trip, and was definitely worth it. Based on the enthuiasm of the speakers, the feedback they&#8217;ve received from their students, and the sheer number of people who turned up for this session, I think it&#8217;s safe to say that cryptography is definitely worth offering in the undergraduate syllabus. The American undergraduate experience is rather different to the English one I had, or the Scottish one I tutored for, and in particular there&#8217;s a need for mathematics courses for non-mathematics students. Several speakers were able to provide a cryptology course for such an audience, as the mathematical prerequisites can be made fairly modest and supplemented by the history of the subject, or its relevance today to topics like privacy and security online. One even managed to assess it through written projects, despite the protests of the more mathematically inclined students! The consensus seems to be that if you&#8217;re going to teach such a course, your starting point should be <em>Cryptography</em> by Trappe and Washington, and -despite my love of the discrete log problem &#8211; it&#8217;s probably best to stick to symmetric crypto and a bit of RSA. Various speakers had developed software to remove some of the computational grind (such as crypto tools, linked above), but the coolest contribution was probably <a href="http://personal.denison.edu/~feil/gifs/pringle.pdf">instructions</a> (PDF) on how to make an Enigma machine out of a pringles can!</p>
<p><strong>AMS-SIAM Special Session on Mathematics of Computation: Algebra and Number Theory, I &#038; II</strong><br />
<small><a href="http://www-rohan.sdsu.edu/~mosulliv/">M. O&#8217;Sullivan</a>, <em>The sum-product algorithm for binary codes having check nodes of degree two</em>.<br />
<a href="http://www.math.lsa.umich.edu/~hderksen/">D. Harm</a>, <em>Complexity of the Graph Isomorphism Problem</em>.<br />
<a href="http://www.math.wisc.edu/~boston/">N. Boston</a>, <em>Combining Group Theory and Number Theory Computations</em>.<br />
<a href="http://pages.cpsc.ucalgary.ca/~jacobs/">M. Jacobson</a>, <em>Class Group and Regulator Computation in Quadratic Fields</em>.<br />
<a href="http://www-math.mit.edu/~drew/">A. Sutherland</a>, <em>Genus 1 point counting in quadratic space and essentially quartic time</em>.<br />
<a href="http://www.math.uci.edu/~asilverb/">A. Silverberg</a>, <em>Finding the rational points on a certain genus 12 curve</em>.<br />
<a href="http://math.ucalgary.ca/~rscheidl/">R. Scheidler</a>, <em>Efficient Divisor Reduction on Hyperelliptic Curves</em>.<br />
D. Moulton, <em>Finding small sets whose subset sums include a given set</em>.<br />
<a href="http://www.math.brown.edu/~jhs/">J. Silverman</a>, <em>Lehmer&#8217;s Conjecture and points on elliptic curves that are congruent to torsion points</em>.<br />
<a href="http://www.maths.ed.ac.uk/~chris/">C. Smyth</a>, <em>Minimal polynomials of algebraic numbers with rational parameters</em>.<br />
<a href="http://www.math.uwaterloo.ca/~kghare/">K. Hare</a>, <em>Pisot and Salem polynomials dividing Newman polynomials</em>.</small></p>
<p>This session was the other reason for my attendance &#8211; Mahler measure is quite a niche topic, so with two talks on the agenda here I felt I should turn up, but they weren&#8217;t the only draw. If you dig deep enough in this blog, you&#8217;ll find that I spent the start of my PhD thinking about point counting problems and hyperelliptic curve arithmetic, which both featured here. A particular highlight was Andrew Sutherland&#8217;s talk, which presented improvements to SEA which have led to a substantially larger record for point counting on elliptic curves. </p>
<p><strong>MAA Session on New and Continuing Connections between Math and the Arts, I</strong><br />
<div class="wp-caption alignright" style="width: 298px"><a href="http://members.cox.net/fathauerart/FractalTreesArt.html"><img alt="" src="http://members.cox.net/fathauerart/RFractalTreeNo3.jpg" title="Fractal Tree No. 3" width="288" height="291" /></a><p class="wp-caption-text">Fractal Tree No. 3 by R. Fathauer</p></div><br />
<small><a href="http://ksuweb.kennesaw.edu/~mgarner/">M. Garner</a>, <em>Sequences, Series, Combinatorics, and Probability in the Early Plate Work of Jennifer Bartlett</em>.<br />
<a href="http://vihart.com">V. hart</a>, <em>Hyperbolic Planes Take Off!</em> (<a href="http://www.youtube.com/watch?v=qsE2UKkIKXU">video</a>)<br />
<a href="http://bulatov.org/">V. Bulatov</a>, <em>Tilings of hyperbolic space and their visualisation</em>.<br />
<a href="http://www.beloit.edu/computerscience/faculty/chavey/">D. Chavey</a>, <em>Glide Reflections as a Cultural and Artistic Value</em>.<br />
<a href="http://pages.towson.edu/gsarhang/">R. Sarhangi</a>, <em>A Workshop in Geometric Constructions of Mosaic Designs</em>.<br />
F. Ronning, <em>Islamic decorations and wallpaper groups</em>.<br />
<a href="http://www.georgehart.com/">G. Hart</a>, <em>Art at the Museum of Mathematics</em>.<br />
<a href="http://members.cox.net/fathauerart/index.html">R. Fathauer</a>, <em>Photographic Fractal Trees</em>.<br />
</small></p>
<p>`Mathematical Art&#8217; usually conjures up images of fractals, but there&#8217;s a lot more to it than that and several themes emerged from this session and the attached <a href="http://jmm.submit.bridgesmathart.org/">exhibition</a>.</p>
<p>The <a href="http://en.wikipedia.org/wiki/Alhambra">Alhambra</a> in Spain gets another bump up my list of potential mathematical tourism sites: although it seems that debate continues over whether all seventeen wallpaper tilings can be found there, it seems to have the best (and best known) collection. But other talks mentioned their appearance in everything from Tibetan <a href="http://en.wikipedia.org/wiki/Sand_mandala">sand mandalas</a> to Norwegian <a href="http://en.wikipedia.org/wiki/Rosemaling">rosemaling</a>. I discovered that there&#8217;s such a thing as ethnomathematics, which aims to go beyond cataloguing such connections between mathematics and culture and attempt to explain them.</p>
<p>Also finding its way to the travel list is the <a href="http://momath.org/">Museum of Mathematics</a>, although I&#8217;ll have to wait a bit as it doesn&#8217;t exist yet&#8230; hopefully it&#8217;ll open in 2012. Rather than focus on dry historical exhibits, their vision is for installation pieces like a race circuit for square-wheel tricycles, large geometric sculptures, and interactive digital art. The target audience might be schoolkids, but I suspect I&#8217;d walk around with a big smile on my face too!</p>
<p>Another exciting project I was oblivious to is the <a href="http://www.bridgesmathart.org/"><em>Bridges</em></a> series of conferences on connections between maths and art: these combine invited talks and papers (with peer-reviewed proceedings) with hands-on activities, an art exhibition, film screenings, all in a location chosen to inspire! <a href="http://bridgesmathart.org/bridges-2011/">The next one</a> is at the University of Coimbra, Portugal, in July. </p>
<p><strong>AMS Special Session on Self-Organization in Human, Biological, and Artificial Systems, II</strong><br />
<small><a href="http://sociology.ucr.edu/people/grad_students/niemeyer.html">R. Niemeyer</a>, <em>Graphs, Dynamical Systems, Fractals: A Heuristic Framework for Modeling the Structure and Dynamics of Complex Interactions Across Multiple levels of Analysis</em>.<br />
<a href="http://www.math.ucla.edu/~lsmith/">L. Smith</a>, <em>An Agent-Based Approach to Modeling Gang Rivalries</em>.</small></p>
<p>Although it&#8217;s a long way from my research activities, emergent systems is one of the topics that first steered me towards mathematics and computer science. So with a spare hour to fill, I decided to indulge an old interest by sampling a couple of talks from this session. Laura Smith&#8217;s was particularly intriguing: based partly on geographic constraints, her team of mathematicians and criminologists was able to build a model of the (violent) interactions of LA&#8217;s numerous gangs. The hope is that such a model would be accurate enough to predict where best to focus police efforts to reduce conflict, although because I&#8217;ve been watching too much <em>Castle</em> lately I found myself dreaming up scenarios of mathematically-savvy gang bosses using optimization theory to maximise their territory instead&#8230; </p>
<p><strong>MAA Invited Addresses</strong><br />
<small><a href="http://math.stanford.edu/~mwood/">M. Matchett Wood</a>, <em>Binary quadratic forms: From Gauss to algebraic geometry</em></small><br />
R. Bell, <em>Lessons from the Netflix Prize</em></p>
<p>Melanie Matchett Wood&#8217;s talk was in the rare category of those from which I felt I&#8217;d gained some insight into abstract algebra. Whilst modern terminology is probably the best working language, I think there&#8217;s a lot to be said for tracing the historical roots of a topic, rather than simply overwriting it with what can be opaque notation. Gauss may have essentially being doing group theory, but he didn&#8217;t know that, and the motivation and inspiration is perhaps easier to understand without that abstraction. </p>
<p><a href="http://www.netflixprize.com/">The Netflix prize</a> offered US$1million for a 10% improvement to their film recommendation algorithm. That might seem a lot easier than other million dollar prize problems, compared to the ferociously difficult millenium problems, for instance. But it also meant a lot more viable competition, especially as when Robert Bell&#8217;s team hit the required 10%, they didn&#8217;t simply win but triggered a 30 day endgame which saw alliances form and the leadership change hands repeatedly: in the end, &#8220;BellKor&#8217;s Pragmatic Chaos&#8221; triumphed by just a fraction of a percent and a twenty minute earlier submission time than their closest rivals. His talk captured this drama, entertained with some of the sub-problems encountered (<a href="http://www.nytimes.com/2008/11/23/magazine/23Netflix-t.html?_r=1&#038;pagewanted=all">Why is it so hard to tell who&#8217;ll like Napoleon Dynamite?</a> What happens if a user gets a girlfriend? and just who has the time to rate 99% of the netflix database?), and also described plenty of the mathematics behind their algorithm. There&#8217;s a documentary film in there somewhere&#8230;</p>
<p><strong>AMS-MAA-SIAM Gerald and Judith Porter Public Lecture and Special Film Presentation</strong><br />
<small><a href="http://www.langorigami.com/">R. Lang</a>, <em>From flapping birds to space telescopes: The mathematics of origami</em>.<br />
Film: <em><a href="http://www.greenfusefilms.com/">Between the Folds</a></em>.<br />
</small></p>
<p>&#8230;which leads me neatly to the final events. Robert Lang seems to have been central to the revolution in Origami caused by the mathematisation of the discipline. The ability to algorithmically create folding patterns of stick-figure skeletons has pushed forward the level of detail that can be achieved with a single sheet; but as with other media, the possibility of greater realism has led also to a reaction in the form of abstract works, from mathematically-inspired patterns to &#8216;single crease&#8217; sculptures. But it&#8217;s not just about art: origami folding lends itself to the design of airbags and heart stents, or to the problem of getting large structures into space. </p>
<p>All of which appears in the film <em>Between the Folds</em>, that I&#8217;m going to recommend regardless of the contents of your netflix queue. Here&#8217;s the trailer:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/tE4lqYzS2m0?fs=1&amp;hl=en_GB&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/tE4lqYzS2m0?fs=1&amp;hl=en_GB&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<hr />
<p>So all in all I had an excellent time at the JMM; I&#8217;m certainly planning to attend the next one, which it seems will be held in Boston even earlier in January. Hopefully I&#8217;ll be able to give a talk too- the question is, in which session?</p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/352/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geometry Club Talk: Why Cryptography Doesn&#8217;t Guarantee Security</title>
		<link>http://maths.straylight.co.uk/archives/131</link>
		<comments>http://maths.straylight.co.uk/archives/131#comments</comments>
		<pubDate>Thu, 28 May 2009 18:18:00 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[PhD]]></category>
		<category><![CDATA[Talks]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/?p=131</guid>
		<description><![CDATA[Tomorrow, in what seems to be becoming an annual tradition, I&#8217;ll be giving a talk on cryptography at the Geometry Club. Since it&#8217;ll be a talk-and-chalk style seminar, I don&#8217;t have any slides to make available, but many of the topics I&#8217;ll be discussing have appeared earlier on this blog or everything2. In particular, I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Tomorrow, in what seems to be becoming an annual tradition, I&#8217;ll be giving a talk on cryptography at the <a href="http://www.maths.ed.ac.uk/~s0198576/gc/">Geometry Club</a>. Since it&#8217;ll be a talk-and-chalk style seminar, I don&#8217;t have any slides to make available, but many of the topics I&#8217;ll be discussing have appeared earlier on this blog or everything2. In particular, I&#8217;m planning to include:</p>
<ul>
<li>A brief overview of public-key cryptography: <a href="http://maths.straylight.co.uk/archives/118">my notes</a> from last year&#8217;s talk cover technical details in the context of (EC)DLP, or there&#8217;s <a href="http://maths.straylight.co.uk/archives/108">this</a> friendlier article on Diffie-Hellman key exchange and man-in-the-middle attacks.</li>
<li>The problems of <a href="http://maths.straylight.co.uk/archives/70">Authentication and Mutual Authentication</a> at a protocol level.</li>
<li>The undecidability of <a href="http://maths.straylight.co.uk/archives/84">the secrecy problem</a> via Post&#8217;s Correspondence Problem.</li>
<li>Lattice-based cryptography- which hopefully I can summarise in a later post.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/131/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Colloquium Talk</title>
		<link>http://maths.straylight.co.uk/archives/123</link>
		<comments>http://maths.straylight.co.uk/archives/123#comments</comments>
		<pubDate>Fri, 31 Oct 2008 11:19:20 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Group Theory]]></category>
		<category><![CDATA[PhD]]></category>
		<category><![CDATA[Talks]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/?p=123</guid>
		<description><![CDATA[Slides from a colloquium I gave on public key cryptography.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I gave another <a href="http://www.maths.ed.ac.uk/~s0681349/PGActivities/colloquium.shtml">postgraduate colloquium</a>, on the basics of public key cryptography. The slideshow I used is <a href="http://www.maths.ed.ac.uk/~s0677951/crypto_colloquium.pdf">here</a> [pdf], although obviously it&#8217;s missing the narrative to go with it. The first part, on sharing secret colours, was lifted from the talk described <a href="http://maths.straylight.co.uk/archives/108">here</a>, although I discussed the discrete logarithm problem in group-theoretic terms this time.  </p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/123/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Distributed Computing</title>
		<link>http://maths.straylight.co.uk/archives/119</link>
		<comments>http://maths.straylight.co.uk/archives/119#comments</comments>
		<pubDate>Tue, 08 Jul 2008 16:05:41 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Pop.Maths]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/?p=119</guid>
		<description><![CDATA[Mathematical study is often thought of as &#8216;purer&#8217; than scientific research- instead of labs full of chemicals, fruit flies or lasers, our work could in theory proceed with nothing more than a chalkboard; rather than believing theories through weight of evidence and an absence of counterexamples, we prove theorems as undeniable consequences of our base [...]]]></description>
			<content:encoded><![CDATA[<p><img src='https://www.wiki.ed.ac.uk/download/attachments/14254618/eddie-final.png' alt='Eddie, a computing cluster at the University of Edinburgh.' class='alignright' /></p>
<p>Mathematical study is often thought of as &#8216;purer&#8217; than scientific research- instead of labs full of chemicals, fruit flies or lasers, our work could in theory proceed with nothing more than a chalkboard; rather than believing theories through weight of evidence and an absence of counterexamples, we prove theorems as undeniable consequences of our base assumptions.</p>
<p>But theorems rarely spring into our minds fully formed, simply awaiting proof. Instead mathematical research can often mimic the scientific method- experimenting with ideas, following promising leads, looking for tests that would break or support hunches, until they look convincing enough to attempt a proof.</p>
<p>This has very much been the nature of my work over the past few months- and although the actual proofs have mostly been worked out by pen and paper, with supporting calculations on a MacBook laptop, the exploratory phase requires something rather more powerful. One of the perks of being a University of Edinburgh researcher is access to the <a href="http://www.is.ed.ac.uk/ecdf/">ECDF</a> &#8211; a cluster of over 1400 processors, as illustrated above. Provided a problem can be split up into many independent sub-problems, such a resource can offer staggering reductions in computation time, by farming them out to multiple machines and running them in parallel. </p>
<p>For instance, I usually wish to generate very, very long lists of matrices and test them for a certain property, keeping only the much smaller subset of those with the property. A typical calculation of this type might take five days on my little Mac, assuming it doesn&#8217;t simply run out of memory in the process. But by splitting it into ten smaller calculations (each exploring a subset of the matrices), I can have the answer from the grid in 12 hours- or, splitting to 20 jobs, I can load it up overnight, and collect the answer the next morning just in time for a supervisor meeting! </p>
<p>Of course, a twenty-fold reduction in calculation time only hints at the power of the cluster; another 70 users could also get such a job done that night. Running all-out on a single task, ECDF could complete four years worth of calculation in a day! </p>
<p>Not all researchers have access to systems like Eddie, but there is one network almost everyone has access to- the internet. The idea of harnessing the power of idle home computers is nothing new: over ten years ago, I was contributing spare cycles of my (then powerful) Pentium 200 to a distributed.net project that <a href="http://www.distributed.net/pressroom/56-announce.html">succeeded</a> in demonstrating the insecurity of 56-bit encryption keys, which at the time was the maximum allowed by the US government in software exports. Other famous distributed efforts include the alien-seeking <a href="http://setiathome.berkeley.edu/">SETI</a> and the biological research project <a href="http://folding.stanford.edu/">folding@home</a>. </p>
<p>The potential for highly parallelised computing has surged as processor counts have grown and always-on internet connectivity becomes increasingly ubiquitous. Modern PCs often have multiple processor cores (and many homes have multiple PCs), and there has been work on exploiting highly powerful (yet specialised) graphics card technology for general purpose computation too: you can even contribute to folding@home with a PlayStation3! </p>
<p>However, except for a few long-range &#8216;big ticket&#8217; schemes such as the ones I&#8217;ve mentioned, setting up, managing and publicising your own distributed computing project might be more daunting than solving your original problem! Fortunately, there is an increasing range of ways to connect researchers to resources. At ANTS (in connection with another cryptographic challenge) I learnt of <a href="http://boinc.berkeley.edu/">BOINC</a>, a general platform that has grown out of SETI: you can submit a project to the volunteer community, or manage a grid within your own organisation. All modern Apple computers include the <a href="http://www.apple.com/server/macosx/technology/xgrid.html">Xgrid</a> feature, allowing again for local grid computing with your own machines or harnessing donated cycles through the <a href="http://www.macresearch.org/openmacgrid">openmacgrid</a> project. Recently, <a href="http://bryanche.blogspot.com/2008/05/introducing-fedora-nightlife.html">Fedora Nightlife</a> was announced, to create a community grid from machines running the popular linux distribution. </p>
<p>There are limitations, of course. Not all calculations fall in to the &#8216;embarassingly parallel&#8217; category that lends itself so well to distributed computing. There are also concerns about the other costs of such schemes &#8211; home PCs are not necessarily cut out for 24/7 running, and those that are will probably add a bit to their owner&#8217;s power bill. However, Bryan&#8217;s blog makes <a href="http://bryanche.blogspot.com/2008/06/fedora-nightlife-and-energy-usage.html">a good case</a> for the environmental merits of distributed computing over data centres, assuming that the calculations are worthwhile and thus going to be done somewhere anyway &#8211; a claim that is perhaps easier to defend for cancer studies than the search for alien signals. Or you can think of it as a very direct form of charity in support of science- donating some electricity, processing power and wear-and-tear rather than cash. So, if like me your home features more computers than people, why not devote some of their time to volunteer computing?</p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/119/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Geometry Club Talk: Computational aspects of ECDLP</title>
		<link>http://maths.straylight.co.uk/archives/118</link>
		<comments>http://maths.straylight.co.uk/archives/118#comments</comments>
		<pubDate>Wed, 23 Apr 2008 09:05:35 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Algebraic Geometry]]></category>
		<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Complexity]]></category>
		<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Group Theory]]></category>
		<category><![CDATA[PhD]]></category>
		<category><![CDATA[Talks]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/?p=118</guid>
		<description><![CDATA[Notes from my geometry club talk given April 18th, 2008.]]></description>
			<content:encoded><![CDATA[<p>On Friday I gave a <a href="http://www.maths.ed.ac.uk/~s0198576/gc/">geometry club</a> seminar, speaking about some of the computational aspects of discrete-logarithm cryptography in general and as implemented for elliptic curves.  <a href="http://www.maths.ed.ac.uk/~s0677951/gc_apr_08.pdf">My notes</a> supplement rather than completely describe the talk, being heavier on the formalities and lighter on the narrative. </p>
<p>The topics covered are: Diffie-Hellman and one-way functions for key exchange; the generic Discrete Logarithm Problem and BSGS algorithm; scalar multiplication- addition chains, fast exponentiation, m-ary methods and windowing; group law implementations, Side-channel attacks and the Edwards form. </p>
<p>I&#8217;ve discussed several of these ideas elsewhere on this blog, as well as the cryptanalysis ideas I mentioned on the day but which are not in the notes. I also refered to a recent real-world example of a side-channel attack; see <a href="http://www.theregister.co.uk/2008/04/03/keeloq_master_key_found/">this</a> story from The Register for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding Public Key Cryptography with Paint</title>
		<link>http://maths.straylight.co.uk/archives/108</link>
		<comments>http://maths.straylight.co.uk/archives/108#comments</comments>
		<pubDate>Sat, 08 Dec 2007 20:12:58 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Pop.Maths]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/?p=108</guid>
		<description><![CDATA[An introduction to public key encryption and Diffie-Hellman key exchange by mixing paint.]]></description>
			<content:encoded><![CDATA[<p><em>(this post roughly  corresponds to the narrative from part of a talk I&#8217;m preparing for S5 (approximately 16 years old)  students, intended to portray a modern research area in an accessible manner. So I&#8217;d very much appreciate feedback in the comments!)</em></p>
<p>For centuries, cryptography &#8211; literally, `secret writing&#8217; &#8211; has been used to securely send and receive messages. But although the sophistication of these systems increased, the core idea remained the same: combining a secret encryption rule with the plaintext message yields a ciphertext, from which the message is recovered by a corresponding decryption rule. Thus the secrecy of messages depended on preserving the secrecy of the cryptographic system (or at least certain parameters). </p>
<p>While this might be feasible for governments or armies, it leads to a fatal flaw when trying to communicate securely with a stranger, a task that underpins the millions of ecommerce transactions that take place every day, for instance. To share secrets, you must first share a secret, the particulars of the cryptographic system you wish to protect the message with. This presents a seemingly impossible hurdle: how can you share that first secret with a previously-uncontacted individual, if any instructions you give will also be available to your adversaries? </p>
<p>Public Key encryption is the solution to this problem; to get a feel for how this is achieved, we&#8217;ll consider a non-mathematical formulation in terms of mixing paint, before abstracting to the properties that make it work.</p>
<h3>Secret Sharing with Paint</h3>
<p>Suppose, then, that our protagonists, <b>Alice</b> and <b>Bob</b>, wish to share a secret: but all their communication is intercepted by an eavesdropper, <b>Eve</b>. How can Alice and Bob arrive at a colour without Eve also knowing it?</p>
<p>Alice and Bob are assumed to know a public base colour- and there&#8217;s no problem with Eve knowing this too. They then choose a private colour of their own, and combine some of that with the base colour to create a public mix. They can then send these mixtures to each other: Eve sees both public colours, but (since it&#8217;s a lot harder to unmix paint), has no idea what private colours were used to produce them.</p>
<p>Having received each others&#8217; mix, Alice and Bob can then mix in their own private colour again, to produce a blend of three colours. But, each of them will have the same colour, since the order in which we mix paint is irrelevant. Eve, however, has no idea what this new mixture looks like. </p>
<p>The following table summarises who sees what, for a particular set of chosen private colours.</p>
<p><img src="http://aleph.straylight.co.uk/cryptcol.png"/></p>
<h3>Useful Properties</h3>
<p>What are the key ideas that make the example above work? and how can we mimic them mathematically?</p>
<h4>Unmixing is necessary&#8230;</h4>
<p>No combination of the colours Eve has seen will mix to give the fetching shade of mustard yellow that Alice and Bob know. Since they had to agree on the procedure, Eve <b>would</b> be able to recreate the desired shade if she knew either of the private colours, since then she could mix it with the corresponding public colour just like Alice and Bob. Unfortunately, the private colours are never disclosed, only their combination with the base colour. So Eve must analyse the public colours in the hope of extracting a private colour.</p>
<h4>&#8230;but unmixing is hard!</h4>
<p>Without an encyclopaedic knowledge of all combinations of paint, Eve cannot know what private colours have been used to generate the public ones. So her only apparent option is to keep trying candidates, mixing each of them with the base coat until she arrives at one of the public colours by sheer luck. This brute force approach will obviously take a very long time!</p>
<h4>Fortunately, Alice and Bob don&#8217;t need to unmix.</h4>
<p>For Alice and Bob, this is irrelevant- they&#8217;re only ever required to mix, which is much easier than unmixing. However, it&#8217;s vital that their two routes through the colours lead to the same result: that is, that Blue+Red+Green is the same as Blue+Green+Red.</p>
<h3>Secret Sharing with Maths</h3>
<p>This leads us in search of a &#8216;one-way function&#8217;: roughly speaking, a mathematical function with the property that it&#8217;s much more difficult to recover the inputs from the outputs (reverse the function) than it is to compute those outputs in the first place, thus satisfying the second property above. Moreover, we need a procedure by which Alice and Bob can make use of such functions to independently arrive at a mutual secret which cannot be obtained by Eve. To do so, we therefore require that the only way to  deduce a shared secret is indeed to reverse the function (the first property). Finally, to make the whole thing work as described above, we require that two applications of the function can be performed in either order to give the same result. This is the third property, described mathematically as <em>commutativity</em>.</p>
<p>Unfortunately, no-one has been able to demonstrate a genuinely one-way function. Fortunately, there are a few candidates, for which even the best publically-known techniques for the reversal are painfully slow. But there remains a risk that someone, somewhere, will devise a smarter way to perform this mathematical unmixing, rendering the function useless for cryptographic application. </p>
<h4>A candidate One-Way Function: Modular Exponentiation</h4>
<p>For a number <em>x</em>, we say <em>x is congruent to y modulo N</em> (written <em>x=y mod N</em>) if <em>y</em> is the remainder after dividing <em>x</em> by N. This might seem a strange idea, but it&#8217;s something we do every day: a clock face works &#8220;mod 12&#8243;, so that if you add 6 to 7 you get 1, as 13 = 12*1 +1 = 1 mod 12.</p>
<p>So, for a fixed base g and modulus N (our equivalent of the base colour), we can compute the <em>modular exponent</em> of any <em>x</em>, defined as  <em>g<sup>x</sup></em> mod N (that is, multiply <em>g</em> by itself<em>x</em> times, subtracting lots of N until the answer is at most N-1). </p>
<p>For instance, with a base of 2 and a modulus of 11, the modular exponent of x=6 is 2<sup>6</sup> mod 11. Working that out, we get 2*2*2*2*2*2 mod 11 = 64 mod 11 = 9 mod 11 since 64 = 5*11 +9. </p>
<p>The possibly surprising (but desired) result is that going backwards- that is, given <em>y</em>, finding <em>x</em> such that <em>g<sup>x</sup></em> mod N =<em>y</em> mod N &#8211; is apparently hard for decently-sized N.  This reversal is known as the <em>Discrete Logarithm Problem</em>, and generalises to some very abstract mathematical objects, known as <em>finite groups</em>, with varying difficulty.</p>
<p>For our example function, with N=2<sup>1024</sup>+643 and assuming a computer capable of a billion tests per second, naively trying each possible private key in turn can take up to a staggering  3, 671743, 063000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000 years to match with a public key. This is significantly longer than the life of the universe so far &#8211; some 13700000000 years &#8211; and definitely longer than anyone is prepared to wait. Of course, there are smarter ways to try keys- and finding yet smarter ones for a given DLP is a very active area of research- but for such values of N none of the publically known ones fall within feasible time scales. </p>
<p>Further, we have the commutativity property we required: working out <em>(g<sup>a</sup>)<sup>b</sup></em> is the same as <em>(g<sup>b</sup>)<sup>a</sup></em>. So we should be able to share secret numbers via modular exponentiation just as we were able to share secret colours with paint mixing. This process is known as <em>Diffie-Hellman Key Exchange</em>.</p>
<h4>Diffie-Hellman Key Exchange</h4>
<ul>
<li>Alice and Bob agree (in public) on a modulus N and a base <em>g</em> (the public base colour)</li>
<li>Each chooses a private key between 1 and N-1; <em>a</em> and <em>b</em> respectively (their private colour)</li>
<li>They each construct a public key by computing <em>A=g<sup>a</sup></em> mod N and <em>B=g<sup>b</sup></em> mod N (mixing private with base)</li>
<li>These can be safely exchanged, as it&#8217;s hard to get back <em>a</em> or <em>b</em> from the public keys <em>A</em> and <em>B</em> (unmixing hard)</li>
<li>Each then performs another modular exponentiation on the public key received:
<ul>
<li>Alice computes <em>B<sup>a</sup> mod N = (g<sup>b</sup>)<sup>a</sup> mod N = (g<sup>ab</sup>) mod N = S mod N</em> for some <em>S</em> between 0 and N-1.</li>
<li>Bob computes <em>A<sup>b</sup> mod N = (g<sup>a</sup>)<sup>b</sup> mod N = (g<sup>ab</sup>) mod N = S mod N</em>, the same <em>S</em>.</li>
</ul>
</li>
</ul>
<p>Hence (assuming N is chosen for the DLP to be sufficiently hard) Alice and Bob know a secret,<em>S</em>, which Eve does not.</p>
<h3>Man-in-the-Middle Attacks</h3>
<p>But is Diffie-Hellman truly secure? If we alter the &#8216;intruder power&#8217;, replacing our eavesdropper Eve with a more powerful character, the malicious <b>Mallory</b>, then we can construct a scenario in which Alice and Bob think they share a secret with each other, but instead share one with Mallory.</p>
<p>To achieve this, Mallory must be able to not just listen in on messages, but replace them with messages of his own. Given that power, he can pick a private key of his own, <em>m</em>, and generate the corresponding public key <em>M</em>, since the choice of <em>g</em> and N must be made in the clear. </p>
<p>Then, when Alice attempts to retrieve Bob&#8217;s public key <em>B</em>, Mallory instead supplies her with <em>M</em>, keeping <em>A</em>; and when Bob asks for Alice&#8217;s key <em>A</em>, revealing <em>B</em>, he is given <em>M</em> as well. Alice then computes <em>S=M<sup>a</sup> mod N</em>,  but Mallory has seen <em>A</em> and thus can compute <em>S</em> as <em>A<sup>m</sup> mod N</em>; Bob meanwhile computes <em>T=M<sup>b mod N</sup></em>  which is also known to Mallory, being <em>B<sup>m</sup> mod N</em>.</p>
<p>Thus, if Alice the tries to use a classical encryption system depending on the secrecy of <em>S</em>, then Mallory will be able to decode the ciphertext. Even more cleverly, he can re-encrypt it using <em>T</em> and forward it to Bob- who can decrypt it with the secret he thinks he shares with Alice, <em>T</em>. Thus no suspicion is raised, yet Mallory has also read the message, <em>without ever having to reverse the one-way function</em>.</p>
<p>Fortunately, this attack depends on near-total control of Alice and Bob&#8217;s communication. If Alice ever looks up Bob&#8217;s public key without Mallory intervening, then she&#8217;ll notice that it&#8217;s <em>B</em>, not <em>M</em>. Or, if she sends Bob a message encrypted with <em>S</em> that Mallory doesn&#8217;t intercept and repack, Bob will recieve a message that cannot be decrypted with the key he has, <em>T</em>: and knows that the Diffie-Hellman key exchange must have been compromised.</p>
<h3>Conclusions</h3>
<p>Identifying and preventing such attacks is part of <em>cryptanalysis</em>, and even with perfect cryptography, forms a vital part of designing secure communication systems. Since we don&#8217;t yet have a provably one-way function, cryptography itself remains an active field of mathematical research, drawing on a range of topics from both pure and applied areas to assess the difficulty of functions. Together, these two fields are known as cryptology; a subject which is becoming increasingly vital as computers and communication systems work themselves further into our everyday lives.</p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/108/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Secrecy Problem</title>
		<link>http://maths.straylight.co.uk/archives/84</link>
		<comments>http://maths.straylight.co.uk/archives/84#comments</comments>
		<pubDate>Thu, 03 May 2007 14:48:50 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Complexity]]></category>
		<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Logic]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/archives/84</guid>
		<description><![CDATA[Link to an E2 writeup on reducing the secrecy problem to Post's Correspondence Problem.]]></description>
			<content:encoded><![CDATA[<p>I took a number of interesting modules in formal logic as an undergraduate, and I&#8217;m often fascinated by ideas in this field. There are natural connections between cryptographic protocol analysis and string rewriting, and with enough freedom one can emulate general models of computation such as Turing machines by protocols. One particularly neat side effect of this is that it allows an elegant proof of the undecidability of the secrecy problem: namely, given a protocol and a secret message, is there a decision procedure to establish whether an intruder can learn the secret? By reducing to Post&#8217;s Correspondence Problem, it can be shown that the answer is no! Of course, this raises issues of intruder strength and &#8216;honest&#8217; protocols; I&#8217;ve written up some of these ideas (along with the proof and an outline of PCP) <a href="http://www.everything2.com/index.pl?node_id=1883122">over on e2</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/84/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geometry Club Talk: Hyperelliptic curves</title>
		<link>http://maths.straylight.co.uk/archives/83</link>
		<comments>http://maths.straylight.co.uk/archives/83#comments</comments>
		<pubDate>Fri, 27 Apr 2007 15:05:03 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Algebraic Geometry]]></category>
		<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Number Theory]]></category>
		<category><![CDATA[PhD]]></category>
		<category><![CDATA[Talks]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/archives/83</guid>
		<description><![CDATA[Slides from my talk on the geometry of hyperelliptic curves in connection with cryptography.]]></description>
			<content:encoded><![CDATA[<p>Today I spoke at <a href="http://www.maths.ed.ac.uk/~s0567465/GC/gchome.shtml">the Geometry Club</a> about the use of hyperelliptic curves in public key cryptography. You can find my slides <a href="http://www.maths.ed.ac.uk/~s0677951/hypertalk.pdf">here</a>, although they were supplemented by some boardwork that you&#8217;ll have to figure out from my other postings!</p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/83/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baby Steps, Giant Steps, and element orders</title>
		<link>http://maths.straylight.co.uk/archives/73</link>
		<comments>http://maths.straylight.co.uk/archives/73#comments</comments>
		<pubDate>Mon, 02 Apr 2007 16:53:30 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Algebraic Geometry]]></category>
		<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Group Theory]]></category>
		<category><![CDATA[Number Theory]]></category>
		<category><![CDATA[PhD]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/?p=73</guid>
		<description><![CDATA[Establishing the order of an element by BSGS.]]></description>
			<content:encoded><![CDATA[<p>The discrete logarithm problem is the vital part of elliptic curve cryptography, but can be defined (to varying cryptographic strength) for any cyclic group:  </p>
<blockquote><p><strong>Discrete Logarithm Problem (DLP)</strong><br />
Let G be a cyclic group, with operation &oplus;.  Let [n] represent (n-1)-fold application of &oplus; i.e., [2]g=g&oplus;g, [3]g=g&oplus;g&oplus;g etc.<br />
<br />
Given g,h from G, the discrete logarithm problem is to find t such that [t]g=h.</p>
</blockquote>
<p>The baby-step, giant step (BSGS) algorithm is a generic algorithm for solving the DLP- that is to say, it makes no appeal to properties of the group involved, merely calculating abstractly with &oplus;.  There is a theoretical upper bound to the effectiveness of generic algorithms, and BSGS approaches are of that order of magnitude. </p>
<p>The simplest demonstration of BSGS (the original by Shanks) assumes that g generates G, with both of known order n: recall that the group order is simply the number of elements it contains, whereas the order of an element g is the least n such that [n]g=id<sub>G</sub>, should such a value exist. The order n of an element always divides the order of the group N, with equality when g generates G.  Between the two there is also the exponent, the least value e such that [e]g=id<sub>G</sub> for all g in G; for cyclic groups this is N, but for products of cyclic groups (the structure of groups of rational points) it is the lowest common multiple of their respective orders, and thus, although a divisor of N, may be significantly smaller than it.</p>
<p>So, if we can find an order m rational point on a curve, we know that the cardinality of the group of rational points is zero modulo m. By testing random points and taking the lowest common multiple of their order we can usually find the exponent e of the group. With luck, but not always, this will be large enough that when combined with bounds on the cardinality the latter is established exactly (as with modular information in the SEA algorithm). </p>
<p>But it is no good attempting to do so using an algorithm that requires the order of the point! There are BSGS algorithms for the DLP which can handle unknown order, for a given g we can apply these to solve for h=id<sub>G</sub> in the cyclic group generated by g. Provided the algorithm gives the minimal t such that [t]g=h=id<sub>G</sub> in G=&lt;g&gt;, then t is the order of g. </p>
<p>One such algorithm, by Terr, is given in Cohen and Frey&#8217;s <i>Handbook of Elliptic and Hyperelliptic curve cryptography</i> (my current bible!) It relies on the following observation:</p>
<blockquote><p>
<p>Let T<sub>n</sub> be the <em>n</em>th triangular number: that is, defined by the recursion T<sub>1</sub>=0, T<sub>n+1</sub>=T<sub>n</sub>+n.<br />
<br />Then any non-negative integer t, there are unique integers j and k with t=T<sub>j+1</sub>-k with 0&le;k&lt;j.</p>
<p>
<em>To see how, notice that there is a unique j such that t lies in the interval (T<sub>j</sub> , &#8230; , T<sub>j+1</sub>]=(T<sub>j+1</sub>-j , &#8230; , T<sub>j+1</sub>-0] and that this interval has width j so there is an appropriate choice of k. </em>
</p></blockquote>
<p>We then suppose that t satisfies [t]g=h. Then we have [T<sub>j+1</sub>]g=h&oplus;[k]g. So, instead of testing each [t] in turn until we hit equality, for a given j we need only test the &#8216;giant step&#8217; [T<sub>j+1</sub>]g against the set of &#8216;baby steps&#8217; &beta;={&beta;<sub>i</sub>}={h&oplus;[0]g,&#8230;,h&oplus;[i]g,&#8230;,h&oplus;[j-1]g. If that j yields no matches, we move to j&#8217;=j+1: by keeping track of [j]g at each iteration, the new T<sub>j&#8217;+1</sub> and the extra h&oplus;[j'-1]g are found by a single group operation each. Hence this is attractive from both storage and time complexity perspectives: we need only record the baby steps &beta;, [j]g and a single giant step at any given iteration j, whilst the time complexity is of order t<sup>1/2</sup>.</p>
<blockquote><p><strong>Terr&#8217;s BSGS variant for the DLP</strong><br /><em>Finds t such that [t]g=h for g generating G of unknown order, h from G.</em><br />
<br />Initialise &beta;={&beta;<sub>0</sub>=h}, &gamma;=&delta;=id<sub>G</sub>, j=0. (<em>(For each iteration, we have &gamma;=[T<sub>j+1</sub>]g and &delta;=[j]g</em>)<br />
Then loop over j as follows:</p>
<ul>
<li>Increment j by 1, then update:
</li>
<li>Set &delta;=&delta;&oplus;g=[j-1]g&oplus;g=[j]g.</li>
<li>Set &gamma;=&gamma;&oplus;&delta;=[T<sub>j</sub>]g+[j]g=[T<sub>j+1</sub>]g.</li>
<li>If j&ge;2 then
<ul>
<li>For s from 0 to j, if &gamma;=&beta;<sub>s</sub> then return T<sub>j+1</sub>-s</li>
</ul>
</li>
<li>Add &beta;<sub>j</sub>=&beta;<sub>j-1</sub>&oplus;g to &beta;</li>
</ul>
</blockquote>
<p>I&#8217;ve implemented this generic DLP algorithm and an order-finding version (which requires you to catch g=id<sub>G</sub>) as Maple procedures for arbitrary groups- details on that will be in the next post! BSGS-based approaches become impractical at finite field sizes well within the grasp of SEA for counting on elliptic curves; but are of interest in the higher genus case which lacks an Elkies procedure.</p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/73/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Type Flaw Attacks</title>
		<link>http://maths.straylight.co.uk/archives/71</link>
		<comments>http://maths.straylight.co.uk/archives/71#comments</comments>
		<pubDate>Tue, 06 Mar 2007 15:39:46 +0000</pubDate>
		<dc:creator>Graeme</dc:creator>
				<category><![CDATA[Cryptology]]></category>

		<guid isPermaLink="false">http://maths.straylight.co.uk/archives/71</guid>
		<description><![CDATA[Link to E2 writeup on type flaw attacks.]]></description>
			<content:encoded><![CDATA[<p>Another day, another cryptographic protocol analysis writeup for Everything2. This time I covered the <a href="http://www.everything2.com/index.pl?node_id=1868820">type flaw attack</a>; a particularly devious vulnerability that is invisible to many formal analytic techniques.</p>
]]></content:encoded>
			<wfw:commentRss>http://maths.straylight.co.uk/archives/71/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

