Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 21 Aug 2012 09:51:52 -0700
From: Alain Espinosa <alainesp@...il.com>
To: john-dev <john-dev@...ts.openwall.com>
Subject: OpenCL optimization trick for md*

Hi. Share some small OpenCL optimization i will use in next Hash Suite.

Work in nt_kernel.cl, md4_kernel.cl, md5_kernel.cl, sha1_kernel.cl and
possible others. In nt_kernel.cl change all round 1 steps:
a += (d ^ (b & (c ^ d)))  +  nt_buffer[4] ; a = rotate(a , 3u );
by
a += bitselect(d, c, b) +  nt_buffer[4] ; a = rotate(a , 3u );


Work in nt_kernel.cl and md4_kernel.cl but not sure if it is an
improvement. In nt_kernel.cl change all round 2 steps:
a += ((b & (c | d)) | (c & d)) + nt_buffer[0] + SQRT_2; a = rotate(a , 3u );
by
a += bitselect(bitselect(b,c,d), bitselect(d,b,c), b) + nt_buffer[0] +
SQRT_2; a = rotate(a , 3u );

saludos,
alain

Powered by blists - more mailing lists

Your e-mail address:

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