Re: compact stamps optimization

bas <[email protected]> Thu, 08 Dec 2005 14:19:22 +0100
Newsgroups gmane.mail.spam.hashcash
Message-ID <[email protected]>
i suddenly understand the problem...

length <= 55
all data is in first block, 9 bytes terminator is in first block

56 <= length <= 64 worst case.
all string data is in the first block, but the 9 bytes terminator is in the 
second block. 2 block transforms needed for each attempt.

65 <= length
terminator and the least significant base64 char are both in second block.

however one can do things with the length of the anti collision string. i think 
16x6 bits for it is overkill, especially considering it only has to be unique 
for an email address + date combination. but the random generation of it has to 
be good.

bas wrote:
> Adam Back wrote:
> 
>> I think the issue is that SHA1 is chained thru the 5x 32-bit (160-bit)
>> chaining/state variables A,B,C,D,E.  So in the 2nd case you have to
>> recompute the 2nd block even though the 2nd data doesn't change.
>>
> i know. i was mentioning the 2 cases where one has to calculate both 
> blocks, and that these don't happen for every attempt.
> 
>> (It would be nice to find a way to remove the -Z options, we tried
>> before, and failed so far).
>>
>> Adam
>>
>> On Wed, Dec 07, 2005 at 11:19:11PM +0100, bas wrote:
>>
>>> [...]
>>> changes which would require calculation of both blocks are
>>> 1: the string becoming longer (because the counter becomes longer), 
>>> so it becomes 2 blocks
>>> 2: a char of the counter, other than the least significant, changes, 
>>> which is in the first block.
>>>
>>> what does the padding refer to? what am i missing?
>>>
>>> i think if its possible at all to optimize -Z2 so it's like 1.1 
>>> slowdown, and not 2x, this is a good idea and it should become the 
>>> default, and the existing -Z1 setting becomes obsolete.
>>
>>
>>
>>
>>
> 
> 
> 
>