<?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"
	>
<channel>
	<title>Comments on: Username as password salt</title>
	<atom:link href="http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/</link>
	<description>Callum's musings on the world at large...</description>
	<pubDate>Fri, 21 Nov 2008 10:33:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Jeremy</title>
		<link>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/#comment-31438</link>
		<dc:creator>Jeremy</dc:creator>
		<pubDate>Wed, 05 Nov 2008 07:16:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=616#comment-31438</guid>
		<description>Or if you use uniqueidentifiers, use that for the salt</description>
		<content:encoded><![CDATA[<p>Or if you use uniqueidentifiers, use that for the salt</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Callum</title>
		<link>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/#comment-28148</link>
		<dc:creator>Callum</dc:creator>
		<pubDate>Sun, 15 Jun 2008 02:52:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=616#comment-28148</guid>
		<description>@&lt;a href="http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/#comment-28147" rel="nofollow"&gt;Morgan Tocker&lt;/a&gt;: Thanks for chiming in.

It's true that you could build your own hash database, but would it not be prohibitively expensive (time and disk wise)? I thought the beauty of rainbow table attacks is that you precompute the rainbow table once, then you can store it indefinitely. Whereas I haven't heard the argument that the principle of hashing in itself is flawed.

I understood that passwords were stored as salted hashes so that a rainbow table would be useless. In effect, an attacker would need to generate a new rainbow table for every user, which would be prohibitively expensive.

I think I'll go with something like md5( username . password . domain ). It would be possible from that data to break the passwords, but it would require a *huge* amount of work.</description>
		<content:encoded><![CDATA[<p>@<a href="http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/#comment-28147" rel="nofollow">Morgan Tocker</a>: Thanks for chiming in.</p>
<p>It&#8217;s true that you could build your own hash database, but would it not be prohibitively expensive (time and disk wise)? I thought the beauty of rainbow table attacks is that you precompute the rainbow table once, then you can store it indefinitely. Whereas I haven&#8217;t heard the argument that the principle of hashing in itself is flawed.</p>
<p>I understood that passwords were stored as salted hashes so that a rainbow table would be useless. In effect, an attacker would need to generate a new rainbow table for every user, which would be prohibitively expensive.</p>
<p>I think I&#8217;ll go with something like md5( username . password . domain ). It would be possible from that data to break the passwords, but it would require a *huge* amount of work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Morgan Tocker</title>
		<link>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/#comment-28147</link>
		<dc:creator>Morgan Tocker</dc:creator>
		<pubDate>Sun, 15 Jun 2008 02:45:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=616#comment-28147</guid>
		<description>It's not devoid of use, but As Alex pointed out - it's probably better to keep that known constant hidden and treat it like a password in itself.  That way nobody else can build their own hash database (easily) by just starting from MD5(salt . 'a') .. MD5(salt . 'b') etc.

FWIW, the largest hash database I know of is Gdata (http://gdataonline.com/).  Presumably from their homepage they have 670M hashes - which is just a bit less than 64^5.

The storage cost for 64^5 is 4G just for the hashes - and for 64^6 it's 256G, so it starts to get expensive quickly.</description>
		<content:encoded><![CDATA[<p>It&#8217;s not devoid of use, but As Alex pointed out - it&#8217;s probably better to keep that known constant hidden and treat it like a password in itself.  That way nobody else can build their own hash database (easily) by just starting from MD5(salt . &#8216;a&#8217;) .. MD5(salt . &#8216;b&#8217;) etc.</p>
<p>FWIW, the largest hash database I know of is Gdata (http://gdataonline.com/).  Presumably from their homepage they have 670M hashes - which is just a bit less than 64^5.</p>
<p>The storage cost for 64^5 is 4G just for the hashes - and for 64^6 it&#8217;s 256G, so it starts to get expensive quickly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Callum</title>
		<link>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/#comment-28140</link>
		<dc:creator>Callum</dc:creator>
		<pubDate>Fri, 13 Jun 2008 08:43:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=616#comment-28140</guid>
		<description>An excellent point Alex, I knew you'd chime in with something useful! :)

So simply combining the two would not provide adequate protection against rainbow attacks. Very true. But the two combined with a known constant, such as the site URL, would presumably overcome this issue. Each record would be individually unique, and the whole namespace would also be globally unique.</description>
		<content:encoded><![CDATA[<p>An excellent point Alex, I knew you&#8217;d chime in with something useful! <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So simply combining the two would not provide adequate protection against rainbow attacks. Very true. But the two combined with a known constant, such as the site URL, would presumably overcome this issue. Each record would be individually unique, and the whole namespace would also be globally unique.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/#comment-28139</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Fri, 13 Jun 2008 08:40:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=616#comment-28139</guid>
		<description>... only that the username is frequently a known quantity, particularly for users such as 'admin' or 'root' that you might reasonably want to attack. Since the point of salt is to eliminate pre-calculated hashes being used in a dictionary attack, it doesn't help when a set of pre-calculated hashes can be created with the salt 'admin' or 'root'.</description>
		<content:encoded><![CDATA[<p>&#8230; only that the username is frequently a known quantity, particularly for users such as &#8216;admin&#8217; or &#8216;root&#8217; that you might reasonably want to attack. Since the point of salt is to eliminate pre-calculated hashes being used in a dictionary attack, it doesn&#8217;t help when a set of pre-calculated hashes can be created with the salt &#8216;admin&#8217; or &#8216;root&#8217;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
