Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 15 Oct 2015 23:02:56 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: 64-bit rotate on AMD GCN

On 2015-10-15 22:25, Pavel Semjanov wrote:
> On 12.10.2015 20:41, magnum wrote:
>> On 2015-10-10 06:52, Solar Designer wrote:
>>> #define ror(x, n)       ((n) < 32 ? (amd_bitalign((uint)((x) >> 32),
>>> (uint)(x), (uint)(n)) | ((ulong)amd_bitalign((uint)(x), (uint)((x) >>
>>> 32), (uint)(n)) << 32)) : (amd_bitalign((uint)(x), (uint)((x) >> 32),
>>> (uint)(n) - 32) | ((ulong)amd_bitalign((uint)((x) >> 32), (uint)(x),
>>> (uint)(n) - 32) << 32)))
>>
>> Thanks, this went into
>> https://github.com/magnumripper/JohnTheRipper/issues/1819 and most or
>> all applicable formats now use the above.
>
> Not working on small numbers and rotate by 8, like ror (0x220, 8).
> I guess it's bitalign error. The only one mention I found is:
> https://community.amd.com/thread/158878

What device and driver version(s) did you see that with? I recall Atom 
told me he'd seen rotate() fail with numbers divisible by 8.  I'm pretty 
sure he meant the OpenCL function but it could be the same underlying 
bug. That was in June last year so maybe Cat 14.4 or something. I never 
saw that very bug surface though.

sigma0 has a rotate by 8 but I see no problems with 15.7. I just tested 
bull's 13.4 and it works fine (although it's a *LOT* slower than 15.7 
with Myrice's formats and it can't even build any of Claudio's SHA-512 
formats).

magnum

Powered by blists - more mailing lists

Your e-mail address:

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