<?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: Delphi Encryption Compendium (DEC) 5.2 for D2009 released</title>
	<atom:link href="http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/</link>
	<description>Delphi Development &#38; More</description>
	<lastBuildDate>Thu, 02 Feb 2012 12:34:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: Arvid</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5892</link>
		<dc:creator>Arvid</dc:creator>
		<pubDate>Thu, 02 Feb 2012 12:34:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5892</guid>
		<description>Hi Dave,

I have a project page at Google Code:
http://code.google.com/p/delphidec/

Give me some weeks, hopefully I&#039;ll have finished a new release next month. Currently I don&#039;t know if my idea is going to work, so don&#039;t expect anything - but please stay tuned :)

Cheers,
Arvid

P.S.: Sorry don&#039;t have time to look into old errors. Looks like something related to ver.inc, best to check which conditional compilation is correct for your delphi.</description>
		<content:encoded><![CDATA[<p>Hi Dave,</p>
<p>I have a project page at Google Code:<br />
<a href="http://code.google.com/p/delphidec/" rel="nofollow">http://code.google.com/p/delphidec/</a></p>
<p>Give me some weeks, hopefully I&#8217;ll have finished a new release next month. Currently I don&#8217;t know if my idea is going to work, so don&#8217;t expect anything &#8211; but please stay tuned <img src='http://blog.digivendo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cheers,<br />
Arvid</p>
<p>P.S.: Sorry don&#8217;t have time to look into old errors. Looks like something related to ver.inc, best to check which conditional compilation is correct for your delphi.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Case</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5891</link>
		<dc:creator>David Case</dc:creator>
		<pubDate>Mon, 30 Jan 2012 23:23:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5891</guid>
		<description>Hi Arvid,
Excellent work on DEC 52.
I would like to know where I can download the latest version as I cannot find it on Torry anymore and I seem to have a problem with the version I have - Error message detailed below...

TDECHashClass does not contain a member &#039;Register&#039; at line 444</description>
		<content:encoded><![CDATA[<p>Hi Arvid,<br />
Excellent work on DEC 52.<br />
I would like to know where I can download the latest version as I cannot find it on Torry anymore and I seem to have a problem with the version I have &#8211; Error message detailed below&#8230;</p>
<p>TDECHashClass does not contain a member &#8216;Register&#8217; at line 444</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hagen</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5885</link>
		<dc:creator>Hagen</dc:creator>
		<pubDate>Tue, 13 Dec 2011 13:39:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5885</guid>
		<description>you are right, thats a bug.

We want to add a LongWord value multiplied by 8 to a large 256Bit unsigned integer. We multiply it by 8 because we want to count the Bits computed out of Bytes. Some Hash functions need to include the processed length of data streams in Bits into they computation. I had the choice to add the bytes processed into a large integer and finally multiply this large integer by 8, or to do this directly in this addition function. Later is faster and don&#039;t need a separate multiply function to implement.

The mistake I made is in SHR,25 and must be SHR ECX,29.

ECX:EDX contains first our parameter Add and must be multiplied by 8. Thus we load EDX with LEA EDX,[EDX*8] = EDX *8.  This lost the most three bits. We had loaded prior ECX with parameter Add and have to divide it with 2^32/8 = 2^32/2^3 = 2^(32-3) = SHR ECX,29 to correct these lost three most significant bits.

Simply change 25 to 29.

A pascal version of this code is complicated because we can&#039;t access to the CPUs Carry flag in Pascal. Thats used in the assembler version to get the right mathematical result. In i386 assembler there is easily the possibility to chain multiple additions/subtractions of each 32bit in size to get a addition of arbitrary integer sizes, like this function does.

Best regards, Hagen</description>
		<content:encoded><![CDATA[<p>you are right, thats a bug.</p>
<p>We want to add a LongWord value multiplied by 8 to a large 256Bit unsigned integer. We multiply it by 8 because we want to count the Bits computed out of Bytes. Some Hash functions need to include the processed length of data streams in Bits into they computation. I had the choice to add the bytes processed into a large integer and finally multiply this large integer by 8, or to do this directly in this addition function. Later is faster and don&#8217;t need a separate multiply function to implement.</p>
<p>The mistake I made is in SHR,25 and must be SHR ECX,29.</p>
<p>ECX:EDX contains first our parameter Add and must be multiplied by 8. Thus we load EDX with LEA EDX,[EDX*8] = EDX *8.  This lost the most three bits. We had loaded prior ECX with parameter Add and have to divide it with 2^32/8 = 2^32/2^3 = 2^(32-3) = SHR ECX,29 to correct these lost three most significant bits.</p>
<p>Simply change 25 to 29.</p>
<p>A pascal version of this code is complicated because we can&#8217;t access to the CPUs Carry flag in Pascal. Thats used in the assembler version to get the right mathematical result. In i386 assembler there is easily the possibility to chain multiple additions/subtractions of each 32bit in size to get a addition of arbitrary integer sizes, like this function does.</p>
<p>Best regards, Hagen</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arvid</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5884</link>
		<dc:creator>Arvid</dc:creator>
		<pubDate>Wed, 07 Dec 2011 08:06:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5884</guid>
		<description>Hi Andreas,

let me check that, I&#039;ll reply you privately...

Cheers
Arvid</description>
		<content:encoded><![CDATA[<p>Hi Andreas,</p>
<p>let me check that, I&#8217;ll reply you privately&#8230;</p>
<p>Cheers<br />
Arvid</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arvid</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5883</link>
		<dc:creator>Arvid</dc:creator>
		<pubDate>Wed, 07 Dec 2011 08:00:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5883</guid>
		<description>If I am able to find some spare time, yes.</description>
		<content:encoded><![CDATA[<p>If I am able to find some spare time, yes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: irzyxa</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5882</link>
		<dc:creator>irzyxa</dc:creator>
		<pubDate>Mon, 05 Dec 2011 15:07:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5882</guid>
		<description>Can I expect that it will be?</description>
		<content:encoded><![CDATA[<p>Can I expect that it will be?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andreas Tscharner</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5881</link>
		<dc:creator>Andreas Tscharner</dc:creator>
		<pubDate>Fri, 02 Dec 2011 08:02:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5881</guid>
		<description>Hi Arvid,

Define &quot;later this year&quot; ;-)

We use DEC in our product and are now starting to port it to x64.
That means we need DEC compiling and running on Delphi XE2 64bit mode. If you didn&#039;t have time to port it yet, we will do it (at least these parts we need), but in this case it would be helpful if we could base on the latest code.  Therefore I&#039;d kindly ask you if it is possible to use/fill the SVN repository on Google Code with the latest code?

Thank you and best regards
     Andreas</description>
		<content:encoded><![CDATA[<p>Hi Arvid,</p>
<p>Define &#8220;later this year&#8221; <img src='http://blog.digivendo.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>We use DEC in our product and are now starting to port it to x64.<br />
That means we need DEC compiling and running on Delphi XE2 64bit mode. If you didn&#8217;t have time to port it yet, we will do it (at least these parts we need), but in this case it would be helpful if we could base on the latest code.  Therefore I&#8217;d kindly ask you if it is possible to use/fill the SVN repository on Google Code with the latest code?</p>
<p>Thank you and best regards<br />
     Andreas</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arvid</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5880</link>
		<dc:creator>Arvid</dc:creator>
		<pubDate>Wed, 30 Nov 2011 15:07:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5880</guid>
		<description>there is no xe2 x64-bit edition, yet.</description>
		<content:encoded><![CDATA[<p>there is no xe2 x64-bit edition, yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: irzyxa</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5878</link>
		<dc:creator>irzyxa</dc:creator>
		<pubDate>Wed, 30 Nov 2011 10:28:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5878</guid>
		<description>Where i take version DEC for Delphi XE2&amp;</description>
		<content:encoded><![CDATA[<p>Where i take version DEC for Delphi XE2&amp;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arvid</title>
		<link>http://blog.digivendo.com/2008/11/delphi-encryption-compendium-dec-52-for-d2009-released/comment-page-1/#comment-5869</link>
		<dc:creator>Arvid</dc:creator>
		<pubDate>Wed, 05 Oct 2011 10:20:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.digivendo.com/?p=135#comment-5869</guid>
		<description>Hi Andreas,

sorry for the late reply, busy with work and conferences... No, not yet. I&#039;ll start porting the suite later this year.

Cheers,
Arvid</description>
		<content:encoded><![CDATA[<p>Hi Andreas,</p>
<p>sorry for the late reply, busy with work and conferences&#8230; No, not yet. I&#8217;ll start porting the suite later this year.</p>
<p>Cheers,<br />
Arvid</p>
]]></content:encoded>
	</item>
</channel>
</rss>

