<?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 on: Don&#8217;t Hash Your Secrets, Here&#8217;s why in Python</title>
	<atom:link href="http://www.huyng.com/archives/dont-hash-your-secrets-heres-why-in-python/512/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.huyng.com/archives/dont-hash-your-secrets-heres-why-in-python/512/</link>
	<description></description>
	<lastBuildDate>Mon, 16 Aug 2010 10:05:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Steve</title>
		<link>http://www.huyng.com/archives/dont-hash-your-secrets-heres-why-in-python/512/comment-page-1/#comment-2465</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Mon, 15 Mar 2010 05:04:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.huyng.com/?p=512#comment-2465</guid>
		<description>add a timestamp and a salt to the hash to avoid this problem</description>
		<content:encoded><![CDATA[<p>add a timestamp and a salt to the hash to avoid this problem</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Hill</title>
		<link>http://www.huyng.com/archives/dont-hash-your-secrets-heres-why-in-python/512/comment-page-1/#comment-2458</link>
		<dc:creator>Jim Hill</dc:creator>
		<pubDate>Sat, 13 Mar 2010 08:09:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.huyng.com/?p=512#comment-2458</guid>
		<description>A message&#039;s hash code is a summary signature, not an authoritative signature.

It&#039;s a summary signature in that it unquestionably goes with that message and all-but-unquestionably goes with only that message, presuming only that the message makes any kind of sense at all.

It isn&#039;t any kind of authoritative signature in that it adds no meaning at all.  Authoritative signatures do add information: they (often implicitly) mean whatever the signer intends them to mean, e.g. binding the signer to an agreement or promise or authorization, or attesting to a set of facts.</description>
		<content:encoded><![CDATA[<p>A message&#8217;s hash code is a summary signature, not an authoritative signature.</p>
<p>It&#8217;s a summary signature in that it unquestionably goes with that message and all-but-unquestionably goes with only that message, presuming only that the message makes any kind of sense at all.</p>
<p>It isn&#8217;t any kind of authoritative signature in that it adds no meaning at all.  Authoritative signatures do add information: they (often implicitly) mean whatever the signer intends them to mean, e.g. binding the signer to an agreement or promise or authorization, or attesting to a set of facts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Huy</title>
		<link>http://www.huyng.com/archives/dont-hash-your-secrets-heres-why-in-python/512/comment-page-1/#comment-2228</link>
		<dc:creator>Huy</dc:creator>
		<pubDate>Wed, 03 Feb 2010 16:07:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.huyng.com/?p=512#comment-2228</guid>
		<description>Hey Pedro,

You&#039;re right, you &lt;em&gt;do&lt;/em&gt; need to know the length of the original string. Often times  this attack is seen in online companies that sign their API  calls with : md5(secret + message). Well, the &quot;secret&quot; is often uniform in length and can usually be deduced from the online documentation. The &quot;message&quot; is usually sent in clear text over http. Having both of these, the original_len = secret_len + message_len.  

Also, great point about the brute force, that would work as well!</description>
		<content:encoded><![CDATA[<p>Hey Pedro,</p>
<p>You&#8217;re right, you <em>do</em> need to know the length of the original string. Often times  this attack is seen in online companies that sign their API  calls with : md5(secret + message). Well, the &#8220;secret&#8221; is often uniform in length and can usually be deduced from the online documentation. The &#8220;message&#8221; is usually sent in clear text over http. Having both of these, the original_len = secret_len + message_len.  </p>
<p>Also, great point about the brute force, that would work as well!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro Assuncao</title>
		<link>http://www.huyng.com/archives/dont-hash-your-secrets-heres-why-in-python/512/comment-page-1/#comment-2226</link>
		<dc:creator>Pedro Assuncao</dc:creator>
		<pubDate>Wed, 03 Feb 2010 07:36:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.huyng.com/?p=512#comment-2226</guid>
		<description>You assume to know the size of the original message, right? Ok, never mind, i just realized you can basically run it in a brute force manner to eventually get the original message.

Good stuff :)</description>
		<content:encoded><![CDATA[<p>You assume to know the size of the original message, right? Ok, never mind, i just realized you can basically run it in a brute force manner to eventually get the original message.</p>
<p>Good stuff <img src='http://www.huyng.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 29a</title>
		<link>http://www.huyng.com/archives/dont-hash-your-secrets-heres-why-in-python/512/comment-page-1/#comment-2220</link>
		<dc:creator>29a</dc:creator>
		<pubDate>Tue, 02 Feb 2010 13:08:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.huyng.com/?p=512#comment-2220</guid>
		<description>Cool. I didn&#039;t think of that one. Another good reason to use well known method (hmac in that case) instead of rolling your own.</description>
		<content:encoded><![CDATA[<p>Cool. I didn&#8217;t think of that one. Another good reason to use well known method (hmac in that case) instead of rolling your own.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
