*/
u32 salt_buf0[4];
+ u32 salt_buf1[4];
+ u32 salt_buf2[4];
salt_buf0[0] = swap32_S (salt_bufs[salt_pos].salt_buf[ 0]);
salt_buf0[1] = swap32_S (salt_bufs[salt_pos].salt_buf[ 1]);
salt_buf0[2] = swap32_S (salt_bufs[salt_pos].salt_buf[ 2]);
salt_buf0[3] = swap32_S (salt_bufs[salt_pos].salt_buf[ 3]);
-
- u32 salt_buf1[4];
-
salt_buf1[0] = swap32_S (salt_bufs[salt_pos].salt_buf[ 4]);
salt_buf1[1] = swap32_S (salt_bufs[salt_pos].salt_buf[ 5]);
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 salt_buf2[4];
-
salt_buf2[0] = swap32_S (salt_bufs[salt_pos].salt_buf[ 8]);
salt_buf2[1] = swap32_S (salt_bufs[salt_pos].salt_buf[ 9]);
salt_buf2[2] = 0;
const u32x w0lr = w0l | w0r;
u32x w0_t[4];
+ u32x w1_t[4];
+ u32x w2_t[4];
+ u32x w3_t[4];
w0_t[0] = w0lr;
w0_t[1] = w0[1];
w0_t[2] = w0[2];
w0_t[3] = w0[3];
-
- u32x w1_t[4];
-
w1_t[0] = w1[0];
w1_t[1] = w1[1];
w1_t[2] = w1[2];
w1_t[3] = w1[3];
-
- u32x w2_t[4];
-
w2_t[0] = w2[0];
w2_t[1] = w2[1];
w2_t[2] = w2[2];
w2_t[3] = w2[3];
-
- u32x w3_t[4];
-
w3_t[0] = w3[0];
w3_t[1] = w3[1];
w3_t[2] = 0;
w3_t[3] = pw_len * 8;
+ /**
+ * SHA1
+ */
+
u32x digest[5];
digest[0] = SHA1M_A;
w3_t[0] = 0;
w3_t[1] = 0;
w3_t[2] = 0;
- w3_t[3] = 80 * 8;
+ w3_t[3] = (salt_len + 40) * 8;
sha1_transform (w0_t, w1_t, w2_t, w3_t, digest);
w3_t[0] = 0;
w3_t[1] = 0;
w3_t[2] = 0;
- w3_t[3] = 80 * 8;
+ w3_t[3] = (salt_len + 40) * 8;
sha1_transform (w0_t, w1_t, w2_t, w3_t, digest);
const u32 gid = get_global_id (0);
const u32 lid = get_local_id (0);
- /**
- * digest
- */
-
- const u32 search[4] =
- {
- digests_buf[digests_offset].digest_buf[DGST_R0],
- digests_buf[digests_offset].digest_buf[DGST_R1],
- digests_buf[digests_offset].digest_buf[DGST_R2],
- digests_buf[digests_offset].digest_buf[DGST_R3]
- };
-
/**
* salt
*/
u32 salt_buf0[4];
+ u32 salt_buf1[4];
+ u32 salt_buf2[4];
salt_buf0[0] = swap32_S (salt_bufs[salt_pos].salt_buf[ 0]);
salt_buf0[1] = swap32_S (salt_bufs[salt_pos].salt_buf[ 1]);
salt_buf0[2] = swap32_S (salt_bufs[salt_pos].salt_buf[ 2]);
salt_buf0[3] = swap32_S (salt_bufs[salt_pos].salt_buf[ 3]);
-
- u32 salt_buf1[4];
-
salt_buf1[0] = swap32_S (salt_bufs[salt_pos].salt_buf[ 4]);
salt_buf1[1] = swap32_S (salt_bufs[salt_pos].salt_buf[ 5]);
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 salt_buf2[4];
-
salt_buf2[0] = swap32_S (salt_bufs[salt_pos].salt_buf[ 8]);
salt_buf2[1] = swap32_S (salt_bufs[salt_pos].salt_buf[ 9]);
salt_buf2[2] = 0;
const u32 salt_len = salt_bufs[salt_pos].salt_len;
+ /**
+ * digest
+ */
+
+ const u32 search[4] =
+ {
+ digests_buf[digests_offset].digest_buf[DGST_R0],
+ digests_buf[digests_offset].digest_buf[DGST_R1],
+ digests_buf[digests_offset].digest_buf[DGST_R2],
+ digests_buf[digests_offset].digest_buf[DGST_R3]
+ };
+
/**
* loop
*/
const u32x w0lr = w0l | w0r;
u32x w0_t[4];
+ u32x w1_t[4];
+ u32x w2_t[4];
+ u32x w3_t[4];
w0_t[0] = w0lr;
w0_t[1] = w0[1];
w0_t[2] = w0[2];
w0_t[3] = w0[3];
-
- u32x w1_t[4];
-
w1_t[0] = w1[0];
w1_t[1] = w1[1];
w1_t[2] = w1[2];
w1_t[3] = w1[3];
-
- u32x w2_t[4];
-
w2_t[0] = w2[0];
w2_t[1] = w2[1];
w2_t[2] = w2[2];
w2_t[3] = w2[3];
-
- u32x w3_t[4];
-
w3_t[0] = w3[0];
w3_t[1] = w3[1];
w3_t[2] = 0;
w3_t[3] = pw_len * 8;
+ /**
+ * SHA1
+ */
+
u32x digest[5];
digest[0] = SHA1M_A;