openwall / john

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
https://www.openwall.com/john/
Other
9.98k stars 2.06k forks source link

Fix macosx-ppc32-altivec for gcc-4.3+ #82

Closed mc-sammer closed 11 years ago

mc-sammer commented 12 years ago

I'm not sure if Apple just used different altivec extensions or what but you cannot compile jtr with powerpc when using a newer compiler.

I've been working on a patch and managed to fix compiler errors for sboxes-s.c but compiler errors exist in DES_bs_b.c and I can't figure out where they are.

mc-sammer commented 12 years ago

Patch for sboxes-s.c

[patch truncated by GitHub, see http://www.openwall.com/lists/john-users/2012/12/10/5 -- magnum]

mc-sammer commented 12 years ago

Error from DES_bs_b.c

DES_bs_b.c: In function 'DES_bs_crypt_25':
DES_bs_b.c:1180:4: error: invalid parameter combination for AltiVec intrinsic
DES_bs_b.c:1180:4: error: invalid parameter combination for AltiVec intrinsic
DES_bs_b.c:1180:4: error: invalid parameter combination for AltiVec intrinsic
...
DES_bs_b.c: In function 'DES_bs_crypt':
DES_bs_b.c:1312:4: error: invalid parameter combination for AltiVec intrinsic
DES_bs_b.c:1312:4: error: invalid parameter combination for AltiVec intrinsic
DES_bs_b.c:1312:4: error: invalid parameter combination for AltiVec intrinsic
...
DES_bs_b.c: In function 'DES_bs_crypt_LM':
DES_bs_b.c:1473:4: error: invalid parameter combination for AltiVec intrinsic
DES_bs_b.c:1473:4: error: invalid parameter combination for AltiVec intrinsic
DES_bs_b.c:1473:4: error: invalid parameter combination for AltiVec intrinsic
...
make[1]: *** [DES_bs_b.o] Error 1
make: *** [macosx-ppc32-altivec] Error 2
mc-sammer commented 12 years ago

The patch was all about casting the last parameter in vsel to (vector bool int) because no version of the extension could handle four signed ints.

Also I'm not super familiar with C and most of my knowledge from it comes from trying to fix things that don't compile so I apologize in advanced if my terminology is dead wrong.

magnumripper commented 12 years ago

Could you please bring this patch and description to john-dev, at lists.openwall.com? While this git repo of mine is the de-facto official one, Solar does not actually use GitHub. And I believe he can help out.

Also, perhaps you can fork my repo (preferably the 1.7.9-jumbo-6-fixes branch) here on GitHub and apply your patch to your fork. This way we can pull from that, and test or merge.

mc-sammer commented 11 years ago

Alright I sent them an email with my patch and the DES errors.

mc-sammer commented 11 years ago

I used clang to see if I could get it to compile with that (v3.2) and it actually gave me some help.

DES_bs_b.c:1180:4: error: no matching function for call to 'vec_st'
                        DES_bs_clear_block
                        ^~~~~~~~~~~~~~~~~~
DES_bs_b.c:1125:2: note: expanded from macro 'DES_bs_clear_block'
        DES_bs_clear_block_8(0); \
        ^
DES_bs_b.c:1114:3: note: expanded from macro 'DES_bs_clear_block_8'
                vst(b[i] bd, 0, zero); \
                ^
DES_bs_b.c:33:2: note: expanded from macro 'vst'
        vec_st((src), (ofs) * sizeof(DES_bs_vector), &(dst))
        ^~~~~~
/opt/local/libexec/llvm-3.2/bin/../lib/clang/3.2/include/altivec.h:6810:1: note: candidate function not viable: no known conversion from
      'DES_bs_vector *' (aka 'int (*)[4]') to 'int *' for 3rd argument; remove &
vec_st(vector int a, int b, int *c)

helpfully I'll be able to figure out a workaround in the near future.

mc-sammer commented 11 years ago

I figured it out

index 684ac94..0f91c3c 100644
--- a/src/DES_bs_b.c
+++ b/src/DES_bs_b.c
@@ -30,7 +30,7 @@
 typedef vector signed int vtype;

 #define vst(dst, ofs, src) \
-       vec_st((src), (ofs) * sizeof(DES_bs_vector), &(dst))
+       vec_st((src), (ofs) * sizeof(DES_bs_vector), (dst))

 #define vxorf(a, b) \
        vec_xor((a), (b))

After removing that & I was able to compile and run it without errors (besides the ones that normally fail)

mc-sammer commented 11 years ago

And actually there are some other patches I made just to get it to compile

wpapsk.h patch

diff --git a/src/wpapsk.h b/src/wpapsk.h
index 02c6255..9a50d78 100644
--- a/src/wpapsk.h
+++ b/src/wpapsk.h
@@ -156,7 +156,7 @@ static int valid(char *ciphertext, struct fmt_main *self)
                return 0;
        hccap = decode_hccap(ciphertext);
 #if !ARCH_LITTLE_ENDIAN
-       hccap.eapol_size = JOHNSWAP(hccap->eapol_size);
+       hccap->eapol_size = JOHNSWAP(hccap->eapol_size);
 #endif
        if(hccap->eapol_size > 256)
                return 0;

sunmd5 patch

diff --git a/src/sunmd5_fmt_plug.c b/src/sunmd5_fmt_plug.c
index 09ed530..6d02f4f 100644
--- a/src/sunmd5_fmt_plug.c
+++ b/src/sunmd5_fmt_plug.c
@@ -237,7 +237,7 @@ static void init(struct fmt_main *self)
        saved_key = mem_calloc_tiny(sizeof(*saved_key) * self->params.max_keys_per_crypt, MEM_ALIGN_NONE);
        saved_salt = mem_calloc_tiny(SALT_SIZE+1, MEM_ALIGN_NONE);
        crypt_out = mem_calloc_tiny(sizeof(*crypt_out) * self->params.max_keys_per_crypt, MEM_ALIGN_WORD);
-       
+       int i;
        for (i = 0; i < 0x100; i++)
                mod5[i] = i % 5;   
 }

And here are all of my results (I haven't modified the john.conf and I'm compiling the bleeding-jumbo branch)

Benchmarking: Traditional DES [128/128 BS AltiVec]... DONE
Many salts: 1353K c/s real, 1467K c/s virtual
Only one salt:  1212K c/s real, 1317K c/s virtual

Benchmarking: BSDI DES (x725) [128/128 BS AltiVec]... DONE
Many salts: 40396 c/s real, 44005 c/s virtual
Only one salt:  40162 c/s real, 42811 c/s virtual

Benchmarking: FreeBSD MD5 [32/32 X2]... DONE
Raw:    5384 c/s real, 5937 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw:    267 c/s real, 298 c/s virtual

Benchmarking: Kerberos AFS DES [24/32 4K]... DONE
Short:  175513 c/s real, 223869 c/s virtual
Long:   385587 c/s real, 465685 c/s virtual

Benchmarking: LM DES [128/128 BS AltiVec]... DONE
Raw:    10735K c/s real, 12339K c/s virtual

Benchmarking: dynamic_0: md5($p) (raw-md5) [32/32 64x2 (MD5_body)]... DONE
Raw:    2334K c/s real, 2689K c/s virtual

Benchmarking: dynamic_1: md5($p.$s) (joomla) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2554K c/s real, 3360K c/s virtual
Only one salt:  2154K c/s real, 2596K c/s virtual

Benchmarking: dynamic_2: md5(md5($p)) (e107) [32/32 64x2 (MD5_body)]... DONE
Raw:    1338K c/s real, 1644K c/s virtual

Benchmarking: dynamic_3: md5(md5(md5($p))) [32/32 64x2 (MD5_body)]... DONE
Raw:    994124 c/s real, 1194K c/s virtual

Benchmarking: dynamic_4: md5($s.$p) (OSC) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2615K c/s real, 3469K c/s virtual
Only one salt:  2080K c/s real, 2562K c/s virtual

Benchmarking: dynamic_5: md5($s.$p.$s) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2952K c/s real, 3229K c/s virtual
Only one salt:  2184K c/s real, 2416K c/s virtual

Benchmarking: dynamic_6: md5(md5($p).$s) [32/32 64x2 (MD5_body)]... DONE
Many salts: 3185K c/s real, 3570K c/s virtual
Only one salt:  1315K c/s real, 1405K c/s virtual

Benchmarking: dynamic_8: md5(md5($s).$p) [32/32 64x2 (MD5_body)]... DONE
Many salts: 3030K c/s real, 3301K c/s virtual
Only one salt:  2259K c/s real, 2482K c/s virtual

Benchmarking: dynamic_9: md5($s.md5($p)) [32/32 64x2 (MD5_body)]... DONE
Many salts: 3379K c/s real, 3587K c/s virtual
Only one salt:  1316K c/s real, 1397K c/s virtual

Benchmarking: dynamic_10: md5($s.md5($s.$p)) [32/32 64x2 (MD5_body)]... DONE
Many salts: 1687K c/s real, 1787K c/s virtual
Only one salt:  1453K c/s real, 1520K c/s virtual

Benchmarking: dynamic_11: md5($s.md5($p.$s)) [32/32 64x2 (MD5_body)]... DONE
Many salts: 1211K c/s real, 1797K c/s virtual
Only one salt:  979020 c/s real, 1520K c/s virtual

Benchmarking: dynamic_12: md5(md5($s).md5($p)) (IPB) [32/32 64x2 (MD5_body)]... DONE
Many salts: 731622 c/s real, 1172K c/s virtual
Only one salt:  528256 c/s real, 770052 c/s virtual

Benchmarking: dynamic_13: md5(md5($p).md5($s)) [32/32 64x2 (MD5_body)]... DONE
Many salts: 731315 c/s real, 1160K c/s virtual
Only one salt:  477081 c/s real, 769486 c/s virtual

Benchmarking: dynamic_14: md5($s.md5($p).$s) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2261K c/s real, 3202K c/s virtual
Only one salt:  931507 c/s real, 1342K c/s virtual

Benchmarking: dynamic_15: md5($u.md5($p).$s) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2953K c/s real, 3203K c/s virtual
Only one salt:  1131K c/s real, 1341K c/s virtual

Benchmarking: dynamic_16: md5(md5(md5($p).$s).$s2) [32/32 64x2 (MD5_body)]... DONE
Many salts: 1200K c/s real, 1770K c/s virtual
Only one salt:  680601 c/s real, 992130 c/s virtual

Benchmarking: dynamic_17: phpass ($P$ or $H$) [32/32 X2  (MD5_body)]... DONE
Raw:    2034 c/s real, 2991 c/s virtual

Benchmarking: dynamic_18: md5($s.Y.$p.0xF7.$s)(Post.Office MD5) [32/32 64x2 (MD5_body)]... DONE
Many salts: 756352 c/s real, 1170K c/s virtual
Only one salt:  709452 c/s real, 1065K c/s virtual

Benchmarking: dynamic_19: Cisco PIX (MD5) [32/32 64x2 (MD5_body)]... DONE
Raw:    1873K c/s real, 2761K c/s virtual

Benchmarking: dynamic_20: Cisco PIX (MD5 salted) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2168K c/s real, 3265K c/s virtual
Only one salt:  1627K c/s real, 2465K c/s virtual

Benchmarking: dynamic_21: HTTP Digest Access Auth [32/32 64x2 (MD5_body)]... DONE
Many salts: 399590 c/s real, 628286 c/s virtual
Only one salt:  393095 c/s real, 602265 c/s virtual

Benchmarking: dynamic_22: md5(sha1($p)) [32/32 128x1]... DONE
Raw:    861132 c/s real, 1300K c/s virtual

Benchmarking: dynamic_23: sha1(md5($p)) [32/32 128x1]... DONE
Raw:    766288 c/s real, 1184K c/s virtual

Benchmarking: dynamic_24: sha1($p.$s) [32/32 128x1]... DONE
Many salts: 1207K c/s real, 1897K c/s virtual
Only one salt:  1106K c/s real, 1598K c/s virtual

Benchmarking: dynamic_25: sha1($s.$p) [32/32 128x1]... DONE
Many salts: 1455K c/s real, 1895K c/s virtual
Only one salt:  1354K c/s real, 1593K c/s virtual

Benchmarking: dynamic_26: sha1($p) raw-sha1 [32/32 128x1]... DONE
Raw:    1271K c/s real, 1915K c/s virtual

Benchmarking: dynamic_29: md5(unicode($p)) [32/32 64x2 (MD5_body)]... DONE
Raw:    2084K c/s real, 3129K c/s virtual

Benchmarking: dynamic_30: md4($p) (raw-md4) [32/32 128x1]... DONE
Raw:    1250K c/s real, 1855K c/s virtual

Benchmarking: dynamic_31: md4($s.$p) [32/32 128x1]... DONE
Many salts: 1366K c/s real, 2128K c/s virtual
Only one salt:  1081K c/s real, 1755K c/s virtual

Benchmarking: dynamic_32: md4($p.$s) [32/32 128x1]... DONE
Many salts: 1363K c/s real, 2128K c/s virtual
Only one salt:  1109K c/s real, 1749K c/s virtual

Benchmarking: dynamic_33: md4(unicode($p)) [32/32 128x1]... DONE
Raw:    1255K c/s real, 1943K c/s virtual

Benchmarking: dynamic_34: md5(md4($p)) [32/32 128x1]... DONE
Raw:    953345 c/s real, 1293K c/s virtual

Benchmarking: dynamic_35: sha1(uc($u).:.$p) (ManGOS) [32/32 128x1]... DONE
Many salts: 1205K c/s real, 1783K c/s virtual
Only one salt:  1170K c/s real, 1531K c/s virtual

Benchmarking: dynamic_36: sha1($u.:.$p) (ManGOS2) [32/32 128x1]... DONE
Many salts: 1407K c/s real, 1768K c/s virtual
Only one salt:  1298K c/s real, 1524K c/s virtual

Benchmarking: dynamic_37: sha1(lc($u).$p) (SMF) [32/32 128x1]... DONE
Many salts: 1570K c/s real, 1878K c/s virtual
Only one salt:  1473K c/s real, 1601K c/s virtual

Benchmarking: dynamic_38: sha1($s.sha1($s.sha1($p))) (Wolt3BB) [32/32 128x1]... DONE
Many salts: 448537 c/s real, 478185 c/s virtual
Only one salt:  417100 c/s real, 448495 c/s virtual

Benchmarking: dynamic_50: sha224($p) [32/32 128x1 sha2-OpenSSL]... DONE
Raw:    1062K c/s real, 1160K c/s virtual

Benchmarking: dynamic_51: sha224($s.$p) [32/32 128x1 sha2-OpenSSL]... DONE
Many salts: 1164K c/s real, 1246K c/s virtual
Only one salt:  922521 c/s real, 1103K c/s virtual

Benchmarking: dynamic_52: sha224($p.$s) [32/32 128x1 sha2-OpenSSL]... DONE
Many salts: 762752 c/s real, 1258K c/s virtual
Only one salt:  685721 c/s real, 1113K c/s virtual

Benchmarking: dynamic_60: sha256($p) [32/32 128x1 sha2-OpenSSL]... DONE
Raw:    600603 c/s real, 1148K c/s virtual

Benchmarking: dynamic_61: sha256($s.$p) [32/32 128x1 sha2-OpenSSL]... DONE
Many salts: 782131 c/s real, 1245K c/s virtual
Only one salt:  721740 c/s real, 1110K c/s virtual

Benchmarking: dynamic_62: sha256($p.$s) [32/32 128x1 sha2-OpenSSL]... DONE
Many salts: 783980 c/s real, 1251K c/s virtual
Only one salt:  708087 c/s real, 1112K c/s virtual

Benchmarking: dynamic_70: sha384($p) [32/32 128x1 sha2-OpenSSL]... DONE
Raw:    567321 c/s real, 903378 c/s virtual

Benchmarking: dynamic_71: sha384($s.$p) [32/32 128x1 sha2-OpenSSL]... DONE
Many salts: 624921 c/s real, 976440 c/s virtual
Only one salt:  528460 c/s real, 880768 c/s virtual

Benchmarking: dynamic_72: sha384($p.$s) [32/32 128x1 sha2-OpenSSL]... DONE
Many salts: 649344 c/s real, 969170 c/s virtual
Only one salt:  572595 c/s real, 886370 c/s virtual

Benchmarking: dynamic_80: sha512($p) [32/32 128x1 sha2-OpenSSL]... DONE
Raw:    580249 c/s real, 884526 c/s virtual

Benchmarking: dynamic_81: sha512($s.$p) [32/32 128x1 sha2-OpenSSL]... DONE
Many salts: 622310 c/s real, 945760 c/s virtual
Only one salt:  581043 c/s real, 864647 c/s virtual

Benchmarking: dynamic_82: sha512($p.$s) [32/32 128x1 sha2-OpenSSL]... DONE
Many salts: 610312 c/s real, 940819 c/s virtual
Only one salt:  564044 c/s real, 854613 c/s virtual

Benchmarking: dynamic_90: GOST($p) [32/32 64x2 (MD5_body)]... DONE
Raw:    168499 c/s real, 266612 c/s virtual

Benchmarking: dynamic_91: GOST($s.$p) [32/32 64x2 (MD5_body)]... DONE
Many salts: 184883 c/s real, 274307 c/s virtual
Only one salt:  174617 c/s real, 265376 c/s virtual

Benchmarking: dynamic_92: GOST($p.$s) [32/32 64x2 (MD5_body)]... DONE
Many salts: 173491 c/s real, 271929 c/s virtual
Only one salt:  171520 c/s real, 264691 c/s virtual

Benchmarking: dynamic_100: WHIRLPOOL($p) [32/32 64x2 (MD5_body)]... DONE
Raw:    177794 c/s real, 266692 c/s virtual

Benchmarking: dynamic_101: WHIRLPOOL($s.$p) [32/32 64x2 (MD5_body)]... DONE
Many salts: 171648 c/s real, 269886 c/s virtual
Only one salt:  169318 c/s real, 263735 c/s virtual

Benchmarking: dynamic_102: WHIRLPOOL($p.$s) [32/32 64x2 (MD5_body)]... DONE
Many salts: 173132 c/s real, 271368 c/s virtual
Only one salt:  175590 c/s real, 264443 c/s virtual

Benchmarking: dynamic_1001 md5(md5(md5(md5($p)))) [32/32 64x2 (MD5_body)]... DONE
Raw:    565452 c/s real, 897544 c/s virtual

Benchmarking: dynamic_1002 md5(md5(md5(md5(md5($p))))) [32/32 64x2 (MD5_body)]... DONE
Raw:    469529 c/s real, 740582 c/s virtual

Benchmarking: dynamic_1003 md5(md5($p).md5($p)) [32/32 64x2 (MD5_body)]... DONE
Raw:    514227 c/s real, 788692 c/s virtual

Benchmarking: dynamic_1004 md5(md5(md5(md5(md5(md5($p)))))) [32/32 64x2 (MD5_body)]... DONE
Raw:    419968 c/s real, 630582 c/s virtual

Benchmarking: dynamic_1005 md5(md5(md5(md5(md5(md5(md5($p))))))) [32/32 64x2 (MD5_body)]... DONE
Raw:    365056 c/s real, 549783 c/s virtual

Benchmarking: dynamic_1006 md5(md5(md5(md5(md5(md5(md5(md5($p)))))))) [32/32 64x2 (MD5_body)]... DONE
Raw:    311142 c/s real, 486160 c/s virtual

Benchmarking: dynamic_1007 md5(md5($p).$s) (vBulletin) [32/32 64x2 (MD5_body)]... DONE
Many salts: 1248K c/s real, 1864K c/s virtual
Only one salt:  715059 c/s real, 1106K c/s virtual

Benchmarking: dynamic_1008 md5($p.$s) (RADIUS User-Password) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2358K c/s real, 3662K c/s virtual
Only one salt:  1927K c/s real, 2792K c/s virtual

Benchmarking: dynamic_1009 md5($s.$p) (RADIUS Responses) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2431K c/s real, 3740K c/s virtual
Only one salt:  1867K c/s real, 2829K c/s virtual

Benchmarking: dynamic_1010 md5($p null_padded_to_len_100) RAdmin v2.x MD5 [32/32 64x2 (MD5_body)]... DONE
Raw:    671411 c/s real, 1023K c/s virtual

Benchmarking: Eggdrop Blowfish [32/32]... DONE
Raw:    9467 c/s real, 14700 c/s virtual

Benchmarking: DIGEST-MD5 C/R [32/32]... DONE
Raw:    334879 c/s real, 502821 c/s virtual

Benchmarking: Lotus Notes/Domino 6 More Secure Internet Password [8/32]... DONE
Many salts: 50005 c/s real, 70829 c/s virtual
Only one salt:  27406 c/s real, 41777 c/s virtual

Benchmarking: EPiServer SID salted SHA-1 [32/32]... DONE
Many salts: 1230K c/s real, 1904K c/s virtual
Only one salt:  1059K c/s real, 1581K c/s virtual

Benchmarking: HTTP Digest access authentication MD5 [32/32]... DONE
Many salts: 373004 c/s real, 556723 c/s virtual
Only one salt:  327180 c/s real, 532867 c/s virtual

Benchmarking: Invision Power Board 2.x salted MD5 [32/32]... DONE
Many salts: 719667 c/s real, 1211K c/s virtual
Only one salt:  408678 c/s real, 707056 c/s virtual

Benchmarking: Kerberos v4 TGT DES [32/32]... DONE
Raw:    915568 c/s real, 1476K c/s virtual

Benchmarking: Kerberos v5 TGT 3DES [32/32]... DONE
Raw:    12546 c/s real, 21050 c/s virtual

Benchmarking: MSCHAPv2 C/R MD4 DES [32/32]... DONE
Many salts: 1056K c/s real, 1732K c/s virtual
Only one salt:  532172 c/s real, 872414 c/s virtual

Benchmarking: LM C/R DES [32/32]... DONE
Many salts: 1046K c/s real, 1721K c/s virtual
Only one salt:  337664 c/s real, 549941 c/s virtual

Benchmarking: LMv2 C/R MD4 HMAC-MD5 [32/32]... DONE
Many salts: 189952 c/s real, 309368 c/s virtual
Only one salt:  135155 c/s real, 230640 c/s virtual

Benchmarking: NTLMv1 C/R MD4 DES (ESS MD5) [32/32]... DONE
Many salts: 1021K c/s real, 1731K c/s virtual
Only one salt:  534118 c/s real, 845124 c/s virtual

Benchmarking: NTLMv2 C/R MD4 HMAC-MD5 [32/32]... DONE
Many salts: 164534 c/s real, 279430 c/s virtual
Only one salt:  129379 c/s real, 216786 c/s virtual

Benchmarking: HalfLM C/R DES [32/32]... DONE
Many salts: 1016K c/s real, 1740K c/s virtual
Only one salt:  473088 c/s real, 821333 c/s virtual

Benchmarking: Netscreen MD5 [32/32]... DONE
Raw:    958527 c/s real, 1479K c/s virtual

Benchmarking: NT MD4 [32/32]... DONE
Raw:    6519K c/s real, 9837K c/s virtual

Benchmarking: PHPS md5(md5($pass).$salt) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2391K c/s real, 3537K c/s virtual
Only one salt:  893670 c/s real, 1400K c/s virtual

Benchmarking: Post.Office MD5 [32/32]... DONE
Many salts: 865936 c/s real, 1383K c/s virtual
Only one salt:  745624 c/s real, 1191K c/s virtual

Benchmarking: Sybase ASE salted SHA-256 [32/32 OpenSSL]... DONE
Many salts: 138270 c/s real, 210558 c/s virtual
Only one salt:  135052 c/s real, 204625 c/s virtual

Benchmarking: Mac OS X 10.7+ salted SHA-512 [32/32 OpenSSL]... DONE
Many salts: 647577 c/s real, 1011K c/s virtual
Only one salt:  609484 c/s real, 934792 c/s virtual

Benchmarking: Mac OS X 10.4 - 10.6 salted SHA-1 [32/32]... DONE
Many salts: 1513K c/s real, 2425K c/s virtual
Only one salt:  1296K c/s real, 2044K c/s virtual

Benchmarking: 1Password Agile Keychain PBKDF2-HMAC-SHA-1 AES [32/32]... FAILED (cmp_all(1))
Benchmarking: CRC-32 [32/32]... DONE
Many salts: 19506K c/s real, 31462K c/s virtual
Only one salt:  7934K c/s real, 12022K c/s virtual

Benchmarking: sha256crypt (rounds=5000) [32/32 OpenSSL]... DONE
Raw:    165 c/s real, 248 c/s virtual

Benchmarking: sha512crypt (rounds=5000) [32/32 OpenSSL]... DONE
Raw:    118 c/s real, 191 c/s virtual

Benchmarking: Apple DMG PBKDF2-HMAC-SHA-1 3DES / AES [32/32]... FAILED (cmp_all(1))
Benchmarking: DragonFly BSD $3$ SHA-256 w/ bug, 32-bit [32/32 OpenSSL]... DONE
Many salts: 898918 c/s real, 1370K c/s virtual
Only one salt:  799027 c/s real, 1221K c/s virtual

Benchmarking: DragonFly BSD $3$ SHA-256 w/ bug, 64-bit [32/32 OpenSSL]... DONE
Many salts: 862208 c/s real, 1368K c/s virtual
Only one salt:  714598 c/s real, 1232K c/s virtual

Benchmarking: DragonFly BSD $4$ SHA-512 w/ bugs, 32-bit [32/32 OpenSSL]... DONE
Many salts: 572262 c/s real, 1003K c/s virtual
Only one salt:  528076 c/s real, 919994 c/s virtual

Benchmarking: DragonFly BSD $4$ SHA-512 w/ bugs, 64-bit [32/32 OpenSSL]... DONE
Many salts: 571596 c/s real, 999295 c/s virtual
Only one salt:  549376 c/s real, 924875 c/s virtual

Benchmarking: Drupal 7 $S$ SHA-512 (x16385) [32/32 OpenSSL]... DONE
Raw:    39.6 c/s real, 65.7 c/s virtual

Benchmarking: EncFS PBKDF2 AES / Blowfish [32/32]... FAILED (cmp_all(1))
Benchmarking: EPiServer salted SHA-1/SHA-256 [32/32 OpenSSL]... DONE
Many salts: 1000K c/s real, 1777K c/s virtual
Only one salt:  969715 c/s real, 1649K c/s virtual

Benchmarking: FormSpring sha256($salt.$pass) [32/32 128x1 sha2-OpenSSL]... DONE
Raw:    780851 c/s real, 1301K c/s virtual

Benchmarking: GOST R 34.11-94 [32/32]... DONE
Raw:    150643 c/s real, 275903 c/s virtual

Benchmarking: OpenPGP / GnuPG Secret Key [32/32]... DONE
Many salts: 2256 c/s real, 3933 c/s virtual
Only one salt:  2205 c/s real, 3934 c/s virtual

Benchmarking: HMAC SHA-224 [32/32 OpenSSL]... DONE
Many salts: 272729 c/s real, 399896 c/s virtual
Only one salt:  173405 c/s real, 302100 c/s virtual

Benchmarking: HMAC SHA-256 [32/32 OpenSSL]... DONE
Many salts: 221428 c/s real, 394001 c/s virtual
Only one salt:  183000 c/s real, 321053 c/s virtual

Benchmarking: HMAC SHA-384 [32/32 OpenSSL]... DONE
Many salts: 166290 c/s real, 283772 c/s virtual
Only one salt:  143828 c/s real, 259618 c/s virtual

Benchmarking: HMAC SHA-512 [32/32 OpenSSL]... DONE
Many salts: 158632 c/s real, 280268 c/s virtual
Only one salt:  154949 c/s real, 263520 c/s virtual

Benchmarking: hMailServer salted SHA-256 [32/32 OpenSSL]... DONE
Many salts: 691479 c/s real, 1213K c/s virtual
Only one salt:  597908 c/s real, 1097K c/s virtual

Benchmarking: IKE PSK HMAC-MD5 / HMAC-SHA1 [32/32]... DONE
Raw:    119262 c/s real, 214159 c/s virtual

Benchmarking: KeePass SHA-256 AES [32/32 OpenSSL]... DONE
Raw:    30.8 c/s real, 53.6 c/s virtual

Benchmarking: Mac OS X Keychain PBKDF2-HMAC-SHA-1 3DES [32/32]... FAILED (cmp_all(1))
Benchmarking: GNOME Keyring iterated-SHA256 AES [32/32]... DONE
Raw:    314 c/s real, 529 c/s virtual

Benchmarking: Lotus Notes/Domino 5 [8/32]... DONE
Raw:    156211 c/s real, 238126 c/s virtual

Benchmarking: Generic salted MD4 [32/32]... DONE
Many salts: 1087K c/s real, 1701K c/s virtual
Only one salt:  980018 c/s real, 1622K c/s virtual

Benchmarking: MediaWiki md5($s.'-'.md5($p)) [32/32 64x2 (MD5_body)]... DONE
Many salts: 2245K c/s real, 3531K c/s virtual
Only one salt:  955264 c/s real, 1430K c/s virtual

Benchmarking: M$ Cache Hash MD4 [32/32]... DONE
Many salts: 5571K c/s real, 8441K c/s virtual
Only one salt:  2081K c/s real, 3143K c/s virtual

Benchmarking: M$ Cache Hash 2 (DCC2) PBKDF2-HMAC-SHA-1 [32/32]... DONE
Raw:    91.2 c/s real, 137 c/s virtual

Benchmarking: MS Kerberos 5 AS-REQ Pre-Auth MD4 MD5 RC4 [32/32]... DONE
Many salts: 256921 c/s real, 398946 c/s virtual
Only one salt:  119040 c/s real, 184844 c/s virtual

Benchmarking: MS SQL SHA-1 [32/32]... DONE
Many salts: 1321K c/s real, 2045K c/s virtual
Only one salt:  1020K c/s real, 1551K c/s virtual

Benchmarking: MS SQL 2005 SHA-1 [32/32]... FAILED (get_hash[0](0))
Benchmarking: MS SQL 2012 SHA512 [ms-sql12]... FAILED (get_hash[0](0))
Benchmarking: MySQL 4.1 double-SHA-1 [32/32]... DONE
Raw:    594163 c/s real, 928379 c/s virtual

Benchmarking: MySQL [32/32]... DONE
Raw:    3280K c/s real, 4955K c/s virtual

Benchmarking: MySQL Network Authentication SHA1 [32/32]... DONE
Raw:    456153 c/s real, 706120 c/s virtual

Benchmarking: PDF MD5 SHA-2 RC4 / AES [32/32]... DONE
Many salts: 17254 c/s real, 27829 c/s virtual
Only one salt:  17356 c/s real, 27726 c/s virtual

Benchmarking: Netscape LDAP SHA-1 [32/32]... DONE
Raw:    1089K c/s real, 1614K c/s virtual

Benchmarking: NT MD4 [32/32]... DONE
Raw:    1267K c/s real, 1944K c/s virtual

Benchmarking: Nuked-Klan CMS SHA1 MD5 [32/32]... DONE
Raw:    441075 c/s real, 656361 c/s virtual

Benchmarking: ODF SHA-1 Blowfish / SHA-256 AES [32/32]... DONE
Raw:    249 c/s real, 380 c/s virtual

Benchmarking: Office 2007/2010 (SHA-1) / 2013 (SHA-512), with AES [32/32]... FAILED (cmp_all(1))
Benchmarking: Office <= 2003 RC4 MD5 [32/32]... FAILED (get_key(0))
Benchmarking: Oracle 11g SHA-1 [32/32]... DONE
Many salts: 1323K c/s real, 1981K c/s virtual
Only one salt:  1076K c/s real, 1620K c/s virtual

Benchmarking: Oracle 10 DES [32/32]... DONE
Raw:    260425 c/s real, 410764 c/s virtual

Benchmarking: osCommerce md5($salt.$pass) [32/32 64x2 (MD5_body)]... DONE
Raw:    2339K c/s real, 3725K c/s virtual

Benchmarking: GRUB2 / OS X 10.8 pbkdf2-hmac-sha512 [PBKDF2-SHA512 CPU]... FAILED (get_hash[0](0))
Benchmarking: phpass MD5 ($P$9) [32/32 X2  (MD5_body)]... DONE
Raw:    1972 c/s real, 2987 c/s virtual

Benchmarking: PIX MD5 [32/32 64x2 (MD5_body)]... DONE
Many salts: 1848K c/s real, 2751K c/s virtual
Only one salt:  1828K c/s real, 2770K c/s virtual

Benchmarking: PKZIP [32/32]... DONE
Many salts: 3457K c/s real, 5254K c/s virtual
Only one salt:  2074K c/s real, 3114K c/s virtual

Benchmarking: PST custom CRC-32 [32/32]... DONE
Raw:    7294K c/s real, 10844K c/s virtual

Benchmarking: PuTTY Private Key SHA-1 / AES [32/32]... DONE
Many salts: 33216 c/s real, 50634 c/s virtual
Only one salt:  48704 c/s real, 71623 c/s virtual

Benchmarking: Password Safe SHA-256 [32/32 OpenSSL]... DONE
Raw:    474 c/s real, 734 c/s virtual

Benchmarking: RACF DES [32/32]... DONE
Many salts: 1045K c/s real, 1568K c/s virtual
Only one salt:  938675 c/s real, 1422K c/s virtual

Benchmarking: RAdmin v2.x MD5 [32/32]... DONE
Raw:    721446 c/s real, 1106K c/s virtual

Benchmarking: Raw MD4 [32/32]... DONE
Raw:    1133K c/s real, 1722K c/s virtual

Benchmarking: Raw MD5 [32/32]... DONE
Raw:    1029K c/s real, 1555K c/s virtual

Benchmarking: Raw SHA-1 [32/32]... DONE
Raw:    1062K c/s real, 1612K c/s virtual

Benchmarking: Raw SHA-1 LinkedIn [32/32]... DONE
Raw:    988974 c/s real, 1521K c/s virtual

Benchmarking: Raw SHA-224 [32/32 OpenSSL]... DONE
Raw:    914636 c/s real, 1314K c/s virtual

Benchmarking: Raw SHA-256 [32/32 OpenSSL]... DONE
Raw:    832307 c/s real, 1308K c/s virtual

Benchmarking: Raw SHA-384 [32/32 OpenSSL]... DONE
Raw:    646348 c/s real, 988300 c/s virtual

Benchmarking: Raw SHA-512 [32/32 OpenSSL]... DONE
Raw:    606617 c/s real, 962885 c/s virtual

Benchmarking: md5(unicode($p)) [32/32]... DONE
Raw:    1032K c/s real, 1573K c/s virtual

Benchmarking: Salted SHA-1 [32/32]... DONE
Many salts: 1154K c/s real, 1809K c/s virtual
Only one salt:  1008K c/s real, 1519K c/s virtual

Benchmarking: SAP CODVN B (BCODE) [32/32]... DONE
Many salts: 561561 c/s real, 863940 c/s virtual
Only one salt:  523468 c/s real, 800411 c/s virtual

Benchmarking: SAP CODVN F/G (PASSCODE) [32/32]... DONE
Many salts: 450150 c/s real, 692539 c/s virtual
Only one salt:  419819 c/s real, 647168 c/s virtual

Benchmarking: Generic salted SHA-1 [32/32]... DONE
Many salts: 1099K c/s real, 1650K c/s virtual
Only one salt:  1031K c/s real, 1539K c/s virtual

Benchmarking: SIP MD5 [32/32]... DONE
Raw:    406470 c/s real, 595443 c/s virtual

Benchmarking: STRIP Password Manager PBKDF2-SHA1 [32/32]... FAILED (cmp_all(1))
Benchmarking: SunMD5 [32/32]... DONE
Raw:    32.2 c/s real, 46.5 c/s virtual

Benchmarking: SXC SHA-1 Blowfish [32/32]... DONE
Raw:    369 c/s real, 563 c/s virtual

Benchmarking: VNC DES [32/32]... DONE
Raw:    763362 c/s real, 1169K c/s virtual

Benchmarking: WoltLab BB3 salted SHA-1 [32/32]... DONE
Raw:    309811 c/s real, 475170 c/s virtual

Benchmarking: WoW (Battlenet) SRP sha1 [32/32 GMP-exp]... DONE
Raw:    6349 c/s real, 10000 c/s virtual

Benchmarking: HMAC MD5 [32/32]... DONE
Many salts: 369247 c/s real, 543011 c/s virtual
Only one salt:  300710 c/s real, 459802 c/s virtual

Benchmarking: HMAC SHA-1 [32/32]... DONE
Many salts: 455366 c/s real, 687865 c/s virtual
Only one salt:  352732 c/s real, 539346 c/s virtual

Benchmarking: Raw SHA-0 [32/32]... DONE
Raw:    945225 c/s real, 1381K c/s virtual

Benchmarking: Django PBKDF2-HMAC-SHA-256 (x10000) [32/32]... DONE
Raw:    52.3 c/s real, 79.2 c/s virtual

Benchmarking: TrueCrypt [RIPEMD160 AES256_XTS]... DONE
Many salts: 7.8 c/s real, 11.8 c/s virtual
Only one salt:  7.2 c/s real, 11.9 c/s virtual

Benchmarking: TrueCrypt [SHA512 AES256_XTS]... DONE
Many salts: 40.6 c/s real, 59.5 c/s virtual
Only one salt:  40.7 c/s real, 59.9 c/s virtual

Benchmarking: TrueCrypt [WHIRLPOOL AES256_XTS]... DONE
Many salts: 10.3 c/s real, 13.8 c/s virtual
Only one salt:  10.2 c/s real, 13.8 c/s virtual

Benchmarking: Mozilla SHA-1 3DES [32/32]... FAILED (cmp_all(1))
Benchmarking: KRB5 arcfour-hmac [32/32]... FAILED (cmp_all(1))
Benchmarking: KRB5 aes256-cts-hmac-sha1-96 [32/32]... FAILED (cmp_all(1))
Benchmarking: Tripcode DES [128/128 BS AltiVec]... DONE
Raw:    876315 c/s real, 1218K c/s virtual

Benchmarking: SSH RSA/DSA (one 2048-bit RSA and one 1024-bit DSA key) [32/32]... DONE
Raw:    12340 c/s real, 16984 c/s virtual

Benchmarking: pfx [32/32]... DONE
Raw:    2950 c/s real, 3870 c/s virtual

Benchmarking: PDF MD5 RC4 [32/32]... DONE
Many salts: 26021 c/s real, 35330 c/s virtual
Only one salt:  24806 c/s real, 35437 c/s virtual

Benchmarking: WPA-PSK PBKDF2-HMAC-SHA-1 [32/32]... FAILED (valid)
Benchmarking: RAR3 SHA-1 AES (4 characters) [32/32]... FAILED (cmp_all(1))
Benchmarking: WinZip PBKDF2-HMAC-SHA-1 [32/32]... DONE
Raw:    149 c/s real, 202 c/s virtual

Benchmarking: dummy [N/A]... DONE
Raw:    15915K c/s real, 21507K c/s virtual

15 out of 184 tests have FAILED
magnumripper commented 11 years ago

That's great. I will merge the endian patches soon. Solar seemed to want me to wait with the Altivec stuff (they'd better be in core CVS anyway and he wanted to double-check against Linux/PPC first), we'll see about that. If nothing else we should post them as a separate git-style patch on the Openwall wiki.

BTW we have little resources for fixing endian bugs so just in case you do more fixes, please post them to john-dev mailing list!

Thanks! magnum

magnumripper commented 11 years ago

Reopening as this is still not fixed in core. We have reports of the patch working on Linux/PPC.

magnumripper commented 11 years ago

Fixed in 5f03064.