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
10.26k stars 2.1k forks source link

OpenCL formats failing with AMD Catalyst on Tahiti #4670

Closed solardiz closed 3 years ago

solardiz commented 3 years ago

Just to have this recorded somewhere:

Platform #1 name: AMD Accelerated Parallel Processing, version: OpenCL 2.0 AMD-APP (1642.5)
    Device #0 (3) name:     Tahiti
    Board name:             AMD Radeon HD 7900 Series
    Device vendor:          Advanced Micro Devices, Inc.
    Device type:            GPU (LE)
    Device version:         OpenCL 1.2 AMD-APP (1642.5)
    Driver version:         1642.5 (VM) - Catalyst 14.12(Omega) [supported]
    Native vector widths:   char 4, short 2, int 1, long 1
    Preferred vector width: char 4, short 2, int 1, long 1
    Global Memory:          3013 MiB
    Global Memory Cache:    16 KiB
    Local Memory:           32 KiB (Local)
    Constant Buffer size:   64 KiB
    Max memory alloc. size: 2097 MiB
    Max clock (MHz):        1000
    Profiling timer res.:   1 ns
    Max Work Group Size:    256
    Parallel compute cores: 32
    Stream processors:      2048  (32 x 64)
    Speed index:            2048000
    SIMD width:             16
    Wavefront width:        64
    ADL:                    Overdrive5, device id 0
    PCI device topology:    03:00.0
    PCI lanes:              16/16
    Fan speed:              20%
    Temperature:            48C
    Utilization:            1%

rar-opencl segfaults, the rest at least let the tests run to completion:

$ time ./john -test=0 -form=opencl,-rar-opencl
Device 3: Tahiti [AMD Radeon HD 7900 Series]
Testing: sha1crypt-opencl, (NetBSD) [PBKDF1-SHA1 OpenCL]... PASS
Testing: KeePass-opencl [SHA256 AES/Twofish/ChaCha OpenCL]... FAILED (cmp_all(20))
Testing: oldoffice-opencl, MS Office <= 2003 [MD5/SHA1 RC4 OpenCL]... PASS
Testing: PBKDF2-HMAC-MD4-opencl [PBKDF2-MD4 OpenCL]... PASS
Testing: PBKDF2-HMAC-MD5-opencl [PBKDF2-MD5 OpenCL]... PASS
Testing: PBKDF2-HMAC-SHA1-opencl [PBKDF2-SHA1 OpenCL]... PASS
Testing: RAR5-opencl [PBKDF2-SHA256 OpenCL]... PASS
Testing: TrueCrypt-opencl [RIPEMD160 AES256_XTS OpenCL]... PASS
Testing: lotus5-opencl, Lotus Notes/Domino 5 [OpenCL]... PASS
Testing: AndroidBackup-opencl [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: agilekeychain-opencl, 1Password Agile Keychain [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: ansible-opencl, Ansible Vault [PBKDF2-SHA256 HMAC-SHA256 OpenCL]... FAILED (cmp_all(1))
Testing: axcrypt-opencl [SHA1 AES OpenCL]... PASS
Testing: axcrypt2-opencl, AxCrypt 2.x [PBKDF2-SHA512 AES OpenCL]... FAILED (cmp_all(1))
LWS=4 GWS=2048 Testing: bcrypt-opencl ("$2a$05", 32 iterations) [Blowfish OpenCL]... PASS
Testing: BitLocker-opencl, BitLocker [SHA256 AES OpenCL]... PASS
Testing: bitwarden-opencl, Bitwarden Password Manager [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: blockchain-opencl, blockchain My Wallet (v2 x5000) [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: cloudkeychain-opencl, 1Password Cloud Keychain [PBKDF2-SHA512 AES OpenCL]... FAILED (cmp_all(1))
Testing: md5crypt-opencl, crypt(3) $1$ [MD5 OpenCL]... PASS
Testing: sha256crypt-opencl, crypt(3) $5$ (rounds=5000) [SHA256 OpenCL]... PASS
Testing: sha512crypt-opencl, crypt(3) $6$ (rounds=5000) [SHA512 OpenCL]... PASS
Testing: dashlane-opencl, Dashlane Password Manager [PBKDF2-SHA1 OpenCL AES]... (8xOMP) PASS
Testing: descrypt-opencl, traditional crypt(3) [DES OpenCL]... PASS
Testing: diskcryptor-opencl, DiskCryptor [PBKDF2-SHA512 OpenCL]... (8xOMP) FAILED (cmp_all(1))
Testing: diskcryptor-aes-opencl, DiskCryptor AES XTS (only) [PBKDF2-SHA512 AES OpenCL]... FAILED (cmp_all(1))
Testing: dmg-opencl, Apple DMG [PBKDF2-SHA1 3DES/AES OpenCL]... PASS
Testing: electrum-modern-opencl, Electrum Wallet 2.8+ [PBKDF2-SHA512 OpenCL]... (8xOMP) FAILED (cmp_all(1))
Testing: EncFS-opencl [PBKDF2-SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: enpass-opencl, Enpass Password Manager [PBKDF2-SHA1/SHA512 AES OpenCL]... FAILED (cmp_all(2))
Testing: ethereum-opencl, Ethereum Wallet [PBKDF2-SHA256 Keccak OpenCL]... PASS
Testing: ethereum-presale-opencl, Ethereum Presale Wallet [PBKDF2-SHA256 AES Keccak OpenCL]... FAILED (cmp_all(1))
Testing: FVDE-opencl, FileVault 2 [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: geli-opencl, FreeBSD GELI [PBKDF2-SHA512 AES OpenCL]... FAILED (cmp_all(1))
Testing: gpg-opencl, OpenPGP / GnuPG Secret Key [SHA1/SHA2 OpenCL]... (8xOMP) PASS
Testing: iwork-opencl, Apple iWork '09 or newer [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: keychain-opencl, Mac OS X Keychain [PBKDF2-SHA1 3DES OpenCL]... PASS
Testing: keyring-opencl, GNOME Keyring [SHA256 AES OpenCL]... PASS
Testing: keystore-opencl, Java KeyStore [SHA1 OpenCL]... PASS
Testing: krb5pa-md5-opencl, Kerberos 5 AS-REQ Pre-Auth etype 23 [MD4 HMAC-MD5 RC4 OpenCL]... PASS
Testing: krb5pa-sha1-opencl, Kerberos 5 AS-REQ Pre-Auth etype 17/18 [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
Testing: krb5asrep-aes-opencl, Kerberos 5 AS-REP etype 17/18 [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
Testing: lp-opencl, LastPass offline [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: lpcli-opencl, LastPass CLI [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: LM-opencl [DES BS OpenCL]... PASS
Testing: mscash-opencl, M$ Cache Hash [MD4 OpenCL]... PASS
Testing: mscash2-opencl, MS Cache Hash 2 (DCC2) [PBKDF2-SHA1 OpenCL]... PASS
Testing: mysql-sha1-opencl, MySQL 4.1+ [SHA1 OpenCL]... PASS
Testing: notes-opencl, Apple Notes [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: NT-opencl [MD4 OpenCL]... PASS
Testing: ntlmv2-opencl, NTLMv2 C/R [MD4 HMAC-MD5 OpenCL]... PASS
Testing: o5logon-opencl, Oracle O5LOGON protocol [SHA1 AES OpenCL]... PASS
Testing: ODF-opencl, OpenDocument Star/Libre/OpenOffice [PBKDF2-SHA1 BF/AES OpenCL]... PASS
Testing: office-opencl, MS Office [SHA1/SHA512 AES OpenCL]... FAILED (cmp_all(1))
Testing: OpenBSD-SoftRAID-opencl [PBKDF2-SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: PBKDF2-HMAC-SHA256-opencl [PBKDF2-SHA256 OpenCL]... PASS
Testing: PBKDF2-HMAC-SHA512-opencl, GRUB2 / OS X 10.8+ [PBKDF2-SHA512 OpenCL]... FAILED (cmp_all(1))
Testing: pem-opencl, PKCS#8 private key (RSA/DSA/ECDSA) [PBKDF2-SHA1 3DES/AES OpenCL]... PASS
Testing: pfx-opencl, (.pfx, .p12) [PKCS#12 PBE (SHA1/SHA-256/512) OpenCL]... FAILED (cmp_all(1))
Testing: pgpdisk-opencl, PGP Disk / Virtual Disk [SHA1 AES/TwoFish/CAST OpenCL]... FAILED (cmp_all(1))
Testing: pgpsda-opencl, PGP Self Decrypting Archive [SHA1 CAST OpenCL]... PASS
Testing: pgpwde-opencl, PGP Whole Disk Encryption [SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: phpass-opencl ($P$9) [MD5 OpenCL]... PASS
Testing: pwsafe-opencl, Password Safe [SHA256 OpenCL]... PASS
Testing: RAKP-opencl, IPMI 2.0 RAKP (RMCP+) [HMAC-SHA1 OpenCL]... PASS
Testing: raw-MD4-opencl [MD4 OpenCL]... PASS
Testing: raw-MD5-opencl [MD5 OpenCL]... PASS
Testing: raw-SHA1-opencl [SHA1 OpenCL]... PASS
Testing: raw-SHA256-opencl [SHA256 OpenCL]... PASS
Testing: raw-SHA512-free-opencl [SHA512 OpenCL (inefficient, development use mostly)]... PASS
Testing: raw-SHA512-opencl [SHA512 OpenCL]... PASS
Testing: salted-SHA1-opencl [SHA1 OpenCL]... PASS
Testing: sappse-opencl, SAP PSE [PKCS#12 PBE (SHA1) OpenCL]... PASS
Testing: 7z-opencl, 7-Zip archive encryption (512K iterations) [SHA256 AES OpenCL]... (8xOMP) PASS
Testing: SL3-opencl, Nokia operator unlock [SHA1 OpenCL]... PASS
Testing: solarwinds-opencl, SolarWinds Orion [PBKDF2-SHA1 OpenCL]... PASS
Testing: ssh-opencl [RSA/DSA/EC (SSH private keys) OpenCL]... PASS
Testing: sspr-opencl, NetIQ SSPR / Adobe AEM [MD5/SHA1/SHA2 OpenCL]... FAILED (cmp_all(10))
Testing: strip-opencl, Password Manager [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: telegram-opencl [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: tezos-opencl, Tezos Key [PBKDF2-SHA512 OpenCL]... (8xOMP) FAILED (cmp_all(1))
Testing: vmx-opencl, VMware VMX [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: wpapsk-opencl, WPA/WPA2/PMF/PMKID PSK [PBKDF2-SHA1 OpenCL]... PASS
Testing: wpapsk-pmk-opencl, WPA/WPA2/PMF/PMKID master key [MD5/SHA-1/SHA-2 OpenCL]... PASS
Testing: XSHA512-free-opencl, Mac OS X 10.7+ [SHA512 OpenCL (efficient at "many salts" only)]... PASS
Testing: XSHA512-opencl, Mac OS X 10.7 salted [SHA512 OpenCL]... PASS
Testing: zed-opencl, Prim'X Zed! encrypted archives [PKCS#12 PBE (SHA1/SHA256) OpenCL]... PASS
Testing: ZIP-opencl, WinZip [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
22 out of 88 tests have FAILED

real    11m19.453s
user    4m15.695s
sys     0m36.563s

The same 22 formats failed tests across two invocations.

Some of these look puzzling to me - e.g., why zip-opencl fails when other formats using PBKDF2-SHA1 pass?

Anyway, I doubt we're going to do anything on this.

solardiz commented 3 years ago

I'll probably retest this later to see whether more formats start failing after some changes we make (and maybe we'll even look into fixing that if so), but let's keep this issue closed.

solardiz commented 3 years ago

Unfortunately, the newly added bitcoin-opencl format fails test on this system. This isn't surprising because sspr-opencl was also failing test at a test vector that uses the SHA-512 loop:

$ ../run/john -te -form=sspr-opencl -v=5
initUnicode(UNICODE, RAW/RAW)
RAW -> RAW -> RAW
Device 3: Tahiti [AMD Radeon HD 7900 Series]
Benchmarking: sspr-opencl, NetIQ SSPR / Adobe AEM [MD5/SHA1/SHA2 OpenCL]... Loaded 13 hashes with 11 different salts to test db from test vectors
LWS=7 GWS=49 (7 blocks) FAILED (cmp_all(10) $sspr$4$100000$ZP3ftUBQwrovglISxt9ujUtwslsSMCjj$a2a89e0e185f2a32f18512415e4dfc379629f0222ead58f0207e9c9f7424c36fe9c7a615be6035849c11da1293da78e50e725a664b7f5fe123ede7871f13ae7f)
solardiz commented 3 years ago

This makes the sspr-opencl and bitcoin-opencl formats (and probably more) pass test:

+++ b/run/opencl/opencl_sha2.h
@@ -417,7 +417,7 @@ __constant ulong K[] = {
        0x5fcb6fab3ad6faecUL, 0x6c44198c4a475817UL
 };

-#if gpu_amd(DEVICE_INFO) && SCALAR && defined(cl_amd_media_ops) && !__MESA__
+#if 0 && gpu_amd(DEVICE_INFO) && SCALAR && defined(cl_amd_media_ops) && !__MESA__
 #pragma OPENCL EXTENSION cl_amd_media_ops : enable
 #define ror64(x, n)    ((n) < 32 ? \
         (amd_bitalign((uint)((x) >> 32), (uint)(x), (uint)(n)) | \

However, the same rot64() macro works just fine on this same system in sha512crypt-opencl.

solardiz commented 3 years ago

With that optimized AMD ror64() disabled, the number of failing formats reduces from 22 to 13:

13 out of 89 tests have FAILED

real    12m45.289s
user    3m57.075s
sys     0m35.481s

Maybe the issue is that @magnumripper dropped the "obsolete" workaround for n % 8 in 0c8a15685aad5214c53b4634170838318698f841 as mentioned in #3525.

solardiz commented 3 years ago

Now testing this:

+++ b/run/opencl/opencl_sha2.h
@@ -419,12 +419,14 @@ __constant ulong K[] = {

 #if gpu_amd(DEVICE_INFO) && SCALAR && defined(cl_amd_media_ops) && !__MESA__
 #pragma OPENCL EXTENSION cl_amd_media_ops : enable
-#define ror64(x, n)    ((n) < 32 ? \
+#define opt_ror64(x, n)        ((n) < 32 ? \
         (amd_bitalign((uint)((x) >> 32), (uint)(x), (uint)(n)) | \
          ((ulong)amd_bitalign((uint)(x), (uint)((x) >> 32), (uint)(n)) << 32)) \
         : \
         (amd_bitalign((uint)(x), (uint)((x) >> 32), (uint)(n) - 32) | \
          ((ulong)amd_bitalign((uint)((x) >> 32), (uint)(x), (uint)(n) - 32) << 32)))
+/* Bug seen with multiples of 8 */
+#define ror64(x, n) (((n) != 8) ? opt_ror64(x, n) : rotate(x, (ulong)(64 - n)))
 #elif __OS_X__ && gpu_nvidia(DEVICE_INFO)
 /* Bug workaround for OSX nvidia 10.2.7 310.41.25f01 */
 #define ror64(x, n)       ((x >> n) | (x << (64 - n)))

Passed sspr-opencl test so far.

I think we should get this in, but with a check for AMD Catalyst added (don't do this on AMDGPU-Pro and ROCm).

@magnumripper Maybe you will?

magnumripper commented 3 years ago

I have no idea how to tell Catalyst, AMDGPU-Pro or ROCm apart. I think I recall trying to get some help from the community in the past, to no avail.

solardiz commented 3 years ago

Doesn't amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR < 2500 indicate Catalyst?

$ fgrep DEV_VER_MAJOR *.cl
cryptmd5_kernel.cl:#if !amd_gcn(DEVICE_INFO) || DEV_VER_MAJOR < 2500
cryptsha256_kernel_GPU.cl:#if (gpu_amd(DEVICE_INFO) && DEV_VER_MAJOR < 1729)
cryptsha256_kernel_GPU.cl:    #elif amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR < 2500
cryptsha256_kernel_GPU.cl:    #elif amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR >= 2500
cryptsha512_kernel_GPU.cl:#if (gpu_amd(DEVICE_INFO) && DEV_VER_MAJOR < 1729 && !defined(__OS_X__))
cryptsha512_kernel_GPU.cl:    #elif amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR < 2500
cryptsha512_kernel_GPU.cl:    #elif amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR >= 2500
cryptsha512_kernel_GPU.cl:#if gpu_nvidia(DEVICE_INFO) && DEV_VER_MAJOR > 352
oldoffice_kernel.cl:#if DEV_VER_MAJOR < 1912
sha256_kernel.cl:    #elif amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR < 2500
sha256_kernel.cl:    #elif amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR >= 2500
sha512_gpl_kernel.cl:    #elif amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR < 2500
sha512_gpl_kernel.cl:    #elif amd_gcn(DEVICE_INFO) && DEV_VER_MAJOR >= 2500
magnumripper commented 3 years ago

Oh yeah I see now Claudio (I think) has added this for us

        if (gpu_amd(device_info[sequential_id]) &&
            get_platform_vendor_id(get_platform_id(sequential_id)) == DEV_AMD) {

                if (major < 1912)
                        snprintf(buf, sizeof(buf), "%s - Catalyst %s", dname, name);
                else if (major < 2500)
                        snprintf(buf, sizeof(buf), "%s - Crimson %s", dname, name);
                else
                        snprintf(buf, sizeof(buf), "%s - AMDGPU-Pro %s", dname, name);
                snprintf(tmp, sizeof(tmp), "%s", buf);
        } else

So not 2500 but 1912

solardiz commented 3 years ago

Well, we don't know whether this bug exists on Crimson, but I'm OK working around it just for Catalyst.

solardiz commented 3 years ago

Got the expected 13 out of 89 tests have FAILED with the patch I posted above. So it's this bug, and the workaround works.

Now also to try disabling bitslice AES...

solardiz commented 3 years ago
$ time ./john -test=0 -form=opencl,-rar-opencl
Device 3: Tahiti [AMD Radeon HD 7900 Series]
Testing: sha1crypt-opencl, (NetBSD) [PBKDF1-SHA1 OpenCL]... PASS
Testing: KeePass-opencl [SHA256 AES/Twofish/ChaCha OpenCL]... FAILED (cmp_all(20))
Testing: oldoffice-opencl, MS Office <= 2003 [MD5/SHA1 RC4 OpenCL]... PASS
Testing: PBKDF2-HMAC-MD4-opencl [PBKDF2-MD4 OpenCL]... PASS
Testing: PBKDF2-HMAC-MD5-opencl [PBKDF2-MD5 OpenCL]... PASS
Testing: PBKDF2-HMAC-SHA1-opencl [PBKDF2-SHA1 OpenCL]... PASS
Testing: RAR5-opencl [PBKDF2-SHA256 OpenCL]... PASS
Testing: TrueCrypt-opencl [RIPEMD160 AES256_XTS OpenCL]... PASS
Testing: lotus5-opencl, Lotus Notes/Domino 5 [OpenCL]... PASS
Testing: AndroidBackup-opencl [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: agilekeychain-opencl, 1Password Agile Keychain [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: ansible-opencl, Ansible Vault [PBKDF2-SHA256 HMAC-SHA256 OpenCL]... FAILED (cmp_all(1))
Testing: axcrypt-opencl [SHA1 AES OpenCL]... PASS
Testing: axcrypt2-opencl, AxCrypt 2.x [PBKDF2-SHA512 AES OpenCL]... PASS
LWS=4 GWS=2048 Testing: bcrypt-opencl ("$2a$05", 32 iterations) [Blowfish OpenCL]... PASS
Testing: Bitcoin-opencl, Bitcoin Core [SHA512 OpenCL AES 64/64]... (8xOMP) PASS
Testing: BitLocker-opencl, BitLocker [SHA256 AES OpenCL]... PASS
Testing: bitwarden-opencl, Bitwarden Password Manager [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: blockchain-opencl, blockchain My Wallet (v2 x5000) [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: cloudkeychain-opencl, 1Password Cloud Keychain [PBKDF2-SHA512 AES OpenCL]... FAILED (cmp_all(1))
Testing: md5crypt-opencl, crypt(3) $1$ [MD5 OpenCL]... PASS
Testing: sha256crypt-opencl, crypt(3) $5$ (rounds=5000) [SHA256 OpenCL]... PASS
Testing: sha512crypt-opencl, crypt(3) $6$ (rounds=5000) [SHA512 OpenCL]... PASS
Testing: dashlane-opencl, Dashlane Password Manager [PBKDF2-SHA1 OpenCL AES]... (8xOMP) PASS
Testing: descrypt-opencl, traditional crypt(3) [DES OpenCL]... PASS
Testing: diskcryptor-opencl, DiskCryptor [PBKDF2-SHA512 OpenCL]... (8xOMP) PASS
Testing: diskcryptor-aes-opencl, DiskCryptor AES XTS (only) [PBKDF2-SHA512 AES OpenCL]... PASS
Testing: dmg-opencl, Apple DMG [PBKDF2-SHA1 3DES/AES OpenCL]... PASS
Testing: electrum-modern-opencl, Electrum Wallet 2.8+ [PBKDF2-SHA512 OpenCL]... (8xOMP) PASS
Testing: EncFS-opencl [PBKDF2-SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: enpass-opencl, Enpass Password Manager [PBKDF2-SHA1/SHA512 AES OpenCL]... PASS
Testing: ethereum-opencl, Ethereum Wallet [PBKDF2-SHA256 Keccak OpenCL]... PASS
Testing: ethereum-presale-opencl, Ethereum Presale Wallet [PBKDF2-SHA256 AES Keccak OpenCL]... FAILED (cmp_all(1))
Testing: FVDE-opencl, FileVault 2 [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: geli-opencl, FreeBSD GELI [PBKDF2-SHA512 AES OpenCL]... PASS
Testing: gpg-opencl, OpenPGP / GnuPG Secret Key [SHA1/SHA2 OpenCL]... (8xOMP) PASS
Testing: iwork-opencl, Apple iWork '09 or newer [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: keychain-opencl, Mac OS X Keychain [PBKDF2-SHA1 3DES OpenCL]... PASS
Testing: keyring-opencl, GNOME Keyring [SHA256 AES OpenCL]... PASS
Testing: keystore-opencl, Java KeyStore [SHA1 OpenCL]... PASS
Testing: krb5pa-md5-opencl, Kerberos 5 AS-REQ Pre-Auth etype 23 [MD4 HMAC-MD5 RC4 OpenCL]... PASS
Testing: krb5pa-sha1-opencl, Kerberos 5 AS-REQ Pre-Auth etype 17/18 [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
Testing: krb5asrep-aes-opencl, Kerberos 5 AS-REP etype 17/18 [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
Testing: lp-opencl, LastPass offline [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: lpcli-opencl, LastPass CLI [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: LM-opencl [DES BS OpenCL]... PASS
Testing: mscash-opencl, M$ Cache Hash [MD4 OpenCL]... PASS
Testing: mscash2-opencl, MS Cache Hash 2 (DCC2) [PBKDF2-SHA1 OpenCL]... PASS
Testing: mysql-sha1-opencl, MySQL 4.1+ [SHA1 OpenCL]... PASS
Testing: notes-opencl, Apple Notes [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: NT-opencl [MD4 OpenCL]... PASS
Testing: ntlmv2-opencl, NTLMv2 C/R [MD4 HMAC-MD5 OpenCL]... PASS
Testing: o5logon-opencl, Oracle O5LOGON protocol [SHA1 AES OpenCL]... PASS
Testing: ODF-opencl, OpenDocument Star/Libre/OpenOffice [PBKDF2-SHA1 BF/AES OpenCL]... PASS
Testing: office-opencl, MS Office [SHA1/SHA512 AES OpenCL]... FAILED (cmp_all(1))
Testing: OpenBSD-SoftRAID-opencl [PBKDF2-SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: PBKDF2-HMAC-SHA256-opencl [PBKDF2-SHA256 OpenCL]... PASS
Testing: PBKDF2-HMAC-SHA512-opencl, GRUB2 / OS X 10.8+ [PBKDF2-SHA512 OpenCL]... PASS
Testing: pem-opencl, PKCS#8 private key (RSA/DSA/ECDSA) [PBKDF2-SHA1 3DES/AES OpenCL]... PASS
Testing: pfx-opencl, (.pfx, .p12) [PKCS#12 PBE (SHA1/SHA-256/512) OpenCL]... FAILED (cmp_all(1))
Testing: pgpdisk-opencl, PGP Disk / Virtual Disk [SHA1 AES/TwoFish/CAST OpenCL]... FAILED (cmp_all(1))
Testing: pgpsda-opencl, PGP Self Decrypting Archive [SHA1 CAST OpenCL]... PASS
Testing: pgpwde-opencl, PGP Whole Disk Encryption [SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: phpass-opencl ($P$9) [MD5 OpenCL]... PASS
Testing: pwsafe-opencl, Password Safe [SHA256 OpenCL]... PASS
Testing: RAKP-opencl, IPMI 2.0 RAKP (RMCP+) [HMAC-SHA1 OpenCL]... PASS
Testing: raw-MD4-opencl [MD4 OpenCL]... PASS
Testing: raw-MD5-opencl [MD5 OpenCL]... PASS
Testing: raw-SHA1-opencl [SHA1 OpenCL]... PASS
Testing: raw-SHA256-opencl [SHA256 OpenCL]... PASS
Testing: raw-SHA512-free-opencl [SHA512 OpenCL (inefficient, development use mostly)]... PASS
Testing: raw-SHA512-opencl [SHA512 OpenCL]... PASS
Testing: salted-SHA1-opencl [SHA1 OpenCL]... PASS
Testing: sappse-opencl, SAP PSE [PKCS#12 PBE (SHA1) OpenCL]... PASS
Testing: 7z-opencl, 7-Zip archive encryption (512K iterations) [SHA256 AES OpenCL]... (8xOMP) PASS
Testing: SL3-opencl, Nokia operator unlock [SHA1 OpenCL]... PASS
Testing: solarwinds-opencl, SolarWinds Orion [PBKDF2-SHA1 OpenCL]... PASS
Testing: ssh-opencl [RSA/DSA/EC (SSH private keys) OpenCL]... PASS
Testing: sspr-opencl, NetIQ SSPR / Adobe AEM [MD5/SHA1/SHA2 OpenCL]... PASS
Testing: strip-opencl, Password Manager [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: telegram-opencl [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: tezos-opencl, Tezos Key [PBKDF2-SHA512 OpenCL]... (8xOMP) PASS
Testing: vmx-opencl, VMware VMX [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: wpapsk-opencl, WPA/WPA2/PMF/PMKID PSK [PBKDF2-SHA1 OpenCL]... PASS
Testing: wpapsk-pmk-opencl, WPA/WPA2/PMF/PMKID master key [MD5/SHA-1/SHA-2 OpenCL]... PASS
Testing: XSHA512-free-opencl, Mac OS X 10.7+ [SHA512 OpenCL (efficient at "many salts" only)]... PASS
Testing: XSHA512-opencl, Mac OS X 10.7 salted [SHA512 OpenCL]... PASS
Testing: zed-opencl, Prim'X Zed! encrypted archives [PKCS#12 PBE (SHA1/SHA256) OpenCL]... PASS
Testing: ZIP-opencl, WinZip [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
13 out of 89 tests have FAILED

real    13m5.953s
user    4m28.473s
sys     0m34.524s
solardiz commented 3 years ago

Now also to try disabling bitslice AES...

This didn't help. So I'll only get the SHA-2 workaround in.

solardiz commented 3 years ago

FWIW, rar-opencl also segfaults with other AMD GPUs (Bonaire, another Tahiti) on that system, but passes self-test with Intel CPU and Intel GPU.

solardiz commented 3 years ago

On Bonaire on the same system, somehow not only rar-opencl, but also pfx-opencl was segfaulting, but on the other hand one more format (edit: that one is ethereum-presale-opencl) passes test:

$ time ./john -test=0 -form=opencl,-rar-opencl,-pfx-opencl -dev=5
Device 5: Bonaire [AMD Radeon HD 7700 Series]
Testing: sha1crypt-opencl, (NetBSD) [PBKDF1-SHA1 OpenCL]... PASS
Testing: KeePass-opencl [SHA256 AES/Twofish/ChaCha OpenCL]... FAILED (cmp_all(20))
Testing: oldoffice-opencl, MS Office <= 2003 [MD5/SHA1 RC4 OpenCL]... PASS
Testing: PBKDF2-HMAC-MD4-opencl [PBKDF2-MD4 OpenCL]... PASS
Testing: PBKDF2-HMAC-MD5-opencl [PBKDF2-MD5 OpenCL]... PASS
Testing: PBKDF2-HMAC-SHA1-opencl [PBKDF2-SHA1 OpenCL]... PASS
Testing: RAR5-opencl [PBKDF2-SHA256 OpenCL]... PASS
Testing: TrueCrypt-opencl [RIPEMD160 AES256_XTS OpenCL]... PASS
Testing: lotus5-opencl, Lotus Notes/Domino 5 [OpenCL]... PASS
Testing: AndroidBackup-opencl [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: agilekeychain-opencl, 1Password Agile Keychain [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: ansible-opencl, Ansible Vault [PBKDF2-SHA256 HMAC-SHA256 OpenCL]... FAILED (cmp_all(1))
Testing: axcrypt-opencl [SHA1 AES OpenCL]... PASS
Testing: axcrypt2-opencl, AxCrypt 2.x [PBKDF2-SHA512 AES OpenCL]... PASS
LWS=4 GWS=4096 Testing: bcrypt-opencl ("$2a$05", 32 iterations) [Blowfish OpenCL]... PASS
Testing: Bitcoin-opencl, Bitcoin Core [SHA512 OpenCL AES 64/64]... (8xOMP) PASS
Testing: BitLocker-opencl, BitLocker [SHA256 AES OpenCL]... PASS
Testing: bitwarden-opencl, Bitwarden Password Manager [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: blockchain-opencl, blockchain My Wallet (v2 x5000) [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: cloudkeychain-opencl, 1Password Cloud Keychain [PBKDF2-SHA512 AES OpenCL]... FAILED (cmp_all(1))
Testing: md5crypt-opencl, crypt(3) $1$ [MD5 OpenCL]... PASS
Testing: sha256crypt-opencl, crypt(3) $5$ (rounds=5000) [SHA256 OpenCL]... PASS
Testing: sha512crypt-opencl, crypt(3) $6$ (rounds=5000) [SHA512 OpenCL]... PASS
Testing: dashlane-opencl, Dashlane Password Manager [PBKDF2-SHA1 OpenCL AES]... (8xOMP) PASS
Testing: descrypt-opencl, traditional crypt(3) [DES OpenCL]... PASS
Testing: diskcryptor-opencl, DiskCryptor [PBKDF2-SHA512 OpenCL]... (8xOMP) PASS
Testing: diskcryptor-aes-opencl, DiskCryptor AES XTS (only) [PBKDF2-SHA512 AES OpenCL]... PASS
Testing: dmg-opencl, Apple DMG [PBKDF2-SHA1 3DES/AES OpenCL]... PASS
Testing: electrum-modern-opencl, Electrum Wallet 2.8+ [PBKDF2-SHA512 OpenCL]... (8xOMP) PASS
Testing: EncFS-opencl [PBKDF2-SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: enpass-opencl, Enpass Password Manager [PBKDF2-SHA1/SHA512 AES OpenCL]... PASS
Testing: ethereum-opencl, Ethereum Wallet [PBKDF2-SHA256 Keccak OpenCL]... PASS
Testing: ethereum-presale-opencl, Ethereum Presale Wallet [PBKDF2-SHA256 AES Keccak OpenCL]... PASS
Testing: FVDE-opencl, FileVault 2 [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: geli-opencl, FreeBSD GELI [PBKDF2-SHA512 AES OpenCL]... PASS
Testing: gpg-opencl, OpenPGP / GnuPG Secret Key [SHA1/SHA2 OpenCL]... (8xOMP) PASS
Testing: iwork-opencl, Apple iWork '09 or newer [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: keychain-opencl, Mac OS X Keychain [PBKDF2-SHA1 3DES OpenCL]... PASS
Testing: keyring-opencl, GNOME Keyring [SHA256 AES OpenCL]... PASS
Testing: keystore-opencl, Java KeyStore [SHA1 OpenCL]... PASS
Testing: krb5pa-md5-opencl, Kerberos 5 AS-REQ Pre-Auth etype 23 [MD4 HMAC-MD5 RC4 OpenCL]... PASS
Testing: krb5pa-sha1-opencl, Kerberos 5 AS-REQ Pre-Auth etype 17/18 [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
Testing: krb5asrep-aes-opencl, Kerberos 5 AS-REP etype 17/18 [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
Testing: lp-opencl, LastPass offline [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: lpcli-opencl, LastPass CLI [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: LM-opencl [DES BS OpenCL]... PASS
Testing: mscash-opencl, M$ Cache Hash [MD4 OpenCL]... PASS
Testing: mscash2-opencl, MS Cache Hash 2 (DCC2) [PBKDF2-SHA1 OpenCL]... PASS
Testing: mysql-sha1-opencl, MySQL 4.1+ [SHA1 OpenCL]... PASS
Testing: notes-opencl, Apple Notes [PBKDF2-SHA256 AES OpenCL]... PASS
Testing: NT-opencl [MD4 OpenCL]... PASS
Testing: ntlmv2-opencl, NTLMv2 C/R [MD4 HMAC-MD5 OpenCL]... PASS
Testing: o5logon-opencl, Oracle O5LOGON protocol [SHA1 AES OpenCL]... PASS
Testing: ODF-opencl, OpenDocument Star/Libre/OpenOffice [PBKDF2-SHA1 BF/AES OpenCL]... PASS
Testing: office-opencl, MS Office [SHA1/SHA512 AES OpenCL]... FAILED (cmp_all(1))
Testing: OpenBSD-SoftRAID-opencl [PBKDF2-SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: PBKDF2-HMAC-SHA256-opencl [PBKDF2-SHA256 OpenCL]... PASS
Testing: PBKDF2-HMAC-SHA512-opencl, GRUB2 / OS X 10.8+ [PBKDF2-SHA512 OpenCL]... PASS
Testing: pem-opencl, PKCS#8 private key (RSA/DSA/ECDSA) [PBKDF2-SHA1 3DES/AES OpenCL]... PASS
Testing: pgpdisk-opencl, PGP Disk / Virtual Disk [SHA1 AES/TwoFish/CAST OpenCL]... FAILED (cmp_all(1))
Testing: pgpsda-opencl, PGP Self Decrypting Archive [SHA1 CAST OpenCL]... PASS
Testing: pgpwde-opencl, PGP Whole Disk Encryption [SHA1 AES OpenCL]... FAILED (cmp_all(1))
Testing: phpass-opencl ($P$9) [MD5 OpenCL]... PASS
Testing: pwsafe-opencl, Password Safe [SHA256 OpenCL]... PASS
Testing: RAKP-opencl, IPMI 2.0 RAKP (RMCP+) [HMAC-SHA1 OpenCL]... PASS
Testing: raw-MD4-opencl [MD4 OpenCL]... PASS
Testing: raw-MD5-opencl [MD5 OpenCL]... PASS
Testing: raw-SHA1-opencl [SHA1 OpenCL]... PASS
Testing: raw-SHA256-opencl [SHA256 OpenCL]... PASS
Testing: raw-SHA512-free-opencl [SHA512 OpenCL (inefficient, development use mostly)]... PASS
Testing: raw-SHA512-opencl [SHA512 OpenCL]... PASS
Testing: salted-SHA1-opencl [SHA1 OpenCL]... PASS
Testing: sappse-opencl, SAP PSE [PKCS#12 PBE (SHA1) OpenCL]... PASS
Testing: 7z-opencl, 7-Zip archive encryption (512K iterations) [SHA256 AES OpenCL]... (8xOMP) PASS
Testing: SL3-opencl, Nokia operator unlock [SHA1 OpenCL]... PASS
Testing: solarwinds-opencl, SolarWinds Orion [PBKDF2-SHA1 OpenCL]... PASS
Testing: ssh-opencl [RSA/DSA/EC (SSH private keys) OpenCL]... PASS
Testing: sspr-opencl, NetIQ SSPR / Adobe AEM [MD5/SHA1/SHA2 OpenCL]... PASS
Testing: strip-opencl, Password Manager [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: telegram-opencl [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: tezos-opencl, Tezos Key [PBKDF2-SHA512 OpenCL]... (8xOMP) PASS
Testing: vmx-opencl, VMware VMX [PBKDF2-SHA1 AES OpenCL]... PASS
Testing: wpapsk-opencl, WPA/WPA2/PMF/PMKID PSK [PBKDF2-SHA1 OpenCL]... PASS
Testing: wpapsk-pmk-opencl, WPA/WPA2/PMF/PMKID master key [MD5/SHA-1/SHA-2 OpenCL]... PASS
Testing: XSHA512-free-opencl, Mac OS X 10.7+ [SHA512 OpenCL (efficient at "many salts" only)]... PASS
Testing: XSHA512-opencl, Mac OS X 10.7 salted [SHA512 OpenCL]... PASS
Testing: zed-opencl, Prim'X Zed! encrypted archives [PKCS#12 PBE (SHA1/SHA256) OpenCL]... PASS
Testing: ZIP-opencl, WinZip [PBKDF2-SHA1 OpenCL]... FAILED (cmp_all(1))
11 out of 88 tests have FAILED

real    22m5.602s
user    1m25.216s
sys     0m37.071s