Package: john
Version: 1.8.0-2+b1
Severity: important

Upstream JtR supports OpenCL, but the Debian package is compiled without it.

$ /usr/sbin/john --devices=0 --test --format=sha256crypt-opencl
Unknown option: "--devices=0"
$

Manually built john from upstream github repo, and libraries available
in Debian:

user@debian:~/JohnTheRipper/run$ ./john --test --format=md5crypt
Will run 32 OpenMP threads
Benchmarking: md5crypt, crypt(3) $1$ [MD5 256/256 AVX2 8x3]... (32xOMP) DONE
Raw:    1070K c/s real, 35925 c/s virtual

user@debian:~/JohnTheRipper/run$ ./john --devices=0 --test 
--format=md5crypt-opencl
Device 0: pthread-AMD Ryzen Threadripper 2950X 16-Core Processor
Benchmarking: md5crypt-opencl, crypt(3) $1$ [MD5 OpenCL]... DONE
Raw:    141784 c/s real, 4752 c/s virtual

user@debian:~/JohnTheRipper/run$ ./john --devices=1 --test 
--format=md5crypt-opencl
Device 1: gfx803 [Fiji [Radeon R9 FURY / NANO Series]]
Benchmarking: md5crypt-opencl, crypt(3) $1$ [MD5 OpenCL]... DONE
Raw:    2692K c/s real, 135987K c/s virtual

user@debian:~/JohnTheRipper/run$


On the other hand Debian package doesn't support OpenCL (nor OpenMP, nor
AVX):

user@debian:~/JohnTheRipper/run$ /usr/sbin/john --devices=1 --test 
--format=md5crypt-opencl
Unknown option: "--devices=1"
user@debian:~/JohnTheRipper/run$ /usr/sbin/john  --test --format=md5crypt-opencl
Unknown ciphertext format name requested
user@debian:~/JohnTheRipper/run$ /usr/sbin/john  --test --format=md5crypt
Benchmarking: md5crypt [MD5 32/64 X2]... DONE
Raw:    21050 c/s real, 21092 c/s virtual

user@debian:~/JohnTheRipper/run$

(~100 times slower)


Both OpenCL and OpenMP should be enabled, as that will still make
possible to run john on even the old hardware (as I understand the amd64
binary is only configured to support SSE2, and that is understandable, to
support older CPUs in Debian, that might not support AVX/AVX2, and
because john doesn't support multiple versions of code paths in single
binary).

(PS. Again this is not about AVX, just OpenCL part).

PS2. There is about 40 OpenCL kernels in John, for most of popular
formats.

Best regards,
Witold


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.18.0-2-amd64 (SMP w/32 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages john depends on:
ii  john-data  1.8.0-2
ii  libc6      2.27-8

john recommends no packages.

Versions of packages john suggests:
ii  wamerican [wordlist]         2018.04.16-1
ii  wamerican-huge [wordlist]    2018.04.16-1
ii  wamerican-insane [wordlist]  2018.04.16-1
ii  wamerican-large [wordlist]   2018.04.16-1
ii  wamerican-small [wordlist]   2018.04.16-1
ii  wbrazilian [wordlist]        3.0~beta4-22
ii  wbritish [wordlist]          2018.04.16-1
ii  wbritish-huge [wordlist]     2018.04.16-1
ii  wbritish-insane [wordlist]   2018.04.16-1
ii  wbritish-large [wordlist]    2018.04.16-1
ii  wbritish-small [wordlist]    2018.04.16-1
ii  wbulgarian [wordlist]        4.1-6
ii  wcanadian [wordlist]         2018.04.16-1
ii  wcanadian-huge [wordlist]    2018.04.16-1
ii  wcanadian-insane [wordlist]  2018.04.16-1
ii  wcanadian-large [wordlist]   2018.04.16-1
ii  wcanadian-small [wordlist]   2018.04.16-1
ii  wcatalan [wordlist]          0.20111230b-12
ii  wdanish [wordlist]           1.6.36-11
ii  wdutch [wordlist]            1:2.10-6
ii  wfrench [wordlist]           1.2.4-1
ii  wgerman-medical [wordlist]   20160103-2
ii  witalian [wordlist]          1.10
ii  wngerman [wordlist]          20161207-5
ii  wnorwegian [wordlist]        2.2-4
ii  wpolish [wordlist]           20180621-1
ii  wportuguese [wordlist]       20171225-2
ii  wspanish [wordlist]          1.0.28
ii  wswedish [wordlist]          1.4.5-2.2
ii  wukrainian [wordlist]        1.7.1-2

-- no debconf information

Reply via email to