Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 11 Apr 2013 9:19:24 -0400
From:  <jfoug@....net>
To: john-dev@...ts.openwall.com
Cc: Jeremi Gosney <epixoip@...dshell.nl>
Subject: Re: [patch] sse/xop implementation of raw-sha256

Since you are still working on this, I would like to ask for these changes:

1.  change the wrapper #define.

Currently  
#ifdef __SSE2__

Please change to:
#include "arch.h"
#ifdef MMX_COEF

2. the aligned data

change (there is also an aligned item as a local var later in the code needing same fix):

uint32_t saved_key[VWIDTH][64] __attribute__ ((aligned(16)));
uint32_t crypt_key[ 8][VWIDTH] __attribute__ ((aligned(16)));


to:

#ifdef _MSC_VER
__declspec(align(16)) static uint32_t saved_key[VWIDTH][64];
__declspec(align(16)) static uint32_t crypt_key[ 8][VWIDTH];
#else
static uint32_t saved_key[VWIDTH][64] __attribute__ ((aligned(16)));
static uint32_t crypt_key[ 8][VWIDTH] __attribute__ ((aligned(16)));
#endif

3.  Make data vars static, not global.

It does build just fine on VC, but not until the above changes.  VC does not define __SSE2__, and it does not understand __attribuite__ (aligned(x)) syntax of gcc.

Jim.

---- Jeremi Gosney <epixoip@...dshell.nl> wrote: 
> On 4/10/2013 9:53 AM, magnum wrote:
> > Then another commit that adds max-length test vectors and that make
> > the format fail (even from an empty string). The failures have nothing
> > to do with my set_key() patch - they happen even without it. magnum 
> 
> 55 actually is the appropriate max length for a single block
> implementation. 59 was incorrect.

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ