/**
- * Author......: Jens Steube <jens.steube@gmail.com>
+ * Authors.....: Jens Steube <jens.steube@gmail.com>
+ * Gabriele Gristina <matrix@hashcat.net>
+ *
* License.....: MIT
*/
#define BOX(i,n,S) (S)[(n)][(i)]
-#define round(k1,k2,tbl) \
+#define _round(k1,k2,tbl) \
{ \
u32 t; \
t = (k1) + r; \
u32 l; \
r = h[i + 0]; \
l = h[i + 1]; \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[7], k[6], t); \
- round (k[5], k[4], t); \
- round (k[3], k[2], t); \
- round (k[1], k[0], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[7], k[6], t); \
+ _round (k[5], k[4], t); \
+ _round (k[3], k[2], t); \
+ _round (k[1], k[0], t); \
s[i + 0] = l; \
s[i + 1] = r; \
}
/**
- * Author......: Jens Steube <jens.steube@gmail.com>
+ * Authors.....: Jens Steube <jens.steube@gmail.com>
+ * Gabriele Gristina <matrix@hashcat.net>
+ *
* License.....: MIT
*/
#define BOX(i,n,S) (S)[(n)][(i)]
-#define round(k1,k2,tbl) \
+#define _round(k1,k2,tbl) \
{ \
u32 t; \
t = (k1) + r; \
u32 l; \
r = h[i + 0]; \
l = h[i + 1]; \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[7], k[6], t); \
- round (k[5], k[4], t); \
- round (k[3], k[2], t); \
- round (k[1], k[0], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[7], k[6], t); \
+ _round (k[5], k[4], t); \
+ _round (k[3], k[2], t); \
+ _round (k[1], k[0], t); \
s[i + 0] = l; \
s[i + 1] = r; \
}
/**
- * Author......: Jens Steube <jens.steube@gmail.com>
+ * Authors.....: Jens Steube <jens.steube@gmail.com>
+ * Gabriele Gristina <matrix@hashcat.net>
+ *
* License.....: MIT
*/
#define BOX(i,n,S) (u32x) ((S)[(n)][(i).s0], (S)[(n)][(i).s1], (S)[(n)][(i).s2], (S)[(n)][(i).s3], (S)[(n)][(i).s4], (S)[(n)][(i).s5], (S)[(n)][(i).s6], (S)[(n)][(i).s7])
#endif
-#define round(k1,k2,tbl) \
+#define _round(k1,k2,tbl) \
{ \
u32x t; \
t = (k1) + r; \
u32x l; \
r = h[i + 0]; \
l = h[i + 1]; \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[0], k[1], t); \
- round (k[2], k[3], t); \
- round (k[4], k[5], t); \
- round (k[6], k[7], t); \
- round (k[7], k[6], t); \
- round (k[5], k[4], t); \
- round (k[3], k[2], t); \
- round (k[1], k[0], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[0], k[1], t); \
+ _round (k[2], k[3], t); \
+ _round (k[4], k[5], t); \
+ _round (k[6], k[7], t); \
+ _round (k[7], k[6], t); \
+ _round (k[5], k[4], t); \
+ _round (k[3], k[2], t); \
+ _round (k[1], k[0], t); \
s[i + 0] = l; \
s[i + 1] = r; \
}
R (k, h, s, 6, t); \
}
-static void m06900m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global kernel_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 bfs_cnt, const u32 digests_cnt, const u32 digests_offset, __local u32 s_tables[4][256])
+static void m06900m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global kernel_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 bfs_cnt, const u32 digests_cnt, const u32 digests_offset, __local u32 (*s_tables)[256])
{
/**
* modifier
}
}
-static void m06900s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global kernel_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 bfs_cnt, const u32 digests_cnt, const u32 digests_offset, __local u32 s_tables[4][256])
+static void m06900s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global kernel_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 bfs_cnt, const u32 digests_cnt, const u32 digests_offset, __local u32 (*s_tables)[256])
{
/**
* modifier