Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 28 Mar 2015 03:13:26 +0100
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: [GSoC] JtR SIMD support enhancements

On 2015-03-28 02:36, Lei Zhang wrote:
> Hi,
> 
> Currently there seems not much left to do for MIC (or am I missing
> something?), so I'm thinking about moving on to the next quest.
> 
> As there're a couple of subtasks in this project I apply for, I'd
> like to know if you have any suggestions on what to do next.

While I'm not sure of the full answer to that, I suspect you will
benefit from familiarizing yourself with sse-intrinsics.c (currently
handling anything from SSE2 up to and including XOP/AVX) and macros like
SIMD_COEF_32 and SIMD_COEF_64, and for some formats the GETPOS macro.

That file and those macros are currently used in nearly all
MD4/MD5/SHA-1/SHA-2 formats in Jumbo. Until now (and disregarding the
MMX support that was dropped a while ago) SIMD_COEF_32 has always been 4
and SIMD_COEF_64 has always been 2. For AVX2 they will double to 8 and
4, and for AVX-512 they will double again to 16 and 8. Jim recently
prepared the old GETPOS macros for handling this (the old macros could
only hande MMX and SSE2) but I'm not sure that work is complete and
anyway it's mostly untested (see #1099 on GitHub).

Pick any format that uses a function from sse-intrinsics.c and try to
understand how the dots are connected. Maybe focus on something simple
like nt2_fmt_plug.c and the MD4 function, to start with. All the rest
are along the same lines.

magnum

Powered by blists - more mailing lists

Your e-mail address:

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