Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 15 May 2013 18:17:24 +0530
From: Dhiru Kholia <>
Subject: Re: Dynamic speed increases, RIPEMD speed up and new
 Dynamic functions

On Wed, May 15, 2013 at 6:05 PM,  <> wrote:
> In the ripemd code (probably in all the sph code), the 'Final' function calls in Init_ctx() after done.  This is a security thing, IF producing code where the results should not be able to be sniffed.  However, for JtR, this is simply wasteful work.  These are now commented out in ripemd_plug.c.  One other small tweak to ripemd320.
> In dyna, I added 2 new primitive functions.   These allow input1+=Input1 and input2+=input2.  Before we could do input1+=input2 and input2+=input1 but they could not append themselves. This was useful for functions like gost(gost($p).gost($p)) (which I made 1 of each for the large hash types).  In that case, the format gets the KEYS_IN_INPUT flag, so the keys are in input1, and the large hashes can only do a crypt with output to some input buffer.  So we do a crypt1_output_to_input2.  That needed to be doubled, but there was no way to do that, without using input1 buffer.  If I would have used input1 buffer, then the KEYS_IN_INPUT could not be used, and it would require at least 2 additional buffer copies and clears.  So, in this case, I can keep the keys in input1, crypt with output to input2, then call the input2+=input2 to double it, then the final crypt of input2 to the crypt_out1.
> The DYNAMIC document also updated, and updated with 'preloads' for all the new hash(hash($p).hash($p)) format types.

Committed to bleeding-jumbo.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.