Started optimizing some of the OpenCL kernel for latest AMD Catalyst 15.12:

- Replaced SBOX for DES:

replaced JtR's * Bitslice DES S-boxes making use of a vector conditional select operation (e.g., vsel on PowerPC with AltiVec).
with     JtR's * Bitslice DES S-boxes for x86 with MMX/SSE2/AVX and for typical RISC architectures.

Performance increased for DEScrypt from 355MH/s to 405MH/s and for LM from 11100MH/s to 12000MH/s

BTW, the same effect can be seen with non-maxwell GPU's

- Remove some volatile keywords no longer needed thanks to fixed catalyst bugs

- Fix weak-hash-check parameter for use with tools/test.sh
pull/132/head
Jens Steube 8 years ago
parent 24b5aa6226
commit 245301c9b4

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -673,8 +673,8 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m05500_m04 (__glo
* DES2
*/
volatile const u32 bc = (b >> 24) | (c << 8);
volatile const u32 cd = (c >> 24) | (d << 8);
const u32 bc = (b >> 24) | (c << 8);
const u32 cd = (c >> 24) | (d << 8);
transform_netntlmv1_key (bc, cd, key);

@ -725,8 +725,8 @@ __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m05500_m04 (__glo
* DES2
*/
volatile const u32 bc = (b >> 24) | (c << 8);
volatile const u32 cd = (c >> 24) | (d << 8);
const u32 bc = (b >> 24) | (c << 8);
const u32 cd = (c >> 24) | (d << 8);
transform_netntlmv1_key (bc, cd, key);

@ -602,8 +602,8 @@ static void m05500m (__local u32 s_SPtrans[8][64], __local u32 s_skb[8][64], u32
* DES2
*/
volatile const u32 bc = (b >> 24) | (c << 8);
volatile const u32 cd = (c >> 24) | (d << 8);
const u32 bc = (b >> 24) | (c << 8);
const u32 cd = (c >> 24) | (d << 8);
transform_netntlmv1_key (bc, cd, key);

@ -2,7 +2,7 @@ oclHashcat v2.10
================
NV users require ForceWare 346.59 or later (recommended 358.09 or later)
AMD users require Catalyst 14.9 or later (recommended 15.9 or later)
AMD users require Catalyst 14.9 or later (recommended 15.12 or later)
##
## Features

@ -6089,7 +6089,7 @@ int main (int argc, char **argv)
if (attack_mode != ATTACK_MODE_STRAIGHT)
{
if (weak_hash_threshold != WEAK_HASH_THRESHOLD)
if ((weak_hash_threshold != WEAK_HASH_THRESHOLD) && (weak_hash_threshold != 0))
{
log_error ("ERROR: setting --weak-hash-threshold allowed only in straight-attack mode");

Loading…
Cancel
Save