|
Message-ID: <CABob6ioysPSEb3cQKsETbURDqm+Om7aXPdBzu38F4wCZw6bP=g@mail.gmail.com> Date: Fri, 9 Aug 2013 06:14:11 +0200 From: Lukas Odzioba <lukas.odzioba@...il.com> To: john-dev@...ts.openwall.com Subject: raw-md5-opencl does not crack some hashes Sayantan,all: seems that our raw-md5-opencl is not working as it should (tested on bleeding a583eb8dd) at least on 6950. I ran a session trying to crack ~10k md5 hashes using mask mode and this format missed 2 of them. 100k would be better, but I don't have so much patience to wait for completion. Later I tried the same with incremental mode - same behaviour. This means the problem is not in mask mode but in the format itself. $ cat md5_10k | sort | uniq | wc -l 9999 6950: $ ./john -mask=?l?l?l?l?l?l md5_10k -format=raw-md5-opencl (...) 9997g 0:00:03:13 51.54g/s 1592Kp/s 1592Kc/s 8049MC/s zzvzug..CHECK $ ./john -i:Lower6 md5_10k -format=raw-md5-opencl (...) 9997g 0:00:03:10 DONE (2013-08-09 04:27) 52.53g/s 1623Kp/s 1623Kc/s 8083MC/s uwzcqn..CHECK 1 core of 3770k: $ ./john -mask=?l?l?l?l?l?l md5_10k -format=raw-md5 (...) 9999g 0:00:00:12 807.6g/s 24949Kp/s 24949Kc/s 128564MC/s zzxxci..zzxxct $ ./john -i:Lower6 md5_10k -format=raw-md5 (...) 9999g 0:00:00:10 DONE (2013-08-09 04:23) 920.7g/s 28442Kp/s 28442Kc/s 152521MC/s xvqsvn..xvqzvc I used the following code to generate samples: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <openssl/md5.h> int main(int argc, char *argv[]){ int i,j; char w[100]; unsigned char digest[16]; if(argc<3){ printf("Usage: %s <hashes> <plaintext lengths>\n",argv[0]); return 1; } srand(time(NULL)); for(i=0;i<atoi(argv[1]);i++){ for(j=0;j<atoi(argv[2]);j++) w[j]=(random()%26)+'a'; w[j]=0; MD5(w,j,digest); printf("%s:",w); for(j=0;j<16;j++) printf("%02x",digest[j]); puts(""); } return 0; } $ gcc gen.c -o gen -lcrypto $ ./gen 10000 6 >md5_10k [Incremental:Lower6] File = $JOHN/lower.chr MinLen = 6 MaxLen = 6 CharCount = 26 Those two plaintexts thare were not cracked are: $ cat crackme ltwaat:e84a6a7673eb1fc965ee4af9e616220b xdsrll:f0991036698615c3efc923f65466caef Those two hashes are uncrackable on 6950: $ ./john -i:Lower6 crackme -format=raw-md5-opencl Device 0: Cayman (AMD Radeon HD 6900 Series) Local worksize (LWS) 128, global worksize (GWS) 2097152 Loaded 2 password hashes with no different salts (Raw-MD5-opencl [MD5 OpenCL (inefficient, development use only)]) Press 'q' or Ctrl-C to abort, almost any other key for status 0g 0:00:00:06 DONE (2013-08-09 04:49) 0g/s 48117Kp/s 48117Kc/s 96235KC/s sdhugu..CHECK But all 9999 are cracked fine on 5850: $ ./john -i:Lower6 crackme -format=raw-md5-opencl -dev=1 Device 1: Cypress (ATI Radeon HD 5800 Series) Local worksize (LWS) 128, global worksize (GWS) 1048576 Loaded 2 password hashes with no different salts (Raw-MD5-opencl [MD5 OpenCL (inefficient, development use only)]) Press 'q' or Ctrl-C to abort, almost any other key for status ltwaat (ltwaat) xdsrll (xdsrll) 2g 0:00:00:04 DONE (2013-08-09 04:49) 0.4784g/s 42896Kp/s 42896Kc/s 84287KC/s xdsrll..CHECK $ ./john -i:Lower6 md5_10k -format=raw-md5-opencl -dev=1 Device 1: Cypress (ATI Radeon HD 5800 Series) Local worksize (LWS) 128, global worksize (GWS) 1048576 Loaded 9999 password hashes with no different salts (Raw-MD5-opencl [MD5 OpenCL (inefficient, development use only)]) Press 'q' or Ctrl-C to abort, almost any other key for status (...) 9999g 0:00:04:02 DONE (2013-08-09 04:55) 41.26g/s 1274Kp/s 1274Kc/s 6323MC/s uwzcqn..CHECK This didn't look good so I tried on other devices: 570: 9997g (same 2 hashes as on 6950) ltwaat xdsrll 7979: 9996g ltwaat xdsrll xvrswe Things look even worse on 8120: 9931g 0:00:46:28 DONE (2013-08-09 08:04) 3.561g/s 110790p/s 110790c/s 557894KC/s ikvqvi..CHECK That's 185x slower than raw-md5 format. Other notes: -currently raw-md5-opencl is way slower than cpu version in cracking multiple hashes -I noticed some segfaults while trying to break session by pressing ctrl-c, or just enter to see status -mask mode is slower than incremental (this test showed over 13% difference on cpu) Sayantan I would be happy if you could take a look at this and/or run similar tests on other fast gpu formats. We should perform such tests before next jumbo release anyway. Lukas
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.