1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-16 03:38:19 +00:00

Merge branch 'matrix-fix_m07500_a3'

This commit is contained in:
jsteube 2016-11-28 10:49:15 +01:00
commit 3710619ded

View File

@ -23,7 +23,7 @@ typedef struct
} RC4_KEY; } RC4_KEY;
void swap (__local RC4_KEY *rc4_key, const u8 i, const u8 j) static void swap (__local RC4_KEY *rc4_key, const u8 i, const u8 j)
{ {
u8 tmp; u8 tmp;
@ -32,7 +32,7 @@ void swap (__local RC4_KEY *rc4_key, const u8 i, const u8 j)
rc4_key->S[j] = tmp; rc4_key->S[j] = tmp;
} }
void rc4_init_16 (__local RC4_KEY *rc4_key, const u32 data[4]) static void rc4_init_16 (__local RC4_KEY *rc4_key, const u32 data[4])
{ {
u32 v = 0x03020100; u32 v = 0x03020100;
u32 a = 0x04040404; u32 a = 0x04040404;
@ -85,7 +85,7 @@ void rc4_init_16 (__local RC4_KEY *rc4_key, const u32 data[4])
} }
} }
u8 rc4_next_16 (__local RC4_KEY *rc4_key, u8 i, u8 j, const u32 in[4], u32 out[4]) static u8 rc4_next_16 (__local RC4_KEY *rc4_key, u8 i, u8 j, const u32 in[4], u32 out[4])
{ {
#ifdef _unroll #ifdef _unroll
#pragma unroll #pragma unroll
@ -138,7 +138,7 @@ u8 rc4_next_16 (__local RC4_KEY *rc4_key, u8 i, u8 j, const u32 in[4], u32 out[4
return j; return j;
} }
int decrypt_and_check (__local RC4_KEY *rc4_key, u32 data[4], u32 timestamp_ct[8]) static int decrypt_and_check (__local RC4_KEY *rc4_key, u32 data[4], u32 timestamp_ct[8])
{ {
rc4_init_16 (rc4_key, data); rc4_init_16 (rc4_key, data);
@ -168,7 +168,7 @@ int decrypt_and_check (__local RC4_KEY *rc4_key, u32 data[4], u32 timestamp_ct[8
return 1; return 1;
} }
void md4_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u32 w3[4], u32 digest[4]) static void md4_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u32 w3[4], u32 digest[4])
{ {
u32 a = digest[0]; u32 a = digest[0];
u32 b = digest[1]; u32 b = digest[1];
@ -232,7 +232,7 @@ void md4_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u32
digest[3] += d; digest[3] += d;
} }
void md5_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u32 w3[4], u32 digest[4]) static void md5_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u32 w3[4], u32 digest[4])
{ {
u32 a = digest[0]; u32 a = digest[0];
u32 b = digest[1]; u32 b = digest[1];
@ -330,7 +330,7 @@ void md5_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u32
digest[3] += d; digest[3] += d;
} }
void hmac_md5_pad (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[4], u32 opad[4]) static void hmac_md5_pad (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[4], u32 opad[4])
{ {
w0[0] = w0[0] ^ 0x36363636; w0[0] = w0[0] ^ 0x36363636;
w0[1] = w0[1] ^ 0x36363636; w0[1] = w0[1] ^ 0x36363636;
@ -381,7 +381,7 @@ void hmac_md5_pad (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[4], u32
md5_transform (w0, w1, w2, w3, opad); md5_transform (w0, w1, w2, w3, opad);
} }
void hmac_md5_run (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[4], u32 opad[4], u32 digest[4]) static void hmac_md5_run (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[4], u32 opad[4], u32 digest[4])
{ {
digest[0] = ipad[0]; digest[0] = ipad[0];
digest[1] = ipad[1]; digest[1] = ipad[1];
@ -415,7 +415,7 @@ void hmac_md5_run (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[4], u32
md5_transform (w0, w1, w2, w3, digest); md5_transform (w0, w1, w2, w3, digest);
} }
void kerb_prepare (const u32 w0[4], const u32 w1[4], const u32 pw_len, const u32 checksum[4], u32 digest[4]) static void kerb_prepare (const u32 w0[4], const u32 w1[4], const u32 pw_len, const u32 checksum[4], u32 digest[4])
{ {
/** /**
* pads * pads
@ -544,7 +544,7 @@ void kerb_prepare (const u32 w0[4], const u32 w1[4], const u32 pw_len, const u32
hmac_md5_run (w0_t, w1_t, w2_t, w3_t, ipad, opad, digest); hmac_md5_run (w0_t, w1_t, w2_t, w3_t, ipad, opad, digest);
} }
void m07500 (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const comb_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global krb5pa_t *krb5pa_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_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 il_cnt, const u32 digests_cnt, const u32 digests_offset) static void m07500 (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const comb_t *combs_buf, __global const bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global krb5pa_t *krb5pa_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_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 il_cnt, const u32 digests_cnt, const u32 digests_offset)
{ {
/** /**
* modifier * modifier