Refactored internal use of esalt from sync with number of salts to sync with number of digests

This enables a true N esalts per salt feature which is required for WPA/WPA2 handling
In case we need that for a future algorithm, just make sure to have a unique value in digest in hash parser.
Fixes https://github.com/hashcat/hashcat/issues/1158
pull/1169/head
jsteube 7 years ago
parent 5cf92de55f
commit 33a043ec63

@ -803,6 +803,8 @@ typedef struct wpa
int essid_reuse;
u8 essid_len;
u8 essid[32];
u32 keymic[4];
u32 hash[4];
} wpa_t;

@ -827,82 +827,25 @@ __kernel void m02500_comp (__global pw_t *pws, __global const kernel_rule_t *rul
const u32 lid = get_local_id (0);
u32 w0[4];
u32 w1[4];
u32 w2[4];
u32 w3[4];
w0[0] = tmps[gid].out[0];
w0[1] = tmps[gid].out[1];
w0[2] = tmps[gid].out[2];
w0[3] = tmps[gid].out[3];
w1[0] = tmps[gid].out[4];
w1[1] = tmps[gid].out[5];
w1[2] = tmps[gid].out[6];
w1[3] = tmps[gid].out[7];
w2[0] = 0;
w2[1] = 0;
w2[2] = 0;
w2[3] = 0;
w3[0] = 0;
w3[1] = 0;
w3[2] = 0;
w3[3] = 0;
u32 ipad[5];
u32 opad[5];
hmac_sha1_pad_S (w0, w1, w2, w3, ipad, opad);
w0[0] = wpa_bufs[salt_pos].pke[ 0];
w0[1] = wpa_bufs[salt_pos].pke[ 1];
w0[2] = wpa_bufs[salt_pos].pke[ 2];
w0[3] = wpa_bufs[salt_pos].pke[ 3];
w1[0] = wpa_bufs[salt_pos].pke[ 4];
w1[1] = wpa_bufs[salt_pos].pke[ 5];
w1[2] = wpa_bufs[salt_pos].pke[ 6];
w1[3] = wpa_bufs[salt_pos].pke[ 7];
w2[0] = wpa_bufs[salt_pos].pke[ 8];
w2[1] = wpa_bufs[salt_pos].pke[ 9];
w2[2] = wpa_bufs[salt_pos].pke[10];
w2[3] = wpa_bufs[salt_pos].pke[11];
w3[0] = wpa_bufs[salt_pos].pke[12];
w3[1] = wpa_bufs[salt_pos].pke[13];
w3[2] = wpa_bufs[salt_pos].pke[14];
w3[3] = wpa_bufs[salt_pos].pke[15];
sha1_transform_S (w0, w1, w2, w3, ipad);
w0[0] = wpa_bufs[salt_pos].pke[16];
w0[1] = wpa_bufs[salt_pos].pke[17];
w0[2] = wpa_bufs[salt_pos].pke[18];
w0[3] = wpa_bufs[salt_pos].pke[19];
w1[0] = wpa_bufs[salt_pos].pke[20];
w1[1] = wpa_bufs[salt_pos].pke[21];
w1[2] = wpa_bufs[salt_pos].pke[22];
w1[3] = wpa_bufs[salt_pos].pke[23];
w2[0] = wpa_bufs[salt_pos].pke[24];
w2[1] = 0x80000000;
w2[2] = 0;
w2[3] = 0;
w3[0] = 0;
w3[1] = 0;
w3[2] = 0;
w3[3] = (64 + 100) * 8;
u32 digest[5];
hmac_sha1_run_S (w0, w1, w2, w3, ipad, opad, digest);
for (u32 digest_pos = 0; digest_pos < digests_cnt; digest_pos++)
{
w0[0] = swap32_S (digest[0]);
w0[1] = swap32_S (digest[1]);
w0[2] = swap32_S (digest[2]);
w0[3] = swap32_S (digest[3]);
w1[0] = 0;
w1[1] = 0;
w1[2] = 0;
w1[3] = 0;
const u32 digest_cur = digests_offset + digest_pos;
__global wpa_t *wpa = &wpa_bufs[digest_cur];
u32 w0[4];
u32 w1[4];
u32 w2[4];
u32 w3[4];
w0[0] = tmps[gid].out[0];
w0[1] = tmps[gid].out[1];
w0[2] = tmps[gid].out[2];
w0[3] = tmps[gid].out[3];
w1[0] = tmps[gid].out[4];
w1[1] = tmps[gid].out[5];
w1[2] = tmps[gid].out[6];
w1[3] = tmps[gid].out[7];
w2[0] = 0;
w2[1] = 0;
w2[2] = 0;
@ -912,149 +855,200 @@ __kernel void m02500_comp (__global pw_t *pws, __global const kernel_rule_t *rul
w3[2] = 0;
w3[3] = 0;
hmac_md5_pad_S (w0, w1, w2, w3, ipad, opad);
u32 ipad[5];
u32 opad[5];
int eapol_len = wpa_bufs[salt_pos].eapol_len;
int eapol_left;
int eapol_off;
for (eapol_left = eapol_len, eapol_off = 0; eapol_left >= 56; eapol_left -= 64, eapol_off += 16)
{
w0[0] = wpa_bufs[salt_pos].eapol[eapol_off + 0];
w0[1] = wpa_bufs[salt_pos].eapol[eapol_off + 1];
w0[2] = wpa_bufs[salt_pos].eapol[eapol_off + 2];
w0[3] = wpa_bufs[salt_pos].eapol[eapol_off + 3];
w1[0] = wpa_bufs[salt_pos].eapol[eapol_off + 4];
w1[1] = wpa_bufs[salt_pos].eapol[eapol_off + 5];
w1[2] = wpa_bufs[salt_pos].eapol[eapol_off + 6];
w1[3] = wpa_bufs[salt_pos].eapol[eapol_off + 7];
w2[0] = wpa_bufs[salt_pos].eapol[eapol_off + 8];
w2[1] = wpa_bufs[salt_pos].eapol[eapol_off + 9];
w2[2] = wpa_bufs[salt_pos].eapol[eapol_off + 10];
w2[3] = wpa_bufs[salt_pos].eapol[eapol_off + 11];
w3[0] = wpa_bufs[salt_pos].eapol[eapol_off + 12];
w3[1] = wpa_bufs[salt_pos].eapol[eapol_off + 13];
w3[2] = wpa_bufs[salt_pos].eapol[eapol_off + 14];
w3[3] = wpa_bufs[salt_pos].eapol[eapol_off + 15];
md5_transform_S (w0, w1, w2, w3, ipad);
}
w0[0] = wpa_bufs[salt_pos].eapol[eapol_off + 0];
w0[1] = wpa_bufs[salt_pos].eapol[eapol_off + 1];
w0[2] = wpa_bufs[salt_pos].eapol[eapol_off + 2];
w0[3] = wpa_bufs[salt_pos].eapol[eapol_off + 3];
w1[0] = wpa_bufs[salt_pos].eapol[eapol_off + 4];
w1[1] = wpa_bufs[salt_pos].eapol[eapol_off + 5];
w1[2] = wpa_bufs[salt_pos].eapol[eapol_off + 6];
w1[3] = wpa_bufs[salt_pos].eapol[eapol_off + 7];
w2[0] = wpa_bufs[salt_pos].eapol[eapol_off + 8];
w2[1] = wpa_bufs[salt_pos].eapol[eapol_off + 9];
w2[2] = wpa_bufs[salt_pos].eapol[eapol_off + 10];
w2[3] = wpa_bufs[salt_pos].eapol[eapol_off + 11];
w3[0] = wpa_bufs[salt_pos].eapol[eapol_off + 12];
w3[1] = wpa_bufs[salt_pos].eapol[eapol_off + 13];
w3[2] = (64 + eapol_len) * 8;
w3[3] = 0;
u32 digest1[4];
hmac_md5_run_S (w0, w1, w2, w3, ipad, opad, digest1);
/**
* base
*/
#define il_pos 0
const u32 r0 = digest1[DGST_R0];
const u32 r1 = digest1[DGST_R1];
const u32 r2 = digest1[DGST_R2];
const u32 r3 = digest1[DGST_R3];
#include COMPARE_M
}
hmac_sha1_pad_S (w0, w1, w2, w3, ipad, opad);
{
w0[0] = digest[0];
w0[1] = digest[1];
w0[2] = digest[2];
w0[3] = digest[3];
w1[0] = 0;
w1[1] = 0;
w1[2] = 0;
w1[3] = 0;
w2[0] = 0;
w2[1] = 0;
w0[0] = wpa->pke[ 0];
w0[1] = wpa->pke[ 1];
w0[2] = wpa->pke[ 2];
w0[3] = wpa->pke[ 3];
w1[0] = wpa->pke[ 4];
w1[1] = wpa->pke[ 5];
w1[2] = wpa->pke[ 6];
w1[3] = wpa->pke[ 7];
w2[0] = wpa->pke[ 8];
w2[1] = wpa->pke[ 9];
w2[2] = wpa->pke[10];
w2[3] = wpa->pke[11];
w3[0] = wpa->pke[12];
w3[1] = wpa->pke[13];
w3[2] = wpa->pke[14];
w3[3] = wpa->pke[15];
sha1_transform_S (w0, w1, w2, w3, ipad);
w0[0] = wpa->pke[16];
w0[1] = wpa->pke[17];
w0[2] = wpa->pke[18];
w0[3] = wpa->pke[19];
w1[0] = wpa->pke[20];
w1[1] = wpa->pke[21];
w1[2] = wpa->pke[22];
w1[3] = wpa->pke[23];
w2[0] = wpa->pke[24];
w2[1] = 0x80000000;
w2[2] = 0;
w2[3] = 0;
w3[0] = 0;
w3[1] = 0;
w3[2] = 0;
w3[3] = 0;
w3[3] = (64 + 100) * 8;
hmac_sha1_pad_S (w0, w1, w2, w3, ipad, opad);
u32 digest[5];
int eapol_len = wpa_bufs[salt_pos].eapol_len;
hmac_sha1_run_S (w0, w1, w2, w3, ipad, opad, digest);
int eapol_left;
int eapol_off;
u32 digest_final[5];
for (eapol_left = eapol_len, eapol_off = 0; eapol_left >= 56; eapol_left -= 64, eapol_off += 16)
if (wpa->keyver == 1)
{
w0[0] = wpa_bufs[salt_pos].eapol[eapol_off + 0];
w0[1] = wpa_bufs[salt_pos].eapol[eapol_off + 1];
w0[2] = wpa_bufs[salt_pos].eapol[eapol_off + 2];
w0[3] = wpa_bufs[salt_pos].eapol[eapol_off + 3];
w1[0] = wpa_bufs[salt_pos].eapol[eapol_off + 4];
w1[1] = wpa_bufs[salt_pos].eapol[eapol_off + 5];
w1[2] = wpa_bufs[salt_pos].eapol[eapol_off + 6];
w1[3] = wpa_bufs[salt_pos].eapol[eapol_off + 7];
w2[0] = wpa_bufs[salt_pos].eapol[eapol_off + 8];
w2[1] = wpa_bufs[salt_pos].eapol[eapol_off + 9];
w2[2] = wpa_bufs[salt_pos].eapol[eapol_off + 10];
w2[3] = wpa_bufs[salt_pos].eapol[eapol_off + 11];
w3[0] = wpa_bufs[salt_pos].eapol[eapol_off + 12];
w3[1] = wpa_bufs[salt_pos].eapol[eapol_off + 13];
w3[2] = wpa_bufs[salt_pos].eapol[eapol_off + 14];
w3[3] = wpa_bufs[salt_pos].eapol[eapol_off + 15];
sha1_transform_S (w0, w1, w2, w3, ipad);
w0[0] = swap32_S (digest[0]);
w0[1] = swap32_S (digest[1]);
w0[2] = swap32_S (digest[2]);
w0[3] = swap32_S (digest[3]);
w1[0] = 0;
w1[1] = 0;
w1[2] = 0;
w1[3] = 0;
w2[0] = 0;
w2[1] = 0;
w2[2] = 0;
w2[3] = 0;
w3[0] = 0;
w3[1] = 0;
w3[2] = 0;
w3[3] = 0;
hmac_md5_pad_S (w0, w1, w2, w3, ipad, opad);
int eapol_len = wpa->eapol_len;
int eapol_left;
int eapol_off;
for (eapol_left = eapol_len, eapol_off = 0; eapol_left >= 56; eapol_left -= 64, eapol_off += 16)
{
w0[0] = wpa->eapol[eapol_off + 0];
w0[1] = wpa->eapol[eapol_off + 1];
w0[2] = wpa->eapol[eapol_off + 2];
w0[3] = wpa->eapol[eapol_off + 3];
w1[0] = wpa->eapol[eapol_off + 4];
w1[1] = wpa->eapol[eapol_off + 5];
w1[2] = wpa->eapol[eapol_off + 6];
w1[3] = wpa->eapol[eapol_off + 7];
w2[0] = wpa->eapol[eapol_off + 8];
w2[1] = wpa->eapol[eapol_off + 9];
w2[2] = wpa->eapol[eapol_off + 10];
w2[3] = wpa->eapol[eapol_off + 11];
w3[0] = wpa->eapol[eapol_off + 12];
w3[1] = wpa->eapol[eapol_off + 13];
w3[2] = wpa->eapol[eapol_off + 14];
w3[3] = wpa->eapol[eapol_off + 15];
md5_transform_S (w0, w1, w2, w3, ipad);
}
w0[0] = wpa->eapol[eapol_off + 0];
w0[1] = wpa->eapol[eapol_off + 1];
w0[2] = wpa->eapol[eapol_off + 2];
w0[3] = wpa->eapol[eapol_off + 3];
w1[0] = wpa->eapol[eapol_off + 4];
w1[1] = wpa->eapol[eapol_off + 5];
w1[2] = wpa->eapol[eapol_off + 6];
w1[3] = wpa->eapol[eapol_off + 7];
w2[0] = wpa->eapol[eapol_off + 8];
w2[1] = wpa->eapol[eapol_off + 9];
w2[2] = wpa->eapol[eapol_off + 10];
w2[3] = wpa->eapol[eapol_off + 11];
w3[0] = wpa->eapol[eapol_off + 12];
w3[1] = wpa->eapol[eapol_off + 13];
w3[2] = (64 + eapol_len) * 8;
w3[3] = 0;
hmac_md5_run_S (w0, w1, w2, w3, ipad, opad, digest_final);
}
else
{
w0[0] = digest[0];
w0[1] = digest[1];
w0[2] = digest[2];
w0[3] = digest[3];
w1[0] = 0;
w1[1] = 0;
w1[2] = 0;
w1[3] = 0;
w2[0] = 0;
w2[1] = 0;
w2[2] = 0;
w2[3] = 0;
w3[0] = 0;
w3[1] = 0;
w3[2] = 0;
w3[3] = 0;
hmac_sha1_pad_S (w0, w1, w2, w3, ipad, opad);
int eapol_len = wpa->eapol_len;
int eapol_left;
int eapol_off;
for (eapol_left = eapol_len, eapol_off = 0; eapol_left >= 56; eapol_left -= 64, eapol_off += 16)
{
w0[0] = wpa->eapol[eapol_off + 0];
w0[1] = wpa->eapol[eapol_off + 1];
w0[2] = wpa->eapol[eapol_off + 2];
w0[3] = wpa->eapol[eapol_off + 3];
w1[0] = wpa->eapol[eapol_off + 4];
w1[1] = wpa->eapol[eapol_off + 5];
w1[2] = wpa->eapol[eapol_off + 6];
w1[3] = wpa->eapol[eapol_off + 7];
w2[0] = wpa->eapol[eapol_off + 8];
w2[1] = wpa->eapol[eapol_off + 9];
w2[2] = wpa->eapol[eapol_off + 10];
w2[3] = wpa->eapol[eapol_off + 11];
w3[0] = wpa->eapol[eapol_off + 12];
w3[1] = wpa->eapol[eapol_off + 13];
w3[2] = wpa->eapol[eapol_off + 14];
w3[3] = wpa->eapol[eapol_off + 15];
sha1_transform_S (w0, w1, w2, w3, ipad);
}
w0[0] = wpa->eapol[eapol_off + 0];
w0[1] = wpa->eapol[eapol_off + 1];
w0[2] = wpa->eapol[eapol_off + 2];
w0[3] = wpa->eapol[eapol_off + 3];
w1[0] = wpa->eapol[eapol_off + 4];
w1[1] = wpa->eapol[eapol_off + 5];
w1[2] = wpa->eapol[eapol_off + 6];
w1[3] = wpa->eapol[eapol_off + 7];
w2[0] = wpa->eapol[eapol_off + 8];
w2[1] = wpa->eapol[eapol_off + 9];
w2[2] = wpa->eapol[eapol_off + 10];
w2[3] = wpa->eapol[eapol_off + 11];
w3[0] = wpa->eapol[eapol_off + 12];
w3[1] = wpa->eapol[eapol_off + 13];
w3[2] = 0;
w3[3] = (64 + eapol_len) * 8;
w0[0] = wpa_bufs[salt_pos].eapol[eapol_off + 0];
w0[1] = wpa_bufs[salt_pos].eapol[eapol_off + 1];
w0[2] = wpa_bufs[salt_pos].eapol[eapol_off + 2];
w0[3] = wpa_bufs[salt_pos].eapol[eapol_off + 3];
w1[0] = wpa_bufs[salt_pos].eapol[eapol_off + 4];
w1[1] = wpa_bufs[salt_pos].eapol[eapol_off + 5];
w1[2] = wpa_bufs[salt_pos].eapol[eapol_off + 6];
w1[3] = wpa_bufs[salt_pos].eapol[eapol_off + 7];
w2[0] = wpa_bufs[salt_pos].eapol[eapol_off + 8];
w2[1] = wpa_bufs[salt_pos].eapol[eapol_off + 9];
w2[2] = wpa_bufs[salt_pos].eapol[eapol_off + 10];
w2[3] = wpa_bufs[salt_pos].eapol[eapol_off + 11];
w3[0] = wpa_bufs[salt_pos].eapol[eapol_off + 12];
w3[1] = wpa_bufs[salt_pos].eapol[eapol_off + 13];
w3[2] = 0;
w3[3] = (64 + eapol_len) * 8;
u32 digest2[5];
u32 digest2[5];
hmac_sha1_run_S (w0, w1, w2, w3, ipad, opad, digest2);
hmac_sha1_run_S (w0, w1, w2, w3, ipad, opad, digest_final);
}
/**
* base
* final compare
*/
#define il_pos 0
const u32 r0 = digest2[DGST_R0];
const u32 r1 = digest2[DGST_R1];
const u32 r2 = digest2[DGST_R2];
const u32 r3 = digest2[DGST_R3];
#include COMPARE_M
if ((digest_final[0] == wpa->keymic[0])
&& (digest_final[1] == wpa->keymic[1])
&& (digest_final[2] == wpa->keymic[2])
&& (digest_final[3] == wpa->keymic[3]))
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, digest_pos, digest_cur, gid, 0);
}
}
}

@ -215,7 +215,7 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -224,7 +224,7 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -253,8 +253,8 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* loop
@ -321,7 +321,7 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = s_msg_buf[off + 0];
w0[1] = s_msg_buf[off + 1];
@ -392,7 +392,7 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -401,7 +401,7 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -430,8 +430,8 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* digest
@ -510,7 +510,7 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = s_msg_buf[off + 0];
w0[1] = s_msg_buf[off + 1];

@ -213,7 +213,7 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -222,7 +222,7 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -251,8 +251,8 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* loop
@ -379,7 +379,7 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = s_msg_buf[off + 0];
w0[1] = s_msg_buf[off + 1];
@ -450,7 +450,7 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -459,7 +459,7 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -488,8 +488,8 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* digest
@ -628,7 +628,7 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = s_msg_buf[off + 0];
w0[1] = s_msg_buf[off + 1];

@ -208,8 +208,8 @@ void m05300m (__local u32 *w_s, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], cons
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* loop
@ -297,7 +297,7 @@ void m05300m (__local u32 *w_s, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], cons
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0_t[0] = s_msg_buf[off + 0];
w0_t[1] = s_msg_buf[off + 1];
@ -355,8 +355,8 @@ void m05300s (__local u32 *w_s, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], cons
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* digest
@ -456,7 +456,7 @@ void m05300s (__local u32 *w_s, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], cons
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0_t[0] = s_msg_buf[off + 0];
w0_t[1] = s_msg_buf[off + 1];
@ -519,7 +519,7 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -528,7 +528,7 @@ __kernel void m05300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -594,7 +594,7 @@ __kernel void m05300_m08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -603,7 +603,7 @@ __kernel void m05300_m08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -669,7 +669,7 @@ __kernel void m05300_m16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -678,7 +678,7 @@ __kernel void m05300_m16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -744,7 +744,7 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -753,7 +753,7 @@ __kernel void m05300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -819,7 +819,7 @@ __kernel void m05300_s08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -828,7 +828,7 @@ __kernel void m05300_s08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -894,7 +894,7 @@ __kernel void m05300_s16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = ikepsk_bufs[salt_pos].nr_buf[i];
w_s[i] = ikepsk_bufs[digests_offset].nr_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -903,7 +903,7 @@ __kernel void m05300_s16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = ikepsk_bufs[salt_pos].msg_buf[i];
s_msg_buf[i] = ikepsk_bufs[digests_offset].msg_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);

@ -249,7 +249,7 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -258,7 +258,7 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -287,8 +287,8 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* loop
@ -364,7 +364,7 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = s_msg_buf[off + 0];
w0[1] = s_msg_buf[off + 1];
@ -435,7 +435,7 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -444,7 +444,7 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -473,8 +473,8 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* digest
@ -562,7 +562,7 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = s_msg_buf[off + 0];
w0[1] = s_msg_buf[off + 1];

@ -247,7 +247,7 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -256,7 +256,7 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -285,8 +285,8 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* loop
@ -430,7 +430,7 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = s_msg_buf[off + 0];
w0[1] = s_msg_buf[off + 1];
@ -501,7 +501,7 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -510,7 +510,7 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -539,8 +539,8 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* digest
@ -696,7 +696,7 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = s_msg_buf[off + 0];
w0[1] = s_msg_buf[off + 1];

@ -242,8 +242,8 @@ void m05400m (__local u32 *w_s, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], cons
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* loop
@ -331,7 +331,7 @@ void m05400m (__local u32 *w_s, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], cons
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0_t[0] = s_msg_buf[off + 0];
w0_t[1] = s_msg_buf[off + 1];
@ -389,8 +389,8 @@ void m05400s (__local u32 *w_s, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], cons
* salt
*/
const u32 nr_len = ikepsk_bufs[salt_pos].nr_len;
const u32 msg_len = ikepsk_bufs[salt_pos].msg_len;
const u32 nr_len = ikepsk_bufs[digests_offset].nr_len;
const u32 msg_len = ikepsk_bufs[digests_offset].msg_len;
/**
* digest
@ -490,7 +490,7 @@ void m05400s (__local u32 *w_s, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], cons
int left;
int off;
for (left = ikepsk_bufs[salt_pos].msg_len, off = 0; left >= 56; left -= 64, off += 16)
for (left = ikepsk_bufs[digests_offset].msg_len, off = 0; left >= 56; left -= 64, off += 16)
{
w0_t[0] = s_msg_buf[off + 0];
w0_t[1] = s_msg_buf[off + 1];
@ -553,7 +553,7 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -562,7 +562,7 @@ __kernel void m05400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -628,7 +628,7 @@ __kernel void m05400_m08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -637,7 +637,7 @@ __kernel void m05400_m08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -703,7 +703,7 @@ __kernel void m05400_m16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -712,7 +712,7 @@ __kernel void m05400_m16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -778,7 +778,7 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -787,7 +787,7 @@ __kernel void m05400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -853,7 +853,7 @@ __kernel void m05400_s08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -862,7 +862,7 @@ __kernel void m05400_s08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -928,7 +928,7 @@ __kernel void m05400_s16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 16; i += lsz)
{
w_s[i] = swap32_S (ikepsk_bufs[salt_pos].nr_buf[i]);
w_s[i] = swap32_S (ikepsk_bufs[digests_offset].nr_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -937,7 +937,7 @@ __kernel void m05400_s16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 128; i += lsz)
{
s_msg_buf[i] = swap32_S (ikepsk_bufs[salt_pos].msg_buf[i]);
s_msg_buf[i] = swap32_S (ikepsk_bufs[digests_offset].msg_buf[i]);
}
barrier (CLK_LOCAL_MEM_FENCE);

@ -296,25 +296,25 @@ __kernel void m05600_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 64; i += lsz)
{
s_userdomain_buf[i] = netntlm_bufs[salt_pos].userdomain_buf[i];
s_userdomain_buf[i] = netntlm_bufs[digests_offset].userdomain_buf[i];
}
__local u32 s_chall_buf[256];
for (u32 i = lid; i < 256; i += lsz)
{
s_chall_buf[i] = netntlm_bufs[salt_pos].chall_buf[i];
s_chall_buf[i] = netntlm_bufs[digests_offset].chall_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
if (gid >= gid_max) return;
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* base
@ -535,25 +535,25 @@ __kernel void m05600_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 64; i += lsz)
{
s_userdomain_buf[i] = netntlm_bufs[salt_pos].userdomain_buf[i];
s_userdomain_buf[i] = netntlm_bufs[digests_offset].userdomain_buf[i];
}
__local u32 s_chall_buf[256];
for (u32 i = lid; i < 256; i += lsz)
{
s_chall_buf[i] = netntlm_bufs[salt_pos].chall_buf[i];
s_chall_buf[i] = netntlm_bufs[digests_offset].chall_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
if (gid >= gid_max) return;
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* base

@ -294,25 +294,25 @@ __kernel void m05600_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 64; i += lsz)
{
s_userdomain_buf[i] = netntlm_bufs[salt_pos].userdomain_buf[i];
s_userdomain_buf[i] = netntlm_bufs[digests_offset].userdomain_buf[i];
}
__local u32 s_chall_buf[256];
for (u32 i = lid; i < 256; i += lsz)
{
s_chall_buf[i] = netntlm_bufs[salt_pos].chall_buf[i];
s_chall_buf[i] = netntlm_bufs[digests_offset].chall_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
if (gid >= gid_max) return;
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* base
@ -591,25 +591,25 @@ __kernel void m05600_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 64; i += lsz)
{
s_userdomain_buf[i] = netntlm_bufs[salt_pos].userdomain_buf[i];
s_userdomain_buf[i] = netntlm_bufs[digests_offset].userdomain_buf[i];
}
__local u32 s_chall_buf[256];
for (u32 i = lid; i < 256; i += lsz)
{
s_chall_buf[i] = netntlm_bufs[salt_pos].chall_buf[i];
s_chall_buf[i] = netntlm_bufs[digests_offset].chall_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
if (gid >= gid_max) return;
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* base

@ -289,11 +289,11 @@ void m05600m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
* prepare
*/
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* loop
@ -495,11 +495,11 @@ void m05600s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
* prepare
*/
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* digest
@ -718,25 +718,25 @@ __kernel void m05600_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 64; i += lsz)
{
s_userdomain_buf[i] = netntlm_bufs[salt_pos].userdomain_buf[i];
s_userdomain_buf[i] = netntlm_bufs[digests_offset].userdomain_buf[i];
}
__local u32 s_chall_buf[256];
for (u32 i = lid; i < 256; i += lsz)
{
s_chall_buf[i] = netntlm_bufs[salt_pos].chall_buf[i];
s_chall_buf[i] = netntlm_bufs[digests_offset].chall_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
if (gid >= gid_max) return;
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* base
@ -797,25 +797,25 @@ __kernel void m05600_m08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 64; i += lsz)
{
s_userdomain_buf[i] = netntlm_bufs[salt_pos].userdomain_buf[i];
s_userdomain_buf[i] = netntlm_bufs[digests_offset].userdomain_buf[i];
}
__local u32 s_chall_buf[256];
for (u32 i = lid; i < 256; i += lsz)
{
s_chall_buf[i] = netntlm_bufs[salt_pos].chall_buf[i];
s_chall_buf[i] = netntlm_bufs[digests_offset].chall_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
if (gid >= gid_max) return;
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* base
@ -880,25 +880,25 @@ __kernel void m05600_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 64; i += lsz)
{
s_userdomain_buf[i] = netntlm_bufs[salt_pos].userdomain_buf[i];
s_userdomain_buf[i] = netntlm_bufs[digests_offset].userdomain_buf[i];
}
__local u32 s_chall_buf[256];
for (u32 i = lid; i < 256; i += lsz)
{
s_chall_buf[i] = netntlm_bufs[salt_pos].chall_buf[i];
s_chall_buf[i] = netntlm_bufs[digests_offset].chall_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
if (gid >= gid_max) return;
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* base
@ -959,25 +959,25 @@ __kernel void m05600_s08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 64; i += lsz)
{
s_userdomain_buf[i] = netntlm_bufs[salt_pos].userdomain_buf[i];
s_userdomain_buf[i] = netntlm_bufs[digests_offset].userdomain_buf[i];
}
__local u32 s_chall_buf[256];
for (u32 i = lid; i < 256; i += lsz)
{
s_chall_buf[i] = netntlm_bufs[salt_pos].chall_buf[i];
s_chall_buf[i] = netntlm_bufs[digests_offset].chall_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
if (gid >= gid_max) return;
const u32 userdomain_len = netntlm_bufs[salt_pos].user_len
+ netntlm_bufs[salt_pos].domain_len;
const u32 userdomain_len = netntlm_bufs[digests_offset].user_len
+ netntlm_bufs[digests_offset].domain_len;
const u32 chall_len = netntlm_bufs[salt_pos].srvchall_len
+ netntlm_bufs[salt_pos].clichall_len;
const u32 chall_len = netntlm_bufs[digests_offset].srvchall_len
+ netntlm_bufs[digests_offset].clichall_len;
/**
* base

@ -408,22 +408,22 @@ __kernel void m06211_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -431,22 +431,22 @@ __kernel void m06211_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 salt_buf1[16];
salt_buf1[ 0] = esalt_bufs[salt_pos].salt_buf[ 0];
salt_buf1[ 1] = esalt_bufs[salt_pos].salt_buf[ 1];
salt_buf1[ 2] = esalt_bufs[salt_pos].salt_buf[ 2];
salt_buf1[ 3] = esalt_bufs[salt_pos].salt_buf[ 3];
salt_buf1[ 4] = esalt_bufs[salt_pos].salt_buf[ 4];
salt_buf1[ 5] = esalt_bufs[salt_pos].salt_buf[ 5];
salt_buf1[ 6] = esalt_bufs[salt_pos].salt_buf[ 6];
salt_buf1[ 7] = esalt_bufs[salt_pos].salt_buf[ 7];
salt_buf1[ 8] = esalt_bufs[salt_pos].salt_buf[ 8];
salt_buf1[ 9] = esalt_bufs[salt_pos].salt_buf[ 9];
salt_buf1[10] = esalt_bufs[salt_pos].salt_buf[10];
salt_buf1[11] = esalt_bufs[salt_pos].salt_buf[11];
salt_buf1[12] = esalt_bufs[salt_pos].salt_buf[12];
salt_buf1[13] = esalt_bufs[salt_pos].salt_buf[13];
salt_buf1[14] = esalt_bufs[salt_pos].salt_buf[14];
salt_buf1[15] = esalt_bufs[salt_pos].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[digests_offset].salt_buf[ 0];
salt_buf1[ 1] = esalt_bufs[digests_offset].salt_buf[ 1];
salt_buf1[ 2] = esalt_bufs[digests_offset].salt_buf[ 2];
salt_buf1[ 3] = esalt_bufs[digests_offset].salt_buf[ 3];
salt_buf1[ 4] = esalt_bufs[digests_offset].salt_buf[ 4];
salt_buf1[ 5] = esalt_bufs[digests_offset].salt_buf[ 5];
salt_buf1[ 6] = esalt_bufs[digests_offset].salt_buf[ 6];
salt_buf1[ 7] = esalt_bufs[digests_offset].salt_buf[ 7];
salt_buf1[ 8] = esalt_bufs[digests_offset].salt_buf[ 8];
salt_buf1[ 9] = esalt_bufs[digests_offset].salt_buf[ 9];
salt_buf1[10] = esalt_bufs[digests_offset].salt_buf[10];
salt_buf1[11] = esalt_bufs[digests_offset].salt_buf[11];
salt_buf1[12] = esalt_bufs[digests_offset].salt_buf[12];
salt_buf1[13] = esalt_bufs[digests_offset].salt_buf[13];
salt_buf1[14] = esalt_bufs[digests_offset].salt_buf[14];
salt_buf1[15] = esalt_bufs[digests_offset].salt_buf[15];
u32 salt_buf2[16];

@ -408,22 +408,22 @@ __kernel void m06212_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -431,22 +431,22 @@ __kernel void m06212_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 salt_buf1[16];
salt_buf1[ 0] = esalt_bufs[salt_pos].salt_buf[ 0];
salt_buf1[ 1] = esalt_bufs[salt_pos].salt_buf[ 1];
salt_buf1[ 2] = esalt_bufs[salt_pos].salt_buf[ 2];
salt_buf1[ 3] = esalt_bufs[salt_pos].salt_buf[ 3];
salt_buf1[ 4] = esalt_bufs[salt_pos].salt_buf[ 4];
salt_buf1[ 5] = esalt_bufs[salt_pos].salt_buf[ 5];
salt_buf1[ 6] = esalt_bufs[salt_pos].salt_buf[ 6];
salt_buf1[ 7] = esalt_bufs[salt_pos].salt_buf[ 7];
salt_buf1[ 8] = esalt_bufs[salt_pos].salt_buf[ 8];
salt_buf1[ 9] = esalt_bufs[salt_pos].salt_buf[ 9];
salt_buf1[10] = esalt_bufs[salt_pos].salt_buf[10];
salt_buf1[11] = esalt_bufs[salt_pos].salt_buf[11];
salt_buf1[12] = esalt_bufs[salt_pos].salt_buf[12];
salt_buf1[13] = esalt_bufs[salt_pos].salt_buf[13];
salt_buf1[14] = esalt_bufs[salt_pos].salt_buf[14];
salt_buf1[15] = esalt_bufs[salt_pos].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[digests_offset].salt_buf[ 0];
salt_buf1[ 1] = esalt_bufs[digests_offset].salt_buf[ 1];
salt_buf1[ 2] = esalt_bufs[digests_offset].salt_buf[ 2];
salt_buf1[ 3] = esalt_bufs[digests_offset].salt_buf[ 3];
salt_buf1[ 4] = esalt_bufs[digests_offset].salt_buf[ 4];
salt_buf1[ 5] = esalt_bufs[digests_offset].salt_buf[ 5];
salt_buf1[ 6] = esalt_bufs[digests_offset].salt_buf[ 6];
salt_buf1[ 7] = esalt_bufs[digests_offset].salt_buf[ 7];
salt_buf1[ 8] = esalt_bufs[digests_offset].salt_buf[ 8];
salt_buf1[ 9] = esalt_bufs[digests_offset].salt_buf[ 9];
salt_buf1[10] = esalt_bufs[digests_offset].salt_buf[10];
salt_buf1[11] = esalt_bufs[digests_offset].salt_buf[11];
salt_buf1[12] = esalt_bufs[digests_offset].salt_buf[12];
salt_buf1[13] = esalt_bufs[digests_offset].salt_buf[13];
salt_buf1[14] = esalt_bufs[digests_offset].salt_buf[14];
salt_buf1[15] = esalt_bufs[digests_offset].salt_buf[15];
u32 salt_buf2[16];

@ -408,22 +408,22 @@ __kernel void m06213_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -431,22 +431,22 @@ __kernel void m06213_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 salt_buf1[16];
salt_buf1[ 0] = esalt_bufs[salt_pos].salt_buf[ 0];
salt_buf1[ 1] = esalt_bufs[salt_pos].salt_buf[ 1];
salt_buf1[ 2] = esalt_bufs[salt_pos].salt_buf[ 2];
salt_buf1[ 3] = esalt_bufs[salt_pos].salt_buf[ 3];
salt_buf1[ 4] = esalt_bufs[salt_pos].salt_buf[ 4];
salt_buf1[ 5] = esalt_bufs[salt_pos].salt_buf[ 5];
salt_buf1[ 6] = esalt_bufs[salt_pos].salt_buf[ 6];
salt_buf1[ 7] = esalt_bufs[salt_pos].salt_buf[ 7];
salt_buf1[ 8] = esalt_bufs[salt_pos].salt_buf[ 8];
salt_buf1[ 9] = esalt_bufs[salt_pos].salt_buf[ 9];
salt_buf1[10] = esalt_bufs[salt_pos].salt_buf[10];
salt_buf1[11] = esalt_bufs[salt_pos].salt_buf[11];
salt_buf1[12] = esalt_bufs[salt_pos].salt_buf[12];
salt_buf1[13] = esalt_bufs[salt_pos].salt_buf[13];
salt_buf1[14] = esalt_bufs[salt_pos].salt_buf[14];
salt_buf1[15] = esalt_bufs[salt_pos].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[digests_offset].salt_buf[ 0];
salt_buf1[ 1] = esalt_bufs[digests_offset].salt_buf[ 1];
salt_buf1[ 2] = esalt_bufs[digests_offset].salt_buf[ 2];
salt_buf1[ 3] = esalt_bufs[digests_offset].salt_buf[ 3];
salt_buf1[ 4] = esalt_bufs[digests_offset].salt_buf[ 4];
salt_buf1[ 5] = esalt_bufs[digests_offset].salt_buf[ 5];
salt_buf1[ 6] = esalt_bufs[digests_offset].salt_buf[ 6];
salt_buf1[ 7] = esalt_bufs[digests_offset].salt_buf[ 7];
salt_buf1[ 8] = esalt_bufs[digests_offset].salt_buf[ 8];
salt_buf1[ 9] = esalt_bufs[digests_offset].salt_buf[ 9];
salt_buf1[10] = esalt_bufs[digests_offset].salt_buf[10];
salt_buf1[11] = esalt_bufs[digests_offset].salt_buf[11];
salt_buf1[12] = esalt_bufs[digests_offset].salt_buf[12];
salt_buf1[13] = esalt_bufs[digests_offset].salt_buf[13];
salt_buf1[14] = esalt_bufs[digests_offset].salt_buf[14];
salt_buf1[15] = esalt_bufs[digests_offset].salt_buf[15];
u32 salt_buf2[16];

@ -298,22 +298,22 @@ __kernel void m06221_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -323,14 +323,14 @@ __kernel void m06221_init (__global pw_t *pws, __global const kernel_rule_t *rul
// swap fehlt
salt_buf[ 0] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 0])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
salt_buf[ 1] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 2])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
salt_buf[ 2] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 4])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
salt_buf[ 3] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 6])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
salt_buf[ 4] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 8])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
salt_buf[ 5] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[10])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[11]);
salt_buf[ 6] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[12])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[13]);
salt_buf[ 7] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[14])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[15]);
salt_buf[ 0] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 0])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
salt_buf[ 1] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 2])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
salt_buf[ 2] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 4])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
salt_buf[ 3] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 6])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
salt_buf[ 4] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 8])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
salt_buf[ 5] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[10])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[11]);
salt_buf[ 6] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[12])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[13]);
salt_buf[ 7] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[14])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[15]);
salt_buf[ 8] = 0;
salt_buf[ 9] = 0;
salt_buf[10] = 0;

@ -298,22 +298,22 @@ __kernel void m06222_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -323,14 +323,14 @@ __kernel void m06222_init (__global pw_t *pws, __global const kernel_rule_t *rul
// swap fehlt
salt_buf[ 0] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 0])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
salt_buf[ 1] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 2])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
salt_buf[ 2] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 4])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
salt_buf[ 3] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 6])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
salt_buf[ 4] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 8])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
salt_buf[ 5] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[10])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[11]);
salt_buf[ 6] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[12])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[13]);
salt_buf[ 7] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[14])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[15]);
salt_buf[ 0] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 0])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
salt_buf[ 1] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 2])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
salt_buf[ 2] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 4])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
salt_buf[ 3] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 6])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
salt_buf[ 4] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 8])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
salt_buf[ 5] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[10])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[11]);
salt_buf[ 6] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[12])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[13]);
salt_buf[ 7] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[14])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[15]);
salt_buf[ 8] = 0;
salt_buf[ 9] = 0;
salt_buf[10] = 0;

@ -347,22 +347,22 @@ __kernel void m06223_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -372,14 +372,14 @@ __kernel void m06223_init (__global pw_t *pws, __global const kernel_rule_t *rul
// swap fehlt
salt_buf[ 0] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 0])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
salt_buf[ 1] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 2])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
salt_buf[ 2] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 4])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
salt_buf[ 3] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 6])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
salt_buf[ 4] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 8])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
salt_buf[ 5] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[10])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[11]);
salt_buf[ 6] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[12])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[13]);
salt_buf[ 7] = ((u64) swap32 (esalt_bufs[salt_pos].salt_buf[14])) << 32 | (u64) swap32 (esalt_bufs[salt_pos].salt_buf[15]);
salt_buf[ 0] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 0])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
salt_buf[ 1] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 2])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
salt_buf[ 2] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 4])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
salt_buf[ 3] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 6])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
salt_buf[ 4] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 8])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
salt_buf[ 5] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[10])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[11]);
salt_buf[ 6] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[12])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[13]);
salt_buf[ 7] = ((u64) swap32 (esalt_bufs[digests_offset].salt_buf[14])) << 32 | (u64) swap32 (esalt_bufs[digests_offset].salt_buf[15]);
salt_buf[ 8] = 0;
salt_buf[ 9] = 0;
salt_buf[10] = 0;

@ -1792,22 +1792,22 @@ __kernel void m06231_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -1815,22 +1815,22 @@ __kernel void m06231_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 salt_buf1[16];
salt_buf1[ 0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 0]);
salt_buf1[ 1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
salt_buf1[ 2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 2]);
salt_buf1[ 3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
salt_buf1[ 4] = swap32 (esalt_bufs[salt_pos].salt_buf[ 4]);
salt_buf1[ 5] = swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
salt_buf1[ 6] = swap32 (esalt_bufs[salt_pos].salt_buf[ 6]);
salt_buf1[ 7] = swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
salt_buf1[ 8] = swap32 (esalt_bufs[salt_pos].salt_buf[ 8]);
salt_buf1[ 9] = swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
salt_buf1[10] = swap32 (esalt_bufs[salt_pos].salt_buf[10]);
salt_buf1[11] = swap32 (esalt_bufs[salt_pos].salt_buf[11]);
salt_buf1[12] = swap32 (esalt_bufs[salt_pos].salt_buf[12]);
salt_buf1[13] = swap32 (esalt_bufs[salt_pos].salt_buf[13]);
salt_buf1[14] = swap32 (esalt_bufs[salt_pos].salt_buf[14]);
salt_buf1[15] = swap32 (esalt_bufs[salt_pos].salt_buf[15]);
salt_buf1[ 0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 0]);
salt_buf1[ 1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
salt_buf1[ 2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 2]);
salt_buf1[ 3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
salt_buf1[ 4] = swap32 (esalt_bufs[digests_offset].salt_buf[ 4]);
salt_buf1[ 5] = swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
salt_buf1[ 6] = swap32 (esalt_bufs[digests_offset].salt_buf[ 6]);
salt_buf1[ 7] = swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
salt_buf1[ 8] = swap32 (esalt_bufs[digests_offset].salt_buf[ 8]);
salt_buf1[ 9] = swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
salt_buf1[10] = swap32 (esalt_bufs[digests_offset].salt_buf[10]);
salt_buf1[11] = swap32 (esalt_bufs[digests_offset].salt_buf[11]);
salt_buf1[12] = swap32 (esalt_bufs[digests_offset].salt_buf[12]);
salt_buf1[13] = swap32 (esalt_bufs[digests_offset].salt_buf[13]);
salt_buf1[14] = swap32 (esalt_bufs[digests_offset].salt_buf[14]);
salt_buf1[15] = swap32 (esalt_bufs[digests_offset].salt_buf[15]);
u32 salt_buf2[16];

@ -1542,22 +1542,22 @@ __kernel void m06232_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -1565,22 +1565,22 @@ __kernel void m06232_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 salt_buf1[16];
salt_buf1[ 0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 0]);
salt_buf1[ 1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
salt_buf1[ 2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 2]);
salt_buf1[ 3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
salt_buf1[ 4] = swap32 (esalt_bufs[salt_pos].salt_buf[ 4]);
salt_buf1[ 5] = swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
salt_buf1[ 6] = swap32 (esalt_bufs[salt_pos].salt_buf[ 6]);
salt_buf1[ 7] = swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
salt_buf1[ 8] = swap32 (esalt_bufs[salt_pos].salt_buf[ 8]);
salt_buf1[ 9] = swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
salt_buf1[10] = swap32 (esalt_bufs[salt_pos].salt_buf[10]);
salt_buf1[11] = swap32 (esalt_bufs[salt_pos].salt_buf[11]);
salt_buf1[12] = swap32 (esalt_bufs[salt_pos].salt_buf[12]);
salt_buf1[13] = swap32 (esalt_bufs[salt_pos].salt_buf[13]);
salt_buf1[14] = swap32 (esalt_bufs[salt_pos].salt_buf[14]);
salt_buf1[15] = swap32 (esalt_bufs[salt_pos].salt_buf[15]);
salt_buf1[ 0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 0]);
salt_buf1[ 1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
salt_buf1[ 2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 2]);
salt_buf1[ 3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
salt_buf1[ 4] = swap32 (esalt_bufs[digests_offset].salt_buf[ 4]);
salt_buf1[ 5] = swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
salt_buf1[ 6] = swap32 (esalt_bufs[digests_offset].salt_buf[ 6]);
salt_buf1[ 7] = swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
salt_buf1[ 8] = swap32 (esalt_bufs[digests_offset].salt_buf[ 8]);
salt_buf1[ 9] = swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
salt_buf1[10] = swap32 (esalt_bufs[digests_offset].salt_buf[10]);
salt_buf1[11] = swap32 (esalt_bufs[digests_offset].salt_buf[11]);
salt_buf1[12] = swap32 (esalt_bufs[digests_offset].salt_buf[12]);
salt_buf1[13] = swap32 (esalt_bufs[digests_offset].salt_buf[13]);
salt_buf1[14] = swap32 (esalt_bufs[digests_offset].salt_buf[14]);
salt_buf1[15] = swap32 (esalt_bufs[digests_offset].salt_buf[15]);
u32 salt_buf2[16];

@ -1542,22 +1542,22 @@ __kernel void m06233_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
/**
* salt
@ -1565,22 +1565,22 @@ __kernel void m06233_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 salt_buf1[16];
salt_buf1[ 0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 0]);
salt_buf1[ 1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
salt_buf1[ 2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 2]);
salt_buf1[ 3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
salt_buf1[ 4] = swap32 (esalt_bufs[salt_pos].salt_buf[ 4]);
salt_buf1[ 5] = swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
salt_buf1[ 6] = swap32 (esalt_bufs[salt_pos].salt_buf[ 6]);
salt_buf1[ 7] = swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
salt_buf1[ 8] = swap32 (esalt_bufs[salt_pos].salt_buf[ 8]);
salt_buf1[ 9] = swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
salt_buf1[10] = swap32 (esalt_bufs[salt_pos].salt_buf[10]);
salt_buf1[11] = swap32 (esalt_bufs[salt_pos].salt_buf[11]);
salt_buf1[12] = swap32 (esalt_bufs[salt_pos].salt_buf[12]);
salt_buf1[13] = swap32 (esalt_bufs[salt_pos].salt_buf[13]);
salt_buf1[14] = swap32 (esalt_bufs[salt_pos].salt_buf[14]);
salt_buf1[15] = swap32 (esalt_bufs[salt_pos].salt_buf[15]);
salt_buf1[ 0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 0]);
salt_buf1[ 1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
salt_buf1[ 2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 2]);
salt_buf1[ 3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
salt_buf1[ 4] = swap32 (esalt_bufs[digests_offset].salt_buf[ 4]);
salt_buf1[ 5] = swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
salt_buf1[ 6] = swap32 (esalt_bufs[digests_offset].salt_buf[ 6]);
salt_buf1[ 7] = swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
salt_buf1[ 8] = swap32 (esalt_bufs[digests_offset].salt_buf[ 8]);
salt_buf1[ 9] = swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
salt_buf1[10] = swap32 (esalt_bufs[digests_offset].salt_buf[10]);
salt_buf1[11] = swap32 (esalt_bufs[digests_offset].salt_buf[11]);
salt_buf1[12] = swap32 (esalt_bufs[digests_offset].salt_buf[12]);
salt_buf1[13] = swap32 (esalt_bufs[digests_offset].salt_buf[13]);
salt_buf1[14] = swap32 (esalt_bufs[digests_offset].salt_buf[14]);
salt_buf1[15] = swap32 (esalt_bufs[digests_offset].salt_buf[15]);
u32 salt_buf2[16];

@ -520,20 +520,20 @@ __kernel void m07100_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 salt_len = salt_bufs[salt_pos].salt_len;
esalt_buf[ 0] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[ 0]), swap32_S (esalt_bufs[salt_pos].salt_buf[ 1]));
esalt_buf[ 1] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[ 2]), swap32_S (esalt_bufs[salt_pos].salt_buf[ 3]));
esalt_buf[ 2] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[ 4]), swap32_S (esalt_bufs[salt_pos].salt_buf[ 5]));
esalt_buf[ 3] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[ 6]), swap32_S (esalt_bufs[salt_pos].salt_buf[ 7]));
esalt_buf[ 4] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[ 8]), swap32_S (esalt_bufs[salt_pos].salt_buf[ 9]));
esalt_buf[ 5] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[10]), swap32_S (esalt_bufs[salt_pos].salt_buf[11]));
esalt_buf[ 6] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[12]), swap32_S (esalt_bufs[salt_pos].salt_buf[13]));
esalt_buf[ 7] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[14]), swap32_S (esalt_bufs[salt_pos].salt_buf[15]));
esalt_buf[ 8] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[16]), swap32_S (esalt_bufs[salt_pos].salt_buf[17]));
esalt_buf[ 9] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[18]), swap32_S (esalt_bufs[salt_pos].salt_buf[19]));
esalt_buf[10] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[20]), swap32_S (esalt_bufs[salt_pos].salt_buf[21]));
esalt_buf[11] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[22]), swap32_S (esalt_bufs[salt_pos].salt_buf[23]));
esalt_buf[12] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[24]), swap32_S (esalt_bufs[salt_pos].salt_buf[25]));
esalt_buf[13] = hl32_to_64_S (swap32_S (esalt_bufs[salt_pos].salt_buf[26]), swap32_S (esalt_bufs[salt_pos].salt_buf[27]));
esalt_buf[ 0] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[ 0]), swap32_S (esalt_bufs[digests_offset].salt_buf[ 1]));
esalt_buf[ 1] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[ 2]), swap32_S (esalt_bufs[digests_offset].salt_buf[ 3]));
esalt_buf[ 2] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[ 4]), swap32_S (esalt_bufs[digests_offset].salt_buf[ 5]));
esalt_buf[ 3] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[ 6]), swap32_S (esalt_bufs[digests_offset].salt_buf[ 7]));
esalt_buf[ 4] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[ 8]), swap32_S (esalt_bufs[digests_offset].salt_buf[ 9]));
esalt_buf[ 5] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[10]), swap32_S (esalt_bufs[digests_offset].salt_buf[11]));
esalt_buf[ 6] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[12]), swap32_S (esalt_bufs[digests_offset].salt_buf[13]));
esalt_buf[ 7] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[14]), swap32_S (esalt_bufs[digests_offset].salt_buf[15]));
esalt_buf[ 8] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[16]), swap32_S (esalt_bufs[digests_offset].salt_buf[17]));
esalt_buf[ 9] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[18]), swap32_S (esalt_bufs[digests_offset].salt_buf[19]));
esalt_buf[10] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[20]), swap32_S (esalt_bufs[digests_offset].salt_buf[21]));
esalt_buf[11] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[22]), swap32_S (esalt_bufs[digests_offset].salt_buf[23]));
esalt_buf[12] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[24]), swap32_S (esalt_bufs[digests_offset].salt_buf[25]));
esalt_buf[13] = hl32_to_64_S (swap32_S (esalt_bufs[digests_offset].salt_buf[26]), swap32_S (esalt_bufs[digests_offset].salt_buf[27]));
esalt_buf[14] = 0;
esalt_buf[15] = (128 + salt_len + 4) * 8;

@ -265,7 +265,7 @@ __kernel void m07300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 esalt_len = rakp_bufs[salt_pos].salt_len;
const u32 esalt_len = rakp_bufs[digests_offset].salt_len;
/**
* loop
@ -305,40 +305,40 @@ __kernel void m07300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (esalt_left = esalt_size, esalt_off = 0; esalt_left >= 56; esalt_left -= 64, esalt_off += 16)
{
w0[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w3[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 14];
w3[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 15];
w0[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 14];
w3[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 15];
sha1_transform (w0, w1, w2, w3, ipad);
}
w0[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w0[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3[2] = 0;
w3[3] = (64 + esalt_size) * 8;
@ -392,7 +392,7 @@ __kernel void m07300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 esalt_len = rakp_bufs[salt_pos].salt_len;
const u32 esalt_len = rakp_bufs[digests_offset].salt_len;
/**
* digest
@ -444,40 +444,40 @@ __kernel void m07300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (esalt_left = esalt_size, esalt_off = 0; esalt_left >= 56; esalt_left -= 64, esalt_off += 16)
{
w0[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w3[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 14];
w3[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 15];
w0[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 14];
w3[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 15];
sha1_transform (w0, w1, w2, w3, ipad);
}
w0[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w0[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3[2] = 0;
w3[3] = (64 + esalt_size) * 8;

@ -263,7 +263,7 @@ __kernel void m07300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 esalt_len = rakp_bufs[salt_pos].salt_len;
const u32 esalt_len = rakp_bufs[digests_offset].salt_len;
/**
* loop
@ -371,40 +371,40 @@ __kernel void m07300_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (esalt_left = esalt_size, esalt_off = 0; esalt_left >= 56; esalt_left -= 64, esalt_off += 16)
{
w0[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w3[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 14];
w3[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 15];
w0[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 14];
w3[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 15];
sha1_transform (w0, w1, w2, w3, ipad);
}
w0[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w0[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3[2] = 0;
w3[3] = (64 + esalt_size) * 8;
@ -458,7 +458,7 @@ __kernel void m07300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 esalt_len = rakp_bufs[salt_pos].salt_len;
const u32 esalt_len = rakp_bufs[digests_offset].salt_len;
/**
* digest
@ -578,40 +578,40 @@ __kernel void m07300_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (esalt_left = esalt_size, esalt_off = 0; esalt_left >= 56; esalt_left -= 64, esalt_off += 16)
{
w0[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w3[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 14];
w3[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 15];
w0[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 14];
w3[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 15];
sha1_transform (w0, w1, w2, w3, ipad);
}
w0[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w0[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3[2] = 0;
w3[3] = (64 + esalt_size) * 8;

@ -242,7 +242,7 @@ void m07300m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
* salt
*/
const u32 esalt_len = rakp_bufs[salt_pos].salt_len;
const u32 esalt_len = rakp_bufs[digests_offset].salt_len;
/**
* loop
@ -294,40 +294,40 @@ void m07300m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
for (esalt_left = esalt_size, esalt_off = 0; esalt_left >= 56; esalt_left -= 64, esalt_off += 16)
{
w0_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w3_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 14];
w3_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 15];
w0_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 14];
w3_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 15];
sha1_transform (w0_t, w1_t, w2_t, w3_t, ipad);
}
w0_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w0_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3_t[2] = 0;
w3_t[3] = (64 + esalt_size) * 8;
@ -352,7 +352,7 @@ void m07300s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
* salt
*/
const u32 esalt_len = rakp_bufs[salt_pos].salt_len;
const u32 esalt_len = rakp_bufs[digests_offset].salt_len;
/**
* digest
@ -416,40 +416,40 @@ void m07300s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
for (esalt_left = esalt_size, esalt_off = 0; esalt_left >= 56; esalt_left -= 64, esalt_off += 16)
{
w0_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w3_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 14];
w3_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 15];
w0_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 14];
w3_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 15];
sha1_transform (w0_t, w1_t, w2_t, w3_t, ipad);
}
w0_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 0];
w0_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 1];
w0_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 2];
w0_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 3];
w1_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 4];
w1_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 5];
w1_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 6];
w1_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 7];
w2_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 8];
w2_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 9];
w2_t[2] = rakp_bufs[salt_pos].salt_buf[esalt_off + 10];
w2_t[3] = rakp_bufs[salt_pos].salt_buf[esalt_off + 11];
w3_t[0] = rakp_bufs[salt_pos].salt_buf[esalt_off + 12];
w3_t[1] = rakp_bufs[salt_pos].salt_buf[esalt_off + 13];
w0_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 0];
w0_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 1];
w0_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 2];
w0_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 3];
w1_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 4];
w1_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 5];
w1_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 6];
w1_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 7];
w2_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 8];
w2_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 9];
w2_t[2] = rakp_bufs[digests_offset].salt_buf[esalt_off + 10];
w2_t[3] = rakp_bufs[digests_offset].salt_buf[esalt_off + 11];
w3_t[0] = rakp_bufs[digests_offset].salt_buf[esalt_off + 12];
w3_t[1] = rakp_bufs[digests_offset].salt_buf[esalt_off + 13];
w3_t[2] = 0;
w3_t[3] = (64 + esalt_size) * 8;

@ -580,21 +580,21 @@ __kernel void m07500_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 checksum[4];
checksum[0] = krb5pa_bufs[salt_pos].checksum[0];
checksum[1] = krb5pa_bufs[salt_pos].checksum[1];
checksum[2] = krb5pa_bufs[salt_pos].checksum[2];
checksum[3] = krb5pa_bufs[salt_pos].checksum[3];
checksum[0] = krb5pa_bufs[digests_offset].checksum[0];
checksum[1] = krb5pa_bufs[digests_offset].checksum[1];
checksum[2] = krb5pa_bufs[digests_offset].checksum[2];
checksum[3] = krb5pa_bufs[digests_offset].checksum[3];
u32 timestamp_ct[8];
timestamp_ct[0] = krb5pa_bufs[salt_pos].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[salt_pos].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[salt_pos].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[salt_pos].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[salt_pos].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[salt_pos].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[salt_pos].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[salt_pos].timestamp[7];
timestamp_ct[0] = krb5pa_bufs[digests_offset].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[digests_offset].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[digests_offset].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[digests_offset].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[digests_offset].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[digests_offset].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[digests_offset].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[digests_offset].timestamp[7];
/**
* shared
@ -681,21 +681,21 @@ __kernel void m07500_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 checksum[4];
checksum[0] = krb5pa_bufs[salt_pos].checksum[0];
checksum[1] = krb5pa_bufs[salt_pos].checksum[1];
checksum[2] = krb5pa_bufs[salt_pos].checksum[2];
checksum[3] = krb5pa_bufs[salt_pos].checksum[3];
checksum[0] = krb5pa_bufs[digests_offset].checksum[0];
checksum[1] = krb5pa_bufs[digests_offset].checksum[1];
checksum[2] = krb5pa_bufs[digests_offset].checksum[2];
checksum[3] = krb5pa_bufs[digests_offset].checksum[3];
u32 timestamp_ct[8];
timestamp_ct[0] = krb5pa_bufs[salt_pos].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[salt_pos].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[salt_pos].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[salt_pos].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[salt_pos].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[salt_pos].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[salt_pos].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[salt_pos].timestamp[7];
timestamp_ct[0] = krb5pa_bufs[digests_offset].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[digests_offset].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[digests_offset].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[digests_offset].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[digests_offset].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[digests_offset].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[digests_offset].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[digests_offset].timestamp[7];
/**
* shared

@ -578,21 +578,21 @@ __kernel void m07500_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 checksum[4];
checksum[0] = krb5pa_bufs[salt_pos].checksum[0];
checksum[1] = krb5pa_bufs[salt_pos].checksum[1];
checksum[2] = krb5pa_bufs[salt_pos].checksum[2];
checksum[3] = krb5pa_bufs[salt_pos].checksum[3];
checksum[0] = krb5pa_bufs[digests_offset].checksum[0];
checksum[1] = krb5pa_bufs[digests_offset].checksum[1];
checksum[2] = krb5pa_bufs[digests_offset].checksum[2];
checksum[3] = krb5pa_bufs[digests_offset].checksum[3];
u32 timestamp_ct[8];
timestamp_ct[0] = krb5pa_bufs[salt_pos].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[salt_pos].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[salt_pos].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[salt_pos].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[salt_pos].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[salt_pos].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[salt_pos].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[salt_pos].timestamp[7];
timestamp_ct[0] = krb5pa_bufs[digests_offset].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[digests_offset].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[digests_offset].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[digests_offset].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[digests_offset].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[digests_offset].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[digests_offset].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[digests_offset].timestamp[7];
/**
* shared
@ -729,21 +729,21 @@ __kernel void m07500_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 checksum[4];
checksum[0] = krb5pa_bufs[salt_pos].checksum[0];
checksum[1] = krb5pa_bufs[salt_pos].checksum[1];
checksum[2] = krb5pa_bufs[salt_pos].checksum[2];
checksum[3] = krb5pa_bufs[salt_pos].checksum[3];
checksum[0] = krb5pa_bufs[digests_offset].checksum[0];
checksum[1] = krb5pa_bufs[digests_offset].checksum[1];
checksum[2] = krb5pa_bufs[digests_offset].checksum[2];
checksum[3] = krb5pa_bufs[digests_offset].checksum[3];
u32 timestamp_ct[8];
timestamp_ct[0] = krb5pa_bufs[salt_pos].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[salt_pos].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[salt_pos].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[salt_pos].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[salt_pos].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[salt_pos].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[salt_pos].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[salt_pos].timestamp[7];
timestamp_ct[0] = krb5pa_bufs[digests_offset].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[digests_offset].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[digests_offset].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[digests_offset].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[digests_offset].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[digests_offset].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[digests_offset].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[digests_offset].timestamp[7];
/**
* shared

@ -557,21 +557,21 @@ void m07500 (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[
u32 checksum[4];
checksum[0] = krb5pa_bufs[salt_pos].checksum[0];
checksum[1] = krb5pa_bufs[salt_pos].checksum[1];
checksum[2] = krb5pa_bufs[salt_pos].checksum[2];
checksum[3] = krb5pa_bufs[salt_pos].checksum[3];
checksum[0] = krb5pa_bufs[digests_offset].checksum[0];
checksum[1] = krb5pa_bufs[digests_offset].checksum[1];
checksum[2] = krb5pa_bufs[digests_offset].checksum[2];
checksum[3] = krb5pa_bufs[digests_offset].checksum[3];
u32 timestamp_ct[8];
timestamp_ct[0] = krb5pa_bufs[salt_pos].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[salt_pos].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[salt_pos].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[salt_pos].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[salt_pos].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[salt_pos].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[salt_pos].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[salt_pos].timestamp[7];
timestamp_ct[0] = krb5pa_bufs[digests_offset].timestamp[0];
timestamp_ct[1] = krb5pa_bufs[digests_offset].timestamp[1];
timestamp_ct[2] = krb5pa_bufs[digests_offset].timestamp[2];
timestamp_ct[3] = krb5pa_bufs[digests_offset].timestamp[3];
timestamp_ct[4] = krb5pa_bufs[digests_offset].timestamp[4];
timestamp_ct[5] = krb5pa_bufs[digests_offset].timestamp[5];
timestamp_ct[6] = krb5pa_bufs[digests_offset].timestamp[6];
timestamp_ct[7] = krb5pa_bufs[digests_offset].timestamp[7];
/**
* loop

@ -736,47 +736,47 @@ __kernel void m08200_comp (__global pw_t *pws, __global const kernel_rule_t *rul
hmac_sha256_pad (w0, w1, w2, w3, ipad, opad);
int size = esalt_bufs[salt_pos].data_len;
int size = esalt_bufs[digests_offset].data_len;
int left;
int off;
for (left = size, off = 0; left >= 56; left -= 64, off += 16)
{
w0[0] = esalt_bufs[salt_pos].data_buf[off + 0];
w0[1] = esalt_bufs[salt_pos].data_buf[off + 1];
w0[2] = esalt_bufs[salt_pos].data_buf[off + 2];
w0[3] = esalt_bufs[salt_pos].data_buf[off + 3];
w1[0] = esalt_bufs[salt_pos].data_buf[off + 4];
w1[1] = esalt_bufs[salt_pos].data_buf[off + 5];
w1[2] = esalt_bufs[salt_pos].data_buf[off + 6];
w1[3] = esalt_bufs[salt_pos].data_buf[off + 7];
w2[0] = esalt_bufs[salt_pos].data_buf[off + 8];
w2[1] = esalt_bufs[salt_pos].data_buf[off + 9];
w2[2] = esalt_bufs[salt_pos].data_buf[off + 10];
w2[3] = esalt_bufs[salt_pos].data_buf[off + 11];
w3[0] = esalt_bufs[salt_pos].data_buf[off + 12];
w3[1] = esalt_bufs[salt_pos].data_buf[off + 13];
w3[2] = esalt_bufs[salt_pos].data_buf[off + 14];
w3[3] = esalt_bufs[salt_pos].data_buf[off + 15];
w0[0] = esalt_bufs[digests_offset].data_buf[off + 0];
w0[1] = esalt_bufs[digests_offset].data_buf[off + 1];
w0[2] = esalt_bufs[digests_offset].data_buf[off + 2];
w0[3] = esalt_bufs[digests_offset].data_buf[off + 3];
w1[0] = esalt_bufs[digests_offset].data_buf[off + 4];
w1[1] = esalt_bufs[digests_offset].data_buf[off + 5];
w1[2] = esalt_bufs[digests_offset].data_buf[off + 6];
w1[3] = esalt_bufs[digests_offset].data_buf[off + 7];
w2[0] = esalt_bufs[digests_offset].data_buf[off + 8];
w2[1] = esalt_bufs[digests_offset].data_buf[off + 9];
w2[2] = esalt_bufs[digests_offset].data_buf[off + 10];
w2[3] = esalt_bufs[digests_offset].data_buf[off + 11];
w3[0] = esalt_bufs[digests_offset].data_buf[off + 12];
w3[1] = esalt_bufs[digests_offset].data_buf[off + 13];
w3[2] = esalt_bufs[digests_offset].data_buf[off + 14];
w3[3] = esalt_bufs[digests_offset].data_buf[off + 15];
sha256_transform (w0, w1, w2, w3, ipad);
}
w0[0] = esalt_bufs[salt_pos].data_buf[off + 0];
w0[1] = esalt_bufs[salt_pos].data_buf[off + 1];
w0[2] = esalt_bufs[salt_pos].data_buf[off + 2];
w0[3] = esalt_bufs[salt_pos].data_buf[off + 3];
w1[0] = esalt_bufs[salt_pos].data_buf[off + 4];
w1[1] = esalt_bufs[salt_pos].data_buf[off + 5];
w1[2] = esalt_bufs[salt_pos].data_buf[off + 6];
w1[3] = esalt_bufs[salt_pos].data_buf[off + 7];
w2[0] = esalt_bufs[salt_pos].data_buf[off + 8];
w2[1] = esalt_bufs[salt_pos].data_buf[off + 9];
w2[2] = esalt_bufs[salt_pos].data_buf[off + 10];
w2[3] = esalt_bufs[salt_pos].data_buf[off + 11];
w3[0] = esalt_bufs[salt_pos].data_buf[off + 12];
w3[1] = esalt_bufs[salt_pos].data_buf[off + 13];
w0[0] = esalt_bufs[digests_offset].data_buf[off + 0];
w0[1] = esalt_bufs[digests_offset].data_buf[off + 1];
w0[2] = esalt_bufs[digests_offset].data_buf[off + 2];
w0[3] = esalt_bufs[digests_offset].data_buf[off + 3];
w1[0] = esalt_bufs[digests_offset].data_buf[off + 4];
w1[1] = esalt_bufs[digests_offset].data_buf[off + 5];
w1[2] = esalt_bufs[digests_offset].data_buf[off + 6];
w1[3] = esalt_bufs[digests_offset].data_buf[off + 7];
w2[0] = esalt_bufs[digests_offset].data_buf[off + 8];
w2[1] = esalt_bufs[digests_offset].data_buf[off + 9];
w2[2] = esalt_bufs[digests_offset].data_buf[off + 10];
w2[3] = esalt_bufs[digests_offset].data_buf[off + 11];
w3[0] = esalt_bufs[digests_offset].data_buf[off + 12];
w3[1] = esalt_bufs[digests_offset].data_buf[off + 13];
w3[2] = 0;
w3[3] = (64 + size) * 8;

@ -1843,10 +1843,10 @@ __kernel void m08800_comp (__global pw_t *pws, __global const kernel_rule_t *rul
// 3. decrypt real data, xor essiv afterwards
data[0] = androidfde_bufs[salt_pos].data[0];
data[1] = androidfde_bufs[salt_pos].data[1];
data[2] = androidfde_bufs[salt_pos].data[2];
data[3] = androidfde_bufs[salt_pos].data[3];
data[0] = androidfde_bufs[digests_offset].data[0];
data[1] = androidfde_bufs[digests_offset].data[1];
data[2] = androidfde_bufs[digests_offset].data[2];
data[3] = androidfde_bufs[digests_offset].data[3];
iv[0] = essiv[0];
iv[1] = essiv[1];
@ -1920,15 +1920,15 @@ __kernel void m08800_comp (__global pw_t *pws, __global const kernel_rule_t *rul
for (u32 i = 4; i < 16; i += 4)
{
data[0] = androidfde_bufs[salt_pos].data[256 + i + 0];
data[1] = androidfde_bufs[salt_pos].data[256 + i + 1];
data[2] = androidfde_bufs[salt_pos].data[256 + i + 2];
data[3] = androidfde_bufs[salt_pos].data[256 + i + 3];
iv[0] = androidfde_bufs[salt_pos].data[256 + i + 0 - 4];
iv[1] = androidfde_bufs[salt_pos].data[256 + i + 1 - 4];
iv[2] = androidfde_bufs[salt_pos].data[256 + i + 2 - 4];
iv[3] = androidfde_bufs[salt_pos].data[256 + i + 3 - 4];
data[0] = androidfde_bufs[digests_offset].data[256 + i + 0];
data[1] = androidfde_bufs[digests_offset].data[256 + i + 1];
data[2] = androidfde_bufs[digests_offset].data[256 + i + 2];
data[3] = androidfde_bufs[digests_offset].data[256 + i + 3];
iv[0] = androidfde_bufs[digests_offset].data[256 + i + 0 - 4];
iv[1] = androidfde_bufs[digests_offset].data[256 + i + 1 - 4];
iv[2] = androidfde_bufs[digests_offset].data[256 + i + 2 - 4];
iv[3] = androidfde_bufs[digests_offset].data[256 + i + 3 - 4];
AES128_decrypt (data, out, rdk, s_td0, s_td1, s_td2, s_td3, s_td4);

@ -1630,10 +1630,10 @@ __kernel void m09400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 verifier[4];
verifier[0] = office2007_bufs[salt_pos].encryptedVerifier[0];
verifier[1] = office2007_bufs[salt_pos].encryptedVerifier[1];
verifier[2] = office2007_bufs[salt_pos].encryptedVerifier[2];
verifier[3] = office2007_bufs[salt_pos].encryptedVerifier[3];
verifier[0] = office2007_bufs[digests_offset].encryptedVerifier[0];
verifier[1] = office2007_bufs[digests_offset].encryptedVerifier[1];
verifier[2] = office2007_bufs[digests_offset].encryptedVerifier[2];
verifier[3] = office2007_bufs[digests_offset].encryptedVerifier[3];
u32 data[8];

@ -1328,10 +1328,10 @@ __kernel void m09500_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 data[4];
data[0] = office2010_bufs[salt_pos].encryptedVerifier[0];
data[1] = office2010_bufs[salt_pos].encryptedVerifier[1];
data[2] = office2010_bufs[salt_pos].encryptedVerifier[2];
data[3] = office2010_bufs[salt_pos].encryptedVerifier[3];
data[0] = office2010_bufs[digests_offset].encryptedVerifier[0];
data[1] = office2010_bufs[digests_offset].encryptedVerifier[1];
data[2] = office2010_bufs[digests_offset].encryptedVerifier[2];
data[3] = office2010_bufs[digests_offset].encryptedVerifier[3];
u32 ukeyx[4];

@ -1390,10 +1390,10 @@ __kernel void m09600_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 data[4];
data[0] = office2013_bufs[salt_pos].encryptedVerifier[0];
data[1] = office2013_bufs[salt_pos].encryptedVerifier[1];
data[2] = office2013_bufs[salt_pos].encryptedVerifier[2];
data[3] = office2013_bufs[salt_pos].encryptedVerifier[3];
data[0] = office2013_bufs[digests_offset].encryptedVerifier[0];
data[1] = office2013_bufs[digests_offset].encryptedVerifier[1];
data[2] = office2013_bufs[digests_offset].encryptedVerifier[2];
data[3] = office2013_bufs[digests_offset].encryptedVerifier[3];
u32 ukeyx[8];

@ -633,14 +633,14 @@ __kernel void m09700_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -822,14 +822,14 @@ __kernel void m09700_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -631,14 +631,14 @@ __kernel void m09700_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -878,14 +878,14 @@ __kernel void m09700_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -287,14 +287,14 @@ void m09700m (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -697,14 +697,14 @@ void m09700s (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -278,14 +278,14 @@ __kernel void m09710_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -418,14 +418,14 @@ __kernel void m09710_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -276,14 +276,14 @@ __kernel void m09710_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -462,14 +462,14 @@ __kernel void m09710_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -253,14 +253,14 @@ void m09710m (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -364,14 +364,14 @@ void m09710s (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
* esalt
*/
const u32 version = oldoffice01_bufs[salt_pos].version;
const u32 version = oldoffice01_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice01_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice01_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice01_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice01_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice01_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -319,14 +319,14 @@ __kernel void m09800_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -519,14 +519,14 @@ __kernel void m09800_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -317,14 +317,14 @@ __kernel void m09800_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -567,14 +567,14 @@ __kernel void m09800_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -291,14 +291,14 @@ void m09800m (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -459,14 +459,14 @@ void m09800s (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -308,14 +308,14 @@ __kernel void m09810_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -435,14 +435,14 @@ __kernel void m09810_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -306,14 +306,14 @@ __kernel void m09810_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -479,14 +479,14 @@ __kernel void m09810_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -283,14 +283,14 @@ void m09810m (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* loop
@ -379,14 +379,14 @@ void m09810s (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
* esalt
*/
const u32 version = oldoffice34_bufs[salt_pos].version;
const u32 version = oldoffice34_bufs[digests_offset].version;
u32 encryptedVerifier[4];
encryptedVerifier[0] = oldoffice34_bufs[salt_pos].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[salt_pos].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[salt_pos].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[salt_pos].encryptedVerifier[3];
encryptedVerifier[0] = oldoffice34_bufs[digests_offset].encryptedVerifier[0];
encryptedVerifier[1] = oldoffice34_bufs[digests_offset].encryptedVerifier[1];
encryptedVerifier[2] = oldoffice34_bufs[digests_offset].encryptedVerifier[2];
encryptedVerifier[3] = oldoffice34_bufs[digests_offset].encryptedVerifier[3];
/**
* digest

@ -277,23 +277,23 @@ __kernel void m10400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* loop
@ -453,23 +453,23 @@ __kernel void m10400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* digest

@ -275,23 +275,23 @@ __kernel void m10400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* loop
@ -511,23 +511,23 @@ __kernel void m10400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* digest

@ -252,23 +252,23 @@ void m10400m (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
u32 p0[4];
u32 p1[4];
@ -418,23 +418,23 @@ void m10400s (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
u32 p0[4];
u32 p1[4];

@ -177,23 +177,23 @@ __kernel void m10410_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* loop
@ -319,23 +319,23 @@ __kernel void m10410_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* digest

@ -160,23 +160,23 @@ __kernel void m10420_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* loop
@ -321,23 +321,23 @@ __kernel void m10420_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* digest

@ -158,23 +158,23 @@ __kernel void m10420_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* loop
@ -379,23 +379,23 @@ __kernel void m10420_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
/**
* digest

@ -137,23 +137,23 @@ void m10420m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
u32 p0[4];
u32 p1[4];
@ -290,23 +290,23 @@ void m10420s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[4];
id_buf[0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[3] = pdf_bufs[digests_offset].id_buf[3];
u32 p0[4];
u32 p1[4];

@ -295,48 +295,48 @@ __kernel void m10500_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 o_buf[8];
o_buf[0] = pdf_bufs[salt_pos].o_buf[0];
o_buf[1] = pdf_bufs[salt_pos].o_buf[1];
o_buf[2] = pdf_bufs[salt_pos].o_buf[2];
o_buf[3] = pdf_bufs[salt_pos].o_buf[3];
o_buf[4] = pdf_bufs[salt_pos].o_buf[4];
o_buf[5] = pdf_bufs[salt_pos].o_buf[5];
o_buf[6] = pdf_bufs[salt_pos].o_buf[6];
o_buf[7] = pdf_bufs[salt_pos].o_buf[7];
o_buf[0] = pdf_bufs[digests_offset].o_buf[0];
o_buf[1] = pdf_bufs[digests_offset].o_buf[1];
o_buf[2] = pdf_bufs[digests_offset].o_buf[2];
o_buf[3] = pdf_bufs[digests_offset].o_buf[3];
o_buf[4] = pdf_bufs[digests_offset].o_buf[4];
o_buf[5] = pdf_bufs[digests_offset].o_buf[5];
o_buf[6] = pdf_bufs[digests_offset].o_buf[6];
o_buf[7] = pdf_bufs[digests_offset].o_buf[7];
u32 P = pdf_bufs[salt_pos].P;
u32 P = pdf_bufs[digests_offset].P;
u32 id_buf[12];
id_buf[ 0] = pdf_bufs[salt_pos].id_buf[0];
id_buf[ 1] = pdf_bufs[salt_pos].id_buf[1];
id_buf[ 2] = pdf_bufs[salt_pos].id_buf[2];
id_buf[ 3] = pdf_bufs[salt_pos].id_buf[3];
id_buf[ 0] = pdf_bufs[digests_offset].id_buf[0];
id_buf[ 1] = pdf_bufs[digests_offset].id_buf[1];
id_buf[ 2] = pdf_bufs[digests_offset].id_buf[2];
id_buf[ 3] = pdf_bufs[digests_offset].id_buf[3];
id_buf[ 4] = pdf_bufs[salt_pos].id_buf[4];
id_buf[ 5] = pdf_bufs[salt_pos].id_buf[5];
id_buf[ 6] = pdf_bufs[salt_pos].id_buf[6];
id_buf[ 7] = pdf_bufs[salt_pos].id_buf[7];
id_buf[ 4] = pdf_bufs[digests_offset].id_buf[4];
id_buf[ 5] = pdf_bufs[digests_offset].id_buf[5];
id_buf[ 6] = pdf_bufs[digests_offset].id_buf[6];
id_buf[ 7] = pdf_bufs[digests_offset].id_buf[7];
id_buf[ 8] = 0;
id_buf[ 9] = 0;
id_buf[10] = 0;
id_buf[11] = 0;
u32 id_len = pdf_bufs[salt_pos].id_len;
u32 id_len = pdf_bufs[digests_offset].id_len;
u32 id_len4 = id_len / 4;
u32 rc4data[2];
rc4data[0] = pdf_bufs[salt_pos].rc4data[0];
rc4data[1] = pdf_bufs[salt_pos].rc4data[1];
rc4data[0] = pdf_bufs[digests_offset].rc4data[0];
rc4data[1] = pdf_bufs[digests_offset].rc4data[1];
u32 final_length = 68 + id_len;
u32 w11 = 0x80;
u32 w12 = 0;
if (pdf_bufs[salt_pos].enc_md != 1)
if (pdf_bufs[digests_offset].enc_md != 1)
{
w11 = 0xffffffff;
w12 = 0x80;

@ -462,20 +462,20 @@ __kernel void m10900_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 esalt_buf2[4];
u32 esalt_buf3[4];
esalt_buf0[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 0]);
esalt_buf0[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 1]);
esalt_buf0[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 2]);
esalt_buf0[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 3]);
esalt_buf1[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 4]);
esalt_buf1[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 5]);
esalt_buf1[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 6]);
esalt_buf1[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 7]);
esalt_buf2[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 8]);
esalt_buf2[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 9]);
esalt_buf2[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[10]);
esalt_buf2[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[11]);
esalt_buf3[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[12]);
esalt_buf3[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[13]);
esalt_buf0[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 0]);
esalt_buf0[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 1]);
esalt_buf0[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 2]);
esalt_buf0[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 3]);
esalt_buf1[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 4]);
esalt_buf1[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 5]);
esalt_buf1[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 6]);
esalt_buf1[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 7]);
esalt_buf2[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 8]);
esalt_buf2[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 9]);
esalt_buf2[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[10]);
esalt_buf2[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[11]);
esalt_buf3[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[12]);
esalt_buf3[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[13]);
esalt_buf3[2] = 0;
esalt_buf3[3] = (64 + salt_len + 4) * 8;

@ -1312,14 +1312,14 @@ __kernel void m11300_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 out[4];
for (u32 i = 0; i < esalt_bufs[salt_pos].cry_master_len; i += 16)
for (u32 i = 0; i < esalt_bufs[digests_offset].cry_master_len; i += 16)
{
u32 data[4];
data[0] = swap32 (esalt_bufs[salt_pos].cry_master_buf[(i / 4) + 0]);
data[1] = swap32 (esalt_bufs[salt_pos].cry_master_buf[(i / 4) + 1]);
data[2] = swap32 (esalt_bufs[salt_pos].cry_master_buf[(i / 4) + 2]);
data[3] = swap32 (esalt_bufs[salt_pos].cry_master_buf[(i / 4) + 3]);
data[0] = swap32 (esalt_bufs[digests_offset].cry_master_buf[(i / 4) + 0]);
data[1] = swap32 (esalt_bufs[digests_offset].cry_master_buf[(i / 4) + 1]);
data[2] = swap32 (esalt_bufs[digests_offset].cry_master_buf[(i / 4) + 2]);
data[3] = swap32 (esalt_bufs[digests_offset].cry_master_buf[(i / 4) + 3]);
AES256_decrypt (data, out, rk, s_td0, s_td1, s_td2, s_td3, s_td4);

@ -799,41 +799,41 @@ __kernel void m11400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 salt_len = esalt_bufs[salt_pos].salt_len; // not a bug, we need to get it from the esalt
const u32 salt_len = esalt_bufs[digests_offset].salt_len; // not a bug, we need to get it from the esalt
u32 salt_buf0[16];
u32 salt_buf1[16];
salt_buf0[ 0] = esalt_bufs[salt_pos].salt_buf[ 0];
salt_buf0[ 1] = esalt_bufs[salt_pos].salt_buf[ 1];
salt_buf0[ 2] = esalt_bufs[salt_pos].salt_buf[ 2];
salt_buf0[ 3] = esalt_bufs[salt_pos].salt_buf[ 3];
salt_buf0[ 4] = esalt_bufs[salt_pos].salt_buf[ 4];
salt_buf0[ 5] = esalt_bufs[salt_pos].salt_buf[ 5];
salt_buf0[ 6] = esalt_bufs[salt_pos].salt_buf[ 6];
salt_buf0[ 7] = esalt_bufs[salt_pos].salt_buf[ 7];
salt_buf0[ 8] = esalt_bufs[salt_pos].salt_buf[ 8];
salt_buf0[ 9] = esalt_bufs[salt_pos].salt_buf[ 9];
salt_buf0[10] = esalt_bufs[salt_pos].salt_buf[10];
salt_buf0[11] = esalt_bufs[salt_pos].salt_buf[11];
salt_buf0[12] = esalt_bufs[salt_pos].salt_buf[12];
salt_buf0[13] = esalt_bufs[salt_pos].salt_buf[13];
salt_buf0[14] = esalt_bufs[salt_pos].salt_buf[14];
salt_buf0[15] = esalt_bufs[salt_pos].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[salt_pos].salt_buf[16];
salt_buf1[ 1] = esalt_bufs[salt_pos].salt_buf[17];
salt_buf1[ 2] = esalt_bufs[salt_pos].salt_buf[18];
salt_buf1[ 3] = esalt_bufs[salt_pos].salt_buf[19];
salt_buf1[ 4] = esalt_bufs[salt_pos].salt_buf[20];
salt_buf1[ 5] = esalt_bufs[salt_pos].salt_buf[21];
salt_buf1[ 6] = esalt_bufs[salt_pos].salt_buf[22];
salt_buf1[ 7] = esalt_bufs[salt_pos].salt_buf[23];
salt_buf1[ 8] = esalt_bufs[salt_pos].salt_buf[24];
salt_buf1[ 9] = esalt_bufs[salt_pos].salt_buf[25];
salt_buf1[10] = esalt_bufs[salt_pos].salt_buf[26];
salt_buf1[11] = esalt_bufs[salt_pos].salt_buf[27];
salt_buf1[12] = esalt_bufs[salt_pos].salt_buf[28];
salt_buf1[13] = esalt_bufs[salt_pos].salt_buf[29];
salt_buf0[ 0] = esalt_bufs[digests_offset].salt_buf[ 0];
salt_buf0[ 1] = esalt_bufs[digests_offset].salt_buf[ 1];
salt_buf0[ 2] = esalt_bufs[digests_offset].salt_buf[ 2];
salt_buf0[ 3] = esalt_bufs[digests_offset].salt_buf[ 3];
salt_buf0[ 4] = esalt_bufs[digests_offset].salt_buf[ 4];
salt_buf0[ 5] = esalt_bufs[digests_offset].salt_buf[ 5];
salt_buf0[ 6] = esalt_bufs[digests_offset].salt_buf[ 6];
salt_buf0[ 7] = esalt_bufs[digests_offset].salt_buf[ 7];
salt_buf0[ 8] = esalt_bufs[digests_offset].salt_buf[ 8];
salt_buf0[ 9] = esalt_bufs[digests_offset].salt_buf[ 9];
salt_buf0[10] = esalt_bufs[digests_offset].salt_buf[10];
salt_buf0[11] = esalt_bufs[digests_offset].salt_buf[11];
salt_buf0[12] = esalt_bufs[digests_offset].salt_buf[12];
salt_buf0[13] = esalt_bufs[digests_offset].salt_buf[13];
salt_buf0[14] = esalt_bufs[digests_offset].salt_buf[14];
salt_buf0[15] = esalt_bufs[digests_offset].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[digests_offset].salt_buf[16];
salt_buf1[ 1] = esalt_bufs[digests_offset].salt_buf[17];
salt_buf1[ 2] = esalt_bufs[digests_offset].salt_buf[18];
salt_buf1[ 3] = esalt_bufs[digests_offset].salt_buf[19];
salt_buf1[ 4] = esalt_bufs[digests_offset].salt_buf[20];
salt_buf1[ 5] = esalt_bufs[digests_offset].salt_buf[21];
salt_buf1[ 6] = esalt_bufs[digests_offset].salt_buf[22];
salt_buf1[ 7] = esalt_bufs[digests_offset].salt_buf[23];
salt_buf1[ 8] = esalt_bufs[digests_offset].salt_buf[24];
salt_buf1[ 9] = esalt_bufs[digests_offset].salt_buf[25];
salt_buf1[10] = esalt_bufs[digests_offset].salt_buf[26];
salt_buf1[11] = esalt_bufs[digests_offset].salt_buf[27];
salt_buf1[12] = esalt_bufs[digests_offset].salt_buf[28];
salt_buf1[13] = esalt_bufs[digests_offset].salt_buf[29];
salt_buf1[14] = 0;
salt_buf1[15] = 0;
@ -841,50 +841,50 @@ __kernel void m11400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 esalt_len = esalt_bufs[salt_pos].esalt_len;
const u32 esalt_len = esalt_bufs[digests_offset].esalt_len;
u32 esalt_buf0[16];
u32 esalt_buf1[16];
u32 esalt_buf2[16];
esalt_buf0[ 0] = esalt_bufs[salt_pos].esalt_buf[ 0];
esalt_buf0[ 1] = esalt_bufs[salt_pos].esalt_buf[ 1];
esalt_buf0[ 2] = esalt_bufs[salt_pos].esalt_buf[ 2];
esalt_buf0[ 3] = esalt_bufs[salt_pos].esalt_buf[ 3];
esalt_buf0[ 4] = esalt_bufs[salt_pos].esalt_buf[ 4];
esalt_buf0[ 5] = esalt_bufs[salt_pos].esalt_buf[ 5];
esalt_buf0[ 6] = esalt_bufs[salt_pos].esalt_buf[ 6];
esalt_buf0[ 7] = esalt_bufs[salt_pos].esalt_buf[ 7];
esalt_buf0[ 8] = esalt_bufs[salt_pos].esalt_buf[ 8];
esalt_buf0[ 9] = esalt_bufs[salt_pos].esalt_buf[ 9];
esalt_buf0[10] = esalt_bufs[salt_pos].esalt_buf[10];
esalt_buf0[11] = esalt_bufs[salt_pos].esalt_buf[11];
esalt_buf0[12] = esalt_bufs[salt_pos].esalt_buf[12];
esalt_buf0[13] = esalt_bufs[salt_pos].esalt_buf[13];
esalt_buf0[14] = esalt_bufs[salt_pos].esalt_buf[14];
esalt_buf0[15] = esalt_bufs[salt_pos].esalt_buf[15];
esalt_buf1[ 0] = esalt_bufs[salt_pos].esalt_buf[16];
esalt_buf1[ 1] = esalt_bufs[salt_pos].esalt_buf[17];
esalt_buf1[ 2] = esalt_bufs[salt_pos].esalt_buf[18];
esalt_buf1[ 3] = esalt_bufs[salt_pos].esalt_buf[19];
esalt_buf1[ 4] = esalt_bufs[salt_pos].esalt_buf[20];
esalt_buf1[ 5] = esalt_bufs[salt_pos].esalt_buf[21];
esalt_buf1[ 6] = esalt_bufs[salt_pos].esalt_buf[22];
esalt_buf1[ 7] = esalt_bufs[salt_pos].esalt_buf[23];
esalt_buf1[ 8] = esalt_bufs[salt_pos].esalt_buf[24];
esalt_buf1[ 9] = esalt_bufs[salt_pos].esalt_buf[25];
esalt_buf1[10] = esalt_bufs[salt_pos].esalt_buf[26];
esalt_buf1[11] = esalt_bufs[salt_pos].esalt_buf[27];
esalt_buf1[12] = esalt_bufs[salt_pos].esalt_buf[28];
esalt_buf1[13] = esalt_bufs[salt_pos].esalt_buf[29];
esalt_buf1[14] = esalt_bufs[salt_pos].esalt_buf[30];
esalt_buf1[15] = esalt_bufs[salt_pos].esalt_buf[31];
esalt_buf2[ 0] = esalt_bufs[salt_pos].esalt_buf[32];
esalt_buf2[ 1] = esalt_bufs[salt_pos].esalt_buf[33];
esalt_buf2[ 2] = esalt_bufs[salt_pos].esalt_buf[34];
esalt_buf2[ 3] = esalt_bufs[salt_pos].esalt_buf[35];
esalt_buf2[ 4] = esalt_bufs[salt_pos].esalt_buf[36];
esalt_buf2[ 5] = esalt_bufs[salt_pos].esalt_buf[37];
esalt_buf0[ 0] = esalt_bufs[digests_offset].esalt_buf[ 0];
esalt_buf0[ 1] = esalt_bufs[digests_offset].esalt_buf[ 1];
esalt_buf0[ 2] = esalt_bufs[digests_offset].esalt_buf[ 2];
esalt_buf0[ 3] = esalt_bufs[digests_offset].esalt_buf[ 3];
esalt_buf0[ 4] = esalt_bufs[digests_offset].esalt_buf[ 4];
esalt_buf0[ 5] = esalt_bufs[digests_offset].esalt_buf[ 5];
esalt_buf0[ 6] = esalt_bufs[digests_offset].esalt_buf[ 6];
esalt_buf0[ 7] = esalt_bufs[digests_offset].esalt_buf[ 7];
esalt_buf0[ 8] = esalt_bufs[digests_offset].esalt_buf[ 8];
esalt_buf0[ 9] = esalt_bufs[digests_offset].esalt_buf[ 9];
esalt_buf0[10] = esalt_bufs[digests_offset].esalt_buf[10];
esalt_buf0[11] = esalt_bufs[digests_offset].esalt_buf[11];
esalt_buf0[12] = esalt_bufs[digests_offset].esalt_buf[12];
esalt_buf0[13] = esalt_bufs[digests_offset].esalt_buf[13];
esalt_buf0[14] = esalt_bufs[digests_offset].esalt_buf[14];
esalt_buf0[15] = esalt_bufs[digests_offset].esalt_buf[15];
esalt_buf1[ 0] = esalt_bufs[digests_offset].esalt_buf[16];
esalt_buf1[ 1] = esalt_bufs[digests_offset].esalt_buf[17];
esalt_buf1[ 2] = esalt_bufs[digests_offset].esalt_buf[18];
esalt_buf1[ 3] = esalt_bufs[digests_offset].esalt_buf[19];
esalt_buf1[ 4] = esalt_bufs[digests_offset].esalt_buf[20];
esalt_buf1[ 5] = esalt_bufs[digests_offset].esalt_buf[21];
esalt_buf1[ 6] = esalt_bufs[digests_offset].esalt_buf[22];
esalt_buf1[ 7] = esalt_bufs[digests_offset].esalt_buf[23];
esalt_buf1[ 8] = esalt_bufs[digests_offset].esalt_buf[24];
esalt_buf1[ 9] = esalt_bufs[digests_offset].esalt_buf[25];
esalt_buf1[10] = esalt_bufs[digests_offset].esalt_buf[26];
esalt_buf1[11] = esalt_bufs[digests_offset].esalt_buf[27];
esalt_buf1[12] = esalt_bufs[digests_offset].esalt_buf[28];
esalt_buf1[13] = esalt_bufs[digests_offset].esalt_buf[29];
esalt_buf1[14] = esalt_bufs[digests_offset].esalt_buf[30];
esalt_buf1[15] = esalt_bufs[digests_offset].esalt_buf[31];
esalt_buf2[ 0] = esalt_bufs[digests_offset].esalt_buf[32];
esalt_buf2[ 1] = esalt_bufs[digests_offset].esalt_buf[33];
esalt_buf2[ 2] = esalt_bufs[digests_offset].esalt_buf[34];
esalt_buf2[ 3] = esalt_bufs[digests_offset].esalt_buf[35];
esalt_buf2[ 4] = esalt_bufs[digests_offset].esalt_buf[36];
esalt_buf2[ 5] = esalt_bufs[digests_offset].esalt_buf[37];
esalt_buf2[ 6] = 0;
esalt_buf2[ 7] = 0;
esalt_buf2[ 8] = 0;
@ -1549,41 +1549,41 @@ __kernel void m11400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 salt_len = esalt_bufs[salt_pos].salt_len; // not a bug, we need to get it from the esalt
const u32 salt_len = esalt_bufs[digests_offset].salt_len; // not a bug, we need to get it from the esalt
u32 salt_buf0[16];
u32 salt_buf1[16];
salt_buf0[ 0] = esalt_bufs[salt_pos].salt_buf[ 0];
salt_buf0[ 1] = esalt_bufs[salt_pos].salt_buf[ 1];
salt_buf0[ 2] = esalt_bufs[salt_pos].salt_buf[ 2];
salt_buf0[ 3] = esalt_bufs[salt_pos].salt_buf[ 3];
salt_buf0[ 4] = esalt_bufs[salt_pos].salt_buf[ 4];
salt_buf0[ 5] = esalt_bufs[salt_pos].salt_buf[ 5];
salt_buf0[ 6] = esalt_bufs[salt_pos].salt_buf[ 6];
salt_buf0[ 7] = esalt_bufs[salt_pos].salt_buf[ 7];
salt_buf0[ 8] = esalt_bufs[salt_pos].salt_buf[ 8];
salt_buf0[ 9] = esalt_bufs[salt_pos].salt_buf[ 9];
salt_buf0[10] = esalt_bufs[salt_pos].salt_buf[10];
salt_buf0[11] = esalt_bufs[salt_pos].salt_buf[11];
salt_buf0[12] = esalt_bufs[salt_pos].salt_buf[12];
salt_buf0[13] = esalt_bufs[salt_pos].salt_buf[13];
salt_buf0[14] = esalt_bufs[salt_pos].salt_buf[14];
salt_buf0[15] = esalt_bufs[salt_pos].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[salt_pos].salt_buf[16];
salt_buf1[ 1] = esalt_bufs[salt_pos].salt_buf[17];
salt_buf1[ 2] = esalt_bufs[salt_pos].salt_buf[18];
salt_buf1[ 3] = esalt_bufs[salt_pos].salt_buf[19];
salt_buf1[ 4] = esalt_bufs[salt_pos].salt_buf[20];
salt_buf1[ 5] = esalt_bufs[salt_pos].salt_buf[21];
salt_buf1[ 6] = esalt_bufs[salt_pos].salt_buf[22];
salt_buf1[ 7] = esalt_bufs[salt_pos].salt_buf[23];
salt_buf1[ 8] = esalt_bufs[salt_pos].salt_buf[24];
salt_buf1[ 9] = esalt_bufs[salt_pos].salt_buf[25];
salt_buf1[10] = esalt_bufs[salt_pos].salt_buf[26];
salt_buf1[11] = esalt_bufs[salt_pos].salt_buf[27];
salt_buf1[12] = esalt_bufs[salt_pos].salt_buf[28];
salt_buf1[13] = esalt_bufs[salt_pos].salt_buf[29];
salt_buf0[ 0] = esalt_bufs[digests_offset].salt_buf[ 0];
salt_buf0[ 1] = esalt_bufs[digests_offset].salt_buf[ 1];
salt_buf0[ 2] = esalt_bufs[digests_offset].salt_buf[ 2];
salt_buf0[ 3] = esalt_bufs[digests_offset].salt_buf[ 3];
salt_buf0[ 4] = esalt_bufs[digests_offset].salt_buf[ 4];
salt_buf0[ 5] = esalt_bufs[digests_offset].salt_buf[ 5];
salt_buf0[ 6] = esalt_bufs[digests_offset].salt_buf[ 6];
salt_buf0[ 7] = esalt_bufs[digests_offset].salt_buf[ 7];
salt_buf0[ 8] = esalt_bufs[digests_offset].salt_buf[ 8];
salt_buf0[ 9] = esalt_bufs[digests_offset].salt_buf[ 9];
salt_buf0[10] = esalt_bufs[digests_offset].salt_buf[10];
salt_buf0[11] = esalt_bufs[digests_offset].salt_buf[11];
salt_buf0[12] = esalt_bufs[digests_offset].salt_buf[12];
salt_buf0[13] = esalt_bufs[digests_offset].salt_buf[13];
salt_buf0[14] = esalt_bufs[digests_offset].salt_buf[14];
salt_buf0[15] = esalt_bufs[digests_offset].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[digests_offset].salt_buf[16];
salt_buf1[ 1] = esalt_bufs[digests_offset].salt_buf[17];
salt_buf1[ 2] = esalt_bufs[digests_offset].salt_buf[18];
salt_buf1[ 3] = esalt_bufs[digests_offset].salt_buf[19];
salt_buf1[ 4] = esalt_bufs[digests_offset].salt_buf[20];
salt_buf1[ 5] = esalt_bufs[digests_offset].salt_buf[21];
salt_buf1[ 6] = esalt_bufs[digests_offset].salt_buf[22];
salt_buf1[ 7] = esalt_bufs[digests_offset].salt_buf[23];
salt_buf1[ 8] = esalt_bufs[digests_offset].salt_buf[24];
salt_buf1[ 9] = esalt_bufs[digests_offset].salt_buf[25];
salt_buf1[10] = esalt_bufs[digests_offset].salt_buf[26];
salt_buf1[11] = esalt_bufs[digests_offset].salt_buf[27];
salt_buf1[12] = esalt_bufs[digests_offset].salt_buf[28];
salt_buf1[13] = esalt_bufs[digests_offset].salt_buf[29];
salt_buf1[14] = 0;
salt_buf1[15] = 0;
@ -1591,50 +1591,50 @@ __kernel void m11400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 esalt_len = esalt_bufs[salt_pos].esalt_len;
const u32 esalt_len = esalt_bufs[digests_offset].esalt_len;
u32 esalt_buf0[16];
u32 esalt_buf1[16];
u32 esalt_buf2[16];
esalt_buf0[ 0] = esalt_bufs[salt_pos].esalt_buf[ 0];
esalt_buf0[ 1] = esalt_bufs[salt_pos].esalt_buf[ 1];
esalt_buf0[ 2] = esalt_bufs[salt_pos].esalt_buf[ 2];
esalt_buf0[ 3] = esalt_bufs[salt_pos].esalt_buf[ 3];
esalt_buf0[ 4] = esalt_bufs[salt_pos].esalt_buf[ 4];
esalt_buf0[ 5] = esalt_bufs[salt_pos].esalt_buf[ 5];
esalt_buf0[ 6] = esalt_bufs[salt_pos].esalt_buf[ 6];
esalt_buf0[ 7] = esalt_bufs[salt_pos].esalt_buf[ 7];
esalt_buf0[ 8] = esalt_bufs[salt_pos].esalt_buf[ 8];
esalt_buf0[ 9] = esalt_bufs[salt_pos].esalt_buf[ 9];
esalt_buf0[10] = esalt_bufs[salt_pos].esalt_buf[10];
esalt_buf0[11] = esalt_bufs[salt_pos].esalt_buf[11];
esalt_buf0[12] = esalt_bufs[salt_pos].esalt_buf[12];
esalt_buf0[13] = esalt_bufs[salt_pos].esalt_buf[13];
esalt_buf0[14] = esalt_bufs[salt_pos].esalt_buf[14];
esalt_buf0[15] = esalt_bufs[salt_pos].esalt_buf[15];
esalt_buf1[ 0] = esalt_bufs[salt_pos].esalt_buf[16];
esalt_buf1[ 1] = esalt_bufs[salt_pos].esalt_buf[17];
esalt_buf1[ 2] = esalt_bufs[salt_pos].esalt_buf[18];
esalt_buf1[ 3] = esalt_bufs[salt_pos].esalt_buf[19];
esalt_buf1[ 4] = esalt_bufs[salt_pos].esalt_buf[20];
esalt_buf1[ 5] = esalt_bufs[salt_pos].esalt_buf[21];
esalt_buf1[ 6] = esalt_bufs[salt_pos].esalt_buf[22];
esalt_buf1[ 7] = esalt_bufs[salt_pos].esalt_buf[23];
esalt_buf1[ 8] = esalt_bufs[salt_pos].esalt_buf[24];
esalt_buf1[ 9] = esalt_bufs[salt_pos].esalt_buf[25];
esalt_buf1[10] = esalt_bufs[salt_pos].esalt_buf[26];
esalt_buf1[11] = esalt_bufs[salt_pos].esalt_buf[27];
esalt_buf1[12] = esalt_bufs[salt_pos].esalt_buf[28];
esalt_buf1[13] = esalt_bufs[salt_pos].esalt_buf[29];
esalt_buf1[14] = esalt_bufs[salt_pos].esalt_buf[30];
esalt_buf1[15] = esalt_bufs[salt_pos].esalt_buf[31];
esalt_buf2[ 0] = esalt_bufs[salt_pos].esalt_buf[32];
esalt_buf2[ 1] = esalt_bufs[salt_pos].esalt_buf[33];
esalt_buf2[ 2] = esalt_bufs[salt_pos].esalt_buf[34];
esalt_buf2[ 3] = esalt_bufs[salt_pos].esalt_buf[35];
esalt_buf2[ 4] = esalt_bufs[salt_pos].esalt_buf[36];
esalt_buf2[ 5] = esalt_bufs[salt_pos].esalt_buf[37];
esalt_buf0[ 0] = esalt_bufs[digests_offset].esalt_buf[ 0];
esalt_buf0[ 1] = esalt_bufs[digests_offset].esalt_buf[ 1];
esalt_buf0[ 2] = esalt_bufs[digests_offset].esalt_buf[ 2];
esalt_buf0[ 3] = esalt_bufs[digests_offset].esalt_buf[ 3];
esalt_buf0[ 4] = esalt_bufs[digests_offset].esalt_buf[ 4];
esalt_buf0[ 5] = esalt_bufs[digests_offset].esalt_buf[ 5];
esalt_buf0[ 6] = esalt_bufs[digests_offset].esalt_buf[ 6];
esalt_buf0[ 7] = esalt_bufs[digests_offset].esalt_buf[ 7];
esalt_buf0[ 8] = esalt_bufs[digests_offset].esalt_buf[ 8];
esalt_buf0[ 9] = esalt_bufs[digests_offset].esalt_buf[ 9];
esalt_buf0[10] = esalt_bufs[digests_offset].esalt_buf[10];
esalt_buf0[11] = esalt_bufs[digests_offset].esalt_buf[11];
esalt_buf0[12] = esalt_bufs[digests_offset].esalt_buf[12];
esalt_buf0[13] = esalt_bufs[digests_offset].esalt_buf[13];
esalt_buf0[14] = esalt_bufs[digests_offset].esalt_buf[14];
esalt_buf0[15] = esalt_bufs[digests_offset].esalt_buf[15];
esalt_buf1[ 0] = esalt_bufs[digests_offset].esalt_buf[16];
esalt_buf1[ 1] = esalt_bufs[digests_offset].esalt_buf[17];
esalt_buf1[ 2] = esalt_bufs[digests_offset].esalt_buf[18];
esalt_buf1[ 3] = esalt_bufs[digests_offset].esalt_buf[19];
esalt_buf1[ 4] = esalt_bufs[digests_offset].esalt_buf[20];
esalt_buf1[ 5] = esalt_bufs[digests_offset].esalt_buf[21];
esalt_buf1[ 6] = esalt_bufs[digests_offset].esalt_buf[22];
esalt_buf1[ 7] = esalt_bufs[digests_offset].esalt_buf[23];
esalt_buf1[ 8] = esalt_bufs[digests_offset].esalt_buf[24];
esalt_buf1[ 9] = esalt_bufs[digests_offset].esalt_buf[25];
esalt_buf1[10] = esalt_bufs[digests_offset].esalt_buf[26];
esalt_buf1[11] = esalt_bufs[digests_offset].esalt_buf[27];
esalt_buf1[12] = esalt_bufs[digests_offset].esalt_buf[28];
esalt_buf1[13] = esalt_bufs[digests_offset].esalt_buf[29];
esalt_buf1[14] = esalt_bufs[digests_offset].esalt_buf[30];
esalt_buf1[15] = esalt_bufs[digests_offset].esalt_buf[31];
esalt_buf2[ 0] = esalt_bufs[digests_offset].esalt_buf[32];
esalt_buf2[ 1] = esalt_bufs[digests_offset].esalt_buf[33];
esalt_buf2[ 2] = esalt_bufs[digests_offset].esalt_buf[34];
esalt_buf2[ 3] = esalt_bufs[digests_offset].esalt_buf[35];
esalt_buf2[ 4] = esalt_bufs[digests_offset].esalt_buf[36];
esalt_buf2[ 5] = esalt_bufs[digests_offset].esalt_buf[37];
esalt_buf2[ 6] = 0;
esalt_buf2[ 7] = 0;
esalt_buf2[ 8] = 0;

@ -797,41 +797,41 @@ __kernel void m11400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 salt_len = esalt_bufs[salt_pos].salt_len; // not a bug, we need to get it from the esalt
const u32 salt_len = esalt_bufs[digests_offset].salt_len; // not a bug, we need to get it from the esalt
u32 salt_buf0[16];
u32 salt_buf1[16];
salt_buf0[ 0] = esalt_bufs[salt_pos].salt_buf[ 0];
salt_buf0[ 1] = esalt_bufs[salt_pos].salt_buf[ 1];
salt_buf0[ 2] = esalt_bufs[salt_pos].salt_buf[ 2];
salt_buf0[ 3] = esalt_bufs[salt_pos].salt_buf[ 3];
salt_buf0[ 4] = esalt_bufs[salt_pos].salt_buf[ 4];
salt_buf0[ 5] = esalt_bufs[salt_pos].salt_buf[ 5];
salt_buf0[ 6] = esalt_bufs[salt_pos].salt_buf[ 6];
salt_buf0[ 7] = esalt_bufs[salt_pos].salt_buf[ 7];
salt_buf0[ 8] = esalt_bufs[salt_pos].salt_buf[ 8];
salt_buf0[ 9] = esalt_bufs[salt_pos].salt_buf[ 9];
salt_buf0[10] = esalt_bufs[salt_pos].salt_buf[10];
salt_buf0[11] = esalt_bufs[salt_pos].salt_buf[11];
salt_buf0[12] = esalt_bufs[salt_pos].salt_buf[12];
salt_buf0[13] = esalt_bufs[salt_pos].salt_buf[13];
salt_buf0[14] = esalt_bufs[salt_pos].salt_buf[14];
salt_buf0[15] = esalt_bufs[salt_pos].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[salt_pos].salt_buf[16];
salt_buf1[ 1] = esalt_bufs[salt_pos].salt_buf[17];
salt_buf1[ 2] = esalt_bufs[salt_pos].salt_buf[18];
salt_buf1[ 3] = esalt_bufs[salt_pos].salt_buf[19];
salt_buf1[ 4] = esalt_bufs[salt_pos].salt_buf[20];
salt_buf1[ 5] = esalt_bufs[salt_pos].salt_buf[21];
salt_buf1[ 6] = esalt_bufs[salt_pos].salt_buf[22];
salt_buf1[ 7] = esalt_bufs[salt_pos].salt_buf[23];
salt_buf1[ 8] = esalt_bufs[salt_pos].salt_buf[24];
salt_buf1[ 9] = esalt_bufs[salt_pos].salt_buf[25];
salt_buf1[10] = esalt_bufs[salt_pos].salt_buf[26];
salt_buf1[11] = esalt_bufs[salt_pos].salt_buf[27];
salt_buf1[12] = esalt_bufs[salt_pos].salt_buf[28];
salt_buf1[13] = esalt_bufs[salt_pos].salt_buf[29];
salt_buf0[ 0] = esalt_bufs[digests_offset].salt_buf[ 0];
salt_buf0[ 1] = esalt_bufs[digests_offset].salt_buf[ 1];
salt_buf0[ 2] = esalt_bufs[digests_offset].salt_buf[ 2];
salt_buf0[ 3] = esalt_bufs[digests_offset].salt_buf[ 3];
salt_buf0[ 4] = esalt_bufs[digests_offset].salt_buf[ 4];
salt_buf0[ 5] = esalt_bufs[digests_offset].salt_buf[ 5];
salt_buf0[ 6] = esalt_bufs[digests_offset].salt_buf[ 6];
salt_buf0[ 7] = esalt_bufs[digests_offset].salt_buf[ 7];
salt_buf0[ 8] = esalt_bufs[digests_offset].salt_buf[ 8];
salt_buf0[ 9] = esalt_bufs[digests_offset].salt_buf[ 9];
salt_buf0[10] = esalt_bufs[digests_offset].salt_buf[10];
salt_buf0[11] = esalt_bufs[digests_offset].salt_buf[11];
salt_buf0[12] = esalt_bufs[digests_offset].salt_buf[12];
salt_buf0[13] = esalt_bufs[digests_offset].salt_buf[13];
salt_buf0[14] = esalt_bufs[digests_offset].salt_buf[14];
salt_buf0[15] = esalt_bufs[digests_offset].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[digests_offset].salt_buf[16];
salt_buf1[ 1] = esalt_bufs[digests_offset].salt_buf[17];
salt_buf1[ 2] = esalt_bufs[digests_offset].salt_buf[18];
salt_buf1[ 3] = esalt_bufs[digests_offset].salt_buf[19];
salt_buf1[ 4] = esalt_bufs[digests_offset].salt_buf[20];
salt_buf1[ 5] = esalt_bufs[digests_offset].salt_buf[21];
salt_buf1[ 6] = esalt_bufs[digests_offset].salt_buf[22];
salt_buf1[ 7] = esalt_bufs[digests_offset].salt_buf[23];
salt_buf1[ 8] = esalt_bufs[digests_offset].salt_buf[24];
salt_buf1[ 9] = esalt_bufs[digests_offset].salt_buf[25];
salt_buf1[10] = esalt_bufs[digests_offset].salt_buf[26];
salt_buf1[11] = esalt_bufs[digests_offset].salt_buf[27];
salt_buf1[12] = esalt_bufs[digests_offset].salt_buf[28];
salt_buf1[13] = esalt_bufs[digests_offset].salt_buf[29];
salt_buf1[14] = 0;
salt_buf1[15] = 0;
@ -839,50 +839,50 @@ __kernel void m11400_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 esalt_len = esalt_bufs[salt_pos].esalt_len;
const u32 esalt_len = esalt_bufs[digests_offset].esalt_len;
u32 esalt_buf0[16];
u32 esalt_buf1[16];
u32 esalt_buf2[16];
esalt_buf0[ 0] = esalt_bufs[salt_pos].esalt_buf[ 0];
esalt_buf0[ 1] = esalt_bufs[salt_pos].esalt_buf[ 1];
esalt_buf0[ 2] = esalt_bufs[salt_pos].esalt_buf[ 2];
esalt_buf0[ 3] = esalt_bufs[salt_pos].esalt_buf[ 3];
esalt_buf0[ 4] = esalt_bufs[salt_pos].esalt_buf[ 4];
esalt_buf0[ 5] = esalt_bufs[salt_pos].esalt_buf[ 5];
esalt_buf0[ 6] = esalt_bufs[salt_pos].esalt_buf[ 6];
esalt_buf0[ 7] = esalt_bufs[salt_pos].esalt_buf[ 7];
esalt_buf0[ 8] = esalt_bufs[salt_pos].esalt_buf[ 8];
esalt_buf0[ 9] = esalt_bufs[salt_pos].esalt_buf[ 9];
esalt_buf0[10] = esalt_bufs[salt_pos].esalt_buf[10];
esalt_buf0[11] = esalt_bufs[salt_pos].esalt_buf[11];
esalt_buf0[12] = esalt_bufs[salt_pos].esalt_buf[12];
esalt_buf0[13] = esalt_bufs[salt_pos].esalt_buf[13];
esalt_buf0[14] = esalt_bufs[salt_pos].esalt_buf[14];
esalt_buf0[15] = esalt_bufs[salt_pos].esalt_buf[15];
esalt_buf1[ 0] = esalt_bufs[salt_pos].esalt_buf[16];
esalt_buf1[ 1] = esalt_bufs[salt_pos].esalt_buf[17];
esalt_buf1[ 2] = esalt_bufs[salt_pos].esalt_buf[18];
esalt_buf1[ 3] = esalt_bufs[salt_pos].esalt_buf[19];
esalt_buf1[ 4] = esalt_bufs[salt_pos].esalt_buf[20];
esalt_buf1[ 5] = esalt_bufs[salt_pos].esalt_buf[21];
esalt_buf1[ 6] = esalt_bufs[salt_pos].esalt_buf[22];
esalt_buf1[ 7] = esalt_bufs[salt_pos].esalt_buf[23];
esalt_buf1[ 8] = esalt_bufs[salt_pos].esalt_buf[24];
esalt_buf1[ 9] = esalt_bufs[salt_pos].esalt_buf[25];
esalt_buf1[10] = esalt_bufs[salt_pos].esalt_buf[26];
esalt_buf1[11] = esalt_bufs[salt_pos].esalt_buf[27];
esalt_buf1[12] = esalt_bufs[salt_pos].esalt_buf[28];
esalt_buf1[13] = esalt_bufs[salt_pos].esalt_buf[29];
esalt_buf1[14] = esalt_bufs[salt_pos].esalt_buf[30];
esalt_buf1[15] = esalt_bufs[salt_pos].esalt_buf[31];
esalt_buf2[ 0] = esalt_bufs[salt_pos].esalt_buf[32];
esalt_buf2[ 1] = esalt_bufs[salt_pos].esalt_buf[33];
esalt_buf2[ 2] = esalt_bufs[salt_pos].esalt_buf[34];
esalt_buf2[ 3] = esalt_bufs[salt_pos].esalt_buf[35];
esalt_buf2[ 4] = esalt_bufs[salt_pos].esalt_buf[36];
esalt_buf2[ 5] = esalt_bufs[salt_pos].esalt_buf[37];
esalt_buf0[ 0] = esalt_bufs[digests_offset].esalt_buf[ 0];
esalt_buf0[ 1] = esalt_bufs[digests_offset].esalt_buf[ 1];
esalt_buf0[ 2] = esalt_bufs[digests_offset].esalt_buf[ 2];
esalt_buf0[ 3] = esalt_bufs[digests_offset].esalt_buf[ 3];
esalt_buf0[ 4] = esalt_bufs[digests_offset].esalt_buf[ 4];
esalt_buf0[ 5] = esalt_bufs[digests_offset].esalt_buf[ 5];
esalt_buf0[ 6] = esalt_bufs[digests_offset].esalt_buf[ 6];
esalt_buf0[ 7] = esalt_bufs[digests_offset].esalt_buf[ 7];
esalt_buf0[ 8] = esalt_bufs[digests_offset].esalt_buf[ 8];
esalt_buf0[ 9] = esalt_bufs[digests_offset].esalt_buf[ 9];
esalt_buf0[10] = esalt_bufs[digests_offset].esalt_buf[10];
esalt_buf0[11] = esalt_bufs[digests_offset].esalt_buf[11];
esalt_buf0[12] = esalt_bufs[digests_offset].esalt_buf[12];
esalt_buf0[13] = esalt_bufs[digests_offset].esalt_buf[13];
esalt_buf0[14] = esalt_bufs[digests_offset].esalt_buf[14];
esalt_buf0[15] = esalt_bufs[digests_offset].esalt_buf[15];
esalt_buf1[ 0] = esalt_bufs[digests_offset].esalt_buf[16];
esalt_buf1[ 1] = esalt_bufs[digests_offset].esalt_buf[17];
esalt_buf1[ 2] = esalt_bufs[digests_offset].esalt_buf[18];
esalt_buf1[ 3] = esalt_bufs[digests_offset].esalt_buf[19];
esalt_buf1[ 4] = esalt_bufs[digests_offset].esalt_buf[20];
esalt_buf1[ 5] = esalt_bufs[digests_offset].esalt_buf[21];
esalt_buf1[ 6] = esalt_bufs[digests_offset].esalt_buf[22];
esalt_buf1[ 7] = esalt_bufs[digests_offset].esalt_buf[23];
esalt_buf1[ 8] = esalt_bufs[digests_offset].esalt_buf[24];
esalt_buf1[ 9] = esalt_bufs[digests_offset].esalt_buf[25];
esalt_buf1[10] = esalt_bufs[digests_offset].esalt_buf[26];
esalt_buf1[11] = esalt_bufs[digests_offset].esalt_buf[27];
esalt_buf1[12] = esalt_bufs[digests_offset].esalt_buf[28];
esalt_buf1[13] = esalt_bufs[digests_offset].esalt_buf[29];
esalt_buf1[14] = esalt_bufs[digests_offset].esalt_buf[30];
esalt_buf1[15] = esalt_bufs[digests_offset].esalt_buf[31];
esalt_buf2[ 0] = esalt_bufs[digests_offset].esalt_buf[32];
esalt_buf2[ 1] = esalt_bufs[digests_offset].esalt_buf[33];
esalt_buf2[ 2] = esalt_bufs[digests_offset].esalt_buf[34];
esalt_buf2[ 3] = esalt_bufs[digests_offset].esalt_buf[35];
esalt_buf2[ 4] = esalt_bufs[digests_offset].esalt_buf[36];
esalt_buf2[ 5] = esalt_bufs[digests_offset].esalt_buf[37];
esalt_buf2[ 6] = 0;
esalt_buf2[ 7] = 0;
esalt_buf2[ 8] = 0;
@ -1605,41 +1605,41 @@ __kernel void m11400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 salt_len = esalt_bufs[salt_pos].salt_len; // not a bug, we need to get it from the esalt
const u32 salt_len = esalt_bufs[digests_offset].salt_len; // not a bug, we need to get it from the esalt
u32 salt_buf0[16];
u32 salt_buf1[16];
salt_buf0[ 0] = esalt_bufs[salt_pos].salt_buf[ 0];
salt_buf0[ 1] = esalt_bufs[salt_pos].salt_buf[ 1];
salt_buf0[ 2] = esalt_bufs[salt_pos].salt_buf[ 2];
salt_buf0[ 3] = esalt_bufs[salt_pos].salt_buf[ 3];
salt_buf0[ 4] = esalt_bufs[salt_pos].salt_buf[ 4];
salt_buf0[ 5] = esalt_bufs[salt_pos].salt_buf[ 5];
salt_buf0[ 6] = esalt_bufs[salt_pos].salt_buf[ 6];
salt_buf0[ 7] = esalt_bufs[salt_pos].salt_buf[ 7];
salt_buf0[ 8] = esalt_bufs[salt_pos].salt_buf[ 8];
salt_buf0[ 9] = esalt_bufs[salt_pos].salt_buf[ 9];
salt_buf0[10] = esalt_bufs[salt_pos].salt_buf[10];
salt_buf0[11] = esalt_bufs[salt_pos].salt_buf[11];
salt_buf0[12] = esalt_bufs[salt_pos].salt_buf[12];
salt_buf0[13] = esalt_bufs[salt_pos].salt_buf[13];
salt_buf0[14] = esalt_bufs[salt_pos].salt_buf[14];
salt_buf0[15] = esalt_bufs[salt_pos].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[salt_pos].salt_buf[16];
salt_buf1[ 1] = esalt_bufs[salt_pos].salt_buf[17];
salt_buf1[ 2] = esalt_bufs[salt_pos].salt_buf[18];
salt_buf1[ 3] = esalt_bufs[salt_pos].salt_buf[19];
salt_buf1[ 4] = esalt_bufs[salt_pos].salt_buf[20];
salt_buf1[ 5] = esalt_bufs[salt_pos].salt_buf[21];
salt_buf1[ 6] = esalt_bufs[salt_pos].salt_buf[22];
salt_buf1[ 7] = esalt_bufs[salt_pos].salt_buf[23];
salt_buf1[ 8] = esalt_bufs[salt_pos].salt_buf[24];
salt_buf1[ 9] = esalt_bufs[salt_pos].salt_buf[25];
salt_buf1[10] = esalt_bufs[salt_pos].salt_buf[26];
salt_buf1[11] = esalt_bufs[salt_pos].salt_buf[27];
salt_buf1[12] = esalt_bufs[salt_pos].salt_buf[28];
salt_buf1[13] = esalt_bufs[salt_pos].salt_buf[29];
salt_buf0[ 0] = esalt_bufs[digests_offset].salt_buf[ 0];
salt_buf0[ 1] = esalt_bufs[digests_offset].salt_buf[ 1];
salt_buf0[ 2] = esalt_bufs[digests_offset].salt_buf[ 2];
salt_buf0[ 3] = esalt_bufs[digests_offset].salt_buf[ 3];
salt_buf0[ 4] = esalt_bufs[digests_offset].salt_buf[ 4];
salt_buf0[ 5] = esalt_bufs[digests_offset].salt_buf[ 5];
salt_buf0[ 6] = esalt_bufs[digests_offset].salt_buf[ 6];
salt_buf0[ 7] = esalt_bufs[digests_offset].salt_buf[ 7];
salt_buf0[ 8] = esalt_bufs[digests_offset].salt_buf[ 8];
salt_buf0[ 9] = esalt_bufs[digests_offset].salt_buf[ 9];
salt_buf0[10] = esalt_bufs[digests_offset].salt_buf[10];
salt_buf0[11] = esalt_bufs[digests_offset].salt_buf[11];
salt_buf0[12] = esalt_bufs[digests_offset].salt_buf[12];
salt_buf0[13] = esalt_bufs[digests_offset].salt_buf[13];
salt_buf0[14] = esalt_bufs[digests_offset].salt_buf[14];
salt_buf0[15] = esalt_bufs[digests_offset].salt_buf[15];
salt_buf1[ 0] = esalt_bufs[digests_offset].salt_buf[16];
salt_buf1[ 1] = esalt_bufs[digests_offset].salt_buf[17];
salt_buf1[ 2] = esalt_bufs[digests_offset].salt_buf[18];
salt_buf1[ 3] = esalt_bufs[digests_offset].salt_buf[19];
salt_buf1[ 4] = esalt_bufs[digests_offset].salt_buf[20];
salt_buf1[ 5] = esalt_bufs[digests_offset].salt_buf[21];
salt_buf1[ 6] = esalt_bufs[digests_offset].salt_buf[22];
salt_buf1[ 7] = esalt_bufs[digests_offset].salt_buf[23];
salt_buf1[ 8] = esalt_bufs[digests_offset].salt_buf[24];
salt_buf1[ 9] = esalt_bufs[digests_offset].salt_buf[25];
salt_buf1[10] = esalt_bufs[digests_offset].salt_buf[26];
salt_buf1[11] = esalt_bufs[digests_offset].salt_buf[27];
salt_buf1[12] = esalt_bufs[digests_offset].salt_buf[28];
salt_buf1[13] = esalt_bufs[digests_offset].salt_buf[29];
salt_buf1[14] = 0;
salt_buf1[15] = 0;
@ -1647,50 +1647,50 @@ __kernel void m11400_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* esalt
*/
const u32 esalt_len = esalt_bufs[salt_pos].esalt_len;
const u32 esalt_len = esalt_bufs[digests_offset].esalt_len;
u32 esalt_buf0[16];
u32 esalt_buf1[16];
u32 esalt_buf2[16];
esalt_buf0[ 0] = esalt_bufs[salt_pos].esalt_buf[ 0];
esalt_buf0[ 1] = esalt_bufs[salt_pos].esalt_buf[ 1];
esalt_buf0[ 2] = esalt_bufs[salt_pos].esalt_buf[ 2];
esalt_buf0[ 3] = esalt_bufs[salt_pos].esalt_buf[ 3];
esalt_buf0[ 4] = esalt_bufs[salt_pos].esalt_buf[ 4];
esalt_buf0[ 5] = esalt_bufs[salt_pos].esalt_buf[ 5];
esalt_buf0[ 6] = esalt_bufs[salt_pos].esalt_buf[ 6];
esalt_buf0[ 7] = esalt_bufs[salt_pos].esalt_buf[ 7];
esalt_buf0[ 8] = esalt_bufs[salt_pos].esalt_buf[ 8];
esalt_buf0[ 9] = esalt_bufs[salt_pos].esalt_buf[ 9];
esalt_buf0[10] = esalt_bufs[salt_pos].esalt_buf[10];
esalt_buf0[11] = esalt_bufs[salt_pos].esalt_buf[11];
esalt_buf0[12] = esalt_bufs[salt_pos].esalt_buf[12];
esalt_buf0[13] = esalt_bufs[salt_pos].esalt_buf[13];
esalt_buf0[14] = esalt_bufs[salt_pos].esalt_buf[14];
esalt_buf0[15] = esalt_bufs[salt_pos].esalt_buf[15];
esalt_buf1[ 0] = esalt_bufs[salt_pos].esalt_buf[16];
esalt_buf1[ 1] = esalt_bufs[salt_pos].esalt_buf[17];
esalt_buf1[ 2] = esalt_bufs[salt_pos].esalt_buf[18];
esalt_buf1[ 3] = esalt_bufs[salt_pos].esalt_buf[19];
esalt_buf1[ 4] = esalt_bufs[salt_pos].esalt_buf[20];
esalt_buf1[ 5] = esalt_bufs[salt_pos].esalt_buf[21];
esalt_buf1[ 6] = esalt_bufs[salt_pos].esalt_buf[22];
esalt_buf1[ 7] = esalt_bufs[salt_pos].esalt_buf[23];
esalt_buf1[ 8] = esalt_bufs[salt_pos].esalt_buf[24];
esalt_buf1[ 9] = esalt_bufs[salt_pos].esalt_buf[25];
esalt_buf1[10] = esalt_bufs[salt_pos].esalt_buf[26];
esalt_buf1[11] = esalt_bufs[salt_pos].esalt_buf[27];
esalt_buf1[12] = esalt_bufs[salt_pos].esalt_buf[28];
esalt_buf1[13] = esalt_bufs[salt_pos].esalt_buf[29];
esalt_buf1[14] = esalt_bufs[salt_pos].esalt_buf[30];
esalt_buf1[15] = esalt_bufs[salt_pos].esalt_buf[31];
esalt_buf2[ 0] = esalt_bufs[salt_pos].esalt_buf[32];
esalt_buf2[ 1] = esalt_bufs[salt_pos].esalt_buf[33];
esalt_buf2[ 2] = esalt_bufs[salt_pos].esalt_buf[34];
esalt_buf2[ 3] = esalt_bufs[salt_pos].esalt_buf[35];
esalt_buf2[ 4] = esalt_bufs[salt_pos].esalt_buf[36];
esalt_buf2[ 5] = esalt_bufs[salt_pos].esalt_buf[37];
esalt_buf0[ 0] = esalt_bufs[digests_offset].esalt_buf[ 0];
esalt_buf0[ 1] = esalt_bufs[digests_offset].esalt_buf[ 1];
esalt_buf0[ 2] = esalt_bufs[digests_offset].esalt_buf[ 2];
esalt_buf0[ 3] = esalt_bufs[digests_offset].esalt_buf[ 3];
esalt_buf0[ 4] = esalt_bufs[digests_offset].esalt_buf[ 4];
esalt_buf0[ 5] = esalt_bufs[digests_offset].esalt_buf[ 5];
esalt_buf0[ 6] = esalt_bufs[digests_offset].esalt_buf[ 6];
esalt_buf0[ 7] = esalt_bufs[digests_offset].esalt_buf[ 7];
esalt_buf0[ 8] = esalt_bufs[digests_offset].esalt_buf[ 8];
esalt_buf0[ 9] = esalt_bufs[digests_offset].esalt_buf[ 9];
esalt_buf0[10] = esalt_bufs[digests_offset].esalt_buf[10];
esalt_buf0[11] = esalt_bufs[digests_offset].esalt_buf[11];
esalt_buf0[12] = esalt_bufs[digests_offset].esalt_buf[12];
esalt_buf0[13] = esalt_bufs[digests_offset].esalt_buf[13];
esalt_buf0[14] = esalt_bufs[digests_offset].esalt_buf[14];
esalt_buf0[15] = esalt_bufs[digests_offset].esalt_buf[15];
esalt_buf1[ 0] = esalt_bufs[digests_offset].esalt_buf[16];
esalt_buf1[ 1] = esalt_bufs[digests_offset].esalt_buf[17];
esalt_buf1[ 2] = esalt_bufs[digests_offset].esalt_buf[18];
esalt_buf1[ 3] = esalt_bufs[digests_offset].esalt_buf[19];
esalt_buf1[ 4] = esalt_bufs[digests_offset].esalt_buf[20];
esalt_buf1[ 5] = esalt_bufs[digests_offset].esalt_buf[21];
esalt_buf1[ 6] = esalt_bufs[digests_offset].esalt_buf[22];
esalt_buf1[ 7] = esalt_bufs[digests_offset].esalt_buf[23];
esalt_buf1[ 8] = esalt_bufs[digests_offset].esalt_buf[24];
esalt_buf1[ 9] = esalt_bufs[digests_offset].esalt_buf[25];
esalt_buf1[10] = esalt_bufs[digests_offset].esalt_buf[26];
esalt_buf1[11] = esalt_bufs[digests_offset].esalt_buf[27];
esalt_buf1[12] = esalt_bufs[digests_offset].esalt_buf[28];
esalt_buf1[13] = esalt_bufs[digests_offset].esalt_buf[29];
esalt_buf1[14] = esalt_bufs[digests_offset].esalt_buf[30];
esalt_buf1[15] = esalt_bufs[digests_offset].esalt_buf[31];
esalt_buf2[ 0] = esalt_bufs[digests_offset].esalt_buf[32];
esalt_buf2[ 1] = esalt_bufs[digests_offset].esalt_buf[33];
esalt_buf2[ 2] = esalt_bufs[digests_offset].esalt_buf[34];
esalt_buf2[ 3] = esalt_bufs[digests_offset].esalt_buf[35];
esalt_buf2[ 4] = esalt_bufs[digests_offset].esalt_buf[36];
esalt_buf2[ 5] = esalt_bufs[digests_offset].esalt_buf[37];
esalt_buf2[ 6] = 0;
esalt_buf2[ 7] = 0;
esalt_buf2[ 8] = 0;

File diff suppressed because it is too large Load Diff

@ -430,20 +430,20 @@ __kernel void m11900_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 esalt_buf2[4];
u32 esalt_buf3[4];
esalt_buf0[0] = esalt_bufs[salt_pos].salt_buf[ 0];
esalt_buf0[1] = esalt_bufs[salt_pos].salt_buf[ 1];
esalt_buf0[2] = esalt_bufs[salt_pos].salt_buf[ 2];
esalt_buf0[3] = esalt_bufs[salt_pos].salt_buf[ 3];
esalt_buf1[0] = esalt_bufs[salt_pos].salt_buf[ 4];
esalt_buf1[1] = esalt_bufs[salt_pos].salt_buf[ 5];
esalt_buf1[2] = esalt_bufs[salt_pos].salt_buf[ 6];
esalt_buf1[3] = esalt_bufs[salt_pos].salt_buf[ 7];
esalt_buf2[0] = esalt_bufs[salt_pos].salt_buf[ 8];
esalt_buf2[1] = esalt_bufs[salt_pos].salt_buf[ 9];
esalt_buf2[2] = esalt_bufs[salt_pos].salt_buf[10];
esalt_buf2[3] = esalt_bufs[salt_pos].salt_buf[11];
esalt_buf3[0] = esalt_bufs[salt_pos].salt_buf[12];
esalt_buf3[1] = esalt_bufs[salt_pos].salt_buf[13];
esalt_buf0[0] = esalt_bufs[digests_offset].salt_buf[ 0];
esalt_buf0[1] = esalt_bufs[digests_offset].salt_buf[ 1];
esalt_buf0[2] = esalt_bufs[digests_offset].salt_buf[ 2];
esalt_buf0[3] = esalt_bufs[digests_offset].salt_buf[ 3];
esalt_buf1[0] = esalt_bufs[digests_offset].salt_buf[ 4];
esalt_buf1[1] = esalt_bufs[digests_offset].salt_buf[ 5];
esalt_buf1[2] = esalt_bufs[digests_offset].salt_buf[ 6];
esalt_buf1[3] = esalt_bufs[digests_offset].salt_buf[ 7];
esalt_buf2[0] = esalt_bufs[digests_offset].salt_buf[ 8];
esalt_buf2[1] = esalt_bufs[digests_offset].salt_buf[ 9];
esalt_buf2[2] = esalt_bufs[digests_offset].salt_buf[10];
esalt_buf2[3] = esalt_bufs[digests_offset].salt_buf[11];
esalt_buf3[0] = esalt_bufs[digests_offset].salt_buf[12];
esalt_buf3[1] = esalt_bufs[digests_offset].salt_buf[13];
esalt_buf3[2] = (64 + salt_len + 4) * 8;
esalt_buf3[3] = 0;

@ -498,20 +498,20 @@ __kernel void m12000_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 esalt_buf2[4];
u32 esalt_buf3[4];
esalt_buf0[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 0]);
esalt_buf0[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 1]);
esalt_buf0[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 2]);
esalt_buf0[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 3]);
esalt_buf1[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 4]);
esalt_buf1[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 5]);
esalt_buf1[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 6]);
esalt_buf1[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 7]);
esalt_buf2[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 8]);
esalt_buf2[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[ 9]);
esalt_buf2[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[10]);
esalt_buf2[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[11]);
esalt_buf3[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[12]);
esalt_buf3[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[13]);
esalt_buf0[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 0]);
esalt_buf0[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 1]);
esalt_buf0[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 2]);
esalt_buf0[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 3]);
esalt_buf1[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 4]);
esalt_buf1[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 5]);
esalt_buf1[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 6]);
esalt_buf1[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 7]);
esalt_buf2[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 8]);
esalt_buf2[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[ 9]);
esalt_buf2[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[10]);
esalt_buf2[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[11]);
esalt_buf3[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[12]);
esalt_buf3[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[13]);
esalt_buf3[2] = 0;
esalt_buf3[3] = (64 + salt_len + 4) * 8;

@ -736,10 +736,10 @@ void m13100 (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[
u32 checksum[4];
checksum[0] = krb5tgs_bufs[salt_pos].checksum[0];
checksum[1] = krb5tgs_bufs[salt_pos].checksum[1];
checksum[2] = krb5tgs_bufs[salt_pos].checksum[2];
checksum[3] = krb5tgs_bufs[salt_pos].checksum[3];
checksum[0] = krb5tgs_bufs[digests_offset].checksum[0];
checksum[1] = krb5tgs_bufs[digests_offset].checksum[1];
checksum[2] = krb5tgs_bufs[digests_offset].checksum[2];
checksum[3] = krb5tgs_bufs[digests_offset].checksum[3];
/**
* loop
@ -766,7 +766,7 @@ void m13100 (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[
tmp[2] = digest[2];
tmp[3] = digest[3];
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[salt_pos].edata2, krb5tgs_bufs[salt_pos].edata2_len, K2, checksum) == 1)
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[digests_offset].edata2, krb5tgs_bufs[digests_offset].edata2_len, K2, checksum) == 1)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
@ -816,10 +816,10 @@ __kernel void m13100_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 checksum[4];
checksum[0] = krb5tgs_bufs[salt_pos].checksum[0];
checksum[1] = krb5tgs_bufs[salt_pos].checksum[1];
checksum[2] = krb5tgs_bufs[salt_pos].checksum[2];
checksum[3] = krb5tgs_bufs[salt_pos].checksum[3];
checksum[0] = krb5tgs_bufs[digests_offset].checksum[0];
checksum[1] = krb5tgs_bufs[digests_offset].checksum[1];
checksum[2] = krb5tgs_bufs[digests_offset].checksum[2];
checksum[3] = krb5tgs_bufs[digests_offset].checksum[3];
/**
* loop
@ -851,7 +851,7 @@ __kernel void m13100_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
tmp[2] = digest[2];
tmp[3] = digest[3];
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[salt_pos].edata2, krb5tgs_bufs[salt_pos].edata2_len, K2, checksum) == 1)
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[digests_offset].edata2, krb5tgs_bufs[digests_offset].edata2_len, K2, checksum) == 1)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
@ -909,10 +909,10 @@ __kernel void m13100_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 checksum[4];
checksum[0] = krb5tgs_bufs[salt_pos].checksum[0];
checksum[1] = krb5tgs_bufs[salt_pos].checksum[1];
checksum[2] = krb5tgs_bufs[salt_pos].checksum[2];
checksum[3] = krb5tgs_bufs[salt_pos].checksum[3];
checksum[0] = krb5tgs_bufs[digests_offset].checksum[0];
checksum[1] = krb5tgs_bufs[digests_offset].checksum[1];
checksum[2] = krb5tgs_bufs[digests_offset].checksum[2];
checksum[3] = krb5tgs_bufs[digests_offset].checksum[3];
/**
* loop
@ -944,7 +944,7 @@ __kernel void m13100_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
tmp[2] = digest[2];
tmp[3] = digest[3];
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[salt_pos].edata2, krb5tgs_bufs[salt_pos].edata2_len, K2, checksum) == 1)
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[digests_offset].edata2, krb5tgs_bufs[digests_offset].edata2_len, K2, checksum) == 1)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}

@ -761,10 +761,10 @@ __kernel void m13100_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 checksum[4];
checksum[0] = krb5tgs_bufs[salt_pos].checksum[0];
checksum[1] = krb5tgs_bufs[salt_pos].checksum[1];
checksum[2] = krb5tgs_bufs[salt_pos].checksum[2];
checksum[3] = krb5tgs_bufs[salt_pos].checksum[3];
checksum[0] = krb5tgs_bufs[digests_offset].checksum[0];
checksum[1] = krb5tgs_bufs[digests_offset].checksum[1];
checksum[2] = krb5tgs_bufs[digests_offset].checksum[2];
checksum[3] = krb5tgs_bufs[digests_offset].checksum[3];
/**
* loop
@ -846,7 +846,7 @@ __kernel void m13100_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
tmp[2] = digest[2];
tmp[3] = digest[3];
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[salt_pos].edata2, krb5tgs_bufs[salt_pos].edata2_len, K2, checksum) == 1)
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[digests_offset].edata2, krb5tgs_bufs[digests_offset].edata2_len, K2, checksum) == 1)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
@ -903,10 +903,10 @@ __kernel void m13100_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
u32 checksum[4];
checksum[0] = krb5tgs_bufs[salt_pos].checksum[0];
checksum[1] = krb5tgs_bufs[salt_pos].checksum[1];
checksum[2] = krb5tgs_bufs[salt_pos].checksum[2];
checksum[3] = krb5tgs_bufs[salt_pos].checksum[3];
checksum[0] = krb5tgs_bufs[digests_offset].checksum[0];
checksum[1] = krb5tgs_bufs[digests_offset].checksum[1];
checksum[2] = krb5tgs_bufs[digests_offset].checksum[2];
checksum[3] = krb5tgs_bufs[digests_offset].checksum[3];
/**
* loop
@ -988,7 +988,7 @@ __kernel void m13100_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
tmp[2] = digest[2];
tmp[3] = digest[3];
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[salt_pos].edata2, krb5tgs_bufs[salt_pos].edata2_len, K2, checksum) == 1)
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[digests_offset].edata2, krb5tgs_bufs[digests_offset].edata2_len, K2, checksum) == 1)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}

@ -734,10 +734,10 @@ void m13100 (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[
u32 checksum[4];
checksum[0] = krb5tgs_bufs[salt_pos].checksum[0];
checksum[1] = krb5tgs_bufs[salt_pos].checksum[1];
checksum[2] = krb5tgs_bufs[salt_pos].checksum[2];
checksum[3] = krb5tgs_bufs[salt_pos].checksum[3];
checksum[0] = krb5tgs_bufs[digests_offset].checksum[0];
checksum[1] = krb5tgs_bufs[digests_offset].checksum[1];
checksum[2] = krb5tgs_bufs[digests_offset].checksum[2];
checksum[3] = krb5tgs_bufs[digests_offset].checksum[3];
/**
* loop
@ -768,7 +768,7 @@ void m13100 (__local RC4_KEY *rc4_keys, u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[
tmp[2] = digest[2];
tmp[3] = digest[3];
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[salt_pos].edata2, krb5tgs_bufs[salt_pos].edata2_len, K2, checksum) == 1)
if (decrypt_and_check (&rc4_keys[lid], tmp, krb5tgs_bufs[digests_offset].edata2, krb5tgs_bufs[digests_offset].edata2_len, K2, checksum) == 1)
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}

@ -383,7 +383,7 @@ __kernel void m13400_init (__global pw_t *pws, __global const kernel_rule_t *rul
sha256_transform (w0, w1, w2, w3, digest);
if (esalt_bufs[salt_pos].version == 2 && esalt_bufs[salt_pos].keyfile_len == 0)
if (esalt_bufs[digests_offset].version == 2 && esalt_bufs[digests_offset].keyfile_len == 0)
{
w0[0] = digest[0];
w0[1] = digest[1];
@ -417,7 +417,7 @@ __kernel void m13400_init (__global pw_t *pws, __global const kernel_rule_t *rul
sha256_transform (w0, w1, w2, w3, digest);
}
if (esalt_bufs[salt_pos].keyfile_len != 0)
if (esalt_bufs[digests_offset].keyfile_len != 0)
{
w0[0] = digest[0];
w0[1] = digest[1];
@ -429,15 +429,15 @@ __kernel void m13400_init (__global pw_t *pws, __global const kernel_rule_t *rul
w1[2] = digest[6];
w1[3] = digest[7];
w2[0] = esalt_bufs[salt_pos].keyfile[0];
w2[1] = esalt_bufs[salt_pos].keyfile[1];
w2[2] = esalt_bufs[salt_pos].keyfile[2];
w2[3] = esalt_bufs[salt_pos].keyfile[3];
w2[0] = esalt_bufs[digests_offset].keyfile[0];
w2[1] = esalt_bufs[digests_offset].keyfile[1];
w2[2] = esalt_bufs[digests_offset].keyfile[2];
w2[3] = esalt_bufs[digests_offset].keyfile[3];
w3[0] = esalt_bufs[salt_pos].keyfile[4];
w3[1] = esalt_bufs[salt_pos].keyfile[5];
w3[3] = esalt_bufs[salt_pos].keyfile[7];
w3[2] = esalt_bufs[salt_pos].keyfile[6];
w3[0] = esalt_bufs[digests_offset].keyfile[4];
w3[1] = esalt_bufs[digests_offset].keyfile[5];
w3[3] = esalt_bufs[digests_offset].keyfile[7];
w3[2] = esalt_bufs[digests_offset].keyfile[6];
digest[0] = SHA256M_A;
digest[1] = SHA256M_B;
@ -528,14 +528,14 @@ __kernel void m13400_loop (__global pw_t *pws, __global const kernel_rule_t *rul
u32 key[8];
key[0] = esalt_bufs[salt_pos].transf_random_seed[0];
key[1] = esalt_bufs[salt_pos].transf_random_seed[1];
key[2] = esalt_bufs[salt_pos].transf_random_seed[2];
key[3] = esalt_bufs[salt_pos].transf_random_seed[3];
key[4] = esalt_bufs[salt_pos].transf_random_seed[4];
key[5] = esalt_bufs[salt_pos].transf_random_seed[5];
key[6] = esalt_bufs[salt_pos].transf_random_seed[6];
key[7] = esalt_bufs[salt_pos].transf_random_seed[7];
key[0] = esalt_bufs[digests_offset].transf_random_seed[0];
key[1] = esalt_bufs[digests_offset].transf_random_seed[1];
key[2] = esalt_bufs[digests_offset].transf_random_seed[2];
key[3] = esalt_bufs[digests_offset].transf_random_seed[3];
key[4] = esalt_bufs[digests_offset].transf_random_seed[4];
key[5] = esalt_bufs[digests_offset].transf_random_seed[5];
key[6] = esalt_bufs[digests_offset].transf_random_seed[6];
key[7] = esalt_bufs[digests_offset].transf_random_seed[7];
#define KEYLEN 60
@ -673,14 +673,14 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
sha256_transform (w0, w1, w2, w3, digest);
/* ...then hash final_random_seed | output */
if (esalt_bufs[salt_pos].version == 1)
if (esalt_bufs[digests_offset].version == 1)
{
u32 final_random_seed[4];
final_random_seed[0] = esalt_bufs[salt_pos].final_random_seed[0];
final_random_seed[1] = esalt_bufs[salt_pos].final_random_seed[1];
final_random_seed[2] = esalt_bufs[salt_pos].final_random_seed[2];
final_random_seed[3] = esalt_bufs[salt_pos].final_random_seed[3];
final_random_seed[0] = esalt_bufs[digests_offset].final_random_seed[0];
final_random_seed[1] = esalt_bufs[digests_offset].final_random_seed[1];
final_random_seed[2] = esalt_bufs[digests_offset].final_random_seed[2];
final_random_seed[3] = esalt_bufs[digests_offset].final_random_seed[3];
w0[0] = final_random_seed[0];
w0[1] = final_random_seed[1];
@ -715,14 +715,14 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
/* merkle-damgard implementation */
u32 final_random_seed[8];
final_random_seed[0] = esalt_bufs[salt_pos].final_random_seed[0];
final_random_seed[1] = esalt_bufs[salt_pos].final_random_seed[1];
final_random_seed[2] = esalt_bufs[salt_pos].final_random_seed[2];
final_random_seed[3] = esalt_bufs[salt_pos].final_random_seed[3];
final_random_seed[4] = esalt_bufs[salt_pos].final_random_seed[4];
final_random_seed[5] = esalt_bufs[salt_pos].final_random_seed[5];
final_random_seed[6] = esalt_bufs[salt_pos].final_random_seed[6];
final_random_seed[7] = esalt_bufs[salt_pos].final_random_seed[7];
final_random_seed[0] = esalt_bufs[digests_offset].final_random_seed[0];
final_random_seed[1] = esalt_bufs[digests_offset].final_random_seed[1];
final_random_seed[2] = esalt_bufs[digests_offset].final_random_seed[2];
final_random_seed[3] = esalt_bufs[digests_offset].final_random_seed[3];
final_random_seed[4] = esalt_bufs[digests_offset].final_random_seed[4];
final_random_seed[5] = esalt_bufs[digests_offset].final_random_seed[5];
final_random_seed[6] = esalt_bufs[digests_offset].final_random_seed[6];
final_random_seed[7] = esalt_bufs[digests_offset].final_random_seed[7];
w0[0] = final_random_seed[0];
w0[1] = final_random_seed[1];
@ -776,16 +776,16 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 iv[4];
iv[0] = esalt_bufs[salt_pos].enc_iv[0];
iv[1] = esalt_bufs[salt_pos].enc_iv[1];
iv[2] = esalt_bufs[salt_pos].enc_iv[2];
iv[3] = esalt_bufs[salt_pos].enc_iv[3];
iv[0] = esalt_bufs[digests_offset].enc_iv[0];
iv[1] = esalt_bufs[digests_offset].enc_iv[1];
iv[2] = esalt_bufs[digests_offset].enc_iv[2];
iv[3] = esalt_bufs[digests_offset].enc_iv[3];
u32 out[8];
if (esalt_bufs[salt_pos].version == 1)
if (esalt_bufs[digests_offset].version == 1)
{
if (esalt_bufs[salt_pos].algorithm == 1)
if (esalt_bufs[digests_offset].algorithm == 1)
{
/* Construct final Twofish key */
u32 sk[4];
@ -820,7 +820,7 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
final_digest[6] = SHA256M_G;
final_digest[7] = SHA256M_H;
u32 contents_len = esalt_bufs[salt_pos].contents_len;
u32 contents_len = esalt_bufs[digests_offset].contents_len;
u32 contents_pos;
u32 contents_off;
@ -833,10 +833,10 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
{
u32 data[4];
data[0] = swap32 (esalt_bufs[salt_pos].contents[contents_off + se + 0]);
data[1] = swap32 (esalt_bufs[salt_pos].contents[contents_off + se + 1]);
data[2] = swap32 (esalt_bufs[salt_pos].contents[contents_off + se + 2]);
data[3] = swap32 (esalt_bufs[salt_pos].contents[contents_off + se + 3]);
data[0] = swap32 (esalt_bufs[digests_offset].contents[contents_off + se + 0]);
data[1] = swap32 (esalt_bufs[digests_offset].contents[contents_off + se + 1]);
data[2] = swap32 (esalt_bufs[digests_offset].contents[contents_off + se + 2]);
data[3] = swap32 (esalt_bufs[digests_offset].contents[contents_off + se + 3]);
u32 out[4];
@ -888,10 +888,10 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
{
u32 data[4];
data[0] = swap32 (esalt_bufs[salt_pos].contents[contents_off + 0]);
data[1] = swap32 (esalt_bufs[salt_pos].contents[contents_off + 1]);
data[2] = swap32 (esalt_bufs[salt_pos].contents[contents_off + 2]);
data[3] = swap32 (esalt_bufs[salt_pos].contents[contents_off + 3]);
data[0] = swap32 (esalt_bufs[digests_offset].contents[contents_off + 0]);
data[1] = swap32 (esalt_bufs[digests_offset].contents[contents_off + 1]);
data[2] = swap32 (esalt_bufs[digests_offset].contents[contents_off + 2]);
data[3] = swap32 (esalt_bufs[digests_offset].contents[contents_off + 3]);
u32 out[4];
@ -917,10 +917,10 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 data[4];
data[0] = swap32 (esalt_bufs[salt_pos].contents[contents_off + 0]);
data[1] = swap32 (esalt_bufs[salt_pos].contents[contents_off + 1]);
data[2] = swap32 (esalt_bufs[salt_pos].contents[contents_off + 2]);
data[3] = swap32 (esalt_bufs[salt_pos].contents[contents_off + 3]);
data[0] = swap32 (esalt_bufs[digests_offset].contents[contents_off + 0]);
data[1] = swap32 (esalt_bufs[digests_offset].contents[contents_off + 1]);
data[2] = swap32 (esalt_bufs[digests_offset].contents[contents_off + 2]);
data[3] = swap32 (esalt_bufs[digests_offset].contents[contents_off + 3]);
u32 out[4];
@ -935,7 +935,7 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
const u32 pad_byte = out[3] >> 24;
const u32 real_len = esalt_bufs[salt_pos].contents_len - pad_byte;
const u32 real_len = esalt_bufs[digests_offset].contents_len - pad_byte;
// we need to clear the buffer of the padding data
@ -983,14 +983,14 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
#define il_pos 0
if ( esalt_bufs[salt_pos].contents_hash[0] == final_digest[0]
&& esalt_bufs[salt_pos].contents_hash[1] == final_digest[1]
&& esalt_bufs[salt_pos].contents_hash[2] == final_digest[2]
&& esalt_bufs[salt_pos].contents_hash[3] == final_digest[3]
&& esalt_bufs[salt_pos].contents_hash[4] == final_digest[4]
&& esalt_bufs[salt_pos].contents_hash[5] == final_digest[5]
&& esalt_bufs[salt_pos].contents_hash[6] == final_digest[6]
&& esalt_bufs[salt_pos].contents_hash[7] == final_digest[7])
if ( esalt_bufs[digests_offset].contents_hash[0] == final_digest[0]
&& esalt_bufs[digests_offset].contents_hash[1] == final_digest[1]
&& esalt_bufs[digests_offset].contents_hash[2] == final_digest[2]
&& esalt_bufs[digests_offset].contents_hash[3] == final_digest[3]
&& esalt_bufs[digests_offset].contents_hash[4] == final_digest[4]
&& esalt_bufs[digests_offset].contents_hash[5] == final_digest[5]
&& esalt_bufs[digests_offset].contents_hash[6] == final_digest[6]
&& esalt_bufs[digests_offset].contents_hash[7] == final_digest[7])
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
@ -1019,7 +1019,7 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
final_digest[6] = SHA256M_G;
final_digest[7] = SHA256M_H;
u32 contents_len = esalt_bufs[salt_pos].contents_len;
u32 contents_len = esalt_bufs[digests_offset].contents_len;
u32 contents_pos;
u32 contents_off;
@ -1032,10 +1032,10 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
{
u32 data[4];
data[0] = esalt_bufs[salt_pos].contents[contents_off + se + 0];
data[1] = esalt_bufs[salt_pos].contents[contents_off + se + 1];
data[2] = esalt_bufs[salt_pos].contents[contents_off + se + 2];
data[3] = esalt_bufs[salt_pos].contents[contents_off + se + 3];
data[0] = esalt_bufs[digests_offset].contents[contents_off + se + 0];
data[1] = esalt_bufs[digests_offset].contents[contents_off + se + 1];
data[2] = esalt_bufs[digests_offset].contents[contents_off + se + 2];
data[3] = esalt_bufs[digests_offset].contents[contents_off + se + 3];
u32 out[4];
@ -1087,10 +1087,10 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
{
u32 data[4];
data[0] = esalt_bufs[salt_pos].contents[contents_off + 0];
data[1] = esalt_bufs[salt_pos].contents[contents_off + 1];
data[2] = esalt_bufs[salt_pos].contents[contents_off + 2];
data[3] = esalt_bufs[salt_pos].contents[contents_off + 3];
data[0] = esalt_bufs[digests_offset].contents[contents_off + 0];
data[1] = esalt_bufs[digests_offset].contents[contents_off + 1];
data[2] = esalt_bufs[digests_offset].contents[contents_off + 2];
data[3] = esalt_bufs[digests_offset].contents[contents_off + 3];
u32 out[4];
@ -1116,10 +1116,10 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 data[4];
data[0] = esalt_bufs[salt_pos].contents[contents_off + 0];
data[1] = esalt_bufs[salt_pos].contents[contents_off + 1];
data[2] = esalt_bufs[salt_pos].contents[contents_off + 2];
data[3] = esalt_bufs[salt_pos].contents[contents_off + 3];
data[0] = esalt_bufs[digests_offset].contents[contents_off + 0];
data[1] = esalt_bufs[digests_offset].contents[contents_off + 1];
data[2] = esalt_bufs[digests_offset].contents[contents_off + 2];
data[3] = esalt_bufs[digests_offset].contents[contents_off + 3];
u32 out[4];
@ -1139,7 +1139,7 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
const u32 pad_byte = out[3] >> 24;
const u32 real_len = esalt_bufs[salt_pos].contents_len - pad_byte;
const u32 real_len = esalt_bufs[digests_offset].contents_len - pad_byte;
// we need to clear the buffer of the padding data
@ -1187,14 +1187,14 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
#define il_pos 0
if ( esalt_bufs[salt_pos].contents_hash[0] == final_digest[0]
&& esalt_bufs[salt_pos].contents_hash[1] == final_digest[1]
&& esalt_bufs[salt_pos].contents_hash[2] == final_digest[2]
&& esalt_bufs[salt_pos].contents_hash[3] == final_digest[3]
&& esalt_bufs[salt_pos].contents_hash[4] == final_digest[4]
&& esalt_bufs[salt_pos].contents_hash[5] == final_digest[5]
&& esalt_bufs[salt_pos].contents_hash[6] == final_digest[6]
&& esalt_bufs[salt_pos].contents_hash[7] == final_digest[7])
if ( esalt_bufs[digests_offset].contents_hash[0] == final_digest[0]
&& esalt_bufs[digests_offset].contents_hash[1] == final_digest[1]
&& esalt_bufs[digests_offset].contents_hash[2] == final_digest[2]
&& esalt_bufs[digests_offset].contents_hash[3] == final_digest[3]
&& esalt_bufs[digests_offset].contents_hash[4] == final_digest[4]
&& esalt_bufs[digests_offset].contents_hash[5] == final_digest[5]
&& esalt_bufs[digests_offset].contents_hash[6] == final_digest[6]
&& esalt_bufs[digests_offset].contents_hash[7] == final_digest[7])
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}
@ -1213,10 +1213,10 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 contents_hash[4];
contents_hash[0] = esalt_bufs[salt_pos].contents_hash[0];
contents_hash[1] = esalt_bufs[salt_pos].contents_hash[1];
contents_hash[2] = esalt_bufs[salt_pos].contents_hash[2];
contents_hash[3] = esalt_bufs[salt_pos].contents_hash[3];
contents_hash[0] = esalt_bufs[digests_offset].contents_hash[0];
contents_hash[1] = esalt_bufs[digests_offset].contents_hash[1];
contents_hash[2] = esalt_bufs[digests_offset].contents_hash[2];
contents_hash[3] = esalt_bufs[digests_offset].contents_hash[3];
AES256_decrypt (contents_hash, out, final_rk, s_td0, s_td1, s_td2, s_td3, s_td4);
@ -1229,10 +1229,10 @@ __kernel void m13400_comp (__global pw_t *pws, __global const kernel_rule_t *rul
#define il_pos 0
if ( esalt_bufs[salt_pos].expected_bytes[0] == out[0]
&& esalt_bufs[salt_pos].expected_bytes[1] == out[1]
&& esalt_bufs[salt_pos].expected_bytes[2] == out[2]
&& esalt_bufs[salt_pos].expected_bytes[3] == out[3])
if ( esalt_bufs[digests_offset].expected_bytes[0] == out[0]
&& esalt_bufs[digests_offset].expected_bytes[1] == out[1]
&& esalt_bufs[digests_offset].expected_bytes[2] == out[2]
&& esalt_bufs[digests_offset].expected_bytes[3] == out[3])
{
mark_hash (plains_buf, d_return_buf, salt_pos, digests_cnt, 0, digests_offset + 0, gid, il_pos);
}

@ -49,41 +49,41 @@ __kernel void m13500_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 pc_offset = esalt_bufs[salt_pos].pc_offset;
const u32 pc_offset = esalt_bufs[digests_offset].pc_offset;
const u32 pc_offset4 = pc_offset * 4;
u32 pc_digest[5];
pc_digest[0] = esalt_bufs[salt_pos].pc_digest[0];
pc_digest[1] = esalt_bufs[salt_pos].pc_digest[1];
pc_digest[2] = esalt_bufs[salt_pos].pc_digest[2];
pc_digest[3] = esalt_bufs[salt_pos].pc_digest[3];
pc_digest[4] = esalt_bufs[salt_pos].pc_digest[4];
pc_digest[0] = esalt_bufs[digests_offset].pc_digest[0];
pc_digest[1] = esalt_bufs[digests_offset].pc_digest[1];
pc_digest[2] = esalt_bufs[digests_offset].pc_digest[2];
pc_digest[3] = esalt_bufs[digests_offset].pc_digest[3];
pc_digest[4] = esalt_bufs[digests_offset].pc_digest[4];
u32 salt_buf0[4];
u32 salt_buf1[4];
u32 salt_buf2[4];
u32 salt_buf3[4];
salt_buf0[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[salt_pos].salt_len;
salt_buf0[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[digests_offset].salt_len;
/**
* loop
@ -474,41 +474,41 @@ __kernel void m13500_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 pc_offset = esalt_bufs[salt_pos].pc_offset;
const u32 pc_offset = esalt_bufs[digests_offset].pc_offset;
const u32 pc_offset4 = pc_offset * 4;
u32 pc_digest[5];
pc_digest[0] = esalt_bufs[salt_pos].pc_digest[0];
pc_digest[1] = esalt_bufs[salt_pos].pc_digest[1];
pc_digest[2] = esalt_bufs[salt_pos].pc_digest[2];
pc_digest[3] = esalt_bufs[salt_pos].pc_digest[3];
pc_digest[4] = esalt_bufs[salt_pos].pc_digest[4];
pc_digest[0] = esalt_bufs[digests_offset].pc_digest[0];
pc_digest[1] = esalt_bufs[digests_offset].pc_digest[1];
pc_digest[2] = esalt_bufs[digests_offset].pc_digest[2];
pc_digest[3] = esalt_bufs[digests_offset].pc_digest[3];
pc_digest[4] = esalt_bufs[digests_offset].pc_digest[4];
u32 salt_buf0[4];
u32 salt_buf1[4];
u32 salt_buf2[4];
u32 salt_buf3[4];
salt_buf0[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[salt_pos].salt_len;
salt_buf0[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[digests_offset].salt_len;
/**
* digest

@ -47,41 +47,41 @@ __kernel void m13500_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 pc_offset = esalt_bufs[salt_pos].pc_offset;
const u32 pc_offset = esalt_bufs[digests_offset].pc_offset;
const u32 pc_offset4 = pc_offset * 4;
u32 pc_digest[5];
pc_digest[0] = esalt_bufs[salt_pos].pc_digest[0];
pc_digest[1] = esalt_bufs[salt_pos].pc_digest[1];
pc_digest[2] = esalt_bufs[salt_pos].pc_digest[2];
pc_digest[3] = esalt_bufs[salt_pos].pc_digest[3];
pc_digest[4] = esalt_bufs[salt_pos].pc_digest[4];
pc_digest[0] = esalt_bufs[digests_offset].pc_digest[0];
pc_digest[1] = esalt_bufs[digests_offset].pc_digest[1];
pc_digest[2] = esalt_bufs[digests_offset].pc_digest[2];
pc_digest[3] = esalt_bufs[digests_offset].pc_digest[3];
pc_digest[4] = esalt_bufs[digests_offset].pc_digest[4];
u32 salt_buf0[4];
u32 salt_buf1[4];
u32 salt_buf2[4];
u32 salt_buf3[4];
salt_buf0[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[salt_pos].salt_len;
salt_buf0[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[digests_offset].salt_len;
/**
* loop
@ -524,41 +524,41 @@ __kernel void m13500_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
* salt
*/
const u32 pc_offset = esalt_bufs[salt_pos].pc_offset;
const u32 pc_offset = esalt_bufs[digests_offset].pc_offset;
const u32 pc_offset4 = pc_offset * 4;
u32 pc_digest[5];
pc_digest[0] = esalt_bufs[salt_pos].pc_digest[0];
pc_digest[1] = esalt_bufs[salt_pos].pc_digest[1];
pc_digest[2] = esalt_bufs[salt_pos].pc_digest[2];
pc_digest[3] = esalt_bufs[salt_pos].pc_digest[3];
pc_digest[4] = esalt_bufs[salt_pos].pc_digest[4];
pc_digest[0] = esalt_bufs[digests_offset].pc_digest[0];
pc_digest[1] = esalt_bufs[digests_offset].pc_digest[1];
pc_digest[2] = esalt_bufs[digests_offset].pc_digest[2];
pc_digest[3] = esalt_bufs[digests_offset].pc_digest[3];
pc_digest[4] = esalt_bufs[digests_offset].pc_digest[4];
u32 salt_buf0[4];
u32 salt_buf1[4];
u32 salt_buf2[4];
u32 salt_buf3[4];
salt_buf0[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[salt_pos].salt_len;
salt_buf0[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[digests_offset].salt_len;
/**
* digest

@ -26,41 +26,41 @@ void m13500m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
* salt
*/
const u32 pc_offset = esalt_bufs[salt_pos].pc_offset;
const u32 pc_offset = esalt_bufs[digests_offset].pc_offset;
const u32 pc_offset4 = pc_offset * 4;
u32 pc_digest[5];
pc_digest[0] = esalt_bufs[salt_pos].pc_digest[0];
pc_digest[1] = esalt_bufs[salt_pos].pc_digest[1];
pc_digest[2] = esalt_bufs[salt_pos].pc_digest[2];
pc_digest[3] = esalt_bufs[salt_pos].pc_digest[3];
pc_digest[4] = esalt_bufs[salt_pos].pc_digest[4];
pc_digest[0] = esalt_bufs[digests_offset].pc_digest[0];
pc_digest[1] = esalt_bufs[digests_offset].pc_digest[1];
pc_digest[2] = esalt_bufs[digests_offset].pc_digest[2];
pc_digest[3] = esalt_bufs[digests_offset].pc_digest[3];
pc_digest[4] = esalt_bufs[digests_offset].pc_digest[4];
u32 salt_buf0[4];
u32 salt_buf1[4];
u32 salt_buf2[4];
u32 salt_buf3[4];
salt_buf0[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[salt_pos].salt_len;
salt_buf0[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[digests_offset].salt_len;
const u32 pw_salt_len = pw_len + salt_len;
@ -419,41 +419,41 @@ void m13500s (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl
* salt
*/
const u32 pc_offset = esalt_bufs[salt_pos].pc_offset;
const u32 pc_offset = esalt_bufs[digests_offset].pc_offset;
const u32 pc_offset4 = pc_offset * 4;
u32 pc_digest[5];
pc_digest[0] = esalt_bufs[salt_pos].pc_digest[0];
pc_digest[1] = esalt_bufs[salt_pos].pc_digest[1];
pc_digest[2] = esalt_bufs[salt_pos].pc_digest[2];
pc_digest[3] = esalt_bufs[salt_pos].pc_digest[3];
pc_digest[4] = esalt_bufs[salt_pos].pc_digest[4];
pc_digest[0] = esalt_bufs[digests_offset].pc_digest[0];
pc_digest[1] = esalt_bufs[digests_offset].pc_digest[1];
pc_digest[2] = esalt_bufs[digests_offset].pc_digest[2];
pc_digest[3] = esalt_bufs[digests_offset].pc_digest[3];
pc_digest[4] = esalt_bufs[digests_offset].pc_digest[4];
u32 salt_buf0[4];
u32 salt_buf1[4];
u32 salt_buf2[4];
u32 salt_buf3[4];
salt_buf0[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[salt_pos].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[salt_pos].salt_len;
salt_buf0[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 0]);
salt_buf0[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 1]);
salt_buf0[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 2]);
salt_buf0[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 3]);
salt_buf1[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 4]);
salt_buf1[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 5]);
salt_buf1[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 6]);
salt_buf1[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 7]);
salt_buf2[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 8]);
salt_buf2[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 9]);
salt_buf2[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 10]);
salt_buf2[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 11]);
salt_buf3[0] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 12]);
salt_buf3[1] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 13]);
salt_buf3[2] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 14]);
salt_buf3[3] = swap32_S (esalt_bufs[digests_offset].salt_buf[pc_offset + 15]);
const u32 salt_len = esalt_bufs[digests_offset].salt_len;
const u32 pw_salt_len = pw_len + salt_len;

@ -272,7 +272,7 @@ __kernel void m13600_init (__global pw_t *pws, __global const kernel_rule_t *rul
* salt
*/
const u32 salt_len = esalt_bufs[salt_pos].salt_len;
const u32 salt_len = esalt_bufs[digests_offset].salt_len;
u32 ipad[5];
u32 opad[5];
@ -291,7 +291,7 @@ __kernel void m13600_init (__global pw_t *pws, __global const kernel_rule_t *rul
tmps[gid].opad[3] = opad[3];
tmps[gid].opad[4] = opad[4];
const u32 mode = esalt_bufs[salt_pos].mode;
const u32 mode = esalt_bufs[digests_offset].mode;
u32 iter_start;
u32 iter_stop;
@ -319,10 +319,10 @@ __kernel void m13600_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 esalt_buf[16];
esalt_buf[ 0] = swap32 (esalt_bufs[salt_pos].salt_buf[0]);
esalt_buf[ 1] = swap32 (esalt_bufs[salt_pos].salt_buf[1]);
esalt_buf[ 2] = swap32 (esalt_bufs[salt_pos].salt_buf[2]);
esalt_buf[ 3] = swap32 (esalt_bufs[salt_pos].salt_buf[3]);
esalt_buf[ 0] = swap32 (esalt_bufs[digests_offset].salt_buf[0]);
esalt_buf[ 1] = swap32 (esalt_bufs[digests_offset].salt_buf[1]);
esalt_buf[ 2] = swap32 (esalt_bufs[digests_offset].salt_buf[2]);
esalt_buf[ 3] = swap32 (esalt_bufs[digests_offset].salt_buf[3]);
esalt_buf[ 4] = 0;
esalt_buf[ 5] = 0;
esalt_buf[ 6] = 0;
@ -389,7 +389,7 @@ __kernel void m13600_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[3] = tmps[gid].opad[3];
opad[4] = tmps[gid].opad[4];
const u32 mode = esalt_bufs[salt_pos].mode;
const u32 mode = esalt_bufs[digests_offset].mode;
u32 iter_start;
u32 iter_stop;
@ -492,7 +492,7 @@ __kernel void m13600_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 key[8] = { 0 };
const u32 mode = esalt_bufs[salt_pos].mode;
const u32 mode = esalt_bufs[digests_offset].mode;
u32 iter_start;
u32 iter_stop;
@ -543,47 +543,47 @@ __kernel void m13600_comp (__global pw_t *pws, __global const kernel_rule_t *rul
hmac_sha1_pad (w0, w1, w2, w3, ipad, opad);
int data_len = esalt_bufs[salt_pos].data_len;
int data_len = esalt_bufs[digests_offset].data_len;
int data_left;
int data_off;
for (data_left = data_len, data_off = 0; data_left >= 56; data_left -= 64, data_off += 16)
{
w0[0] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 0]);
w0[1] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 1]);
w0[2] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 2]);
w0[3] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 3]);
w1[0] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 4]);
w1[1] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 5]);
w1[2] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 6]);
w1[3] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 7]);
w2[0] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 8]);
w2[1] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 9]);
w2[2] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 10]);
w2[3] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 11]);
w3[0] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 12]);
w3[1] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 13]);
w3[2] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 14]);
w3[3] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 15]);
w0[0] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 0]);
w0[1] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 1]);
w0[2] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 2]);
w0[3] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 3]);
w1[0] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 4]);
w1[1] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 5]);
w1[2] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 6]);
w1[3] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 7]);
w2[0] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 8]);
w2[1] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 9]);
w2[2] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 10]);
w2[3] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 11]);
w3[0] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 12]);
w3[1] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 13]);
w3[2] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 14]);
w3[3] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 15]);
sha1_transform (w0, w1, w2, w3, ipad);
}
w0[0] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 0]);
w0[1] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 1]);
w0[2] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 2]);
w0[3] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 3]);
w1[0] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 4]);
w1[1] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 5]);
w1[2] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 6]);
w1[3] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 7]);
w2[0] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 8]);
w2[1] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 9]);
w2[2] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 10]);
w2[3] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 11]);
w3[0] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 12]);
w3[1] = swap32 (esalt_bufs[salt_pos].data_buf[data_off + 13]);
w0[0] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 0]);
w0[1] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 1]);
w0[2] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 2]);
w0[3] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 3]);
w1[0] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 4]);
w1[1] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 5]);
w1[2] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 6]);
w1[3] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 7]);
w2[0] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 8]);
w2[1] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 9]);
w2[2] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 10]);
w2[3] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 11]);
w3[0] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 12]);
w3[1] = swap32 (esalt_bufs[digests_offset].data_buf[data_off + 13]);
w3[2] = 0;
w3[3] = (64 + data_len) * 8;

@ -339,22 +339,22 @@ __kernel void m13751_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
w0[0] = swap32 (w0[0]);
w0[1] = swap32 (w0[1]);
@ -386,22 +386,22 @@ __kernel void m13751_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 s6[4];
u32 s7[4];
s0[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 0]);
s0[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
s0[2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 2]);
s0[3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
s1[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 4]);
s1[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
s1[2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 6]);
s1[3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
s2[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 8]);
s2[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
s2[2] = swap32 (esalt_bufs[salt_pos].salt_buf[10]);
s2[3] = swap32 (esalt_bufs[salt_pos].salt_buf[11]);
s3[0] = swap32 (esalt_bufs[salt_pos].salt_buf[12]);
s3[1] = swap32 (esalt_bufs[salt_pos].salt_buf[13]);
s3[2] = swap32 (esalt_bufs[salt_pos].salt_buf[14]);
s3[3] = swap32 (esalt_bufs[salt_pos].salt_buf[15]);
s0[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 0]);
s0[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
s0[2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 2]);
s0[3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
s1[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 4]);
s1[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
s1[2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 6]);
s1[3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
s2[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 8]);
s2[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
s2[2] = swap32 (esalt_bufs[digests_offset].salt_buf[10]);
s2[3] = swap32 (esalt_bufs[digests_offset].salt_buf[11]);
s3[0] = swap32 (esalt_bufs[digests_offset].salt_buf[12]);
s3[1] = swap32 (esalt_bufs[digests_offset].salt_buf[13]);
s3[2] = swap32 (esalt_bufs[digests_offset].salt_buf[14]);
s3[3] = swap32 (esalt_bufs[digests_offset].salt_buf[15]);
s4[0] = 0;
s4[1] = 0x80000000;
s4[2] = 0;

@ -339,22 +339,22 @@ __kernel void m13752_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
w0[0] = swap32 (w0[0]);
w0[1] = swap32 (w0[1]);
@ -386,22 +386,22 @@ __kernel void m13752_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 s6[4];
u32 s7[4];
s0[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 0]);
s0[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
s0[2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 2]);
s0[3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
s1[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 4]);
s1[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
s1[2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 6]);
s1[3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
s2[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 8]);
s2[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
s2[2] = swap32 (esalt_bufs[salt_pos].salt_buf[10]);
s2[3] = swap32 (esalt_bufs[salt_pos].salt_buf[11]);
s3[0] = swap32 (esalt_bufs[salt_pos].salt_buf[12]);
s3[1] = swap32 (esalt_bufs[salt_pos].salt_buf[13]);
s3[2] = swap32 (esalt_bufs[salt_pos].salt_buf[14]);
s3[3] = swap32 (esalt_bufs[salt_pos].salt_buf[15]);
s0[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 0]);
s0[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
s0[2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 2]);
s0[3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
s1[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 4]);
s1[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
s1[2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 6]);
s1[3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
s2[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 8]);
s2[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
s2[2] = swap32 (esalt_bufs[digests_offset].salt_buf[10]);
s2[3] = swap32 (esalt_bufs[digests_offset].salt_buf[11]);
s3[0] = swap32 (esalt_bufs[digests_offset].salt_buf[12]);
s3[1] = swap32 (esalt_bufs[digests_offset].salt_buf[13]);
s3[2] = swap32 (esalt_bufs[digests_offset].salt_buf[14]);
s3[3] = swap32 (esalt_bufs[digests_offset].salt_buf[15]);
s4[0] = 0;
s4[1] = 0x80000000;
s4[2] = 0;

@ -339,22 +339,22 @@ __kernel void m13753_init (__global pw_t *pws, __global const kernel_rule_t *rul
* keyfile
*/
w0[0] = u8add (w0[0], esalt_bufs[salt_pos].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[salt_pos].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[salt_pos].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[salt_pos].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[salt_pos].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[salt_pos].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[salt_pos].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[salt_pos].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[salt_pos].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[salt_pos].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[salt_pos].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[salt_pos].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[salt_pos].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[salt_pos].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[salt_pos].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[salt_pos].keyfile_buf[15]);
w0[0] = u8add (w0[0], esalt_bufs[digests_offset].keyfile_buf[ 0]);
w0[1] = u8add (w0[1], esalt_bufs[digests_offset].keyfile_buf[ 1]);
w0[2] = u8add (w0[2], esalt_bufs[digests_offset].keyfile_buf[ 2]);
w0[3] = u8add (w0[3], esalt_bufs[digests_offset].keyfile_buf[ 3]);
w1[0] = u8add (w1[0], esalt_bufs[digests_offset].keyfile_buf[ 4]);
w1[1] = u8add (w1[1], esalt_bufs[digests_offset].keyfile_buf[ 5]);
w1[2] = u8add (w1[2], esalt_bufs[digests_offset].keyfile_buf[ 6]);
w1[3] = u8add (w1[3], esalt_bufs[digests_offset].keyfile_buf[ 7]);
w2[0] = u8add (w2[0], esalt_bufs[digests_offset].keyfile_buf[ 8]);
w2[1] = u8add (w2[1], esalt_bufs[digests_offset].keyfile_buf[ 9]);
w2[2] = u8add (w2[2], esalt_bufs[digests_offset].keyfile_buf[10]);
w2[3] = u8add (w2[3], esalt_bufs[digests_offset].keyfile_buf[11]);
w3[0] = u8add (w3[0], esalt_bufs[digests_offset].keyfile_buf[12]);
w3[1] = u8add (w3[1], esalt_bufs[digests_offset].keyfile_buf[13]);
w3[2] = u8add (w3[2], esalt_bufs[digests_offset].keyfile_buf[14]);
w3[3] = u8add (w3[3], esalt_bufs[digests_offset].keyfile_buf[15]);
w0[0] = swap32 (w0[0]);
w0[1] = swap32 (w0[1]);
@ -386,22 +386,22 @@ __kernel void m13753_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 s6[4];
u32 s7[4];
s0[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 0]);
s0[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 1]);
s0[2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 2]);
s0[3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 3]);
s1[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 4]);
s1[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 5]);
s1[2] = swap32 (esalt_bufs[salt_pos].salt_buf[ 6]);
s1[3] = swap32 (esalt_bufs[salt_pos].salt_buf[ 7]);
s2[0] = swap32 (esalt_bufs[salt_pos].salt_buf[ 8]);
s2[1] = swap32 (esalt_bufs[salt_pos].salt_buf[ 9]);
s2[2] = swap32 (esalt_bufs[salt_pos].salt_buf[10]);
s2[3] = swap32 (esalt_bufs[salt_pos].salt_buf[11]);
s3[0] = swap32 (esalt_bufs[salt_pos].salt_buf[12]);
s3[1] = swap32 (esalt_bufs[salt_pos].salt_buf[13]);
s3[2] = swap32 (esalt_bufs[salt_pos].salt_buf[14]);
s3[3] = swap32 (esalt_bufs[salt_pos].salt_buf[15]);
s0[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 0]);
s0[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 1]);
s0[2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 2]);
s0[3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 3]);
s1[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 4]);
s1[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 5]);
s1[2] = swap32 (esalt_bufs[digests_offset].salt_buf[ 6]);
s1[3] = swap32 (esalt_bufs[digests_offset].salt_buf[ 7]);
s2[0] = swap32 (esalt_bufs[digests_offset].salt_buf[ 8]);
s2[1] = swap32 (esalt_bufs[digests_offset].salt_buf[ 9]);
s2[2] = swap32 (esalt_bufs[digests_offset].salt_buf[10]);
s2[3] = swap32 (esalt_bufs[digests_offset].salt_buf[11]);
s3[0] = swap32 (esalt_bufs[digests_offset].salt_buf[12]);
s3[1] = swap32 (esalt_bufs[digests_offset].salt_buf[13]);
s3[2] = swap32 (esalt_bufs[digests_offset].salt_buf[14]);
s3[3] = swap32 (esalt_bufs[digests_offset].salt_buf[15]);
s4[0] = 0;
s4[1] = 0x80000000;
s4[2] = 0;

@ -534,7 +534,7 @@ __kernel void m13800_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -730,7 +730,7 @@ __kernel void m13800_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);

@ -532,7 +532,7 @@ __kernel void m13800_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -784,7 +784,7 @@ __kernel void m13800_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);

@ -846,7 +846,7 @@ __kernel void m13800_m04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -903,7 +903,7 @@ __kernel void m13800_m08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -960,7 +960,7 @@ __kernel void m13800_m16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -1017,7 +1017,7 @@ __kernel void m13800_s04 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -1074,7 +1074,7 @@ __kernel void m13800_s08 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);
@ -1131,7 +1131,7 @@ __kernel void m13800_s16 (__global pw_t *pws, __global const kernel_rule_t *rule
for (u32 i = lid; i < 32; i += lsz)
{
s_esalt[i] = esalt_bufs[salt_pos].salt_buf[i];
s_esalt[i] = esalt_bufs[digests_offset].salt_buf[i];
}
barrier (CLK_LOCAL_MEM_FENCE);

@ -462,7 +462,7 @@ __kernel void m14611_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = swap32_S (salt_bufs[salt_pos].salt_buf[6]);
salt_buf1[3] = swap32_S (salt_bufs[salt_pos].salt_buf[7]);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -560,7 +560,7 @@ __kernel void m14611_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[3] = packv (tmps, opad32, gid, 3);
opad[4] = packv (tmps, opad32, gid, 4);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 5)
{
@ -691,7 +691,7 @@ __kernel void m14611_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha1_then_aes_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf, s_te0, s_te1, s_te2, s_te3, s_te4, s_td0, s_td1, s_td2, s_td3, s_td4);
luks_af_sha1_then_aes_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf, s_te0, s_te1, s_te2, s_te3, s_te4, s_td0, s_td1, s_td2, s_td3, s_td4);
// check entropy

@ -462,7 +462,7 @@ __kernel void m14612_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = swap32_S (salt_bufs[salt_pos].salt_buf[6]);
salt_buf1[3] = swap32_S (salt_bufs[salt_pos].salt_buf[7]);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -560,7 +560,7 @@ __kernel void m14612_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[3] = packv (tmps, opad32, gid, 3);
opad[4] = packv (tmps, opad32, gid, 4);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 5)
{
@ -638,7 +638,7 @@ __kernel void m14612_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha1_then_serpent_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf);
luks_af_sha1_then_serpent_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf);
// check entropy

@ -462,7 +462,7 @@ __kernel void m14613_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = swap32_S (salt_bufs[salt_pos].salt_buf[6]);
salt_buf1[3] = swap32_S (salt_bufs[salt_pos].salt_buf[7]);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -560,7 +560,7 @@ __kernel void m14613_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[3] = packv (tmps, opad32, gid, 3);
opad[4] = packv (tmps, opad32, gid, 4);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 5)
{
@ -638,7 +638,7 @@ __kernel void m14613_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha1_then_twofish_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf);
luks_af_sha1_then_twofish_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf);
// check entropy

@ -420,7 +420,7 @@ __kernel void m14621_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = swap32_S (salt_bufs[salt_pos].salt_buf[6]);
salt_buf1[3] = swap32_S (salt_bufs[salt_pos].salt_buf[7]);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -536,7 +536,7 @@ __kernel void m14621_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[6] = packv (tmps, opad32, gid, 6);
opad[7] = packv (tmps, opad32, gid, 7);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 8)
{
@ -682,7 +682,7 @@ __kernel void m14621_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha256_then_aes_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf, s_te0, s_te1, s_te2, s_te3, s_te4, s_td0, s_td1, s_td2, s_td3, s_td4);
luks_af_sha256_then_aes_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf, s_te0, s_te1, s_te2, s_te3, s_te4, s_td0, s_td1, s_td2, s_td3, s_td4);
// check entropy

@ -420,7 +420,7 @@ __kernel void m14622_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = swap32_S (salt_bufs[salt_pos].salt_buf[6]);
salt_buf1[3] = swap32_S (salt_bufs[salt_pos].salt_buf[7]);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -536,7 +536,7 @@ __kernel void m14622_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[6] = packv (tmps, opad32, gid, 6);
opad[7] = packv (tmps, opad32, gid, 7);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 8)
{
@ -629,7 +629,7 @@ __kernel void m14622_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha256_then_serpent_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf);
luks_af_sha256_then_serpent_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf);
// check entropy

@ -420,7 +420,7 @@ __kernel void m14623_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = swap32_S (salt_bufs[salt_pos].salt_buf[6]);
salt_buf1[3] = swap32_S (salt_bufs[salt_pos].salt_buf[7]);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -536,7 +536,7 @@ __kernel void m14623_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[6] = packv (tmps, opad32, gid, 6);
opad[7] = packv (tmps, opad32, gid, 7);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 8)
{
@ -629,7 +629,7 @@ __kernel void m14623_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha256_then_twofish_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf);
luks_af_sha256_then_twofish_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf);
// check entropy

@ -413,7 +413,7 @@ __kernel void m14631_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf0[2] = hl32_to_64_S (swap32_S (salt_bufs[salt_pos].salt_buf[4]), swap32_S (salt_bufs[salt_pos].salt_buf[5]));
salt_buf0[3] = hl32_to_64_S (swap32_S (salt_bufs[salt_pos].salt_buf[6]), swap32_S (salt_bufs[salt_pos].salt_buf[7]));
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -512,7 +512,7 @@ __kernel void m14631_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[6] = pack64v (tmps, opad64, gid, 6);
opad[7] = pack64v (tmps, opad64, gid, 7);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 16)
{
@ -658,7 +658,7 @@ __kernel void m14631_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha512_then_aes_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf, s_te0, s_te1, s_te2, s_te3, s_te4, s_td0, s_td1, s_td2, s_td3, s_td4);
luks_af_sha512_then_aes_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf, s_te0, s_te1, s_te2, s_te3, s_te4, s_td0, s_td1, s_td2, s_td3, s_td4);
// check entropy

@ -413,7 +413,7 @@ __kernel void m14632_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf0[2] = hl32_to_64_S (swap32_S (salt_bufs[salt_pos].salt_buf[4]), swap32_S (salt_bufs[salt_pos].salt_buf[5]));
salt_buf0[3] = hl32_to_64_S (swap32_S (salt_bufs[salt_pos].salt_buf[6]), swap32_S (salt_bufs[salt_pos].salt_buf[7]));
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -512,7 +512,7 @@ __kernel void m14632_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[6] = pack64v (tmps, opad64, gid, 6);
opad[7] = pack64v (tmps, opad64, gid, 7);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 16)
{
@ -605,7 +605,7 @@ __kernel void m14632_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha512_then_serpent_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf);
luks_af_sha512_then_serpent_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf);
// check entropy

@ -413,7 +413,7 @@ __kernel void m14633_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf0[2] = hl32_to_64_S (swap32_S (salt_bufs[salt_pos].salt_buf[4]), swap32_S (salt_bufs[salt_pos].salt_buf[5]));
salt_buf0[3] = hl32_to_64_S (swap32_S (salt_bufs[salt_pos].salt_buf[6]), swap32_S (salt_bufs[salt_pos].salt_buf[7]));
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -512,7 +512,7 @@ __kernel void m14633_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[6] = pack64v (tmps, opad64, gid, 6);
opad[7] = pack64v (tmps, opad64, gid, 7);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 16)
{
@ -605,7 +605,7 @@ __kernel void m14633_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_sha512_then_twofish_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf);
luks_af_sha512_then_twofish_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf);
// check entropy

@ -634,7 +634,7 @@ __kernel void m14641_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = salt_bufs[salt_pos].salt_buf[6];
salt_buf1[3] = salt_bufs[salt_pos].salt_buf[7];
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -715,7 +715,7 @@ __kernel void m14641_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[3] = packv (tmps, opad32, gid, 3);
opad[4] = packv (tmps, opad32, gid, 4);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 5)
{
@ -846,7 +846,7 @@ __kernel void m14641_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_ripemd160_then_aes_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf, s_te0, s_te1, s_te2, s_te3, s_te4, s_td0, s_td1, s_td2, s_td3, s_td4);
luks_af_ripemd160_then_aes_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf, s_te0, s_te1, s_te2, s_te3, s_te4, s_td0, s_td1, s_td2, s_td3, s_td4);
// check entropy

@ -634,7 +634,7 @@ __kernel void m14642_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = salt_bufs[salt_pos].salt_buf[6];
salt_buf1[3] = salt_bufs[salt_pos].salt_buf[7];
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -715,7 +715,7 @@ __kernel void m14642_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[3] = packv (tmps, opad32, gid, 3);
opad[4] = packv (tmps, opad32, gid, 4);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 5)
{
@ -793,7 +793,7 @@ __kernel void m14642_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_ripemd160_then_serpent_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf);
luks_af_ripemd160_then_serpent_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf);
// check entropy

@ -634,7 +634,7 @@ __kernel void m14643_init (__global pw_t *pws, __global const kernel_rule_t *rul
salt_buf1[2] = salt_bufs[salt_pos].salt_buf[6];
salt_buf1[3] = salt_bufs[salt_pos].salt_buf[7];
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
/**
* pads
@ -715,7 +715,7 @@ __kernel void m14643_loop (__global pw_t *pws, __global const kernel_rule_t *rul
opad[3] = packv (tmps, opad32, gid, 3);
opad[4] = packv (tmps, opad32, gid, 4);
u32 key_size = luks_bufs[salt_pos].key_size;
u32 key_size = luks_bufs[digests_offset].key_size;
for (u32 i = 0; i < ((key_size / 8) / 4); i += 5)
{
@ -793,7 +793,7 @@ __kernel void m14643_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 pt_buf[128];
luks_af_ripemd160_then_twofish_decrypt (&luks_bufs[salt_pos], &tmps[gid], pt_buf);
luks_af_ripemd160_then_twofish_decrypt (&luks_bufs[digests_offset], &tmps[gid], pt_buf);
// check entropy

@ -1671,21 +1671,21 @@ __kernel void m14700_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 cipher[4];
cipher[0] = esalt_bufs[salt_pos].wpky[0];
cipher[1] = esalt_bufs[salt_pos].wpky[1];
cipher[0] = esalt_bufs[digests_offset].wpky[0];
cipher[1] = esalt_bufs[digests_offset].wpky[1];
cipher[2] = 0;
cipher[3] = 0;
u32 lsb[8];
lsb[0] = esalt_bufs[salt_pos].wpky[8];
lsb[1] = esalt_bufs[salt_pos].wpky[9];
lsb[2] = esalt_bufs[salt_pos].wpky[6];
lsb[3] = esalt_bufs[salt_pos].wpky[7];
lsb[4] = esalt_bufs[salt_pos].wpky[4];
lsb[5] = esalt_bufs[salt_pos].wpky[5];
lsb[6] = esalt_bufs[salt_pos].wpky[2];
lsb[7] = esalt_bufs[salt_pos].wpky[3];
lsb[0] = esalt_bufs[digests_offset].wpky[8];
lsb[1] = esalt_bufs[digests_offset].wpky[9];
lsb[2] = esalt_bufs[digests_offset].wpky[6];
lsb[3] = esalt_bufs[digests_offset].wpky[7];
lsb[4] = esalt_bufs[digests_offset].wpky[4];
lsb[5] = esalt_bufs[digests_offset].wpky[5];
lsb[6] = esalt_bufs[digests_offset].wpky[2];
lsb[7] = esalt_bufs[digests_offset].wpky[3];
for (int j = 5; j >= 0; j--)
{

@ -1787,11 +1787,11 @@ __kernel void m14800_init (__global pw_t *pws, __global const kernel_rule_t *rul
u32 dpsl0[4];
u32 dpsl1[4];
dpsl0[0] = esalt_bufs[salt_pos].dpsl[0];
dpsl0[1] = esalt_bufs[salt_pos].dpsl[1];
dpsl0[2] = esalt_bufs[salt_pos].dpsl[2];
dpsl0[3] = esalt_bufs[salt_pos].dpsl[3];
dpsl1[0] = esalt_bufs[salt_pos].dpsl[4];
dpsl0[0] = esalt_bufs[digests_offset].dpsl[0];
dpsl0[1] = esalt_bufs[digests_offset].dpsl[1];
dpsl0[2] = esalt_bufs[digests_offset].dpsl[2];
dpsl0[3] = esalt_bufs[digests_offset].dpsl[3];
dpsl1[0] = esalt_bufs[digests_offset].dpsl[4];
dpsl1[1] = 0;
dpsl1[2] = 0;
dpsl1[3] = 0;
@ -2228,21 +2228,21 @@ __kernel void m14800_comp (__global pw_t *pws, __global const kernel_rule_t *rul
u32 cipher[4];
cipher[0] = esalt_bufs[salt_pos].wpky[0];
cipher[1] = esalt_bufs[salt_pos].wpky[1];
cipher[0] = esalt_bufs[digests_offset].wpky[0];
cipher[1] = esalt_bufs[digests_offset].wpky[1];
cipher[2] = 0;
cipher[3] = 0;
u32 lsb[8];
lsb[0] = esalt_bufs[salt_pos].wpky[8];
lsb[1] = esalt_bufs[salt_pos].wpky[9];
lsb[2] = esalt_bufs[salt_pos].wpky[6];
lsb[3] = esalt_bufs[salt_pos].wpky[7];
lsb[4] = esalt_bufs[salt_pos].wpky[4];
lsb[5] = esalt_bufs[salt_pos].wpky[5];
lsb[6] = esalt_bufs[salt_pos].wpky[2];
lsb[7] = esalt_bufs[salt_pos].wpky[3];
lsb[0] = esalt_bufs[digests_offset].wpky[8];
lsb[1] = esalt_bufs[digests_offset].wpky[9];
lsb[2] = esalt_bufs[digests_offset].wpky[6];
lsb[3] = esalt_bufs[digests_offset].wpky[7];
lsb[4] = esalt_bufs[digests_offset].wpky[4];
lsb[5] = esalt_bufs[digests_offset].wpky[5];
lsb[6] = esalt_bufs[digests_offset].wpky[2];
lsb[7] = esalt_bufs[digests_offset].wpky[3];
for (int j = 5; j >= 0; j--)
{

@ -187,6 +187,8 @@ typedef struct wpa
int essid_reuse;
u8 essid_len;
u8 essid[32];
u32 keymic[4];
u32 hash[4];
} wpa_t;
@ -1744,9 +1746,6 @@ char *strparser (const u32 parser_status);
int check_old_hccap (const char *hashfile);
void to_hccapx_t (hashcat_ctx_t *hashcat_ctx, hccapx_t *hccapx, const u32 salt_pos, const u32 digest_pos);
void wpa_essid_reuse (hashcat_ctx_t *hashcat_ctx);
void wpa_essid_reuse_next (hashcat_ctx_t *hashcat_ctx, const u32 salt_idx_cracked);
int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_len, const u32 salt_pos, const u32 digest_pos);
int hashconfig_init (hashcat_ctx_t *hashcat_ctx);

@ -375,11 +375,6 @@ int check_cracked (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param,
}
}
if (hashconfig->hash_mode == 2500)
{
wpa_essid_reuse_next (hashcat_ctx, salt_pos);
}
if (hashes->salts_done == hashes->salts_cnt) mycracked (hashcat_ctx);
check_hash (hashcat_ctx, device_param, &cracked[i]);
@ -1262,15 +1257,6 @@ int hashes_init_stage2 (hashcat_ctx_t *hashcat_ctx)
hashes_buf[0].salt = salt_buf;
if (hashconfig->esalt_size)
{
char *esalts_buf_new_ptr = ((char *) esalts_buf_new) + (salts_cnt * hashconfig->esalt_size);
memcpy (esalts_buf_new_ptr, hashes_buf[0].esalt, hashconfig->esalt_size);
hashes_buf[0].esalt = esalts_buf_new_ptr;
}
if (hashconfig->hook_salt_size)
{
char *hook_salts_buf_new_ptr = ((char *) hook_salts_buf_new) + (salts_cnt * hashconfig->hook_salt_size);
@ -1295,6 +1281,15 @@ int hashes_init_stage2 (hashcat_ctx_t *hashcat_ctx)
hashes_buf[0].digest = digests_buf_new_ptr;
if (hashconfig->esalt_size)
{
char *esalts_buf_new_ptr = ((char *) esalts_buf_new) + (0 * hashconfig->esalt_size);
memcpy (esalts_buf_new_ptr, hashes_buf[0].esalt, hashconfig->esalt_size);
hashes_buf[0].esalt = esalts_buf_new_ptr;
}
if ((user_options->username == true) || (hashconfig->opts_type & OPTS_TYPE_HASH_COPY) || (hashconfig->opts_type & OPTS_TYPE_HASH_SPLIT))
{
hash_info[0] = hashes_buf[0].hash_info;
@ -1314,15 +1309,6 @@ int hashes_init_stage2 (hashcat_ctx_t *hashcat_ctx)
hashes_buf[hashes_pos].salt = salt_buf;
if (hashconfig->esalt_size)
{
char *esalts_buf_new_ptr = ((char *) esalts_buf_new) + (salts_cnt * hashconfig->esalt_size);
memcpy (esalts_buf_new_ptr, hashes_buf[hashes_pos].esalt, hashconfig->esalt_size);
hashes_buf[hashes_pos].esalt = esalts_buf_new_ptr;
}
if (hashconfig->hook_salt_size)
{
char *hook_salts_buf_new_ptr = ((char *) hook_salts_buf_new) + (salts_cnt * hashconfig->hook_salt_size);
@ -1341,13 +1327,6 @@ int hashes_init_stage2 (hashcat_ctx_t *hashcat_ctx)
hashes_buf[hashes_pos].salt = salt_buf;
if (hashconfig->esalt_size)
{
char *esalts_buf_new_ptr = ((char *) esalts_buf_new) + (salts_cnt * hashconfig->esalt_size);
hashes_buf[hashes_pos].esalt = esalts_buf_new_ptr;
}
if (hashconfig->hook_salt_size)
{
char *hook_salts_buf_new_ptr = ((char *) hook_salts_buf_new) + (salts_cnt * hashconfig->hook_salt_size);
@ -1364,6 +1343,15 @@ int hashes_init_stage2 (hashcat_ctx_t *hashcat_ctx)
hashes_buf[hashes_pos].digest = digests_buf_new_ptr;
if (hashconfig->esalt_size)
{
char *esalts_buf_new_ptr = ((char *) esalts_buf_new) + (hashes_pos * hashconfig->esalt_size);
memcpy (esalts_buf_new_ptr, hashes_buf[hashes_pos].esalt, hashconfig->esalt_size);
hashes_buf[hashes_pos].esalt = esalts_buf_new_ptr;
}
if ((user_options->username == true) || (hashconfig->opts_type & OPTS_TYPE_HASH_COPY) || (hashconfig->opts_type & OPTS_TYPE_HASH_SPLIT))
{
hash_info[hashes_pos] = hashes_buf[hashes_pos].hash_info;
@ -1519,13 +1507,6 @@ int hashes_init_stage4 (hashcat_ctx_t *hashcat_ctx)
hashes->tmp_buf = tmp_buf;
// special wpa booster case
if (hashconfig->hash_mode == 2500)
{
wpa_essid_reuse (hashcat_ctx);
}
return 0;
}

@ -2722,7 +2722,7 @@ int wpa_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED
if (in.eapol_len < 1 || in.eapol_len > 255) return (PARSER_HCCAPX_EAPOL_LEN);
memcpy (digest, in.keymic, 16);
memcpy (wpa->keymic, in.keymic, 16);
/*
http://www.one-net.eu/jsw/j_sec/m_ptype.html
@ -2810,10 +2810,10 @@ int wpa_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED
}
else
{
digest[0] = byte_swap_32 (digest[0]);
digest[1] = byte_swap_32 (digest[1]);
digest[2] = byte_swap_32 (digest[2]);
digest[3] = byte_swap_32 (digest[3]);
wpa->keymic[0] = byte_swap_32 (wpa->keymic[0]);
wpa->keymic[1] = byte_swap_32 (wpa->keymic[1]);
wpa->keymic[2] = byte_swap_32 (wpa->keymic[2]);
wpa->keymic[3] = byte_swap_32 (wpa->keymic[3]);
for (int i = 0; i < 64; i++)
{
@ -2876,17 +2876,24 @@ int wpa_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED
md5_64 (block, hash);
block[0] = digest[0];
block[1] = digest[1];
block[2] = digest[2];
block[3] = digest[3];
block[0] = wpa->keymic[0];
block[1] = wpa->keymic[1];
block[2] = wpa->keymic[2];
block[3] = wpa->keymic[3];
md5_64 (block, hash);
salt->salt_buf[12] = hash[0];
salt->salt_buf[13] = hash[1];
salt->salt_buf[14] = hash[2];
salt->salt_buf[15] = hash[3];
wpa->hash[0] = hash[0];
wpa->hash[1] = hash[1];
wpa->hash[2] = hash[2];
wpa->hash[3] = hash[3];
// make all this stuff unique
digest[0] = wpa->hash[0];
digest[1] = wpa->hash[1];
digest[2] = wpa->hash[2];
digest[3] = wpa->hash[3];
return (PARSER_OK);
}
@ -14940,12 +14947,14 @@ void to_hccapx_t (hashcat_ctx_t *hashcat_ctx, hccapx_t *hccapx, const u32 salt_p
const salt_t *salt = &salts_buf[salt_pos];
const u32 digest_cur = salt->digests_offset + digest_pos;
hccapx->essid_len = salt->salt_len;
memcpy (hccapx->essid, salt->salt_buf, hccapx->essid_len);
wpa_t *wpas = (wpa_t *) esalts_buf;
wpa_t *wpa = &wpas[salt_pos];
wpa_t *wpa = &wpas[digest_cur];
hccapx->message_pair = wpa->message_pair;
hccapx->keyver = wpa->keyver;
@ -14973,78 +14982,23 @@ void to_hccapx_t (hashcat_ctx_t *hashcat_ctx, hccapx_t *hccapx, const u32 salt_p
memcpy (hccapx->nonce_ap, wpa->orig_nonce_ap, 32);
memcpy (hccapx->nonce_sta, wpa->orig_nonce_sta, 32);
char *digests_buf_ptr = (char *) digests_buf;
u32 dgst_size = hashconfig->dgst_size;
u32 *digest_ptr = (u32 *) (digests_buf_ptr + (salts_buf[salt_pos].digests_offset * dgst_size) + (digest_pos * dgst_size));
if (wpa->keyver != 1)
{
u32 digest_tmp[4] = { 0 };
u32 digest_tmp[4];
digest_tmp[0] = byte_swap_32 (digest_ptr[0]);
digest_tmp[1] = byte_swap_32 (digest_ptr[1]);
digest_tmp[2] = byte_swap_32 (digest_ptr[2]);
digest_tmp[3] = byte_swap_32 (digest_ptr[3]);
digest_tmp[0] = byte_swap_32 (wpa->keymic[0]);
digest_tmp[1] = byte_swap_32 (wpa->keymic[1]);
digest_tmp[2] = byte_swap_32 (wpa->keymic[2]);
digest_tmp[3] = byte_swap_32 (wpa->keymic[3]);
memcpy (hccapx->keymic, digest_tmp, 16);
}
else
{
memcpy (hccapx->keymic, digest_ptr, 16);
}
}
void wpa_essid_reuse (hashcat_ctx_t *hashcat_ctx)
{
// find duplicate essid to speed up cracking
hashes_t *hashes = hashcat_ctx->hashes;
salt_t *salts_buf = hashes->salts_buf;
wpa_t *esalts_buf = hashes->esalts_buf;
const u32 salts_cnt = hashes->salts_cnt;
for (u32 salt_idx = 1; salt_idx < salts_cnt; salt_idx++)
{
if (memcmp ((char *) salts_buf[salt_idx].salt_buf, (char *) salts_buf[salt_idx - 1].salt_buf, salts_buf[salt_idx].salt_len) == 0)
{
esalts_buf[salt_idx].essid_reuse = 1;
}
memcpy (hccapx->keymic, wpa->keymic, 16);
}
}
void wpa_essid_reuse_next (hashcat_ctx_t *hashcat_ctx, const u32 salt_idx_cracked)
{
hashes_t *hashes = hashcat_ctx->hashes;
salt_t *salts_buf = hashes->salts_buf;
wpa_t *esalts_buf = hashes->esalts_buf;
// the first essid salt has been cracked?
// since there's always just one with essid_reuse == 0 (which is always the first uncracked of N handshakes)
// we can do the following check:
if (esalts_buf[salt_idx_cracked].essid_reuse != 0) return;
// it's possible more handshakes with the same essid are following,
// thus we have to update the next essid_reuse with the same essid
const u32 salts_cnt = hashes->salts_cnt;
const u32 salts_idx_next = salt_idx_cracked + 1;
if (salts_idx_next == salts_cnt) return;
if (memcmp ((char *) salts_buf[salts_idx_next].salt_buf, (char *) salts_buf[salt_idx_cracked].salt_buf, salts_buf[salts_idx_next].salt_len)) return;
esalts_buf[salts_idx_next].essid_reuse = 0;
}
int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_len, const u32 salt_pos, const u32 digest_pos)
{
const hashconfig_t *hashconfig = hashcat_ctx->hashconfig;
@ -15063,6 +15017,8 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
const u32 opti_type = hashconfig->opti_type;
const u32 dgst_size = hashconfig->dgst_size;
const u32 digest_cur = salts_buf[salt_pos].digests_offset + digest_pos;
u8 datax[256] = { 0 };
u64 *digest_buf64 = (u64 *) datax;
@ -15541,10 +15497,8 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
}
else if (hash_mode == 501)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
@ -15791,7 +15745,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
wpa_t *wpas = (wpa_t *) esalts_buf;
wpa_t *wpa = &wpas[salt_pos];
wpa_t *wpa = &wpas[digest_cur];
char *essid = (char *) wpa->essid;
@ -15815,10 +15769,10 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
}
snprintf (out_buf, out_len - 1, "%08x%08x%08x%08x:%02x%02x%02x%02x%02x%02x:%02x%02x%02x%02x%02x%02x:%s",
salt.salt_buf[12],
salt.salt_buf[13],
salt.salt_buf[14],
salt.salt_buf[15],
wpa->hash[0],
wpa->hash[1],
wpa->hash[2],
wpa->hash[3],
wpa->orig_mac_ap[0],
wpa->orig_mac_ap[1],
wpa->orig_mac_ap[2],
@ -15888,7 +15842,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
ikepsk_t *ikepsks = (ikepsk_t *) esalts_buf;
ikepsk_t *ikepsk = &ikepsks[salt_pos];
ikepsk_t *ikepsk = &ikepsks[digest_cur];
size_t buf_len = out_len - 1;
@ -15954,7 +15908,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
ikepsk_t *ikepsks = (ikepsk_t *) esalts_buf;
ikepsk_t *ikepsk = &ikepsks[salt_pos];
ikepsk_t *ikepsk = &ikepsks[digest_cur];
size_t buf_len = out_len - 1;
@ -16020,7 +15974,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
netntlm_t *netntlms = (netntlm_t *) esalts_buf;
netntlm_t *netntlm = &netntlms[salt_pos];
netntlm_t *netntlm = &netntlms[digest_cur];
char user_buf[64] = { 0 };
char domain_buf[64] = { 0 };
@ -16071,7 +16025,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
netntlm_t *netntlms = (netntlm_t *) esalts_buf;
netntlm_t *netntlm = &netntlms[salt_pos];
netntlm_t *netntlm = &netntlms[digest_cur];
char user_buf[64] = { 0 };
char domain_buf[64] = { 0 };
@ -16185,7 +16139,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
agilekey_t *agilekeys = (agilekey_t *) esalts_buf;
agilekey_t *agilekey = &agilekeys[salt_pos];
agilekey_t *agilekey = &agilekeys[digest_cur];
salt.salt_buf[0] = byte_swap_32 (salt.salt_buf[0]);
salt.salt_buf[1] = byte_swap_32 (salt.salt_buf[1]);
@ -16233,7 +16187,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
pbkdf2_sha512_t *pbkdf2_sha512s = (pbkdf2_sha512_t *) esalts_buf;
pbkdf2_sha512_t *pbkdf2_sha512 = &pbkdf2_sha512s[salt_pos];
pbkdf2_sha512_t *pbkdf2_sha512 = &pbkdf2_sha512s[digest_cur];
u32 esalt[8] = { 0 };
@ -16268,7 +16222,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
pbkdf2_sha512_t *pbkdf2_sha512s = (pbkdf2_sha512_t *) esalts_buf;
pbkdf2_sha512_t *pbkdf2_sha512 = &pbkdf2_sha512s[salt_pos];
pbkdf2_sha512_t *pbkdf2_sha512 = &pbkdf2_sha512s[digest_cur];
u32 len_used = 0;
@ -16297,7 +16251,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
rakp_t *rakps = (rakp_t *) esalts_buf;
rakp_t *rakp = &rakps[salt_pos];
rakp_t *rakp = &rakps[digest_cur];
u32 i;
u32 j;
@ -16344,7 +16298,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
krb5pa_t *krb5pas = (krb5pa_t *) esalts_buf;
krb5pa_t *krb5pa = &krb5pas[salt_pos];
krb5pa_t *krb5pa = &krb5pas[digest_cur];
u8 *ptr_timestamp = (u8 *) krb5pa->timestamp;
u8 *ptr_checksum = (u8 *) krb5pa->checksum;
@ -16435,7 +16389,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
cloudkey_t *cloudkeys = (cloudkey_t *) esalts_buf;
cloudkey_t *cloudkey = &cloudkeys[salt_pos];
cloudkey_t *cloudkey = &cloudkeys[digest_cur];
char data_buf[4096] = { 0 };
@ -16545,7 +16499,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
androidfde_t *androidfdes = (androidfde_t *) esalts_buf;
androidfde_t *androidfde = &androidfdes[salt_pos];
androidfde_t *androidfde = &androidfdes[digest_cur];
char tmp[3073] = { 0 };
@ -16610,7 +16564,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
pbkdf2_sha256_t *pbkdf2_sha256s = (pbkdf2_sha256_t *) esalts_buf;
pbkdf2_sha256_t *pbkdf2_sha256 = &pbkdf2_sha256s[salt_pos];
pbkdf2_sha256_t *pbkdf2_sha256 = &pbkdf2_sha256s[digest_cur];
unsigned char *salt_buf_ptr = (unsigned char *) pbkdf2_sha256->salt_buf;
@ -16658,7 +16612,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
office2007_t *office2007s = (office2007_t *) esalts_buf;
office2007_t *office2007 = &office2007s[salt_pos];
office2007_t *office2007 = &office2007s[digest_cur];
snprintf (out_buf, out_len - 1, "%s*%d*%d*%u*%d*%08x%08x%08x%08x*%08x%08x%08x%08x*%08x%08x%08x%08x%08x",
SIGNATURE_OFFICE2007,
@ -16684,7 +16638,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
office2010_t *office2010s = (office2010_t *) esalts_buf;
office2010_t *office2010 = &office2010s[salt_pos];
office2010_t *office2010 = &office2010s[digest_cur];
snprintf (out_buf, out_len - 1, "%s*%d*%d*%d*%d*%08x%08x%08x%08x*%08x%08x%08x%08x*%08x%08x%08x%08x%08x%08x%08x%08x",
SIGNATURE_OFFICE2010,
@ -16713,7 +16667,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
office2013_t *office2013s = (office2013_t *) esalts_buf;
office2013_t *office2013 = &office2013s[salt_pos];
office2013_t *office2013 = &office2013s[digest_cur];
snprintf (out_buf, out_len - 1, "%s*%d*%d*%d*%d*%08x%08x%08x%08x*%08x%08x%08x%08x*%08x%08x%08x%08x%08x%08x%08x%08x",
SIGNATURE_OFFICE2013,
@ -16742,7 +16696,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
oldoffice01_t *oldoffice01s = (oldoffice01_t *) esalts_buf;
oldoffice01_t *oldoffice01 = &oldoffice01s[salt_pos];
oldoffice01_t *oldoffice01 = &oldoffice01s[digest_cur];
snprintf (out_buf, out_len - 1, "%s*%08x%08x%08x%08x*%08x%08x%08x%08x*%08x%08x%08x%08x",
(oldoffice01->version == 0) ? SIGNATURE_OLDOFFICE0 : SIGNATURE_OLDOFFICE1,
@ -16763,7 +16717,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
oldoffice01_t *oldoffice01s = (oldoffice01_t *) esalts_buf;
oldoffice01_t *oldoffice01 = &oldoffice01s[salt_pos];
oldoffice01_t *oldoffice01 = &oldoffice01s[digest_cur];
snprintf (out_buf, out_len - 1, "%s*%08x%08x%08x%08x*%08x%08x%08x%08x*%08x%08x%08x%08x",
(oldoffice01->version == 0) ? SIGNATURE_OLDOFFICE0 : SIGNATURE_OLDOFFICE1,
@ -16784,7 +16738,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
oldoffice01_t *oldoffice01s = (oldoffice01_t *) esalts_buf;
oldoffice01_t *oldoffice01 = &oldoffice01s[salt_pos];
oldoffice01_t *oldoffice01 = &oldoffice01s[digest_cur];
u8 *rc4key = (u8 *) oldoffice01->rc4key;
@ -16812,7 +16766,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
oldoffice34_t *oldoffice34s = (oldoffice34_t *) esalts_buf;
oldoffice34_t *oldoffice34 = &oldoffice34s[salt_pos];
oldoffice34_t *oldoffice34 = &oldoffice34s[digest_cur];
snprintf (out_buf, out_len - 1, "%s*%08x%08x%08x%08x*%08x%08x%08x%08x*%08x%08x%08x%08x%08x",
(oldoffice34->version == 3) ? SIGNATURE_OLDOFFICE3 : SIGNATURE_OLDOFFICE4,
@ -16834,7 +16788,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
oldoffice34_t *oldoffice34s = (oldoffice34_t *) esalts_buf;
oldoffice34_t *oldoffice34 = &oldoffice34s[salt_pos];
oldoffice34_t *oldoffice34 = &oldoffice34s[digest_cur];
snprintf (out_buf, out_len - 1, "%s*%08x%08x%08x%08x*%08x%08x%08x%08x*%08x%08x%08x%08x%08x",
(oldoffice34->version == 3) ? SIGNATURE_OLDOFFICE3 : SIGNATURE_OLDOFFICE4,
@ -16856,7 +16810,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
oldoffice34_t *oldoffice34s = (oldoffice34_t *) esalts_buf;
oldoffice34_t *oldoffice34 = &oldoffice34s[salt_pos];
oldoffice34_t *oldoffice34 = &oldoffice34s[digest_cur];
u8 *rc4key = (u8 *) oldoffice34->rc4key;
@ -16887,7 +16841,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
pbkdf2_sha256_t *pbkdf2_sha256s = (pbkdf2_sha256_t *) esalts_buf;
pbkdf2_sha256_t *pbkdf2_sha256 = &pbkdf2_sha256s[salt_pos];
pbkdf2_sha256_t *pbkdf2_sha256 = &pbkdf2_sha256s[digest_cur];
unsigned char *salt_buf_ptr = (unsigned char *) pbkdf2_sha256->salt_buf;
@ -16925,7 +16879,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
cram_md5_t *cram_md5s = (cram_md5_t *) esalts_buf;
cram_md5_t *cram_md5 = &cram_md5s[salt_pos];
cram_md5_t *cram_md5 = &cram_md5s[digest_cur];
// challenge
@ -16967,7 +16921,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
pdf_t *pdfs = (pdf_t *) esalts_buf;
pdf_t *pdf = &pdfs[salt_pos];
pdf_t *pdf = &pdfs[digest_cur];
snprintf (out_buf, out_len - 1, "$pdf$%d*%d*%d*%d*%d*%d*%08x%08x%08x%08x*%d*%08x%08x%08x%08x%08x%08x%08x%08x*%d*%08x%08x%08x%08x%08x%08x%08x%08x",
@ -17005,7 +16959,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
pdf_t *pdfs = (pdf_t *) esalts_buf;
pdf_t *pdf = &pdfs[salt_pos];
pdf_t *pdf = &pdfs[digest_cur];
snprintf (out_buf, out_len - 1, "$pdf$%d*%d*%d*%d*%d*%d*%08x%08x%08x%08x*%d*%08x%08x%08x%08x%08x%08x%08x%08x*%d*%08x%08x%08x%08x%08x%08x%08x%08x",
@ -17043,7 +16997,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
pdf_t *pdfs = (pdf_t *) esalts_buf;
pdf_t *pdf = &pdfs[salt_pos];
pdf_t *pdf = &pdfs[digest_cur];
u8 *rc4key = (u8 *) pdf->rc4key;
@ -17088,7 +17042,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
pdf_t *pdfs = (pdf_t *) esalts_buf;
pdf_t *pdf = &pdfs[salt_pos];
pdf_t *pdf = &pdfs[digest_cur];
if (pdf->id_len == 32)
{
@ -17165,28 +17119,22 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
}
else if (hash_mode == 10600)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
else if (hash_mode == 10700)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
else if (hash_mode == 10900)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
@ -17222,7 +17170,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
bitcoin_wallet_t *bitcoin_wallets = (bitcoin_wallet_t *) esalts_buf;
bitcoin_wallet_t *bitcoin_wallet = &bitcoin_wallets[salt_pos];
bitcoin_wallet_t *bitcoin_wallet = &bitcoin_wallets[digest_cur];
const u32 cry_master_len = bitcoin_wallet->cry_master_len;
const u32 ckey_len = bitcoin_wallet->ckey_len;
@ -17272,10 +17220,8 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
}
else if (hash_mode == 11400)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
@ -17283,7 +17229,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
seven_zip_hook_salt_t *seven_zips = (seven_zip_hook_salt_t *) hashes->hook_salts_buf;
seven_zip_hook_salt_t *seven_zip = &seven_zips[salt_pos];
seven_zip_hook_salt_t *seven_zip = &seven_zips[digest_cur];
const u32 data_len = seven_zip->data_len;
@ -17387,37 +17333,29 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
}
else if (hash_mode == 11900)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
else if (hash_mode == 12000)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
else if (hash_mode == 12001)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
else if (hash_mode == 12100)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
@ -17512,10 +17450,8 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
}
else if (hash_mode == 12700)
{
u32 digest_idx = salt.digests_offset + digest_pos;
hashinfo_t **hashinfo_ptr = hash_info;
char *hash_buf = hashinfo_ptr[digest_idx]->orighash;
char *hash_buf = hashinfo_ptr[digest_cur]->orighash;
snprintf (out_buf, out_len - 1, "%s", hash_buf);
}
@ -17575,7 +17511,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
rar5_t *rar5s = (rar5_t *) esalts_buf;
rar5_t *rar5 = &rar5s[salt_pos];
rar5_t *rar5 = &rar5s[digest_cur];
snprintf (out_buf, out_len - 1, "$rar5$16$%08x%08x%08x%08x$%u$%08x%08x%08x%08x$8$%08x%08x",
salt.salt_buf[0],
@ -17595,7 +17531,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
krb5tgs_t *krb5tgss = (krb5tgs_t *) esalts_buf;
krb5tgs_t *krb5tgs = &krb5tgss[salt_pos];
krb5tgs_t *krb5tgs = &krb5tgss[digest_cur];
u8 *ptr_checksum = (u8 *) krb5tgs->checksum;
u8 *ptr_edata2 = (u8 *) krb5tgs->edata2;
@ -17648,7 +17584,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
keepass_t *keepasss = (keepass_t *) esalts_buf;
keepass_t *keepass = &keepasss[salt_pos];
keepass_t *keepass = &keepasss[digest_cur];
u32 version = (u32) keepass->version;
u32 rounds = salt.salt_iter;
@ -17782,7 +17718,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
pstoken_t *pstokens = (pstoken_t *) esalts_buf;
pstoken_t *pstoken = &pstokens[salt_pos];
pstoken_t *pstoken = &pstokens[digest_cur];
const u32 salt_len = (pstoken->salt_len > 512) ? 512 : pstoken->salt_len;
@ -17807,7 +17743,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
zip2_t *zip2s = (zip2_t *) esalts_buf;
zip2_t *zip2 = &zip2s[salt_pos];
zip2_t *zip2 = &zip2s[digest_cur];
const u32 salt_len = zip2->salt_len;
@ -17862,7 +17798,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
{
win8phone_t *esalts = (win8phone_t *) esalts_buf;
win8phone_t *esalt = &esalts[salt_pos];
win8phone_t *esalt = &esalts[digest_cur];
char buf[256 + 1] = { 0 };
@ -17908,7 +17844,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
// WPKY
itunes_backup_t *itunes_backups = (itunes_backup_t *) esalts_buf;
itunes_backup_t *itunes_backup = &itunes_backups[salt_pos];
itunes_backup_t *itunes_backup = &itunes_backups[digest_cur];
u32 wkpy_u32[10];
@ -17950,7 +17886,7 @@ int ascii_digest (hashcat_ctx_t *hashcat_ctx, char *out_buf, const size_t out_le
// WPKY
itunes_backup_t *itunes_backups = (itunes_backup_t *) esalts_buf;
itunes_backup_t *itunes_backup = &itunes_backups[salt_pos];
itunes_backup_t *itunes_backup = &itunes_backups[digest_cur];
u32 wkpy_u32[10];

@ -1144,17 +1144,6 @@ int choose_kernel (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param,
bool run_loop = true;
bool run_comp = true;
if (hashconfig->hash_mode == 2500)
{
wpa_t *esalts_buf = hashes->esalts_buf;
if (esalts_buf[salt_pos].essid_reuse == 1)
{
run_init = false;
run_loop = false;
}
}
if (run_init == true)
{
CL_rc = run_kernel_amp (hashcat_ctx, device_param, pws_cnt);
@ -3608,7 +3597,7 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx)
size_t size_plains = hashes->digests_cnt * sizeof (plain_t);
size_t size_salts = hashes->salts_cnt * sizeof (salt_t);
size_t size_esalts = hashes->salts_cnt * hashconfig->esalt_size;
size_t size_esalts = hashes->digests_cnt * hashconfig->esalt_size;
size_t size_shown = hashes->digests_cnt * sizeof (u32);
size_t size_digests = hashes->digests_cnt * hashconfig->dgst_size;

@ -24,7 +24,7 @@ int sort_by_hash_no_salt (const void *v1, const void *v2, void *v3);
// this function is for potfile comparison where the potfile does not contain all the
// information requires to do a true sort_by_hash() bsearch
static int sort_by_hash_t_salt (const void *v1, const void *v2)
static int sort_by_hash_t_salt (const void *v1, const void *v2, void *v3)
{
const hash_t *h1 = (const hash_t *) v1;
const hash_t *h2 = (const hash_t *) v2;
@ -446,7 +446,7 @@ int potfile_remove_parse (hashcat_ctx_t *hashcat_ctx)
hash_buf.salt->salt_len = line_hash_len;
found = (hash_t *) bsearch (&hash_buf, hashes_buf, hashes_cnt, sizeof (hash_t), sort_by_hash_t_salt);
found = (hash_t *) hc_bsearch_r (&hash_buf, hashes_buf, hashes_cnt, sizeof (hash_t), sort_by_hash_t_salt, (void *) hashconfig);
}
}
else if (hashconfig->hash_mode == 2500)
@ -482,7 +482,8 @@ int potfile_remove_parse (hashcat_ctx_t *hashcat_ctx)
memcpy (hash_buf.salt->salt_buf, essid_pos, essid_len);
hash_buf.salt->salt_len = essid_len;
hash_buf.salt->salt_len = essid_len;
hash_buf.salt->salt_iter = ROUNDS_WPA2 - 1;
u32 hash[4];
@ -491,13 +492,20 @@ int potfile_remove_parse (hashcat_ctx_t *hashcat_ctx)
hash[2] = hex_to_u32 ((const u8 *) &hash_pos[16]);
hash[3] = hex_to_u32 ((const u8 *) &hash_pos[24]);
hash_buf.salt->salt_buf[12] = byte_swap_32 (hash[0]);
hash_buf.salt->salt_buf[13] = byte_swap_32 (hash[1]);
hash_buf.salt->salt_buf[14] = byte_swap_32 (hash[2]);
hash_buf.salt->salt_buf[15] = byte_swap_32 (hash[3]);
hash[0] = byte_swap_32 (hash[0]);
hash[1] = byte_swap_32 (hash[1]);
hash[2] = byte_swap_32 (hash[2]);
hash[3] = byte_swap_32 (hash[3]);
u32 *digest = (u32 *) hash_buf.digest;
digest[0] = hash[0];
digest[1] = hash[1];
digest[2] = hash[2];
digest[3] = hash[3];
}
found = (hash_t *) bsearch (&hash_buf, hashes_buf, hashes_cnt, sizeof (hash_t), sort_by_hash_t_salt);
found = (hash_t *) hc_bsearch_r (&hash_buf, hashes_buf, hashes_cnt, sizeof (hash_t), sort_by_hash, (void *) hashconfig);
}
else
{

Loading…
Cancel
Save