Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 12 Jul 2013 23:26:58 +0200
From: marcus.desto <marcus.desto@...pl>
To: john-dev@...ts.openwall.com
Subject: Re:  Probably a third BUG in pbkdf2_hmac_sha1_unsplit_kernel.cl

Dnia 12 lipca 2013 22:34 magnum <john.magnum@...hmail.com> napisaƂ(a):
> 
> Are you sure you got all defines right now? We have lots of formats working fine with a salt length much less than 51. Please post an example python file that demonstrates the problem as simply as possible.
> 
> magnum
> 

Posting the program will not help.
I have made some more testing, but I am still not sure, what may be the source of the problem.
It might be the python opencl api. The error occurs since I switched using numpy and struct to pass data between the kernel and the host python program. I ran non parallelized implementation with only one input data, meaning 1 password (1 salt etc).
There are no problems at all running the kernel with a single input data. But using numpy and struct is basic for speed up makes those error occure ...

There are three problems, that occure:
1.) On setting KEYLEN > 48 passing of data failes. The API says, something causes segementation fault. No more details.
2.) Lowering constant SALTLEN value (not the salt len inside the data itself, it runs fine with salt len <52) causes zero hash. No error msgs.
3.) ... ehm .. there was something else, I just forgot. Dawm.

Anyway, in the CL file are given

/*
 * KEYLEN  should be PLAINTEXT_LENGTH for passwords or 20 for hash
 * OUTLEN  should be sizeof(outbuffer->v)
 * SALTLEN should be sizeof(currentsalt.salt)
 */

#define KEYLEN 48
#define OUTLEN 13
#define SALTLEN 51

but even when SALTLEN is set to 51, but real salt is 32, it runs well.
It also runs perfect with KEYLEN 48, even real data length might is <48.
OUTLEN never changing, it is 13 all the time.

At this moment I cannot compile JtR, so I ask you to do so using given parameters.
If you cannot reproduce the problems using c++ api, then it is an indicator for pyopencl being the source of the bug.

Please, use your testing kit to do those few tests using mentioned parameters, and give me short feedback.

Regards,
Marc

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.