<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>malb::blog</title>
	<atom:link href="http://martinralbrecht.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://martinralbrecht.wordpress.com</link>
	<description>a blog about cryptography, math software and dolphins</description>
	<lastBuildDate>Sat, 28 Jan 2012 20:19:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='martinralbrecht.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>malb::blog</title>
		<link>http://martinralbrecht.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://martinralbrecht.wordpress.com/osd.xml" title="malb::blog" />
	<atom:link rel='hub' href='http://martinralbrecht.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Sage 4.8 is out</title>
		<link>http://martinralbrecht.wordpress.com/2012/01/20/sage-4-8-is-out/</link>
		<comments>http://martinralbrecht.wordpress.com/2012/01/20/sage-4-8-is-out/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 16:31:31 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[m4ri]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dense linear algebra]]></category>
		<category><![CDATA[linbox]]></category>
		<category><![CDATA[linear algebra]]></category>
		<category><![CDATA[m4rie]]></category>
		<category><![CDATA[magma]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=716</guid>
		<description><![CDATA[If you care about the stuff I care about (and why else would you read this blog?) you might get excited about a few changes in Sage. efficient linear algebra for The very first non-trivial patch I ever produced for &#8230; <a href="http://martinralbrecht.wordpress.com/2012/01/20/sage-4-8-is-out/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=716&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you care about the stuff I care about (and why else would you read this blog?) you might get excited about a few changes in Sage.<span id="more-716"></span></p>
<h3><strong>efficient linear algebra for <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5Ee%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^e}' title='&#92;mathbb{F}_{2^e}' class='latex' /></strong></h3>
<p>The very first non-trivial patch I ever produced for Sage was about interfacing with NTL for dense linear algebra over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5Ee%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^e}' title='&#92;mathbb{F}_{2^e}' class='latex' /> (I was interested in algebraic attacks against AES at the time). Here&#8217;s William&#8217;s reply:</p>
<blockquote><p>Your NTL patch worked perfectly for me first try. I tried more benchmarks (on Pentium-M 1.8Ghz).</p>
<p>[...]</p>
<p>This is pretty good; vastly better than what&#8217;s was in SAGE by default, and way better than PARI. Note that MAGMA is much faster though (nearly 8 times faster):</p>
<p>[...]</p>
<p>MAGMA uses (1) [...] and (2) a totally different algorithm for computing the echelon form. [...] As far as I know, the MAGMA method is not implemented anywhere in the open source world But I&#8217;d love to be wrong about that&#8230; or even remedy that.</p></blockquote>
<p>Well, that was <strong>2006</strong>. Fast forward to the year <strong>2011</strong> and we get the following timings for computing the reduced row echelon form of a 1,000 x 1,000 matrix over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B256%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{256}' title='&#92;mathbb{F}_{256}' class='latex' />: Sage 4.7.2 takes <strong>36.53</strong> seconds , NTL 5.4.2 takes <strong>31.06</strong> seconds and Magma 2.15 does it in <strong>0.87</strong> seconds. So essentially, the situation didn&#8217;t change at all for the better.</p>
<p>With Sage 4.8 this situation changes dramatically  and we get that Sage performs this computation in <strong>0.08</strong> seconds, that&#8217;s 450 times faster than Sage 4.7.2. This is because <a href="http://m4ri.sagemath.org">M4RIE</a> was merged in Sage 4.8. Hence, Sage is now (in some cases by far) fastest system to do linear algebra with dense matrices over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5Ee%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^e}' title='&#92;mathbb{F}_{2^e}' class='latex' /> for <img src='http://s0.wp.com/latex.php?latex=1+%5Cleq+e+%5Cleq+8&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='1 &#92;leq e &#92;leq 8' title='1 &#92;leq e &#92;leq 8' class='latex' />  and usually also for <img src='http://s0.wp.com/latex.php?latex=9+%5Cleq+e+%5Cleq+10&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='9 &#92;leq e &#92;leq 10' title='9 &#92;leq e &#92;leq 10' class='latex' />.</p>
<h3><strong>efficient linear algebra for <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7Bp%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{p}' title='&#92;mathbb{F}_{p}' class='latex' /></strong></h3>
<p>One can tell a similar story for <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_p&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_p' title='&#92;mathbb{F}_p' class='latex' /> for, say, small to medium sized primes <img src='http://s0.wp.com/latex.php?latex=p&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='p' title='p' class='latex' />. In Sage 4.7.2 it took <strong>1.12</strong> seconds to multiply two 1,000 x 1,000 matrices over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B251%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{251}' title='&#92;mathbb{F}_{251}' class='latex' /> (although you always had the option to call LinBox explicitly which was way faster but took more memory). With Sage 4.8 the same computation takes <strong>0.16</strong> seconds. For comparison, Magma 2.15 takes <strong>0.22</strong> seconds. So here again Sage moved from poor performance to best in class performance between 4.7.2 and 4.8 simply by making proper use of available libraries.</p>
<h3>Viable Alternative yet?</h3>
<p>Overall, the story for dense linear algebra in Sage for small finite fields <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_q&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_q' title='&#92;mathbb{F}_q' class='latex' />  is as follows.</p>
<table width="100%" cellspacing="0" cellpadding="4">
<col width="85*" />
<col width="85*" />
<col width="85*" />
<tbody>
<tr valign="TOP">
<td width="33%"><img src='http://s0.wp.com/latex.php?latex=q&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='q' title='q' class='latex' /></td>
<td width="33%">Implementation</td>
<td width="33%">Comments</td>
</tr>
<tr valign="TOP">
<td width="33%"><img src='http://s0.wp.com/latex.php?latex=2&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='2' title='2' class='latex' /></td>
<td width="33%"><a href="http://m4ri.sagemath.org">M4RI</a></td>
<td width="33%">Fastest implementation or equal performance depending on platform</td>
</tr>
<tr valign="TOP">
<td width="33%"><img src='http://s0.wp.com/latex.php?latex=3%2C5%2C7+%5Cdots&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='3,5,7 &#92;dots' title='3,5,7 &#92;dots' class='latex' /></td>
<td width="33%"><a href="http://www.linalg.org/">LinBox</a></td>
<td width="33%">Decent performance, but <a href="http://arxiv.org/abs/0901.1413">faster </a><a href="http://arxiv.org/abs/0809.0063">implementations </a>are known in the literature. Also, Magma is a bit faster on my machine.</td>
</tr>
<tr valign="TOP">
<td width="33%">prime &lt; <img src='http://s0.wp.com/latex.php?latex=2%5E%7B23%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='2^{23}' title='2^{23}' class='latex' /></td>
<td width="33%"><a href="http://linalg.org">LinBox</a></td>
<td width="33%">Fastest implementation or equal performance depending on platform.</td>
</tr>
<tr valign="TOP">
<td width="33%"><img src='http://s0.wp.com/latex.php?latex=2%5Ee&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='2^e' title='2^e' class='latex' /> for <img src='http://s0.wp.com/latex.php?latex=2+%5Cleq+e+%5Cleq+8&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='2 &#92;leq e &#92;leq 8' title='2 &#92;leq e &#92;leq 8' class='latex' /></td>
<td width="33%"><a href="http://m4ri.sagemath.org">M4RIE</a></td>
<td width="33%">Fastest</td>
</tr>
<tr valign="TOP">
<td width="33%"><img src='http://s0.wp.com/latex.php?latex=p%5Ee&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='p^e' title='p^e' class='latex' /> for <img src='http://s0.wp.com/latex.php?latex=p%3E2&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='p&gt;2' title='p&gt;2' class='latex' /></td>
<td width="33%">Generic</td>
<td width="33%">Very poor performance, but <a href="https://groups.google.com/group/linbox-use/browse_thread/thread/c62ae29f3f898c66">some</a> <a href="http://trac.sagemath.org/sage_trac/ticket/12177">work</a> is being done.</td>
</tr>
</tbody>
</table>
<p><span style="text-align:right;">So, once we fix that last row Sage finally achieves &#8220;viable alternative&#8221; quality when it comes to dense linear algebra over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7Bq%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{q}' title='&#92;mathbb{F}_{q}' class='latex' /> if <img src='http://s0.wp.com/latex.php?latex=q&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='q' title='q' class='latex' />  is <img src='http://s0.wp.com/latex.php?latex=q+%3C+2%5E%7B16%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='q &lt; 2^{16}' title='q &lt; 2^{16}' class='latex' />.</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/716/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=716&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2012/01/20/sage-4-8-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>
	</item>
		<item>
		<title>Rank-profile revealing Gaussian elimination and the CUP matrix decomposition</title>
		<link>http://martinralbrecht.wordpress.com/2012/01/07/rank-profile-revealing-gaussian-elimination-and-the-cup-matrix-decomposition/</link>
		<comments>http://martinralbrecht.wordpress.com/2012/01/07/rank-profile-revealing-gaussian-elimination-and-the-cup-matrix-decomposition/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 12:19:32 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[m4ri]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[exact linear algebra]]></category>
		<category><![CDATA[linear algebra]]></category>
		<category><![CDATA[m4rie]]></category>
		<category><![CDATA[matrix decomposition]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[ple]]></category>
		<category><![CDATA[pre-print]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=711</guid>
		<description><![CDATA[by Claude-Pierre Jeannerod, Clément Pernet, Arne Storjohann is now available on the archive. I like this paper a lot and we also referenced it in both the M4RI elimination paper and the M4RIE paper so three cheers that it&#8217;s now available. Abstract: Transforming a matrix &#8230; <a href="http://martinralbrecht.wordpress.com/2012/01/07/rank-profile-revealing-gaussian-elimination-and-the-cup-matrix-decomposition/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=711&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>by Claude-Pierre Jeannerod, Clément Pernet, Arne Storjohann is now available on the archive. I like this paper a lot and we also referenced it in both the <a href="http://arxiv.org/abs/1111.6549">M4RI elimination paper</a> and the <a href="http://arxiv.org/abs/1111.6900">M4RIE paper</a> so three cheers that it&#8217;s now available.</p>
<p><strong>Abstract: </strong><em>Transforming a matrix over a field to echelon form, or decomposing the matrix as a product of structured matrices that reveal the rank profile, is a fundamental building block of computational exact linear algebra. This paper surveys the well known variations of such decompositions and transformations that have been proposed in the literature. We present an algorithm to compute the CUP decomposition of a matrix, adapted from the LSP algorithm of Ibarra, Moran and Hui (1982), and show reductions from the other most common Gaussian elimination based matrix transformations and decompositions to the CUP decomposition. We discuss the advantages of the CUP algorithm over other existing algorithms by studying time and space complexities: the asymptotic time complexity is rank sensitive, and comparing the constants of the leading terms, the algorithms for computing matrix invariants based on the CUP decomposition are always at least as good except in one case. We also show that the CUP algorithm, as well as the computation of other invariants such as transformation to reduced column echelon form using the CUP algorithm, all work in place, allowing for example to compute the inverse of a matrix on the same storage as the input matrix.</em></p>
<p><a href="http://arxiv.org/abs/1112.5717">http://arxiv.org/abs/1112.5717</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/711/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=711&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2012/01/07/rank-profile-revealing-gaussian-elimination-and-the-cup-matrix-decomposition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>
	</item>
		<item>
		<title>Sage/FLINT Days aka Sage Days 35</title>
		<link>http://martinralbrecht.wordpress.com/2011/12/22/sageflint-days-aka-sage-days-35/</link>
		<comments>http://martinralbrecht.wordpress.com/2011/12/22/sageflint-days-aka-sage-days-35/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 13:20:30 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[m4ri]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[flint]]></category>
		<category><![CDATA[linear algebra]]></category>
		<category><![CDATA[m4rie]]></category>
		<category><![CDATA[polynomial multiplication]]></category>
		<category><![CDATA[sage days]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=699</guid>
		<description><![CDATA[I am writing this while waiting for my taxi to leave Sage Days 35. Although, I didn&#8217;t get much actual coding done, it was great fun and very useful. I met a lot of old friend, new faces and managed &#8230; <a href="http://martinralbrecht.wordpress.com/2011/12/22/sageflint-days-aka-sage-days-35/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=699&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am writing this while waiting for my taxi to leave<a href="http://wiki.sagemath.org/SageFlintDays"> Sage Days 35</a>. Although, I didn&#8217;t get much actual coding done, it was great fun and very useful. I met a lot of old friend, new faces and managed to put faces to e-mail addresses.</p>
<p>In terms of coding projects, first, I tried to speed up linear algebra mod p where p is a 32 or 64 bit prime. But it turns out that any trick I could think of could not improve on <a href="http://fredrik-j.blogspot.com/">Frederik&#8217;s</a> code. So that didn&#8217;t lead anywhere but I allowed me to read some code of <a href="http://selmer.warwick.ac.uk/gitweb/flint2.git">FLINT2</a> (very readable) and admire how carefully it is written.</p>
<p>My other two projects both involved evaluate&#8211;pointwise-multiply&#8211;interpolate algorithms for fast matrix-matrix products over finite extension fields or for matrices with polynomial coefficients (over prime fields).  After my <a href="http://martinralbrecht.files.wordpress.com/2010/07/20111219_-_m4ri_-_warwick.pdf">talk on M4RI(E)</a> <a href="http://web.maths.unsw.edu.au/~davidharvey/">David Harvey</a> worked out how to improve multiplication over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5E6%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^6}' title='&#92;mathbb{F}_{2^6}' class='latex' /> from 17 multiplications over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_2&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_2' title='&#92;mathbb{F}_2' class='latex' /> to 15, which then lead to a general approach for <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5Em%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^m}' title='&#92;mathbb{F}_{2^m}' class='latex' /> with composite <img src='http://s0.wp.com/latex.php?latex=m&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='m' title='m' class='latex' />. Much of it remains to be implemented (efficiently), but the <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5E6%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^6}' title='&#92;mathbb{F}_{2^6}' class='latex' /> example indeed shows a 10% speed-up as expected. The code is not clean yet, uses way too much memory and doesn&#8217;t deal with the more advanced finite field stuff appropriately. It should end up in M4RIE eventually though.</p>
<p>I also contributed a bit to <a href="http://trac.sagemath.org/sage_trac/ticket/12177">#12177</a> which is about a &#8220;prime slice&#8221; implementation of matrices over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7Bp%5Ek%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{p^k}' title='&#92;mathbb{F}_{p^k}' class='latex' />. The idea is essentially to represent  these matrices as polynomials with matrix coefficients and to use fast polynomial multiplication algorithms for these polynomials. It turns out, this works very well even for small finite fields. Burcin Eröcal did all the coding, I only helped with some discussions. We need to polish the code a lot to be usable, so if you like matrices over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7Bp%5Ek%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{p^k}' title='&#92;mathbb{F}_{p^k}' class='latex' /> head over to <a href="http://trac.sagemath.org/sage_trac/ticket/12177">#12177</a> and help out.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/699/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=699&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2011/12/22/sageflint-days-aka-sage-days-35/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>
	</item>
		<item>
		<title>Coldboot Code Available</title>
		<link>http://martinralbrecht.wordpress.com/2011/12/02/coldboot-code-available/</link>
		<comments>http://martinralbrecht.wordpress.com/2011/12/02/coldboot-code-available/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 10:53:22 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[cryptography]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[algebraic attacks]]></category>
		<category><![CDATA[algebraic cryptanalysis]]></category>
		<category><![CDATA[cold boot attacks]]></category>
		<category><![CDATA[mixed integer programming]]></category>
		<category><![CDATA[cryptanalysis]]></category>
		<category><![CDATA[scip]]></category>
		<category><![CDATA[bitbucket]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=692</guid>
		<description><![CDATA[After receiving two inquiries about the coldboot attack paper which were best answered by looking at the code or by comparing with our code, I figured it was about time I put it online. So here it is: https://bitbucket.org/malb/algebraic_attacks/src/1af75effcc7d/coldboot For &#8230; <a href="http://martinralbrecht.wordpress.com/2011/12/02/coldboot-code-available/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=692&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After receiving two inquiries about the coldboot attack paper which were best answered by looking at the code or by comparing with our code, I figured it was about time I put it online. So here it is:</p>
<p><a href="//bitbucket.org/malb/algebraic_attacks/src/1af75effcc7d/coldboot">https://bitbucket.org/malb/algebraic_attacks/src/1af75effcc7d/coldboot</a></p>
<p>For this code to run you&#8217;ll need to apply this patch to<a href="http://www.sagemath.org"> Sage</a>:</p>
<p><a href="http://trac.sagemath.org/sage_trac/ticket/10879">http://trac.sagemath.org/sage_trac/ticket/10879</a></p>
<p>which adds an interface to <a href="http://scip.zib.de/">SCIP</a>. Unfortunately, this patch crashes on OSX and I didn&#8217;t figure out yet why. Anybody willing to help, please step forward <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Also, I assume the code on bitbucket needs some patching to work with the most recent version of Sage. Patches very welcome!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/692/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=692&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2011/12/02/coldboot-code-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>
	</item>
		<item>
		<title>The M4RIE library for dense linear algebra over small fields with even characteristic</title>
		<link>http://martinralbrecht.wordpress.com/2011/11/30/the-m4rie-library-for-dense-linear-algebra-over-small-fields-with-even-characteristic/</link>
		<comments>http://martinralbrecht.wordpress.com/2011/11/30/the-m4rie-library-for-dense-linear-algebra-over-small-fields-with-even-characteristic/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 12:11:45 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[m4ri]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[bit-slice]]></category>
		<category><![CDATA[gf2e]]></category>
		<category><![CDATA[linear algebra]]></category>
		<category><![CDATA[m4rie]]></category>
		<category><![CDATA[newton-john tables]]></category>
		<category><![CDATA[pre-print]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=682</guid>
		<description><![CDATA[I finally uploaded a pre-print of the M4RIE paper to the arXiv: Abstract: In this work, we present the M4RIE library which implements efficient algorithms for linear algebra with dense matrices over for . As the name of the library &#8230; <a href="http://martinralbrecht.wordpress.com/2011/11/30/the-m4rie-library-for-dense-linear-algebra-over-small-fields-with-even-characteristic/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=682&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I finally uploaded a pre-print of the M4RIE paper to the <a href="http://arxiv.org/abs/1111.6900">arXiv</a>:</p>
<blockquote><p><strong>Abstract:</strong> In this work, we present the M4RIE library which implements efficient algorithms for linear algebra with dense matrices over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5Ee%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^e}' title='&#92;mathbb{F}_{2^e}' class='latex' /> for <img src='http://s0.wp.com/latex.php?latex=2+%5Cleq+e+%5Cleq+10&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='2 &#92;leq e &#92;leq 10' title='2 &#92;leq e &#92;leq 10' class='latex' />. As the name of the library indicates, it makes heavy use of the M4RI library both directly (i.e., by calling it) and indirectly (i.e., by using its concepts). We provide an open-source GPLv2+ C library for efficient linear algebra over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5Ee%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^e}' title='&#92;mathbb{F}_{2^e}' class='latex' /> for e small. In this library we implemented an idea due to Bradshaw and Boothby which reduces matrix multiplication over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7Bp%5Ek%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{p^k}' title='&#92;mathbb{F}_{p^k}' class='latex' /> to a series of matrix multiplications over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_p&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_p' title='&#92;mathbb{F}_p' class='latex' />. Furthermore, we propose a caching technique &#8211; Newton-John tables &#8211; to avoid finite field multiplications which is inspired by Kronrod&#8217;s method (&#8220;M4RM&#8221;) for matrix multiplication over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_2&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_2' title='&#92;mathbb{F}_2' class='latex' />. Using these two techniques we provide asymptotically fast triangular solving with matrices (TRSM) and PLE-based Gaussian elimination. As a result, we are able to significantly improve upon the state of the art in dense linear algebra over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_%7B2%5Ee%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_{2^e}' title='&#92;mathbb{F}_{2^e}' class='latex' /> with <img src='http://s0.wp.com/latex.php?latex=2+%5Cleq+e+%5Cleq+10&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='2 &#92;leq e &#92;leq 10' title='2 &#92;leq e &#92;leq 10' class='latex' />.</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/682/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/682/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/682/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=682&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2011/11/30/the-m4rie-library-for-dense-linear-algebra-over-small-fields-with-even-characteristic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>
	</item>
		<item>
		<title>Efficient dense Gaussian elimination over the field with two elements</title>
		<link>http://martinralbrecht.wordpress.com/2011/11/23/efficient-dense-gaussian-elimination-over-the-field-with-two-elements/</link>
		<comments>http://martinralbrecht.wordpress.com/2011/11/23/efficient-dense-gaussian-elimination-over-the-field-with-two-elements/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 14:32:51 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[m4ri]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[linear algebra]]></category>
		<category><![CDATA[matrix decomposition]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[pre-print]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=675</guid>
		<description><![CDATA[Finally, we finished our paper about Gaussian elimination in the M4RI library. Abstract: In this work we describe an efficient implementation of a hierarchy of algorithms for Gaussian elimination upon dense matrices over the field with two elements (). We discuss &#8230; <a href="http://martinralbrecht.wordpress.com/2011/11/23/efficient-dense-gaussian-elimination-over-the-field-with-two-elements/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=675&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Finally, we finished our paper about Gaussian elimination in the M4RI library.</p>
<blockquote><p><strong>Abstract: </strong>In this work we describe an efficient implementation of a hierarchy of algorithms for Gaussian elimination upon dense matrices over the field with two elements (<img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_2&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_2' title='&#92;mathbb{F}_2' class='latex' />). We discuss both well-known and new algorithms as well as our implementations in the M4RI library, which has been adopted into Sage. The focus of our discussion is a block iterative algorithm for PLE decomposition which is inspired by the M4RI algorithm. The implementation presented in this work provides considerable performance gains in practice when compared to the previously fastest implementation. We provide performance figures on x86_64 CPUs to demonstrate the alacrity of our approach.</p></blockquote>
<p>The sources of this document are available <a href="https://bitbucket.org/cpernet/pluqm4ri/overview">on bitbucket</a>. But I also compiled a <a href="http://martinralbrecht.files.wordpress.com/2011/11/ple.pdf">PDF</a>.</p>
<p><strong>Update:</strong> <a href="http://arxiv.org/abs/1111.6549">arXiv link</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/675/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/675/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/675/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=675&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2011/11/23/efficient-dense-gaussian-elimination-over-the-field-with-two-elements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>
	</item>
		<item>
		<title>Ring-LWE and the GB(N) Problem</title>
		<link>http://martinralbrecht.wordpress.com/2011/11/16/ring-lwe-and-the-gbn-problem/</link>
		<comments>http://martinralbrecht.wordpress.com/2011/11/16/ring-lwe-and-the-gbn-problem/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 23:04:53 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[cryptography]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[commutative algebra]]></category>
		<category><![CDATA[gröbner basis]]></category>
		<category><![CDATA[homomorphic encryption]]></category>
		<category><![CDATA[lwe]]></category>
		<category><![CDATA[posso]]></category>
		<category><![CDATA[ring-lwe]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=632</guid>
		<description><![CDATA[Over at the Bristol Cryptography Blog Martijn Stam writes about our &#8220;Polly Cracker, Revisted&#8221; paper: We did not discuss the paper  in great detail, but Jake did mention one interesting avenue for continued research. Given that this new approach allows &#8230; <a href="http://martinralbrecht.wordpress.com/2011/11/16/ring-lwe-and-the-gbn-problem/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=632&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Over at the <a href="http://bristolcrypto.blogspot.com/2011/11/study-group-polly-cracker-revisited.html">Bristol Cryptography Blog</a> Martijn Stam writes about our &#8220;Polly Cracker, Revisted&#8221; paper:</p>
<blockquote><p>We did not discuss the paper  in great detail, but Jake did mention one interesting avenue for continued research. Given that this new approach allows one to cast both LWE and approximate GCD in the same framework, can one also capture ring-LWE. If so, this might enable a better comparison of the various fully homomorphic encryption (FHE) schemes out there. The hope expressed by Jake was that this might allow a reduction to standard LWE (for the current batch of ring-LWE schemes), which would boost our confidence in those schemes.</p></blockquote>
<p>This motivated me to express the Ring-LWE problem in a language of Gröbner bases, here&#8217;s what I could come up with so far.<span id="more-632"></span></p>
<p>But let&#8217;s recall the computational Ring-LWE problem first: Given a prime <img src='http://s0.wp.com/latex.php?latex=q&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='q' title='q' class='latex' /> and an ideal <img src='http://s0.wp.com/latex.php?latex=I+%3D+%5Clangle+x%5En+%2B+1%5Crangle&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='I = &#92;langle x^n + 1&#92;rangle' title='I = &#92;langle x^n + 1&#92;rangle' class='latex' /> where <img src='http://s0.wp.com/latex.php?latex=n&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='n' title='n' class='latex' /> is a power of two and <img src='http://s0.wp.com/latex.php?latex=q+%5Cequiv+1+%5Cmod+2n&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='q &#92;equiv 1 &#92;mod 2n' title='q &#92;equiv 1 &#92;mod 2n' class='latex' />, we consider the quotient ring <img src='http://s0.wp.com/latex.php?latex=P+%3D+%5Cmathbb%7BF%7D_q%5Bx%5D%2FI&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='P = &#92;mathbb{F}_q[x]/I' title='P = &#92;mathbb{F}_q[x]/I' class='latex' />. We pick a random element <img src='http://s0.wp.com/latex.php?latex=s+%5Cin+P&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='s &#92;in P' title='s &#92;in P' class='latex' /> which is our secret. We sample tuples <img src='http://s0.wp.com/latex.php?latex=%28a_i%2C+a_i+%5Ccdot+s+%2B+e_i%29+%5Cin+P+%5Ctimes+P&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='(a_i, a_i &#92;cdot s + e_i) &#92;in P &#92;times P' title='(a_i, a_i &#92;cdot s + e_i) &#92;in P &#92;times P' class='latex' /> where <img src='http://s0.wp.com/latex.php?latex=a_i+%5Cin+P&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a_i &#92;in P' title='a_i &#92;in P' class='latex' /> are random and <img src='http://s0.wp.com/latex.php?latex=e_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_i' title='e_i' class='latex' /> are sampled according to some noise distribution. The computational Ring-LWE problem is to compute <img src='http://s0.wp.com/latex.php?latex=s&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='s' title='s' class='latex' /> given <img src='http://s0.wp.com/latex.php?latex=%28a_i%2C+a_i+%5Ccdot+s+%2B+e_i%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='(a_i, a_i &#92;cdot s + e_i)' title='(a_i, a_i &#92;cdot s + e_i)' class='latex' />.</p>
<p>Assume <img src='http://s0.wp.com/latex.php?latex=e_i+%3D+0&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_i = 0' title='e_i = 0' class='latex' /> for all <img src='http://s0.wp.com/latex.php?latex=i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='i' title='i' class='latex' />, so that we can discuss the algebraic structure directly. Clearly, all <img src='http://s0.wp.com/latex.php?latex=a_i+%5Ccdot+s&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a_i &#92;cdot s' title='a_i &#92;cdot s' class='latex' /> are in the ideal spanned by <img src='http://s0.wp.com/latex.php?latex=s&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='s' title='s' class='latex' /> in <img src='http://s0.wp.com/latex.php?latex=P%2FI&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='P/I' title='P/I' class='latex' />. Furthermore, there is a direct correspondence between ideals <img src='http://s0.wp.com/latex.php?latex=J&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='J' title='J' class='latex' /> in the quotient ring <img src='http://s0.wp.com/latex.php?latex=P%2FI&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='P/I' title='P/I' class='latex' /> and <img src='http://s0.wp.com/latex.php?latex=I+%5Ccup+J&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='I &#92;cup J' title='I &#92;cup J' class='latex' /> in <img src='http://s0.wp.com/latex.php?latex=P&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='P' title='P' class='latex' />. Hence, to recover the Gröbner basis for the ideal spanned by <img src='http://s0.wp.com/latex.php?latex=a_1+%5Ccdot+s%2C%5Cdots%2C+a_m+%5Ccdot+s&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a_1 &#92;cdot s,&#92;dots, a_m &#92;cdot s' title='a_1 &#92;cdot s,&#92;dots, a_m &#92;cdot s' class='latex' />, we simply compute the Gröbner basis of <img src='http://s0.wp.com/latex.php?latex=a_1+%5Ccdot+s%2C%5Cdots%2Ca_m+%5Ccdot+s%2Cx%5En%2B1&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a_1 &#92;cdot s,&#92;dots,a_m &#92;cdot s,x^n+1' title='a_1 &#92;cdot s,&#92;dots,a_m &#92;cdot s,x^n+1' class='latex' />, easy right? Except that the Gröbner basis will be &#8230; wait for it &#8230; 1 with very high probability. This might reduce the search space slightly (since it tells us that <img src='http://s0.wp.com/latex.php?latex=x%5En+%2B+1&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x^n + 1' title='x^n + 1' class='latex' /> and <img src='http://s0.wp.com/latex.php?latex=s&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='s' title='s' class='latex' /> have no common factors over <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_q%5Bx%5D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_q[x]' title='&#92;mathbb{F}_q[x]' class='latex' />) and is correct (since one is the smallest representative of the ideal spanned by <img src='http://s0.wp.com/latex.php?latex=s&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='s' title='s' class='latex' /> in <img src='http://s0.wp.com/latex.php?latex=P%2FI&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='P/I' title='P/I' class='latex' />) this is not terribly useful. But we did ignore <img src='http://s0.wp.com/latex.php?latex=a_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a_i' title='a_i' class='latex' /> so far.</p>
<p>Namely, the problem actually is to compute <img src='http://s0.wp.com/latex.php?latex=%28a_i+%5Ccdot+s%29%2F+a_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='(a_i &#92;cdot s)/ a_i' title='(a_i &#92;cdot s)/ a_i' class='latex' /> or <img src='http://s0.wp.com/latex.php?latex=a_i%5E%7B-1%7D+%5Ccdot+a_i+%5Ccdot+s+%3D+s&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a_i^{-1} &#92;cdot a_i &#92;cdot s = s' title='a_i^{-1} &#92;cdot a_i &#92;cdot s = s' class='latex' />. Now, in order to compute <img src='http://s0.wp.com/latex.php?latex=a_i%5E%7B-1%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a_i^{-1}' title='a_i^{-1}' class='latex' /> in <img src='http://s0.wp.com/latex.php?latex=P+%3D+%5Cmathbb%7BF%7D_q%5Bx%5D+%2F+I&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='P = &#92;mathbb{F}_q[x] / I' title='P = &#92;mathbb{F}_q[x] / I' class='latex' /> &#8211; which is defined if <img src='http://s0.wp.com/latex.php?latex=gcd%28a_i%2Cx%5En%2B1%29+%3D+1&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='gcd(a_i,x^n+1) = 1' title='gcd(a_i,x^n+1) = 1' class='latex' /> &#8211; we may run an extended GCD algorithm which returns <img src='http://s0.wp.com/latex.php?latex=%28g%2Cv%2Cw%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='(g,v,w)' title='(g,v,w)' class='latex' /> for inputs <img src='http://s0.wp.com/latex.php?latex=a%2Cb&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a,b' title='a,b' class='latex' /> such that <img src='http://s0.wp.com/latex.php?latex=g+%3D+v+%5Ccdot+a+%2B+w+%5Ccdot+a&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='g = v &#92;cdot a + w &#92;cdot a' title='g = v &#92;cdot a + w &#92;cdot a' class='latex' />. Hence, for our inputs it will compute <img src='http://s0.wp.com/latex.php?latex=1%3D+v%5Ccdot+a_i+%2B+w+%5Ccdot+%28x%5En+%2B+1%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='1= v&#92;cdot a_i + w &#92;cdot (x^n + 1)' title='1= v&#92;cdot a_i + w &#92;cdot (x^n + 1)' class='latex' /> and thus <img src='http://s0.wp.com/latex.php?latex=v+%5Cequiv+a_i%5E%7B-1%7D+%5Cmod+x%5En+%2B+1&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='v &#92;equiv a_i^{-1} &#92;mod x^n + 1' title='v &#92;equiv a_i^{-1} &#92;mod x^n + 1' class='latex' />.</p>
<p>In the language of Gröbner bases the extended GCD equivalent is often called &#8220;lifting&#8221;: Given an ideal <img src='http://s0.wp.com/latex.php?latex=I+%3D+%28f_1%2C...%2Cf_r%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='I = (f_1,...,f_r)' title='I = (f_1,...,f_r)' class='latex' /> and some <img src='http://s0.wp.com/latex.php?latex=g+%5Cin+I&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='g &#92;in I' title='g &#92;in I' class='latex' />, find <img src='http://s0.wp.com/latex.php?latex=s_1%2C%5Cdots%2Cs_r&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='s_1,&#92;dots,s_r' title='s_1,&#92;dots,s_r' class='latex' /> such that <img src='http://s0.wp.com/latex.php?latex=g+%3D+s_1+f_1+%2B+%5Cdots+%2B+s_r+f_r&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='g = s_1 f_1 + &#92;dots + s_r f_r' title='g = s_1 f_1 + &#92;dots + s_r f_r' class='latex' />.  The problem is easy given a Gröbner basis <img src='http://s0.wp.com/latex.php?latex=g_1%2C%5Cdots%2Cg_r&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='g_1,&#92;dots,g_r' title='g_1,&#92;dots,g_r' class='latex' /> (in our case <img src='http://s0.wp.com/latex.php?latex=x%5En+%2B+1&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x^n + 1' title='x^n + 1' class='latex' />), since every element <img src='http://s0.wp.com/latex.php?latex=h+%5Cin+%5Clangle+g_1%2C%5Cdots%2Cg_r%5Crangle&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='h &#92;in &#92;langle g_1,&#92;dots,g_r&#92;rangle' title='h &#92;in &#92;langle g_1,&#92;dots,g_r&#92;rangle' class='latex' /> can be written as <img src='http://s0.wp.com/latex.php?latex=h+%3D+%5Csum+h_i+%5Ccdot+g_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='h = &#92;sum h_i &#92;cdot g_i' title='h = &#92;sum h_i &#92;cdot g_i' class='latex' /> where <img src='http://s0.wp.com/latex.php?latex=%5Ctextrm%7BLM%7D%28h_ig_i%29+%5Cleq+%5Ctextrm%7BLM%7D%28h%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;textrm{LM}(h_ig_i) &#92;leq &#92;textrm{LM}(h)' title='&#92;textrm{LM}(h_ig_i) &#92;leq &#92;textrm{LM}(h)' class='latex' />.  In general, it might be hard because the <em>a priori</em> bound on the degree of the output may be large. In any case, instead of solving a(n approximate) GCD (or GB(N)), we are now solving an extended GCD (or lifting with GB(N)), i.e., we keep track of our computation. Well, here&#8217;s an example in Sage:</p>
<p><pre class="brush: python;">
sage: n = 2^3
sage: q = 17
sage: R. = GF(q)[]
sage: Q. = R.quotient(Xbar^n + 1)
sage: s = Q.random_element()
sage: s
8*X^7 + 4*X^6 + 11*X^5 + 6*X^4 + 15*X^3 + 12*X^2 + 14*X + 12
sage: a = Q.random_element()
sage: P. = PolynomialRing(GF(q),1)
sage: A = sage_eval(str(a),{'X':x})
sage: S = sage_eval(str(s),{'X':x})
sage: Ainv = P(1).lift( (A,x^n + 1) )[0]
sage: Ainv*(A*S) % (x^n + 1)
8*x^7 + 4*x^6 - 6*x^5 + 6*x^4 - 2*x^3 - 5*x^2 - 3*x - 5
</pre></p>
<p>Alternatively, we may &#8220;lift&#8221; <img src='http://s0.wp.com/latex.php?latex=a_i+%5Ccdot+s&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='a_i &#92;cdot s' title='a_i &#92;cdot s' class='latex' /> with respect to <img src='http://s0.wp.com/latex.php?latex=%28a_i%2CX%5En%2B1%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='(a_i,X^n+1)' title='(a_i,X^n+1)' class='latex' /> directly. Well, I don&#8217;t know if any of the above is actually useful, as I said that&#8217;s how far I got after reading Martijn&#8217;s blog post.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/632/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=632&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2011/11/16/ring-lwe-and-the-gbn-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>
	</item>
		<item>
		<title>Sage/FLINT Days in Warwick 17 &#8211; 22nd December 2011</title>
		<link>http://martinralbrecht.wordpress.com/2011/11/02/sageflint-days-in-warwick-17-22nd-december-2011/</link>
		<comments>http://martinralbrecht.wordpress.com/2011/11/02/sageflint-days-in-warwick-17-22nd-december-2011/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 08:27:07 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[m4ri]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[flint]]></category>
		<category><![CDATA[linear algebra]]></category>
		<category><![CDATA[m4rie]]></category>
		<category><![CDATA[number theory]]></category>
		<category><![CDATA[sage days]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=629</guid>
		<description><![CDATA[&#8220;A Sage Days workshop around the theme of Algorithms in Number Theory and FLINT.&#8221; &#160; &#160; See http://wiki.sagemath.org/SageFlintDays for more information and registration. PS: I&#8217;ll be talking about M4RI(E) &#8230; big surprise.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=629&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8220;A Sage Days workshop around the theme of Algorithms in Number Theory and FLINT.&#8221;</p>
<p><a href="http://martinralbrecht.files.wordpress.com/2011/11/poster.png"><img class="aligncenter size-full wp-image-630" title="Sage/FLINT Days Poster" src="http://martinralbrecht.files.wordpress.com/2011/11/poster.png?w=500" alt=""   /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>See <a href="http://wiki.sagemath.org/SageFlintDays">http://wiki.sagemath.org/SageFlintDays</a> for more information and registration.</p>
<p><strong>PS:</strong> I&#8217;ll be talking about M4RI(E) &#8230; big surprise.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/629/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/629/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/629/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/629/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/629/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/629/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/629/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/629/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/629/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/629/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/629/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/629/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/629/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/629/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=629&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2011/11/02/sageflint-days-in-warwick-17-22nd-december-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>

		<media:content url="http://martinralbrecht.files.wordpress.com/2011/11/poster.png" medium="image">
			<media:title type="html">Sage/FLINT Days Poster</media:title>
		</media:content>
	</item>
		<item>
		<title>Challenge matrices</title>
		<link>http://martinralbrecht.wordpress.com/2011/10/19/challenge-matrices/</link>
		<comments>http://martinralbrecht.wordpress.com/2011/10/19/challenge-matrices/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 20:00:37 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[m4ri]]></category>
		<category><![CDATA[algebraic attacks]]></category>
		<category><![CDATA[algebraic cryptanalysis]]></category>
		<category><![CDATA[commutative algebra]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[f4]]></category>
		<category><![CDATA[gröbner basis]]></category>
		<category><![CDATA[linear algebra]]></category>
		<category><![CDATA[mutantxl]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=621</guid>
		<description><![CDATA[Now, that we have a decent PNG reader/writer in M4RI, it&#8217;s much easier to get some challenge matrices out of the library. Below, I list and link a few such matrices as they appear during Gröbner basis computations. file matrix &#8230; <a href="http://martinralbrecht.wordpress.com/2011/10/19/challenge-matrices/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=621&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Now, that we have a decent PNG reader/writer in M4RI, it&#8217;s much easier to get some challenge matrices out of the library. Below, I list and link a few such matrices as they appear during Gröbner basis computations.</p>
<table>
<thead>
<tr>
<td><strong>file</strong></td>
<td><strong>matrix dimensions</strong></td>
<td><strong>density</strong></td>
<td><strong>PLE</strong></td>
<td><strong>M4RI</strong></td>
<td><strong>GB</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/hfe25_5.png">HFE 25 matrix 5</a> (5.1M)</td>
<td>12307 x 13508</td>
<td>0.07600</td>
<td>1.03</td>
<td>0.59</td>
<td>0.81</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/hfe30_5.png">HFE 30 matrix 5</a> (16M)</td>
<td>19907 x 29323</td>
<td>0.06731</td>
<td>4.79</td>
<td>2.70</td>
<td>4.76</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/hfe35_5.png">HFE 35 matrix 5</a> (37M)</td>
<td>29969 x 55800</td>
<td>0.05949</td>
<td>19.33</td>
<td>9.28</td>
<td>19.51</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/mutant_matrix.png">Mutant matrix</a> (39M)</td>
<td>26075 x 26407</td>
<td>0.18497</td>
<td>5.71</td>
<td>3.98</td>
<td>2.10</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/random_24_26_matrix_003.png">random n=24, m=26 matrix 3</a> (30M)</td>
<td>37587 x 38483</td>
<td>0.03832</td>
<td>20.69</td>
<td>21.08</td>
<td>19.36</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/random_24_26_matrix_004.png">random n=24_ m=26 matrix 4</a> (24M)</td>
<td>37576 x 32288</td>
<td>0.04073</td>
<td>18.65</td>
<td>28.44</td>
<td>17.05</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/sr_2_2_2_4_compressed_matrix_002.png">SR(2,2,2,4) compressed, matrix 2</a> (328K)</td>
<td>5640 x 14297</td>
<td>0.00333</td>
<td>0.40</td>
<td>0.29</td>
<td>0.18</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/sr_2_2_2_4_compressed_matrix_004.png">SR(2,2,2,4) compressed, matrix 4</a> (2.4M)</td>
<td>13665 x 17394</td>
<td>0.01376</td>
<td>2.18</td>
<td>3.04</td>
<td>2.04</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/sr_2_2_2_4_compressed_matrix_005.png">SR(2,2,2,4) compressed, matrix 5</a> (2.8M)</td>
<td>11606 x 16282</td>
<td>0.03532</td>
<td>1.94</td>
<td>4.46</td>
<td>1.59</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/sr_2_2_2_4_matrix_006.png">SR(2,2,2,4) matrix 6</a> (1.4M)</td>
<td>13067 x 17511</td>
<td>0.00892</td>
<td>1.90</td>
<td>2.09</td>
<td>1.38</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/sr_2_2_2_4_matrix_007.png">SR(2,2,2,4) matrix 7</a> (1.7M)</td>
<td>12058 x 16662</td>
<td>0.01536</td>
<td>1.53</td>
<td>1.93</td>
<td>1.66</td>
</tr>
<tr>
<td><a href="http://m4ri.sagemath.org/benchmarketing/sr_2_2_2_4_matrix_009.png">SR(2,2,2,4) matrix 9</a> (36M)</td>
<td>115834 x 118589</td>
<td>0.00376</td>
<td>528.21</td>
<td>578.54</td>
<td>522.98</td>
</tr>
</tbody>
</table>
<p>The first three rows are from GB computations for the hidden field equations cryptosystem (those matrices were provided by Michael Brickenstein). The &#8220;mutant&#8221; row is a matrix as it appears during a run of the MXL2 algorithm on a random system (I believe). It was contributed by Wael Said. The rows &#8220;random n=25,m=26&#8243; are matrices as they appear during a GB computation with PolyBoRi for a random system of equations in 24 variables and 26 equations. The remaining rows are matrices from PolyBoRi computations on small scale AES instances. Those rows which have &#8220;compressed&#8221; in their description correspond to systems where &#8220;linear variables&#8221; were eliminate before running the Gröbner basis algorithm.</p>
<p>The last three columns give running times (quite rough ones!) for computing an echelon form (not reduced) using (a) the M4RI algorithm, (b) PLE decomposition and (c) a first implementation of the <a href="http://www-salsa.lip6.fr/~jcf/Papers/PASCO2010.pdf">TRSM for trivial pivots trick</a>. As you can see, currently it&#8217;s not straight-forward to pick which strategy to use to eliminate matrices appearing during Gröbner basis computations: the best algorithm to pick varies between different problems and the differences can be dramatic.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/621/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/621/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/621/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/621/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/621/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/621/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/621/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/621/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/621/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/621/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/621/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/621/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/621/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/621/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=621&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2011/10/19/challenge-matrices/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>
	</item>
		<item>
		<title>M4RIE Paper</title>
		<link>http://martinralbrecht.wordpress.com/2011/10/17/m4rie-paper/</link>
		<comments>http://martinralbrecht.wordpress.com/2011/10/17/m4rie-paper/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 18:00:22 +0000</pubDate>
		<dc:creator>martinralbrecht</dc:creator>
				<category><![CDATA[m4ri]]></category>
		<category><![CDATA[sage]]></category>
		<category><![CDATA[linear algebra]]></category>
		<category><![CDATA[m4rie]]></category>
		<category><![CDATA[paper]]></category>

		<guid isPermaLink="false">http://martinralbrecht.wordpress.com/?p=616</guid>
		<description><![CDATA[I&#8217;ve been writing up the ideas that went into the M4RIE library for dense linear algebra over small extensions of . I think it is now in a state to be readable enough to up a PDF of  the current &#8230; <a href="http://martinralbrecht.wordpress.com/2011/10/17/m4rie-paper/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=616&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve <a href="https://bitbucket.org/malb/m4rie-paper">been writing up</a> the ideas that went into the M4RIE library for dense linear algebra over small extensions of <img src='http://s0.wp.com/latex.php?latex=%5Cmathbb%7BF%7D_2&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;mathbb{F}_2' title='&#92;mathbb{F}_2' class='latex' />. I think it is now in a state to be readable enough to up a PDF of  the current draft online. Hence, <a href="http://martinralbrecht.files.wordpress.com/2011/10/m4rie-paper.pdf">here</a> it is. While the paper does explain what we mean by &#8220;Travolta tables&#8221; it doesn&#8217;t explain why we call them that way &#8230; but the image below does:</p>
<p><a href="http://martinralbrecht.files.wordpress.com/2011/10/grease.jpg"><img class="aligncenter size-medium wp-image-618" title="Grease" src="http://martinralbrecht.files.wordpress.com/2011/10/grease.jpg?w=219&#038;h=300" alt="" width="219" height="300" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/martinralbrecht.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/martinralbrecht.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/martinralbrecht.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/martinralbrecht.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/martinralbrecht.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/martinralbrecht.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/martinralbrecht.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/martinralbrecht.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/martinralbrecht.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/martinralbrecht.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/martinralbrecht.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/martinralbrecht.wordpress.com/616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/martinralbrecht.wordpress.com/616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/martinralbrecht.wordpress.com/616/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=martinralbrecht.wordpress.com&amp;blog=14622449&amp;post=616&amp;subd=martinralbrecht&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://martinralbrecht.wordpress.com/2011/10/17/m4rie-paper/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/363ef48a47c22420f3b38e1ac17bfdf5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">martinralbrecht</media:title>
		</media:content>

		<media:content url="http://martinralbrecht.files.wordpress.com/2011/10/grease.jpg?w=219" medium="image">
			<media:title type="html">Grease</media:title>
		</media:content>
	</item>
	</channel>
</rss>
