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:
commit
4ed01c2299
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user