|
|
Message-ID: <CABtNtWEQvEWw27Q9q0915-HTEKj414BU=2xs4QfKHtKN=HBdQQ@mail.gmail.com>
Date: Fri, 21 Aug 2015 16:37:41 +0800
From: Kai Zhao <loverszhao@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: testing every index (Re: more robustness)
Hi Alexander,
On Mon, Aug 17, 2015 at 9:52 PM, Solar Designer <solar@...nwall.com> wrote:
> Kai,
>
> On Mon, Aug 17, 2015 at 08:43:42PM +0800, Kai Zhao wrote:
>> What do you mean by "make use of all test vectors at once
>> rather than use just one plaintext for all expected-correct indices."
>> For example,
>>
>> LM.fmt.c
>>
>> static struct fmt_tests tests[] = {
>> {"$LM$a9c604d244c4e99d", "AAAAAA"},
>> {"$LM$cbc501a4d2227783", "AAAAAAA"},
>> {"$LM$3466c2b0487fe39a", "CRACKPO"},
>> {"$LM$dbc5e5cba8028091", "IMPUNIT"},
>> {LM_EMPTY LM_EMPTY, ""},
>> {"$LM$73cc402bd3e79175", "SCLEROS"},
>> {"$LM$5ecd9236d21095ce", "YOKOHAM"},
>> {"$LM$A5E6066DE61C3E35", "ZZZZZZZ"}, /* uppercase encoding */
>> {"$LM$1FB363feB834C12D", "ZZZZZZ"}, /* mixed case encoding */
>> {NULL}
>> };
>>
>> Now we are cracking the "$LM$a9c604d244c4e99d", and the correct
>> password is "AAAAAA".
>>
>> The current array of keys which set correct passwords on the even
>> index is:
>>
>> [0] = "AAAAAA"
>> [1] = "wrong password"
>> [2] = "AAAAAA"
>> [3] = "wrong password"
>> ...
>>
>> To make use of all the test vectors, do you mean the array should be
>> the following ?
>>
>> [0] = "AAAAAA"
>> [1] = "AAAAAAA"
>> [2] = "CRACKPO"
>> [3] = "IMPUNIT"
>> ...
>
> No. I still want to have us test handling of incorrect passwords at the
> same time as well. So it's more like:
>
> [0] = "AAAAAA"
> [1] = "wrong password"
> [2] = "AAAAAAA"
> [3] = "wrong password"
> [4] = "CRACKPO"
> [5] = "wrong password"
> [6] = "IMPUNIT"
> [7] = "wrong password"
> ...
If we are testing the first hash '$LM$a9c604d244c4e99d', only
"AAAAAA" is correct, "AAAAAAA", "CRACKPO" and "IMPUNIT"
are incorrect passwords. Why introduce those passwords ?
I am a little confused. For example:
We are testing the first hash '$LM$a9c604d244c4e99d' whose
correct password is "AAAAAA".
1. All correct
key[0] = "AAAAAA"
key[1] = "AAAAAA"
key[2] = "AAAAAA"
key[3] = "AAAAAA"
...
2. All incorrect
key[0] = "wrong password"
key[1] = "wrong password"
key[2] = "wrong password"
key[3] = "wrong password"
...
3. Even index is correct
key[0] = "AAAAAA"
key[1] = "wrong password"
key[2] = "AAAAAA"
key[3] = "wrong password"
...
4. Odd index is correct
key[0] = "wrong password"
key[1] = "AAAAAA"
key[2] = "wrong password"
key[3] = "AAAAAA"
...
5. The ith password is correct if hash(i) is even, otherwise incorrect
key[0] = "AAAAAA"
key[1] = "AAAAAA"
key[2] = "wrong password"
key[3] = "AAAAAA"
...
6. The ith password is correct if hash(i) is odd, otherwise incorrect
key[0] = "wrong password"
key[1] = "wrong password"
key[2] = "AAAAAA"
key[3] = "wrong password"
...
Is this what you mean ?
Thanks,
Kai
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.