|
|
Message-ID: <20120624073225.GA4435@openwall.com>
Date: Sun, 24 Jun 2012 11:32:25 +0400
From: Solar Designer <solar@...nwall.com>
To: musl@...ts.openwall.com
Subject: Re: FreeSec crypt()
On Sun, Jun 24, 2012 at 11:21:12AM +0400, Solar Designer wrote:
> struct _crypt_extended_shared {
> uint32_t psbox[8][64];
> uint32_t ip_maskl[16][16], ip_maskr[16][16];
> uint32_t fp_maskl[8][16], fp_maskr[8][16];
> uint32_t key_perm_maskl[8][16], key_perm_maskr[12][16];
> uint32_t comp_maskl0[4][8], comp_maskr0[4][8];
> uint32_t comp_maskl1[4][16], comp_maskr1[4][16];
> };
Actually, we should re-order the first two lines. That is make it:
struct _crypt_extended_shared {
uint32_t ip_maskl[16][16], ip_maskr[16][16];
uint32_t psbox[8][64];
uint32_t fp_maskl[8][16], fp_maskr[8][16];
uint32_t key_perm_maskl[8][16], key_perm_maskr[12][16];
uint32_t comp_maskl0[4][8], comp_maskr0[4][8];
uint32_t comp_maskl1[4][16], comp_maskr1[4][16];
};
That's because IP is not always used (it's only used for "new"-style
hashes, not for "old"-style ones where the initial block is always 0
and thus IP is skipped). When it is used, it's used right before
psbox[] is.
Alexander
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.