1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-01 20:38:14 +00:00

Merge pull request #3172 from matrix/metal_vectors_4710

Added missing code to get vectors work with Metal on hash-type 4710
This commit is contained in:
Jens Steube 2022-02-25 13:24:34 +01:00 committed by GitHub
commit 4ed01c2299
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 27 deletions

View File

@ -715,10 +715,10 @@ KERNEL_FQ void m04710_m04 (KERN_ATTR_RULES ())
we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t); we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t);
wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t);
b += digest[1] - SHA1M_B; b += digest[1] - make_u32x (SHA1M_B);
c += digest[2] - SHA1M_C; c += digest[2] - make_u32x (SHA1M_C);
d += digest[3] - SHA1M_D; d += digest[3] - make_u32x (SHA1M_D);
e += digest[4] - SHA1M_E; e += digest[4] - make_u32x (SHA1M_E);
COMPARE_M_SIMD (d, e, c, b); COMPARE_M_SIMD (d, e, c, b);
} }
@ -1428,16 +1428,16 @@ KERNEL_FQ void m04710_s04 (KERN_ATTR_RULES ())
wc_t = hc_rotl32 ((w9_t ^ w4_t ^ we_t ^ wc_t), 1u); SHA1_STEP (SHA1_F1, e, a, b, c, d, wc_t); wc_t = hc_rotl32 ((w9_t ^ w4_t ^ we_t ^ wc_t), 1u); SHA1_STEP (SHA1_F1, e, a, b, c, d, wc_t);
wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t); wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t);
if (MATCHES_NONE_VS (e + digest[4] - SHA1M_E, search[1])) if (MATCHES_NONE_VS ((e + digest[4] - make_u32x (SHA1M_E)), search[1]))
continue; continue;
we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t); we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t);
wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t);
b += digest[1] - SHA1M_B; b += digest[1] - make_u32x (SHA1M_B);
c += digest[2] - SHA1M_C; c += digest[2] - make_u32x (SHA1M_C);
d += digest[3] - SHA1M_D; d += digest[3] - make_u32x (SHA1M_D);
e += digest[4] - SHA1M_E; e += digest[4] - make_u32x (SHA1M_E);
COMPARE_S_SIMD (d, e, c, b); COMPARE_S_SIMD (d, e, c, b);
} }

View File

@ -768,10 +768,10 @@ KERNEL_FQ void m04710_m04 (KERN_ATTR_BASIC ())
we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t); we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t);
wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t);
b += digest[1] - SHA1M_B; b += digest[1] - make_u32x (SHA1M_B);
c += digest[2] - SHA1M_C; c += digest[2] - make_u32x (SHA1M_C);
d += digest[3] - SHA1M_D; d += digest[3] - make_u32x (SHA1M_D);
e += digest[4] - SHA1M_E; e += digest[4] - make_u32x (SHA1M_E);
COMPARE_M_SIMD (d, e, c, b); COMPARE_M_SIMD (d, e, c, b);
} }
@ -1536,16 +1536,16 @@ KERNEL_FQ void m04710_s04 (KERN_ATTR_BASIC ())
wc_t = hc_rotl32 ((w9_t ^ w4_t ^ we_t ^ wc_t), 1u); SHA1_STEP (SHA1_F1, e, a, b, c, d, wc_t); wc_t = hc_rotl32 ((w9_t ^ w4_t ^ we_t ^ wc_t), 1u); SHA1_STEP (SHA1_F1, e, a, b, c, d, wc_t);
wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t); wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t);
if (MATCHES_NONE_VS (e + digest[4] - SHA1M_E, search[1])) if (MATCHES_NONE_VS ((e + digest[4] - make_u32x (SHA1M_E)), search[1]))
continue; continue;
we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t); we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t);
wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t);
b += digest[1] - SHA1M_B; b += digest[1] - make_u32x (SHA1M_B);
c += digest[2] - SHA1M_C; c += digest[2] - make_u32x (SHA1M_C);
d += digest[3] - SHA1M_D; d += digest[3] - make_u32x (SHA1M_D);
e += digest[4] - SHA1M_E; e += digest[4] - make_u32x (SHA1M_E);
COMPARE_S_SIMD (d, e, c, b); COMPARE_S_SIMD (d, e, c, b);
} }

View File

@ -683,10 +683,10 @@ DECLSPEC void m04710m (PRIVATE_AS u32 *w0, PRIVATE_AS u32 *w1, PRIVATE_AS u32 *w
we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t); we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t);
wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t);
b += digest[1] - SHA1M_B; b += digest[1] - make_u32x (SHA1M_B);
c += digest[2] - SHA1M_C; c += digest[2] - make_u32x (SHA1M_C);
d += digest[3] - SHA1M_D; d += digest[3] - make_u32x (SHA1M_D);
e += digest[4] - SHA1M_E; e += digest[4] - make_u32x (SHA1M_E);
COMPARE_M_SIMD (d, e, c, b); COMPARE_M_SIMD (d, e, c, b);
} }
@ -1358,16 +1358,16 @@ DECLSPEC void m04710s (PRIVATE_AS u32 *w0, PRIVATE_AS u32 *w1, PRIVATE_AS u32 *w
wc_t = hc_rotl32 ((w9_t ^ w4_t ^ we_t ^ wc_t), 1u); SHA1_STEP (SHA1_F1, e, a, b, c, d, wc_t); wc_t = hc_rotl32 ((w9_t ^ w4_t ^ we_t ^ wc_t), 1u); SHA1_STEP (SHA1_F1, e, a, b, c, d, wc_t);
wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t); wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t);
if (MATCHES_NONE_VS (e + digest[4] - SHA1M_E, search[1])) if (MATCHES_NONE_VS ((e + digest[4] - make_u32x (SHA1M_E)), search[1]))
continue; continue;
we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t); we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); SHA1_STEP (SHA1_F1, c, d, e, a, b, we_t);
wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t);
b += digest[1] - SHA1M_B; b += digest[1] - make_u32x (SHA1M_B);
c += digest[2] - SHA1M_C; c += digest[2] - make_u32x (SHA1M_C);
d += digest[3] - SHA1M_D; d += digest[3] - make_u32x (SHA1M_D);
e += digest[4] - SHA1M_E; e += digest[4] - make_u32x (SHA1M_E);
COMPARE_S_SIMD (d, e, c, b); COMPARE_S_SIMD (d, e, c, b);
} }