<?xml version="1.0" encoding="utf-8"?><!-- generator="wordpress/2.0.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Captcha Code</title>
	<link>http://www.symetrix.net/symetrix/2004/06/captcha-code</link>
	<description>speeding up the downward spiral</description>
	<pubDate>Fri, 29 Aug 2008 07:24:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>

	<item>
		<title>by: Gerardo Capiel</title>
		<link>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-302</link>
		<pubDate>Wed, 05 Jan 2005 01:40:13 +0000</pubDate>
		<guid>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-302</guid>
					<description>Are you making your source code available?</description>
		<content:encoded><![CDATA[<p>Are you making your source code available?
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Mike</title>
		<link>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-9</link>
		<pubDate>Sun, 27 Jun 2004 09:28:13 +0000</pubDate>
		<guid>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-9</guid>
					<description>I wouldn't call it a flaw. The reason your given the secret key, submitted hash, and correct hash, is because this is just a demo. I have changed the output of the script to make this a little more obvious. Thanks.</description>
		<content:encoded><![CDATA[<p>I wouldn&#8217;t call it a flaw. The reason your given the secret key, submitted hash, and correct hash, is because this is just a demo. I have changed the output of the script to make this a little more obvious. Thanks.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Oliver</title>
		<link>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-8</link>
		<pubDate>Sat, 26 Jun 2004 14:53:46 +0000</pubDate>
		<guid>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-8</guid>
					<description>I've found a flaw: as long as you give the calculated hash in the answer page, I can re-submit the answer with the hash you've given me (same input, but your hash). With this method I don't even need to load any picture at all!

The first thing to do is remove the real hash on the answer page. I wrote a small script &lt;a href=&quot;http://home.tele2.fr/nkh/capcrack.rb&quot;&gt;here&lt;/a&gt; to have a right answer every time.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve found a flaw: as long as you give the calculated hash in the answer page, I can re-submit the answer with the hash you&#8217;ve given me (same input, but your hash). With this method I don&#8217;t even need to load any picture at all!</p>
<p>The first thing to do is remove the real hash on the answer page. I wrote a small script <a href="http://home.tele2.fr/nkh/capcrack.rb">here</a> to have a right answer every time.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Mike</title>
		<link>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-7</link>
		<pubDate>Fri, 25 Jun 2004 20:35:44 +0000</pubDate>
		<guid>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-7</guid>
					<description>The reason I intergrated the 'secret' into the computation was to allow a site owner to significantly change the hashing function with a few keystrokes.

Assume for a second you do the 2^64 computations (thanks for doing the math Oliver) to find the secret. By changing a few characters in the secret, you again have to do 2^64 computations to find it.

I do appricate the feedback on my methods though. Because of this dicussion i'm moving the hashing secret into an external file so a cron job could be setup to generate a new secret every day/week/month/etc.</description>
		<content:encoded><![CDATA[<p>The reason I intergrated the &#8217;secret&#8217; into the computation was to allow a site owner to significantly change the hashing function with a few keystrokes.</p>
<p>Assume for a second you do the 2^64 computations (thanks for doing the math Oliver) to find the secret. By changing a few characters in the secret, you again have to do 2^64 computations to find it.</p>
<p>I do appricate the feedback on my methods though. Because of this dicussion i&#8217;m moving the hashing secret into an external file so a cron job could be setup to generate a new secret every day/week/month/etc.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Oliver</title>
		<link>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-6</link>
		<pubDate>Fri, 25 Jun 2004 00:06:14 +0000</pubDate>
		<guid>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-6</guid>
					<description>I'm not an expert on this point, but using SHA-1 instead of MD5 wouldn't strenghten the program. The cracker would just have to do 2^80 computations (for SHA-1) instead of 2^64 (for MD5): 2^64 is big enough. I even think it could have no effect at all if you just try to brute-force the program. By using SHA, you just garantee the number is unique.
Expanding the timestamp to seconds would be a good solution.
The best solution would be to show us the source code so we could analyze it!</description>
		<content:encoded><![CDATA[<p>I&#8217;m not an expert on this point, but using SHA-1 instead of MD5 wouldn&#8217;t strenghten the program. The cracker would just have to do 2^80 computations (for SHA-1) instead of 2^64 (for MD5): 2^64 is big enough. I even think it could have no effect at all if you just try to brute-force the program. By using SHA, you just garantee the number is unique.<br />
Expanding the timestamp to seconds would be a good solution.<br />
The best solution would be to show us the source code so we could analyze it!
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Chas</title>
		<link>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-5</link>
		<pubDate>Thu, 24 Jun 2004 19:59:25 +0000</pubDate>
		<guid>http://www.symetrix.net/symetrix/2004/06/captcha-code#comment-5</guid>
					<description>Hmmm. A cracker wouldn't necessarily be privy to this information, but knowing it would improve the chances of brute force cracking the S value. Once that was cracked, it would be trivial to reassemble or create a new TSH as you described. A good step would be using SHA, but I think expanding the timestamp to minutes (or even seconds) would solve the rest of the problem.

In an application like a whois lookup (NetSol uses a captcha for theirs) limiting to seconds would be much more effective than minutes. Overall, looks good. I don't have any experience with character recognition, or I'd try that for you.</description>
		<content:encoded><![CDATA[<p>Hmmm. A cracker wouldn&#8217;t necessarily be privy to this information, but knowing it would improve the chances of brute force cracking the S value. Once that was cracked, it would be trivial to reassemble or create a new TSH as you described. A good step would be using SHA, but I think expanding the timestamp to minutes (or even seconds) would solve the rest of the problem.</p>
<p>In an application like a whois lookup (NetSol uses a captcha for theirs) limiting to seconds would be much more effective than minutes. Overall, looks good. I don&#8217;t have any experience with character recognition, or I&#8217;d try that for you.
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
