Code Monkey home page Code Monkey logo

openwall / john Goto Github PK

View Code? Open in Web Editor NEW
9.7K 265.0 2.0K 128.01 MB

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

Home Page: https://www.openwall.com/john/

Python 5.34% Perl 4.23% Ruby 0.01% Shell 0.40% C 79.70% Assembly 1.16% Makefile 0.31% M4 0.88% JavaScript 0.01% Verilog 7.01% SystemVerilog 0.66% Lua 0.06% HTML 0.22% Dockerfile 0.01% Nix 0.01%
john c ripper password jtr opencl gpgpu assembler cracker crypt

john's People

Contributors

alainesp avatar alekseycherepanov avatar anonion0 avatar apingis avatar bartavelle avatar ch3root avatar claudioandre-br avatar e-ago avatar exploide avatar fist0urs avatar frank-dittrich avatar hantwister avatar hlein avatar jfoug avatar juergenhoetzel avatar kholia avatar kost avatar loverszhaokai avatar m3g9tr0n avatar magnumripper avatar narendrakangralkar avatar philsmd avatar qqldd avatar rofl0r avatar samueletonon avatar sayan1an avatar shaneqful avatar solardiz avatar sylvainpelissier avatar taviso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

john's Issues

macosx-x86-64-opencl: md5crypt-opencl slower than md5

Hi,

checked out today and compiled on my MacBook Pro (10.8.1, 2.2 GHz i7, Xcode 4.4.1).
make macosx-x86-64-opencl worked fine.

Format md5crypt-opencl seems to work (it finds a password) but it's much slower than md5.
I get about 22000 c/s on md5 but only up to half that with md5crypt-opencl.

The desktop also becomes very unresponsive in opencl mode, whereas it's fine in CPU mode.

$ ./john ~/combined.shadow
Warning: detected hash type "md5", but the string is also recognized as "md5crypt-opencl"
Use the "--format=md5crypt-opencl" option to force loading these as that type instead
Loaded 14 password hashes with 12 different salts (FreeBSD MD5 [128/128 SSE2 intrinsics 12x])
Remaining 12 password hashes with 11 different salts
guesses: 0 time: 0:00:00:01 0.41% (2) (ETA: Thu Sep 13 20:32:48 2012) c/s: 22273 trying: francine - golden
guesses: 0 time: 0:00:00:25 28.40% (2) (ETA: Thu Sep 13 20:30:13 2012) c/s: 22885 trying: trebor4 - warrior4
guesses: 0 time: 0:00:00:26 29.50% (2) (ETA: Thu Sep 13 20:30:13 2012) c/s: 22891 trying: corwin4 - dale4
guesses: 0 time: 0:00:00:27 30.57% (2) (ETA: Thu Sep 13 20:30:13 2012) c/s: 22890 trying: karma8 - kitten8
guesses: 0 time: 0:00:00:28 31.69% (2) (ETA: Thu Sep 13 20:30:13 2012) c/s: 22896 trying: disney6 - james6
guesses: 0 time: 0:00:05:18 0.00% (3) c/s: 22668 trying: ponis - ponna
guesses: 0 time: 0:00:05:39 0.00% (3) c/s: 22719 trying: sophaw - sophie

$ ./john ~/combined.shadow --format=md5crypt-opencl
OpenCL platform 0: Apple, 2 device(s).
Using device 1: ATI Radeon HD 6750M
Loaded 14 password hashes with 12 different salts (md5crypt [OpenCL])
Remaining 12 password hashes with 11 different salts
guesses: 0 time: 0:00:00:14 83.45% (1) (ETA: Thu Sep 13 20:35:01 2012) c/s: 0.00
guesses: 0 time: 0:00:00:45 5.26% (2) (ETA: Thu Sep 13 20:49:00 2012) c/s: 736 trying: 123456 - bens
guesses: 0 time: 0:00:01:23 26.33% (2) (ETA: Thu Sep 13 20:39:59 2012) c/s: 6382 trying: matthew7 - notused5
guesses: 0 time: 0:00:01:32 33.29% (2) (ETA: Thu Sep 13 20:39:20 2012) c/s: 7050 trying: sss5 - woodrow6
guesses: 0 time: 0:00:01:37 38.53% (2) (ETA: Thu Sep 13 20:38:56 2012) c/s: 7421 trying: ayelet6 - thelorax?
guesses: 0 time: 0:00:02:06 57.90% (2) (ETA: Thu Sep 13 20:38:21 2012) c/s: 8734 trying: 4mickey - Doc!
guesses: 0 time: 0:00:03:13 99.85% (2) (ETA: Thu Sep 13 20:37:58 2012) c/s: 9881 trying: Xxxing - Sssing
guesses: 0 time: 0:00:03:35 0.00% (3) c/s: 8894 trying: 1952 - shestier
guesses: 0 time: 0:00:03:39 0.00% (3) c/s: 8994 trying: 1952 - shestier
guesses: 0 time: 0:00:03:43 0.00% (3) c/s: 9145 trying: shesties - 0320701
guesses: 0 time: 0:00:03:46 0.00% (3) c/s: 9223 trying: shesties - 0320701
guesses: 0 time: 0:00:03:48 0.00% (3) c/s: 9309 trying: shesties - 0320701
guesses: 0 time: 0:00:04:03 0.00% (3) c/s: 9756 trying: monnin1 - colier2
guesses: 0 time: 0:00:04:05 0.00% (3) c/s: 9796 trying: monnin1 - colier2
guesses: 0 time: 0:00:04:07 0.00% (3) c/s: 9836 trying: monnin1 - colier2
guesses: 0 time: 0:00:04:09 0.00% (3) c/s: 9925 trying: carista - alpcba
guesses: 0 time: 0:00:04:11 0.00% (3) c/s: 9965 trying: carista - alpcba
guesses: 0 time: 0:00:04:24 0.00% (3) c/s: 10314 trying: ceslts - sporn

Dynamic doesn't load bare hashes.

Regardless of john.conf DynamicAlwaysUseRawHashes, dynamic is supposed to load bare hashes if given a --format=dynamic_xx option.

bleeding jumbo - opencl

Not cleanly compiling with opencl.

gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -I/usr/local/include -DHAVE_KRB5 -DAMDAPPSDK -I/opt/AMD-AP
P-SDK-v2.8-RC-lnx32//include -DHAVE_CRYPT -DHAVE_OPENCL -DHAVE_DL -DUSING_ICC_S_FILE -funroll-loops rawSHA512_ng_fmt.c
In file included from rawSHA512_ng_fmt.c:26:
/usr/lib/gcc/i486-linux-gnu/4.4.3/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
rawSHA512_ng_fmt.c: In function ?crypt_all?:
rawSHA512_ng_fmt.c:342: error: ?__m128i? undeclared (first use in this function)
rawSHA512_ng_fmt.c:342: error: (Each undeclared identifier is reported only once
rawSHA512_ng_fmt.c:342: error: for each function it appears in.)
rawSHA512_ng_fmt.c:342: error: expected ?;? before ?a?
rawSHA512_ng_fmt.c:343: error: expected ?;? before ?w?
rawSHA512_ng_fmt.c:346: error: ?w? undeclared (first use in this function)
rawSHA512_ng_fmt.c:346: warning: implicit declaration of function ?_mm_setzero_si128?
rawSHA512_ng_fmt.c:346: warning: implicit declaration of function ?_mm_set_epi64x?
rawSHA512_ng_fmt.c:347: warning: implicit declaration of function ?_mm_shufflehi_epi16?
rawSHA512_ng_fmt.c:347: warning: implicit declaration of function ?_mm_shufflelo_epi16?
rawSHA512_ng_fmt.c:347: warning: implicit declaration of function ?_mm_xor_si128?
rawSHA512_ng_fmt.c:347: warning: implicit declaration of function ?_mm_slli_epi16?
rawSHA512_ng_fmt.c:347: warning: implicit declaration of function ?_mm_srli_epi16?
rawSHA512_ng_fmt.c:347: warning: implicit declaration of function ?_mm_shuffle_epi32?
rawSHA512_ng_fmt.c:348: warning: implicit declaration of function ?_mm_add_epi64?
rawSHA512_ng_fmt.c:348: warning: implicit declaration of function ?_mm_srli_epi64?
rawSHA512_ng_fmt.c:348: warning: implicit declaration of function ?_mm_slli_epi64?
rawSHA512_ng_fmt.c:350: error: ?a? undeclared (first use in this function)
rawSHA512_ng_fmt.c:350: warning: implicit declaration of function ?_mm_set1_epi64x?
rawSHA512_ng_fmt.c:350: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:351: error: ?b? undeclared (first use in this function)
rawSHA512_ng_fmt.c:351: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:352: error: ?c? undeclared (first use in this function)
rawSHA512_ng_fmt.c:352: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:353: error: ?d? undeclared (first use in this function)
rawSHA512_ng_fmt.c:353: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:354: error: ?e? undeclared (first use in this function)
rawSHA512_ng_fmt.c:354: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:355: error: ?f? undeclared (first use in this function)
rawSHA512_ng_fmt.c:355: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:356: error: ?g? undeclared (first use in this function)
rawSHA512_ng_fmt.c:356: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:357: error: ?h? undeclared (first use in this function)
rawSHA512_ng_fmt.c:357: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:359: error: ?tmp1? undeclared (first use in this function)
rawSHA512_ng_fmt.c:359: warning: implicit declaration of function ?_mm_and_si128?
rawSHA512_ng_fmt.c:359: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:359: error: ?tmp2? undeclared (first use in this function)
rawSHA512_ng_fmt.c:360: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:361: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:362: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:363: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:364: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:365: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:366: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:367: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:368: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:369: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:370: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:371: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:372: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:373: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:374: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:376: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:377: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:378: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:379: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:380: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:381: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:382: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:383: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:384: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:385: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:386: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:387: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:388: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:389: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:390: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:391: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:393: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:394: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:395: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:396: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:397: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:398: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:399: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:400: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:401: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:402: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:403: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:404: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:405: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:406: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:407: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:408: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:410: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:411: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:412: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:413: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:414: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:415: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:416: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:417: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:418: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:419: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:420: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:421: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:422: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:423: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:424: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:425: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:427: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:428: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:429: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:430: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:431: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:432: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:433: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:434: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:435: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:436: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:437: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:438: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:439: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:440: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:441: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:442: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:444: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:445: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:446: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:447: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:448: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:449: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:450: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:451: warning: integer constant is too large for ?long? type
rawSHA512_ng_fmt.c:453: warning: implicit declaration of function ?_mm_store_si128?
rawSHA512_ng_fmt.c:453: error: expected expression before ?)? token
rawSHA512_ng_fmt.c:454: error: expected expression before ?)? token
rawSHA512_ng_fmt.c:455: error: expected expression before ?)? token
rawSHA512_ng_fmt.c:456: error: expected expression before ?)? token
rawSHA512_ng_fmt.c:457: error: expected expression before ?)? token
rawSHA512_ng_fmt.c:458: error: expected expression before ?)? token
rawSHA512_ng_fmt.c:459: error: expected expression before ?)? token
rawSHA512_ng_fmt.c:460: error: expected expression before ?)? token
make[1]: *** [rawSHA512_ng_fmt.o] Error 1
make[1]: Leaving directory `/root/bleeding/john/src'
make: *** [linux-x86-opencl] Error 2
root@bt:~/bleeding/john/src#

unstable-jumbo is broken (possibly a dynamic format bug)

✗ git rev-parse HEAD                                                  
0839c3b3138561087fac7c867a6b2ac0defc6bd6
✗ ../run/john hash
Error, trying to link to $dynamic_61$ using ciphertext=$dynamic_61$2a4fa0bf8c6a01dd625d3141746451ba51e07f99dc9143f1e25a37f65cb02eb4$RA FAILED

The hash file contains a "Agile Keychain" hash but I don't think that it really matters which type of hash the file contains.

✗ ../run/john -fo:dynamic_61 -t
Benchmarking: dynamic_61: sha256($s.$p) [32/64 128x1 sha2-OpenSSL]... FAILED (valid)

Maybe commit 0e22777 is bad.

OpenSSL dependency in AIX ssha format

Trying with OpenSSL OpenSSL 0.9.8r (which is what is supplied with OSX 10.8.2):

Undefined symbols for architecture i386:
"_PKCS5_PBKDF2_HMAC", referenced from:
_crypt_all in aix_ssha_fmt_plug.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
make[1]: *** [../run/john] Error 1
make: *** [macosx-x86-sse2] Error 2

gcc 4.8.0 warnings

(line numbers are from unstable-jumbo)

DES_std.c: In function 'DES_std_set_key':
DES_std.c:631:17: warning: array subscript is above array bounds [-Warray-bounds]
   while (DES_key[i++]) k += 2;
                 ^
inc.c: In function 'do_incremental_crack':
inc.c:352:12: warning: array subscript is above array bounds [-Warray-bounds]
    [numbers[pos]];
            ^
inc.c:352:12: warning: array subscript is above array bounds [-Warray-bounds]
inc.c:405:16: warning: array subscript is above array bounds [-Warray-bounds]
   if (++numbers[pos] <= count) goto update_all;
                ^
inc.c:405:16: warning: array subscript is above array bounds [-Warray-bounds]
inc.c:405:16: warning: array subscript is above array bounds [-Warray-bounds]
inc.c:405:16: warning: array subscript is above array bounds [-Warray-bounds]
inc.c:406:10: warning: array subscript is above array bounds [-Warray-bounds]
   numbers[pos] = 0;
          ^

gpg-opencl does not work

The gpg-opencl does not function properly. It finds a password, but does not output it right. Instead of outputting the password, it seems that it outputs the key filename/path of the key instead. I'm trying on a private key that has the password "per". Both running opencl on the cpu and gpu fails, but using the cpu cracker works.

To reproduce:
I compiled the fcd70bd from unstable on 32bit ubuntu and used the key http://folk.ntnu.no/pettso/public/secret.key password:per

make clean linux-x86-opencl
make gpg2john
./gpg2john ~/bugreport/keys/secret.key > ~/bugreport/parsed.out

Crack using gpg-opencl HD5970

./john -fo:gpg-opencl ~/bugreport/parsed.out
OpenCL platform 0: AMD Accelerated Parallel Processing, 3 device(s).
Using device 0: Cypress
Compilation log:
Warning: gpg kernel has register spilling. Lower performance is expected.

Loaded 1 password hash (OpenPGP / GnuPG Secret Key [OpenCL])
/home/petter/bu (/home/petter/bugreport/keys/secret.key)
guesses: 1 time: 0:00:00:00 DONE (Tue Oct 9 15:32:02 2012) c/s: 3716 trying: /home/petter/bu - Pbugreport0
Use the "--show" option to display all of the cracked passwords reliably

./john --show ~/bugreport/parsed.out
/home/petter/bugreport/keys/secret.key:/home/petter/bu

1 password hash cracked, 0 left

Crack using gpg-opencl CPU

rm john.pot
./john -fo:gpg-opencl -dev=2 ~/bugreport/parsed.out
OpenCL platform 0: AMD Accelerated Parallel Processing, 3 device(s).
Using device 2: Intel(R) Core(TM) i7 CPU 940 @ 2.93GHz
Loaded 1 password hash (OpenPGP / GnuPG Secret Key [OpenCL])
/home/petter/bu (/home/petter/bugreport/keys/secret.key)
guesses: 1 time: 0:00:00:52 DONE (Tue Oct 9 15:42:30 2012) c/s: 43.93 trying: /home/petter/bu - Pbugreport0
Use the "--show" option to display all of the cracked passwords reliably

./john --show ~/bugreport/parsed.out
/home/petter/bugreport/keys/secret.key:/home/petter/bu

1 password hash cracked, 0 left

Crack using gpg

rm john.pot
./john -fo:gpg ~/bugreport/parsed.out
Loaded 1 password hash (OpenPGP / GnuPG Secret Key [32/32])
pet (/home/petter/bugreport/keys/secret.key)
guesses: 1 time: 0:00:00:00 DONE (Tue Oct 9 15:46:59 2012) c/s: 1085 trying: pet
Use the "--show" option to display all of the cracked passwords reliably

./john --show ~/bugreport/parsed.out
/home/petter/bugreport/keys/secret.key:pet

1 password hash cracked, 0 left

Issue with Make of putty2john

/opt/JohnTheRipper/src# make linux-x86-64-gpu
(snip)

E_OPENCL -DHAVE_CUDA -DHAVE_DL -march=native -funroll-loops unique.c
gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -I/usr/local/include        -I/usr/local/cuda/include -DHAVE_CRYPT -DHAVE_OPENCL -DHAVE_CUDA -DHAVE_DL -march=native -funroll-loops putty2john.c
putty2john.c:129:3: error: redefinition of typedef âFilenameâ
putty2john.c:46:25: note: previous declaration of âFilenameâ was here
make[1]: *** [putty2john.o] Error 1
make[1]: Leaving directory `/opt/JohnTheRipper/src'
make: *** [linux-x86-64-gpu] Error 2

Running on 2.6.38-16-generic Ubuntu 11.04 x86_64

make macosx-x86-64-opencl errors

please try to fix

gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include -I/usr/local/include/nss -I/usr/local/include/nspr -m64 -I/usr/local/cuda/include -DBSD -DCL_VERSION_1_0 -funroll-loops opencl_cryptsha512_fmt.c
opencl_cryptsha512_fmt.c:66: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘get_task_max_work_group_size’
opencl_cryptsha512_fmt.c:77: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘get_task_max_size’
opencl_cryptsha512_fmt.c: In function ‘find_best_workgroup’:
opencl_cryptsha512_fmt.c:209: warning: implicit declaration of function ‘get_task_max_size’
opencl_cryptsha512_fmt.c:221: warning: implicit declaration of function ‘get_task_max_work_group_size’
make[1]: *** [opencl_cryptsha512_fmt.o] Error 1
make: *** [macosx-x86-64-opencl] Error 2

custom CFLAGS lead to missing -c [was: -flto -fwhole-program does not work]


gcc -flto -fwhole-program -O3 -mxop -DHAVE_CRYPT -DHAVE_DL -funroll-loops DES_fmt.c
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64/crt1.o: In function `_start':
/usr/src/packages/BUILD/glibc-2.11.3/csu/../sysdeps/x86_64/elf/start.S:109: undefined reference to `main'
/tmp/ccEc71Xa.o: In function `valid':
DES_fmt.c:(.text+0x1a): undefined reference to `atoi64'
DES_fmt.c:(.text+0x34): undefined reference to `atoi64'
DES_fmt.c:(.text+0x48): undefined reference to `atoi64'
DES_fmt.c:(.text+0x7f): undefined reference to `atoi64'
/tmp/ccEc71Xa.o: In function `get_key':
DES_fmt.c:(.text+0x117): undefined reference to `DES_bs_all'
/tmp/ccEc71Xa.o: In function `cmp_exact':
DES_fmt.c:(.text+0x204): undefined reference to `DES_bs_get_binary'
/tmp/ccEc71Xa.o: In function `salt':
DES_fmt.c:(.text+0x245): undefined reference to `DES_raw_get_salt'
/tmp/ccEc71Xa.o: In function `cmp_exact':
DES_fmt.c:(.text+0x214): undefined reference to `DES_bs_cmp_one'
/tmp/ccEc71Xa.o: In function `cmp_one':
DES_fmt.c:(.text+0x228): undefined reference to `DES_bs_cmp_one'
/tmp/ccEc71Xa.o: In function `set_salt':
DES_fmt.c:(.text+0x234): undefined reference to `DES_bs_set_salt'
/tmp/ccEc71Xa.o: In function `init':
DES_fmt.c:(.text+0x2e8): undefined reference to `DES_bs_init'
/tmp/ccEc71Xa.o:(.data+0x50): undefined reference to `fmt_default_prepare'
/tmp/ccEc71Xa.o:(.data+0x68): undefined reference to `DES_bs_get_binary'
/tmp/ccEc71Xa.o:(.data+0xc0): undefined reference to `DES_bs_set_key'
/tmp/ccEc71Xa.o:(.data+0xd0): undefined reference to `fmt_default_clear_keys'
/tmp/ccEc71Xa.o:(.data+0xd8): undefined reference to `DES_bs_crypt_25'
/tmp/ccEc71Xa.o:(.data+0xe0): undefined reference to `DES_bs_get_hash_0'
/tmp/ccEc71Xa.o:(.data+0xe8): undefined reference to `DES_bs_get_hash_1'
/tmp/ccEc71Xa.o:(.data+0xf0): undefined reference to `DES_bs_get_hash_2'
/tmp/ccEc71Xa.o:(.data+0xf8): undefined reference to `DES_bs_get_hash_3'
/tmp/ccEc71Xa.o:(.data+0x100): undefined reference to `DES_bs_get_hash_4'
/tmp/ccEc71Xa.o:(.data+0x108): undefined reference to `DES_bs_get_hash_5'
/tmp/ccEc71Xa.o:(.data+0x110): undefined reference to `DES_bs_get_hash_6'
/tmp/ccEc71Xa.o:(.data+0x118): undefined reference to `DES_bs_cmp_all'
collect2: ld returned 1 exit status
make[1]: *** [DES_fmt.o] Error 1
make[1]: Leaving directory `/media/3T/git-mirror/JohnTheRipper/src'
make: *** [linux-x86-64-xop] Error 2

invoked make as:

make clean && make CFLAGS="-flto -fwhole-program -O3" linux-x86-64-xop

Successful compile doesn't work macosx-x86-64-opencl

Downloaded from the OpenWall site and making the unsigned int / uint changes I was able to compile with the following errors:

md5u_fmt_plug.o salted_sha1_fmt_plug.o sapB_fmt_plug.o sapG_fmt_plug.o sha1_gen_fmt_plug.o sip_fmt_plug.o vnc_fmt_plug.o wbb3_fmt_plug.o rawSHA1_ng_fmt.o plugin.o dummy.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o mkv.o mkvlib.o fake_salts.o win32_memmap.o unicode.o unshadow.o unafs.o undrop.o unique.o common-opencl.o common_opencl_pbkdf2.o opencl_mysqlsha1_fmt.o opencl_cryptmd5_fmt.o opencl_phpass_fmt.o opencl_rawsha1_fmt.o opencl_nt_fmt.o opencl_rawmd5_fmt.o opencl_nsldaps_fmt.o opencl_cryptsha512_fmt.o opencl_mscash2_fmt.o opencl_wpapsk_fmt.o opencl_xsha512_fmt.o opencl_rawsha512_fmt.o opencl_bf_std.o opencl_bf_fmt.o opencl_pwsafe_fmt.o x86-64.o sse-intrinsics.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz    -m64 -L/usr/local/cuda/lib/x86_64 -L/lib64 -framework OpenCL -o ../run/john
ld: warning: directory not found for option '-L/usr/local/ssl/lib'
ld: warning: directory not found for option '-L/usr/local/cuda/lib/x86_64'
ld: warning: directory not found for option '-L/lib64'
ld: warning: option -s is obsolete and being ignored
rm -f ../run/unshadow
ln -s john ../run/unshadow
rm -f ../run/unafs
ln -s john ../run/unafs
rm -f ../run/unique
ln -s john ../run/unique
rm -f ../run/undrop
ln -s john ../run/undrop
rm -f ../run/ssh2john
ln -s john ../run/ssh2john
rm -f ../run/pdf2john
ln -s john ../run/pdf2john
rm -f ../run/rar2john
ln -s john ../run/rar2john
rm -f ../run/zip2john
ln -s john ../run/zip2john
gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include     -m64 -I/usr/local/cuda/include -DBSD -DCL_VERSION_1_0 -Wno-deprecated-declarations -funroll-loops genmkvpwd.c
gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include     -m64 -I/usr/local/cuda/include -DBSD -DCL_VERSION_1_0 -Wno-deprecated-declarations -funroll-loops -D_JOHN_MISC_NO_LOG misc.c -o miscnl.o
gcc genmkvpwd.o mkvlib.o memory.o miscnl.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz    -m64 -L/usr/local/cuda/lib/x86_64 -L/lib64 -framework OpenCL -o ../run/genmkvpwd
ld: warning: directory not found for option '-L/usr/local/ssl/lib'
ld: warning: directory not found for option '-L/usr/local/cuda/lib/x86_64'
ld: warning: directory not found for option '-L/lib64'
ld: warning: option -s is obsolete and being ignored
gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include     -m64 -I/usr/local/cuda/include -DBSD -DCL_VERSION_1_0 -Wno-deprecated-declarations -funroll-loops mkvcalcproba.c
gcc mkvcalcproba.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz    -m64 -L/usr/local/cuda/lib/x86_64 -L/lib64 -framework OpenCL -o ../run/mkvcalcproba
ld: warning: directory not found for option '-L/usr/local/ssl/lib'
ld: warning: directory not found for option '-L/usr/local/cuda/lib/x86_64'
ld: warning: directory not found for option '-L/lib64'
ld: warning: option -s is obsolete and being ignored
gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include     -m64 -I/usr/local/cuda/include -DBSD -DCL_VERSION_1_0 -Wno-deprecated-declarations -funroll-loops calc_stat.c
gcc calc_stat.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz    -m64 -L/usr/local/cuda/lib/x86_64 -L/lib64 -framework OpenCL -o ../run/calc_stat
ld: warning: directory not found for option '-L/usr/local/ssl/lib'
ld: warning: directory not found for option '-L/usr/local/cuda/lib/x86_64'
ld: warning: directory not found for option '-L/lib64'
ld: warning: option -s is obsolete and being ignored
gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include     -m64 -I/usr/local/cuda/include -DBSD -DCL_VERSION_1_0 -Wno-deprecated-declarations -funroll-loops tgtsnarf.c
gcc tgtsnarf.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz    -m64 -L/usr/local/cuda/lib/x86_64 -L/lib64 -framework OpenCL -o ../run/tgtsnarf
ld: warning: directory not found for option '-L/usr/local/ssl/lib'
ld: warning: directory not found for option '-L/usr/local/cuda/lib/x86_64'
ld: warning: directory not found for option '-L/lib64'
ld: warning: option -s is obsolete and being ignored
rm -f ../run/racf2john
ln -s john ../run/racf2john
make[1]: Nothing to be done for `../run/mozilla2john'.
rm -f ../run/hccap2john
ln -s john ../run/hccap2john
rm -f ../run/pwsafe2john
ln -s john ../run/pwsafe2john
gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include     -m64 -I/usr/local/cuda/include -DBSD -DCL_VERSION_1_0 -Wno-deprecated-declarations -funroll-loops raw2dyna.c
gcc raw2dyna.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz    -m64 -L/usr/local/cuda/lib/x86_64 -L/lib64 -framework OpenCL -o ../run/raw2dyna
ld: warning: directory not found for option '-L/usr/local/ssl/lib'
ld: warning: directory not found for option '-L/usr/local/cuda/lib/x86_64'
ld: warning: directory not found for option '-L/lib64'
ld: warning: option -s is obsolete and being ignored
rm -f ../run/keepass2john
ln -s john ../run/keepass2john
[ -f ../run/john.local.conf ] || touch ../run/john.local.conf
cp opencl/*.cl ../run/
cp opencl_*.h ../run/

which resuts in:

/opt/john-1.7.9-jumbo-6/run $ ./john md5test.txt --format=raw-md5-opencl
OpenCL platform 0: Apple, 2 device(s).
Using device 0: Intel(R) Core(TM) i7 CPU       M 620  @ 2.67GHz
Max local work size 1024 Error -54
Error -54
Error -54
Error -54
Error -54
Error -54
Error -54
Error -54
Error -54
Error -54
Optimal local work size 1
(to avoid this test on next run do export LWS=1)
Local work size (LWS) 1, Global work size (GWS) 2097152
Loaded 1 password hash (Raw MD5 [OpenCL])
guesses: 0  time: 0:00:00:05 99.90% (1) (ETA: Tue Jul  3 16:34:44 2012)  c/s: 0.00
guesses: 0  time: 0:00:00:10 98.24% (2) (ETA: Tue Jul  3 16:34:49 2012)  c/s: 76.88  trying: 123456 - Sssing
Session aborted
/opt/john-1.7.9-jumbo-6/run $ ./john md5test.txt --format=raw-md5-opencl --device=1
OpenCL platform 0: Apple, 2 device(s).
Using device 1: GeForce GT 330M
Compilation log: Error getting function data from server
OpenCL error (CL_INVALID_PROGRAM_EXECUTABLE) in file (opencl_rawmd5_fmt.c) at line (218) - (Error creating kernel. Double-check kernel name?)

And if this helps here is the device list:

/opt/john-1.7.9-jumbo-6/run$ ./john --list=opencl-devices
Platform #0 name: Apple
Platform version: OpenCL 1.1 (Apr  9 2012 19:41:45)
    Device #0 name:     Intel(R) Core(TM) i7 CPU       M 620  @ 2.67GHz
    Device vendor:      Intel
    Device type:        CPU (LE)
    Device version:     OpenCL 1.1 
    Driver version:     1.1
    Global Memory:      8192 MB
    Global Memory Cache:    64 bytes
    Local Memory:       32 KB (Global)
    Max clock (MHz) :   2660
    Max Work Group Size:    1024
    Parallel compute cores: 4

    Device #1 name:     GeForce GT 330M
    Device vendor:      NVIDIA
    Device type:        GPU (LE)
    Device version:     OpenCL 1.0 
    Driver version:     CLH 1.0
    Global Memory:      512 MB
    Global Memory Cache:    0 bytes
    Local Memory:       16 KB (Local)
    Max clock (MHz) :   1100
    Max Work Group Size:    512
    Parallel compute cores: 6
    Stream processors:  48  (6 x 8)

django problem

django_fmt_plug.o: In function crypt_all': django_fmt_plug.c:(.text+0xc4): undefined reference toPKCS5_PBKDF2_HMAC'
collect2: ld returned 1 exit status

collected during make linux-x86-cuda

static linking issue: libpcap depends on libnetlink

the static linking mechanisms have nothing like the DT_NEEDED section in shared objects, so dependencies don't get linked in automatically.

thus when static linking is used we must use "-lpcap -lnl", or in my case "-lpcap -lnl-tiny" (libnl-tiny is a drop in replacement for netlink, so i should supposedly make a symlink libnl.a -> libnl-tiny.a)

(btw, this only affects the stuff built after john itself)

unconditional inclusion of some directories

the makefile adds -I/usr/local/include (and -L /usr/local/lib), among other non-standard paths.

imo if someone uses these non-standard paths he should supply the corresponding CFLAGS/LDFLAGS on his own.

it is not expected that the makefile uses those paths unconditionally and could break the build for users that have installed experimental things in those directories.

agilekc2john.py 1Password

The mobile version of 1Password.agilekeychain does not extract hash from encryptionKeys.js file.

$ ./agilekc2john.py 1Password.agilekeychain
error while opening the keychain, Incorrect padding

des-opencl very slow on OSX

On a Retina MacBook Pro I'm getting 4835K c/s with CPU (hashtype des), only about 500k with des-opencl. The system also becomes unusably slow when running des-opencl.

Built macosx-x86-64-opencl from github source today.

CPU is 2.6 GHz Core i7, GPU detected as follows when using des-opencl.

$ ~/JohnTheRipper/run/john aix-john --format=des-opencl
OpenCL platform 0: Apple, 2 device(s).
Device 1: GeForce GT 650M
Loaded 90 password hashes with 90 different salts (Traditional DES [OpenCL])

MacOS: ld: symbol(s) not found for architecture x86_64

gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include -m64 -Wno-deprecated-declarations -funroll-loops undrop.c
gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include -m64 -Wno-deprecated-declarations -funroll-loops unique.c
gcc -c -m64 -DUNDERSCORES -DBSD -DALIGN_LOG x86-64.S
gcc -c -Wall -O2 -fomit-frame-pointer -I/usr/local/include -m64 -Wno-deprecated-declarations -funroll-loops sse-intrinsics.c
gcc DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o trip_fmt.o timer.o md5_go.o md5_eq.o md5.o rc4.o hmacmd5.o base64.o md4.o dynamic_fmt.o dynamic_parser.o dynamic_preloads.o dynamic_utils.o rawSHA224_fmt.o rawSHA256_fmt.o rawSHA384_fmt.o rawSHA512_fmt.o hmacMD5_fmt.o hmacSHA1_fmt.o hmacSHA224_fmt.o hmacSHA256_fmt.o hmacSHA384_fmt.o hmacSHA512_fmt.o XSHA512_fmt.o hmailserver_fmt.o dragonfly3_fmt.o dragonfly4_fmt.o drupal7_fmt.o django_fmt.o cryptsha256_fmt.o cryptsha512_fmt.o SybaseASE_fmt.o SKEY_fmt.o ssh_fmt.o ssh2john.o pdf_fmt.o pdf2john.o pdfcrack_common.o pdfcrack_md5.o pdfparser.o pdfcrack.o pdfcrack_rc4.o unrarcmd.o unrarfilter.o unrarhlp.o unrar.o unrarppm.o unrarvm.o rar_fmt.o rar2john.o rawSHA0_fmt.o zip_fmt.o zip2john.o gladman_hmac.o gladman_pwd2key.o racf2john.o pwsafe2john.o hccap2john.o mozilla_fmt.o KeyDBCracker.o mozilla_des.o lowpbe.o mozilla2john.o BFEgg_fmt_plug.o DMD5_fmt_plug.o DOMINOSEC_fmt_plug.o EPI_fmt_plug.o HDAA_fmt_plug.o IPB2_fmt_plug.o KRB4_fmt_plug.o KRB4_std_plug.o KRB5_fmt_plug.o KRB5_std_plug.o MSCHAPv2_fmt_plug.o MYSQL_fast_fmt_plug.o MYSQL_fmt_plug.o NETLM_fmt_plug.o NETLMv2_fmt_plug.o NETNTLM_fmt_plug.o NETNTLMv2_fmt_plug.o NETSPLITLM_fmt_plug.o NS_fmt_plug.o NT_fmt_plug.o PHPS_fmt_plug.o PO_fmt_plug.o XSHA_fmt_plug.o crc32_fmt_plug.o episerver_fmt_plug.o gost_fmt_plug.o gost_plug.o keychain_fmt_plug.o lotus5_fmt_plug.o md4_gen_fmt_plug.o mediawiki_fmt_plug.o mscash1_fmt_plug.o mscash2_fmt_plug.o mskrb5_fmt_plug.o mssql-old_fmt_plug.o mssql05_fmt_plug.o mysqlSHA1_fmt_plug.o nsldap_fmt_plug.o nt2_fmt_plug.o office_fmt_plug.o oracle11_fmt_plug.o oracle_fmt_plug.o osc_fmt_plug.o phpassMD5_fmt_plug.o pixMD5_fmt_plug.o pkzip_fmt_plug.o pwsafe_fmt_plug.o racf_fmt_plug.o rawMD4_fmt_plug.o rawMD5_fmt_plug.o rawSHA1_LinkedIn_fmt_plug.o rawSHA1_fmt_plug.o rawmd5u_fmt_plug.o salted_sha1_fmt_plug.o sapB_fmt_plug.o sapG_fmt_plug.o sha1_gen_fmt_plug.o sip_fmt_plug.o vnc_fmt_plug.o wbb3_fmt_plug.o taviso_fmt.o plugin.o dummy.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o mkv.o mkvlib.o fake_salts.o win32_memmap.o unicode.o unshadow.o unafs.o undrop.o unique.o x86-64.o sse-intrinsics.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz -m64 -o ../run/john
ld: warning: directory not found for option '-L/usr/local/ssl/lib'
ld: warning: option -s is obsolete and being ignored
Undefined symbols for architecture x86_64:
"_memrchr", referenced from:
_sha1_fmt_get_key in taviso_fmt.o
_sha1_fmt_cmp_one in taviso_fmt.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [../run/john] Error 1
make: *** [macosx-x86-64] Error 2

Keccak build warnings

On SSE2, no warnings.

On AVX:


In file included from KeccakF-1600-opt64_plug.c:69:0:
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-simd128.macros:28:29: warning: unused variable 'Bmu' [-Wunused-variable]
     V64 Bma, Bme, Bmi, Bmo, Bmu; \
                             ^
KeccakF-1600-opt64_plug.c:181:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-simd128.macros:27:24: warning: unused variable 'Bko' [-Wunused-variable]
     V64 Bka, Bke, Bki, Bko, Bku; \
                        ^
KeccakF-1600-opt64_plug.c:181:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring':
KeccakF-1600-simd128.macros:28:29: warning: unused variable 'Bmu' [-Wunused-variable]
     V64 Bma, Bme, Bmi, Bmo, Bmu; \
                             ^
KeccakF-1600-opt64_plug.c:195:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-simd128.macros:27:24: warning: unused variable 'Bko' [-Wunused-variable]
     V64 Bka, Bke, Bki, Bko, Bku; \
                        ^
KeccakF-1600-opt64_plug.c:195:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring576bits':
KeccakF-1600-simd128.macros:28:29: warning: unused variable 'Bmu' [-Wunused-variable]
     V64 Bma, Bme, Bmi, Bmo, Bmu; \
                             ^
KeccakF-1600-opt64_plug.c:213:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-simd128.macros:27:24: warning: unused variable 'Bko' [-Wunused-variable]
     V64 Bka, Bke, Bki, Bko, Bku; \
                        ^
KeccakF-1600-opt64_plug.c:213:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring832bits':
KeccakF-1600-simd128.macros:28:29: warning: unused variable 'Bmu' [-Wunused-variable]
     V64 Bma, Bme, Bmi, Bmo, Bmu; \
                             ^
KeccakF-1600-opt64_plug.c:229:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-simd128.macros:27:24: warning: unused variable 'Bko' [-Wunused-variable]
     V64 Bka, Bke, Bki, Bko, Bku; \
                        ^
KeccakF-1600-opt64_plug.c:229:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1024bits':
KeccakF-1600-simd128.macros:28:29: warning: unused variable 'Bmu' [-Wunused-variable]
     V64 Bma, Bme, Bmi, Bmo, Bmu; \
                             ^
KeccakF-1600-opt64_plug.c:245:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-simd128.macros:27:24: warning: unused variable 'Bko' [-Wunused-variable]
     V64 Bka, Bke, Bki, Bko, Bku; \
                        ^
KeccakF-1600-opt64_plug.c:245:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1088bits':
KeccakF-1600-simd128.macros:28:29: warning: unused variable 'Bmu' [-Wunused-variable]
     V64 Bma, Bme, Bmi, Bmo, Bmu; \
                             ^
KeccakF-1600-opt64_plug.c:261:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-simd128.macros:27:24: warning: unused variable 'Bko' [-Wunused-variable]
     V64 Bka, Bke, Bki, Bko, Bku; \
                        ^
KeccakF-1600-opt64_plug.c:261:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1152bits':
KeccakF-1600-simd128.macros:28:29: warning: unused variable 'Bmu' [-Wunused-variable]
     V64 Bma, Bme, Bmi, Bmo, Bmu; \
                             ^
KeccakF-1600-opt64_plug.c:277:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-simd128.macros:27:24: warning: unused variable 'Bko' [-Wunused-variable]
     V64 Bka, Bke, Bki, Bko, Bku; \
                        ^
KeccakF-1600-opt64_plug.c:277:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1344bits':
KeccakF-1600-simd128.macros:28:29: warning: unused variable 'Bmu' [-Wunused-variable]
     V64 Bma, Bme, Bmi, Bmo, Bmu; \
                             ^
KeccakF-1600-opt64_plug.c:293:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^
KeccakF-1600-simd128.macros:27:24: warning: unused variable 'Bko' [-Wunused-variable]
     V64 Bka, Bke, Bki, Bko, Bku; \
                        ^
KeccakF-1600-opt64_plug.c:293:5: note: in expansion of macro 'declareABCDE'
     declareABCDE
     ^

On XOP:

KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring':
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring576bits':
KeccakF-1600-opt64_plug.c:213:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:213:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:213:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:213:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:213:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring832bits':
KeccakF-1600-opt64_plug.c:229:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:229:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:229:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:229:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:229:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1024bits':
KeccakF-1600-opt64_plug.c:245:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:245:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:245:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:245:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:245:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1088bits':
KeccakF-1600-opt64_plug.c:261:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:261:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:261:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:261:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:261:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1152bits':
KeccakF-1600-opt64_plug.c:277:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:277:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:277:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:277:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:277:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1344bits':
KeccakF-1600-opt64_plug.c:293:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:293:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:293:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:293:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:293:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64_plug.c:187:5: warning: 'Zero' is used uninitialized in this function [-Wuninitialized]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring':
KeccakF-1600-opt64_plug.c:204:5: warning: 'Zero' is used uninitialized in this function [-Wuninitialized]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring576bits':
KeccakF-1600-opt64_plug.c:219:5: warning: 'Zero' is used uninitialized in this function [-Wuninitialized]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring832bits':
KeccakF-1600-opt64_plug.c:235:5: warning: 'Zero' is used uninitialized in this function [-Wuninitialized]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1024bits':
KeccakF-1600-opt64_plug.c:251:5: warning: 'Zero' is used uninitialized in this function [-Wuninitialized]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1088bits':
KeccakF-1600-opt64_plug.c:267:5: warning: 'Zero' is used uninitialized in this function [-Wuninitialized]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1152bits':
KeccakF-1600-opt64_plug.c:283:5: warning: 'Zero' is used uninitialized in this function [-Wuninitialized]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring1344bits':
KeccakF-1600-opt64_plug.c:299:5: warning: 'Zero' is used uninitialized in this function [-Wuninitialized]

zip2john fails to work for some files posted on sample "non-hashes" page

  1. Download and extract http://openwall.info/wiki/_media/john/zip_sample_files.tar
  2. Run zip2john on "zip0_password.zip" file. This results in no output hash.
  3. The following patch will enable zip2john to emit the output hash. However the resulting hash couldn't be cracked (the password is "password") by john. Seems like more fixing is required.
-                       if (LoadZipBlob(fp, &curzip, &zfp, fname) && curzip.decomp_len > 12) {
+                       if (LoadZipBlob(fp, &curzip, &zfp, fname) && curzip.decomp_len > 3) {

Error compiling macosx-x86-64-opencl

Using latest rev - fc5a94c

gcc -c -Wall -O2 -fomit-frame-pointer -Wdeclaration-after-statement -I/usr/local/include -m64 -I/usr/local/cuda/include -DBSD -DCL_VERSION_1_0 -Wno-deprecated-declarations -funroll-loops cryptsha256_fmt_plug.c
cryptsha256_fmt_plug.c: In function ‘crypt_all’:
cryptsha256_fmt_plug.c:600: error: ‘CC_SHA256_CTX’ has no member named ‘h’
cryptsha256_fmt_plug.c:609: error: ‘CC_SHA256_CTX’ has no member named ‘h’
cryptsha256_fmt_plug.c:609: error: ‘CC_SHA256_CTX’ has no member named ‘h’
cryptsha256_fmt_plug.c:609: error: ‘CC_SHA256_CTX’ has no member named ‘h’
cryptsha256_fmt_plug.c:609: error: ‘CC_SHA256_CTX’ has no member named ‘h’
cryptsha256_fmt_plug.c:615: error: ‘CC_SHA256_CTX’ has no member named ‘h’
make[1]: *** [cryptsha256_fmt_plug.o] Error 1
make: *** [macosx-x86-64-opencl] Error 2

gcc 4.5.x ICE's with xop

make clean ; make JOHN_CFLAGS="-O3" linux-x86-64-xop
gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -I/usr/local/include    -DHAVE_KRB5  -O3  -mxop -DHAVE_CRYPT -DHAVE_DL -funroll-loops blake2b_plug.c
blake2b_plug.c: In function ‘blake2b_compress’:
blake2b_plug.c:317:1: error: unrecognizable insn:
(insn 79 78 80 3 /usr/lib64/gcc/x86_64-suse-linux/4.5/include/xopintrin.h:266 (set (reg:V2DI 1027)
        (rotate:V2DI (reg/v:V2DI 124 [ row4l ])
            (const_int -32 [0xffffffffffffffe0]))) -1 (nil))
blake2b_plug.c:317:1: internal compiler error: in extract_insn, at recog.c:2103
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.opensuse.org/> for instructions.
make[1]: *** [blake2b_plug.o] Error 1
make[1]: Leaving directory `/media/3T/git-mirror/JohnTheRipper/src'
make: *** [linux-x86-64-xop] Error 2

happens with both gcc 4.5.1 and 4.5.4 so i assume it happens at least for all gcc's in the 4.5.x series

LUKS dies from valid-killer if -DDEBUG

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x00007fff8eeec6b0 in strlen ()
(gdb) bt
#0  0x00007fff8eeec6b0 in strlen ()
#1  0x00000001000b51d9 in valid (ciphertext=<value temporarily unavailable, due to optimizations>, self=<value temporarily unavailable, due to optimizations>) at luks_fmt_plug.c:325
#2  0x0000000100104550 in fmt_self_test_body (format=0x100248530, binary_copy=0x100e2af08, salt_copy=0x101059408) at formats.c:239
#3  0x0000000100104051 in fmt_self_test (format=0x100248530) at formats.c:458
#4  0x00000001000fc9b3 in benchmark_format (format=0x100248530, salts=256, results=0x7fff5fbff9a0) at bench.c:163
#5  0x00000001000fd397 in benchmark_all () at bench.c:498
#6  0x0000000100107b69 in john_run () at john.c:1049
#7  0x0000000100107811 in main (argc=3, argv=0x7fff5fbffb50) at john.c:1345

Document Cracking

Hey I'm doing a fourth year project about cracking encrypted documents, MSOffice, OpenOffice and PDF files on a distributed network of raspberry pi micro computers. I'm using john as the cracking software on each of the slave nodes in the network. If there is anything that needs to be done to help speed up the cracking of these documents types or clean up the code, please let me know. I'd love help out.

static linking john fails due to duplicated libcrypto functionality

note: requires JOHN_LDFLAGS patch as in pull req #253

make clean; make CC=gcc-4.7.2 CXX=g++-4.7.2 JOHN_CFLAGS="-flto -fwhole-program
 -O3" JOHN_LDFLAGS=-static -j9 linux-x86-64-xop
gcc-4.7.2 DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o trip_fmt.o timer.o md5_go.o md5.o rc4.o hmacmd5.o base64.o md4.o sha2.o dynamic_fmt.o dynamic_parser.o dynamic_preloads.o dynamic_utils.o hmacMD5_fmt.o hmacSHA1_fmt.o django_fmt.o truecrypt_fmt.o SKEY_fmt.o ssh_fmt.o ssh2john.o pfx_fmt.o pfx2john.o unrarcmd.o unrarfilter.o unrarhlp.o unrar.o unrarppm.o unrarvm.o rar_fmt.o rar2john.o rawSHA0_fmt.o zip_fmt.o zip2john.o gladman_hmac.o gladman_pwd2key.o racf2john.o keychain2john.o kwallet2john.o pwsafe2john.o dmg2john.o keepass2john.o keyring2john.o wpapsk_fmt.o hccap2john.o mozilla_fmt.o KeyDBCracker.o mozilla_des.o lowpbe.o mozilla2john.o krb5-18_fmt.o krb5-23_fmt.o BFEgg_fmt_plug.o SybaseASE_fmt_plug.o rawmd5u_fmt_plug.o nsldap_fmt_plug.o rawBLAKE2_512_fmt_plug.o oracle_fmt_plug.o encfs_fmt_plug.o vms_fmt_plug.o mscash2_fmt_plug.o vnc_fmt_plug.o hmacSHA224_fmt_plug.o lotus5_fmt_plug.o NETNTLM_bs_fmt_plug.o mongodb_fmt_plug.o XSHA512_fmt_plug.o pst_fmt_plug.o oldoffice_fmt_plug.o postgres_fmt_plug.o sha1_gen_fmt_plug.o PO_fmt_plug.o lastpass_fmt_plug.o HDAA_fmt_plug.o hmacSHA512_fmt_plug.o rawSHA224_fmt_plug.o NETNTLMv2_fmt_plug.o sunmd5_fmt_plug.o krb5pa-md5_fmt_plug.o nukedclan_fmt_plug.o chap_fmt_plug.o keyring_fmt_plug.o oracle11_fmt_plug.o gpg_fmt_plug.o rawSHA1_fmt_plug.o episerver_fmt_plug.o DOMINOSEC_fmt_plug.o wow_srp_fmt_plug.o racf_fmt_plug.o nt2_fmt_plug.o pkzip_fmt_plug.o ike_fmt_plug.o lastpass_sniffed_fmt_plug.o agilekeychain_fmt_plug.o office_fmt_plug.o radmin_fmt_plug.o keychain_fmt_plug.o crc32_fmt_plug.o MSCHAPv2_fmt_plug.o KRB5_std_plug.o FGT_fmt_plug.o rawSHA256_fmt_plug.o rawSHA384_fmt_plug.o phpassMD5_fmt_plug.o EPI_fmt_plug.o mediawiki_fmt_plug.o sapG_fmt_plug.o bad_blowfish_plug.o uaf_encode_plug.o o5logon_fmt_plug.o blake2b_plug.o md4_gen_fmt_plug.o pdfcrack_md5_plug.o strip_fmt_plug.o KRB4_std_plug.o cryptsha256_fmt_plug.o mssql12_fmt_plug.o mysql_fmt_plug.o NETSPLITLM_fmt_plug.o ssh_ng_fmt_plug.o clipperz_srp_fmt_plug.o cryptsha512_fmt_plug.o DMD5_fmt_plug.o keepass_fmt_plug.o rawSHA512_fmt_plug.o pwsafe_fmt_plug.o dragonfly4_fmt_plug.o NETLM_fmt_plug.o mysqlSHA1_fmt_plug.o kwallet_fmt_plug.o salted_sha1_fmt_plug.o XSHA_fmt_plug.o rawSHA1_linkedIn_fmt_plug.o mssql05_fmt_plug.o formspring_fmt_plug.o blake2b-ref_plug.o sip_fmt_plug.o pbkdf2-hmac-sha512_fmt_plug.o rawMD4_fmt_plug.o dmg_fmt_plug.o pdf_fmt_plug.o IPB2_fmt_plug.o KRB4_fmt_plug.o mscash1_fmt_plug.o NS_fmt_plug.o mssql-old_fmt_plug.o pixMD5_fmt_plug.o KRB5_fmt_plug.o sxc_fmt_plug.o krb5pa-sha1_fmt_plug.o PHPS_fmt_plug.o putty_fmt_plug.o wbb3_fmt_plug.o NETNTLM_fmt_plug.o hmailserver_fmt_plug.o sapB_fmt_plug.o rawMD5_fmt_plug.o hmacSHA256_fmt_plug.o osc_fmt_plug.o hmacSHA384_fmt_plug.o gost_fmt_plug.o mysql_netauth_fmt_plug.o odf_fmt_plug.o drupal7_fmt_plug.o NETLMv2_fmt_plug.o dragonfly3_fmt_plug.o MSCHAPv2_bs_fmt_plug.o rawSHA1_ng_fmt.o plugin.o dummy.o NT_fmt.o gost.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o mkv.o mkvlib.o listconf.o fake_salts.o win32_memmap.o unicode.o unshadow.o unafs.o undrop.o unique.o putty2john.o c3_fmt.o x86-64.o sse-intrinsics.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz -static -flto -fwhole-program -O3   -lgmp  -lcrypt -ldl -o ../run/john
/lib/libcrypto.a(md5_dgst.o): In function `MD5_Update':
md5_dgst.c:(.text+0x0): multiple definition of `MD5_Update'
md5.o:md5.c:(.text+0x870): first defined here
/lib/libcrypto.a(md5_dgst.o): In function `MD5_Final':
md5_dgst.c:(.text+0x230): multiple definition of `MD5_Final'
md5.o:md5.c:(.text+0xa30): first defined here
/lib/libcrypto.a(md5_dgst.o): In function `MD5_Init':
md5_dgst.c:(.text+0x360): multiple definition of `MD5_Init'
md5.o:md5.c:(.text+0x840): first defined here
collect2: error: ld returned 1 exit status

mask attack

I have a question for the developers! Will there be or when the mask attack

Fix macosx-ppc32-altivec for gcc-4.3+

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.

Self-test fails on dynamic_1300

Benchmarking: dynamic_1300 md5(md5_raw($pass)) [128/128 AVX intrinsics 10x4x3]... FAILED (get_hash0)

Happens on plain 64-bit too.

pfx cracking: 8k+ P12/PFX error

Hi,

I try to crack P12 and PFX files using pfx2john followed by firing up john. John exits with the following message:

Unable to create PKCS12 object from bio
: Success

It seems to have something to do with the input file: the error only occurs when trying to crack a hash that resulted from a P12 of PFX file that's > 8k. The pfx2john output looks just fine.

Cheers,

Jeroen

Keccak code breaks on hardware better than SSE2.

SSE2 build works fine here and on Bull. But AVX or XOP (or -native) builds fail after a wad of warnings. This also means GPU builds fail on most modern hardware since they also use -march=native.

This might be easy but I'm not sure where to start.

First couple of warnings for AVX:

KeccakF-1600-opt64_plug.c:135:6: error: #error "UseBebigokimisa cannot be used in combination with UseXOP"
     #error "UseBebigokimisa cannot be used in combination with UseXOP"
      ^
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64_plug.c:187:5: warning: implicit declaration of function '_mm_roti_epi64' [-Wimplicit-function-declaration]
     rounds
     ^
KeccakF-1600-opt64_plug.c:187:5: error: incompatible type for argument 2 of '_mm_xor_si128'
In file included from /usr/local/Cellar/gcc48/4.8.0/gcc/lib/gcc/x86_64-apple-darwin12.3.0/4.8.0/include/xmmintrin.h:1246:0,
                 from /usr/local/Cellar/gcc48/4.8.0/gcc/lib/gcc/x86_64-apple-darwin12.3.0/4.8.0/include/x86intrin.h:34,
                 from KeccakF-1600-opt64_plug.c:76:
/usr/local/Cellar/gcc48/4.8.0/gcc/lib/gcc/x86_64-apple-darwin12.3.0/4.8.0/include/emmintrin.h:1248:1: note: expected '__m128i' but argument is of type 'int'
 _mm_xor_si128 (__m128i __A, __m128i __B)
 ^

and for XOP:

KeccakF-1600-opt64_plug.c:135:6: error: #error "UseBebigokimisa cannot be used in combination with UseXOP"
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWords':
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:181:5: warning: unused variable 'Amae' [-Wunused-variable]
KeccakF-1600-opt64_plug.c: In function 'KeccakPermutationOnWordsAfterXoring':
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Dio' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Dua' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Ama' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Aku' [-Wunused-variable]
KeccakF-1600-opt64_plug.c:195:5: warning: unused variable 'Amae' [-Wunused-variable]

As a workaround until we get it straight, we could add some #undef __SSSE3__, #undef __XOP__ and so on in some of the headers for keccak.

LTO fails with gcc 4.6.3

make clean ; make CC=gcc-4.6.3 CXX=g++4.6.3 JOHN_CFLAGS="-flto -fwhole-program
 -O3" -j9 linux-x86-64
gcc-4.6.3 -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -I/usr/local/include   -DHAVE_GMP   -flto -fwhole-program -O3  -DHAVE_CRYPT -DHAVE_DL -funroll-loops NT_fmt.c
rawSHA1_ng_fmt.c:741:1: sorry, unimplemented: gimple bytecode streams do not support the optimization attribute
make[1]: *** [rawSHA1_ng_fmt.o] Error 1

same result for linux-x86-64-xop target

edit: works with gcc 4.7.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.