<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Alice and Bob in Cryptoland</title>
	<atom:link href="http://alicebob.cryptoland.net/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://alicebob.cryptoland.net</link>
	<description></description>
	<lastBuildDate>Fri, 06 Jan 2012 10:22:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Understanding the Montgomery reduction algorithm by Conrado</title>
		<link>http://alicebob.cryptoland.net/understanding-the-montgomery-reduction-algorithm/#comment-320</link>
		<dc:creator>Conrado</dc:creator>
		<pubDate>Fri, 06 Jan 2012 10:22:56 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=220#comment-320</guid>
		<description>Oops. Thanks!</description>
		<content:encoded><![CDATA[<p>Oops. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Understanding the Montgomery reduction algorithm by Martin</title>
		<link>http://alicebob.cryptoland.net/understanding-the-montgomery-reduction-algorithm/#comment-319</link>
		<dc:creator>Martin</dc:creator>
		<pubDate>Fri, 06 Jan 2012 08:48:47 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=220#comment-319</guid>
		<description>x * p[0] mod B = 1 
 not  x * p[0] mod B = 0.</description>
		<content:encoded><![CDATA[<p>x * p[0] mod B = 1<br />
 not  x * p[0] mod B = 0.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Understanding the Montgomery reduction algorithm by Conrado</title>
		<link>http://alicebob.cryptoland.net/understanding-the-montgomery-reduction-algorithm/#comment-318</link>
		<dc:creator>Conrado</dc:creator>
		<pubDate>Tue, 03 Jan 2012 01:19:10 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=220#comment-318</guid>
		<description>Sure! I am assuming that you are storing your numbers in byte vectors, therefore p[0] is the lower byte of the prime modulus. Then, 1/p[0] mod B is the inverse, modulo B, of p[0]; i.e. the number x such that x * p[0] mod B = 1. In order to compute it, you can use the &lt;a href=&quot;http://alicebob.cryptoland.net/understanding-the-extended-euclidian-algorithm/&quot; rel=&quot;nofollow&quot;&gt;extended Euclidean algorithm&lt;/a&gt;; but in your case you can simply compute x * p[0] mod B for all bytes x until the result is one.</description>
		<content:encoded><![CDATA[<p>Sure! I am assuming that you are storing your numbers in byte vectors, therefore p[0] is the lower byte of the prime modulus. Then, 1/p[0] mod B is the inverse, modulo B, of p[0]; i.e. the number x such that x * p[0] mod B = 1. In order to compute it, you can use the <a href="http://alicebob.cryptoland.net/understanding-the-extended-euclidian-algorithm/" rel="nofollow">extended Euclidean algorithm</a>; but in your case you can simply compute x * p[0] mod B for all bytes x until the result is one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Understanding the Montgomery reduction algorithm by Daniel</title>
		<link>http://alicebob.cryptoland.net/understanding-the-montgomery-reduction-algorithm/#comment-317</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Mon, 02 Jan 2012 23:48:18 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=220#comment-317</guid>
		<description>Can you go more in depth on &quot;the magic number&quot; section? I&#039;m a little confused on how to calculate -(1/p[0]) mod B. I&#039;ve got a little toy implementation that uses B=256.</description>
		<content:encoded><![CDATA[<p>Can you go more in depth on &#8220;the magic number&#8221; section? I&#8217;m a little confused on how to calculate -(1/p[0]) mod B. I&#8217;ve got a little toy implementation that uses B=256.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Understanding the extended Euclidean algorithm by Žilvinas</title>
		<link>http://alicebob.cryptoland.net/understanding-the-extended-euclidian-algorithm/#comment-315</link>
		<dc:creator>Žilvinas</dc:creator>
		<pubDate>Sat, 12 Nov 2011 19:31:08 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=213#comment-315</guid>
		<description>Thanks, helped a lot!</description>
		<content:encoded><![CDATA[<p>Thanks, helped a lot!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Closure gotcha (with Python) by O.C.</title>
		<link>http://alicebob.cryptoland.net/closure-gotcha-with-python/#comment-312</link>
		<dc:creator>O.C.</dc:creator>
		<pubDate>Sat, 23 Jul 2011 12:32:58 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=15#comment-312</guid>
		<description>Hi,

thanks for this good explanation. I spent a few hours trying to find my bug and I finally used a debugger... then it was easy to see that the value was not the expected one. I wish I had used the debugger earlier!</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>thanks for this good explanation. I spent a few hours trying to find my bug and I finally used a debugger&#8230; then it was easy to see that the value was not the expected one. I wish I had used the debugger earlier!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Closure gotcha (with Python) by Alex Marandon</title>
		<link>http://alicebob.cryptoland.net/closure-gotcha-with-python/#comment-311</link>
		<dc:creator>Alex Marandon</dc:creator>
		<pubDate>Thu, 23 Jun 2011 13:57:26 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=15#comment-311</guid>
		<description>I bumped into this gotcha today and your post gives me a clear, well written explanation. 

The &quot;closure factory&quot; solution is quite straightforward. But I wouldn&#039;t have thought of the keyword arguments workaround, which is concise but a bit cryptic. The kind of thing I&#039;d leave a comment for in my code.

It&#039;s kind of funny how one common gotcha (how default values are being evaluated) can be used as a workaround for another gotcha.</description>
		<content:encoded><![CDATA[<p>I bumped into this gotcha today and your post gives me a clear, well written explanation. </p>
<p>The &#8220;closure factory&#8221; solution is quite straightforward. But I wouldn&#8217;t have thought of the keyword arguments workaround, which is concise but a bit cryptic. The kind of thing I&#8217;d leave a comment for in my code.</p>
<p>It&#8217;s kind of funny how one common gotcha (how default values are being evaluated) can be used as a workaround for another gotcha.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Frobenius endomorphism with finite fields by Yang Li</title>
		<link>http://alicebob.cryptoland.net/the-frobenius-endomorphism-with-finite-fields/#comment-102</link>
		<dc:creator>Yang Li</dc:creator>
		<pubDate>Mon, 08 Nov 2010 13:46:05 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=153#comment-102</guid>
		<description>Your blog helps a lot. I&#039;ve been confused with Frobenius endomorphism with quadratic extension for two days.
Thank you!(from China)</description>
		<content:encoded><![CDATA[<p>Your blog helps a lot. I&#8217;ve been confused with Frobenius endomorphism with quadratic extension for two days.<br />
Thank you!(from China)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Access violation errors with callbacks in ctypes by Daniel G</title>
		<link>http://alicebob.cryptoland.net/access-violation-errors-with-callbacks-in-ctypes/#comment-80</link>
		<dc:creator>Daniel G</dc:creator>
		<pubDate>Mon, 23 Aug 2010 19:24:54 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=49#comment-80</guid>
		<description>Thanks for keeping me from going crazy -- very useful! Makes me remember how frustrating programming before google used to be :)</description>
		<content:encoded><![CDATA[<p>Thanks for keeping me from going crazy &#8212; very useful! Makes me remember how frustrating programming before google used to be <img src='http://alicebob.cryptoland.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Access violation errors with callbacks in ctypes by kpoman</title>
		<link>http://alicebob.cryptoland.net/access-violation-errors-with-callbacks-in-ctypes/#comment-10</link>
		<dc:creator>kpoman</dc:creator>
		<pubDate>Mon, 26 Jul 2010 22:34:23 +0000</pubDate>
		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=49#comment-10</guid>
		<description>Thank you for this post ! I also solved my bug ! It was also working on 2.5 but stopped working on 2.6. I think it is stricter in garbage collection. Keeping a global or instance reference to the callback solves the problem.

Thank you,</description>
		<content:encoded><![CDATA[<p>Thank you for this post ! I also solved my bug ! It was also working on 2.5 but stopped working on 2.6. I think it is stricter in garbage collection. Keeping a global or instance reference to the callback solves the problem.</p>
<p>Thank you,</p>
]]></content:encoded>
	</item>
</channel>
</rss>

