oclHashcat-plus v0.10 and oclHashcat-lite v0.11
#1


I have decided to do a dual-release of both oclHashcat-plus v0.10 and oclHashcat-lite v0.11.

That is because both programs share many of the changes that have been done in the last months.
The most time I spend adding two major features to oclHashcat-plus (see changes below).
They could also enable me to move the high-speed brute-force from oclHashcat-lite into oclHashcat-plus in the next version.
Chances that this plan will work out are high. If it does, it would enable me to fusion oclHashcat-plus and oclHashcat-lite into a single one.

My original plan for this release was to wait for a more recent catalyst driver, since this is what most of us use.
But the new year and the timebomb forces me to release this sooner as expected. Thats why there is a small number of known bugs left.

Download it here:

oclHashcat-plus: http://hashcat.net/oclhashcat-plus/
oclHashcat-lite: http://hashcat.net/oclhashcat-lite/



Support added for mixed gpu types.

Previous versions of oclHashcat-plus required a homogeneous computing environment, in which not only were all GPUs required to be of the same model, but were forced to run at the same clock speed as well. Version 0.10 introduces the possibility of heterogeneous computing environments with both mixed models and mixed clock speeds, thanks to a custom workload dispatcher which replaces the dispatcher in the OpenCL runtime.

This is a major win for VCL users, as it promotes adding cluster nodes with any supported GPU. This also provides a path for future versions to support the parallel use of other devices, such as CPUs or FPGAs.

See here for requests/details:

http://hashcat.net/forum/thread-1542.html
http://hashcat.net/forum/thread-1478.html
http://hashcat.net/forum/thread-1395.html
http://hashcat.net/forum/thread-1154.html
http://hashcat.net/forum/thread-1233.html
http://hashcat.net/forum/thread-1047.html
http://hashcat.net/forum/thread-893.html
http://hashcat.net/forum/thread-608.html
http://hashcat.net/forum/thread-376.html
http://hashcat.net/forum/thread-297.html



Support added for restore/resume.

Title says it all -- version 0.10 introduces the ability to restore and resume halted sessions. oclHashcat-lite users are already familiar with this feature.

If you wish to restore a session after a graceful or ungraceful shutdown, simply restart oclHashcat-plus with the --restore parameter:

Code:
./oclHashcat-plus64.bin --restore

To support this feature, a state file is periodically written which saves your session and its current progress. This file is named "oclHashcat-plus.restore" by default, but can be renamed using the --session parameter detailed in the next section. This file is written every 60 seconds by default, but you may tune the timer using the "--restore-timer <seconds>" parameter. The state file is also written upon graceful shutdown (e.g. user presses ^C or 'q' to halt the program), so that your most recent progress is saved upon exit. This file is automatically cleaned up when all hashes have been recovered or the keyspace for an attack has been exhausted.

See here for requests/details:

http://hashcat.net/forum/thread-1524.html
http://hashcat.net/forum/thread-1422.html
http://hashcat.net/forum/thread-1403.html
http://hashcat.net/forum/thread-1172.html
http://hashcat.net/forum/thread-1154.html
http://hashcat.net/forum/thread-990.html
http://hashcat.net/forum/thread-908.html
http://hashcat.net/forum/thread-565.html
http://hashcat.net/forum/thread-244.html



Support added for sessions.

The introduction of restore/resume support also introduces the challenge of running multiple concurrent instances of oclHashcat-plus, as each instance would attempt to store its progress to the same restore file. This challenge has been addressed by adding support for named sessions.

When using the "--session <name>" parameter, each instance writes its progress to its own restore file, rather than the default restore file. To restore a named session, simply tell oclHashcat-plus which session to restore:

Code:
./oclHashcat-plus64.bin --restore --session mysession

A named session can also be created from a default session upon exiting oclHashcat-plus. For example, if you start oclHashcat-plus without the --session parameter and later choose to exit the application to work on a more important job, you can stop the process by pressing 'q' like normal, and rename "oclHashcat-plus.restore" to "<session_name>.restore" before running the other job. This will allow you to resume your previous job using "--session <session_name>" at a later time.



Support added for new SHA-3 algorithm.

On Oct 3, 2012, NIST selected Keccak as the winner of the SHA-3 competition. Two days later I added it to Hashcat, making Hashcat the first password recovery tool to support SHA-3. It is now being introduced in oclHashcat-plus as well.

NOTE: SHA-3 has the potential to support up to four specific variants in the future: SHA-3 224, SHA-3 256, SHA-3 384 and SHA-3 512. For the time being, only SHA-3 512 will be implemented.

See here for requests/details:

http://twitter.com/hashcat/status/253462812620361728
http://twitter.com/hashcat/status/253865680426893313



Support added for loading dictionaries in parallel while GPU is cracking.

In previous versions of oclHashcat-plus, dictionary files were read and parsed during program initialization. This meant that while your dictionary files were being parsed, your GPUs were idle. This lead to the display of two different speeds: "Real c/s," and "GPU c/s." You can read more about that at http://hashcat.net/wiki/doku.php?id=oclh...pu_cs_mean

But you do not need to think about that any longer. It is history now.



Support added for autotuning.

There is this magical -n parameter. I know you often use it, but you can also misuse it. You know the higher you set it, the faster it cracks (and the more the screen lags). But there is this (rare) case in which you can actually make it slower by setting it too high.

A little mathematical background (skip if you don't care):

The number of workload oclHashcat-plus chooses for a GPU is:

Code:
Number-of-processors * Number-of-optimal-threads *
Number-of-optimal-vectorsize * Value-of-n-parameter

Now imagine the result of such a calculation is 8000000 and you set -n 80. The thing I call base-power of your GPU (the part you can not tune) is 100000. On the other hand we have the keyspace we want to search. For example we have a mask ?d?d?d?d?d?d?d?d. That makes the keyspace = 100000000 (10^8). So we have 100000000 / 8000000 = 12.5. That's fine, we can call the kernel 12.5 (actually 13) times before the keyspace is exhausted.

Now imagine you have two cards of that speed. We add up the power and get 8000000 * 2 = 16000000. This time we have 100000000 / 16000000 = 6.25. That's still fine, both GPU are called 6.25 times. Now what happens if we set from -n 80 to -n 800? Right, the GPU power jumps from 16000000 to 160000000. So we have 100000000 / 160000000 = 0,625. Because this value is smaller than 1, the dispatcher can not assign enough work to both GPU. One of both GPU will not get used at all.

This demonstrates a case when using too high of a -n value will crack slower than a lower -n value. If you ever wondered why not all your GPUs are used, this might be the cause.

The new autotune function helps you with that. It cannot be disabled -- it will automatically tune down your -n amplifier in case you set it too high.




Support added for dictionary word counter cache.

This is simple to explain: it is necessary to know the number of words inside a dictionary in order to calculate the ETC in the status display, as the keyspace is dimensioned based on the number of words.

When oclHashcat-plus starts and you use an attack using a dictionary, you see it parsing the dictionary before starting the attack itself. This can take a bit of time and can become very annoying; plus, most of the time the dictionary has not changed since the last time it was loaded.

So what oclHashcat-plus is doing is that it reads the dictionary only one time and then stores the number of words into the cache files hashcat.dictstat in oclHashcat-plus installation directory. In case the dictionary did not change (checked by comparing mtime, filesize etc) in a later attack, this cache file is used as reference for the word count instead of parsing the dictionary again.

This reduces the startup time a lot, especially if you focus fast attacks.

See here for requests/details:

http://hashcat.net/forum/thread-1711.html



List of changes for oclHashcat-plus in detail:

Code:
type: feature
file: kernels
desc: added -m 5000 = SHA-3(Keccak)

type: bug
file: kernels
desc: fixed -m 1100 = DCC, mscash (NVidia only) in case of -a 3 against multiple hashes

type: driver
file: kernels
desc: added support for NVidia ForceWare 304.51

type: feature
file: host programs
desc: added support for mixed GPU types

type: feature
file: host programs
desc: added support for restore/resume

type: feature
file: host programs
desc: added support for sessions

type: feature
file: host programs
desc: added autotune function in case user choosed to high value for the --gpu-accel amplifier

type: feature
file: host programs
desc: added timestamps like [Thu Nov  8 13:05:59 2012] to timers in status display

type: feature
file: host programs
desc: added support for loading dictionary in parallel while gpu is cracking

type: feature
file: host programs
desc: added dictionary word counter cache

type: feature
file: host programs
desc: doubled dictionary word counter performance on startup

type: feature
file: host programs
desc: if default-mask is used increment mode is automatically turned on

type: feature
file: host programs
desc: removed special VCL binaries - Not longer required since VCL 1.16 works transparently

type: bug
file: host programs
desc: fixed file-globbing on cmdline for windows
cred: Mem5

type: bug
file: host programs
desc: fixed Segmentation fault (core dump) on --show and --left
cred: splash, undeath

type: bug
file: host programs
desc: fixed --increment-min was ignored
cred: Kgx Pnqvhm

type: bug
file: host programs
desc: fixed a bug that made length 6 masks faster than length 7 masks



List of changes for oclHashcat-lite in detail:

Code:
type: feature
file: kernels
desc: added -m 5000 = SHA-3(Keccak)

type: driver
file: kernels
desc: added support for NVidia ForceWare 304.51

type: driver
file: kernels
desc: added support for NVidia CUDA 5.0

type: driver
file: kernels
desc: added support for AMD APP SDK v2.7

type: feature
file: host programs
desc: added timestamps like [Thu Nov  8 13:05:59 2012] to timers in status display

type: feature
file: host programs
desc: removed special VCL binaries - Not longer required since VCL 1.16 works transparently

type: change
file: host program
desc: updated exit status code, see status_codes.txt for details
cred: m4tr1x

type: feature
file: host programs
desc: add ?a to built-in charsets as ?l?u?d?s
cred: m4tr1x

type: improvement
file: kernels
desc: performance increase in sha512 kernels with password len < 16
cred: m4tr1x

--
atom


Messages In This Thread
oclHashcat-plus v0.10 and oclHashcat-lite v0.11 - by atom - 12-31-2012, 05:21 PM