u32 salt_buf0[4];
u32 salt_buf1[4];
- salt_buf0[0] = salt_bufs[salt_pos].salt_buf[ 0];
- salt_buf0[1] = salt_bufs[salt_pos].salt_buf[ 1];
- salt_buf0[2] = salt_bufs[salt_pos].salt_buf[ 2];
- salt_buf0[3] = salt_bufs[salt_pos].salt_buf[ 3];
- salt_buf1[0] = salt_bufs[salt_pos].salt_buf[ 4];
- salt_buf1[1] = salt_bufs[salt_pos].salt_buf[ 5];
- salt_buf1[2] = salt_bufs[salt_pos].salt_buf[ 6];
- salt_buf1[3] = salt_bufs[salt_pos].salt_buf[ 7];
+ 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]);
+ 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]);
const u32 salt_len = salt_bufs[salt_pos].salt_len;
u32 domain_buf0[4];
u32 domain_buf1[4];
- domain_buf0[0] = salt_bufs[salt_pos].salt_buf_pc[ 0];
- domain_buf0[1] = salt_bufs[salt_pos].salt_buf_pc[ 1];
- domain_buf0[2] = salt_bufs[salt_pos].salt_buf_pc[ 2];
- domain_buf0[3] = salt_bufs[salt_pos].salt_buf_pc[ 3];
- domain_buf1[0] = salt_bufs[salt_pos].salt_buf_pc[ 4];
- domain_buf1[1] = salt_bufs[salt_pos].salt_buf_pc[ 5];
- domain_buf1[2] = salt_bufs[salt_pos].salt_buf_pc[ 6];
+ domain_buf0[0] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 0]);
+ domain_buf0[1] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 1]);
+ domain_buf0[2] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 2]);
+ domain_buf0[3] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 3]);
+ domain_buf1[0] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 4]);
+ domain_buf1[1] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 5]);
+ domain_buf1[2] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 6]);
domain_buf1[3] = 0;
const u32 domain_len = salt_bufs[salt_pos].salt_buf_pc[ 7];
- /**
- * salt
- */
-
u32 s0[4];
u32 s1[4];
u32 s2[4];
s3[2] = 0;
s3[3] = 0;
- switch_buffer_by_offset_le_S (s0, s1, s2, s3, pw_len);
+ switch_buffer_by_offset_be_S (s0, s1, s2, s3, pw_len);
w0[0] |= s0[0];
w0[1] |= s0[1];
s3[2] = 0;
s3[3] = 0;
- switch_buffer_by_offset_le_S (s0, s1, s2, s3, pw_len + domain_len + 1);
+ switch_buffer_by_offset_be_S (s0, s1, s2, s3, pw_len + domain_len + 1);
w0[0] |= s0[0];
w0[1] |= s0[1];
w3_t[2] = w3[2];
w3_t[3] = w3[3];
- switch_buffer_by_offset_le (w0_t, w1_t, w2_t, w3_t, 1);
+ switch_buffer_by_offset_be (w0_t, w1_t, w2_t, w3_t, 1);
- w0_t[0] |= pw_len & 0xff;
+ w0_t[0] |= (pw_len & 0xff) << 24;
+ w3_t[2] = 0;
+ w3_t[3] = (1 + pw_len + domain_len + 1 + salt_len) * 8;
/**
* sha1
*/
- w0_t[0] = swap32 (w0_t[0]);
- w0_t[1] = swap32 (w0_t[1]);
- w0_t[2] = swap32 (w0_t[2]);
- w0_t[3] = swap32 (w0_t[3]);
- w1_t[0] = swap32 (w1_t[0]);
- w1_t[1] = swap32 (w1_t[1]);
- w1_t[2] = swap32 (w1_t[2]);
- w1_t[3] = swap32 (w1_t[3]);
- w2_t[0] = swap32 (w2_t[0]);
- w2_t[1] = swap32 (w2_t[1]);
- w2_t[2] = swap32 (w2_t[2]);
- w2_t[3] = swap32 (w2_t[3]);
- w3_t[0] = swap32 (w3_t[0]);
- w3_t[1] = swap32 (w3_t[1]);
- w3_t[2] = 0;
- w3_t[3] = (1 + pw_len + domain_len + 1 + salt_len) * 8;
-
u32x digest[5];
digest[0] = SHA1M_A;
w0_t[2] = digest[2];
w0_t[3] = digest[3];
w1_t[0] = digest[4];
- w1_t[1] = swap32 (salt_buf0[0]);
- w1_t[2] = swap32 (salt_buf0[1]);
- w1_t[3] = swap32 (salt_buf0[2]);
- w2_t[0] = swap32 (salt_buf0[3]);
- w2_t[1] = swap32 (salt_buf1[0]);
- w2_t[2] = swap32 (salt_buf1[1]);
- w2_t[3] = swap32 (salt_buf1[2]);
- w3_t[0] = swap32 (salt_buf1[3]);
+ w1_t[1] = salt_buf0[0];
+ w1_t[2] = salt_buf0[1];
+ w1_t[3] = salt_buf0[2];
+ w2_t[0] = salt_buf0[3];
+ w2_t[1] = salt_buf1[0];
+ w2_t[2] = salt_buf1[1];
+ w2_t[3] = salt_buf1[2];
+ w3_t[0] = salt_buf1[3];
w3_t[1] = 0;
w3_t[2] = 0;
w3_t[3] = (20 + salt_len) * 8;
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];
- salt_buf0[0] = salt_bufs[salt_pos].salt_buf[ 0];
- salt_buf0[1] = salt_bufs[salt_pos].salt_buf[ 1];
- salt_buf0[2] = salt_bufs[salt_pos].salt_buf[ 2];
- salt_buf0[3] = salt_bufs[salt_pos].salt_buf[ 3];
- salt_buf1[0] = salt_bufs[salt_pos].salt_buf[ 4];
- salt_buf1[1] = salt_bufs[salt_pos].salt_buf[ 5];
- salt_buf1[2] = salt_bufs[salt_pos].salt_buf[ 6];
- salt_buf1[3] = salt_bufs[salt_pos].salt_buf[ 7];
+ 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]);
+ 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]);
const u32 salt_len = salt_bufs[salt_pos].salt_len;
u32 domain_buf0[4];
u32 domain_buf1[4];
- domain_buf0[0] = salt_bufs[salt_pos].salt_buf_pc[ 0];
- domain_buf0[1] = salt_bufs[salt_pos].salt_buf_pc[ 1];
- domain_buf0[2] = salt_bufs[salt_pos].salt_buf_pc[ 2];
- domain_buf0[3] = salt_bufs[salt_pos].salt_buf_pc[ 3];
- domain_buf1[0] = salt_bufs[salt_pos].salt_buf_pc[ 4];
- domain_buf1[1] = salt_bufs[salt_pos].salt_buf_pc[ 5];
- domain_buf1[2] = salt_bufs[salt_pos].salt_buf_pc[ 6];
+ domain_buf0[0] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 0]);
+ domain_buf0[1] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 1]);
+ domain_buf0[2] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 2]);
+ domain_buf0[3] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 3]);
+ domain_buf1[0] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 4]);
+ domain_buf1[1] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 5]);
+ domain_buf1[2] = swap32_S (salt_bufs[salt_pos].salt_buf_pc[ 6]);
domain_buf1[3] = 0;
const u32 domain_len = salt_bufs[salt_pos].salt_buf_pc[ 7];
- /**
- * salt
- */
-
u32 s0[4];
u32 s1[4];
u32 s2[4];
s3[2] = 0;
s3[3] = 0;
- switch_buffer_by_offset_le_S (s0, s1, s2, s3, pw_len);
+ switch_buffer_by_offset_be_S (s0, s1, s2, s3, pw_len);
w0[0] |= s0[0];
w0[1] |= s0[1];
s3[2] = 0;
s3[3] = 0;
- switch_buffer_by_offset_le_S (s0, s1, s2, s3, pw_len + domain_len + 1);
+ switch_buffer_by_offset_be_S (s0, s1, s2, s3, pw_len + domain_len + 1);
w0[0] |= s0[0];
w0[1] |= s0[1];
w3[2] |= s3[2];
w3[3] |= s3[3];
+ /**
+ * 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
*/
w3_t[2] = w3[2];
w3_t[3] = w3[3];
- switch_buffer_by_offset_le (w0_t, w1_t, w2_t, w3_t, 1);
+ switch_buffer_by_offset_be (w0_t, w1_t, w2_t, w3_t, 1);
- w0_t[0] |= pw_len & 0xff;
+ w0_t[0] |= (pw_len & 0xff) << 24;
+ w3_t[2] = 0;
+ w3_t[3] = (1 + pw_len + domain_len + 1 + salt_len) * 8;
/**
* sha1
*/
- w0_t[0] = swap32 (w0_t[0]);
- w0_t[1] = swap32 (w0_t[1]);
- w0_t[2] = swap32 (w0_t[2]);
- w0_t[3] = swap32 (w0_t[3]);
- w1_t[0] = swap32 (w1_t[0]);
- w1_t[1] = swap32 (w1_t[1]);
- w1_t[2] = swap32 (w1_t[2]);
- w1_t[3] = swap32 (w1_t[3]);
- w2_t[0] = swap32 (w2_t[0]);
- w2_t[1] = swap32 (w2_t[1]);
- w2_t[2] = swap32 (w2_t[2]);
- w2_t[3] = swap32 (w2_t[3]);
- w3_t[0] = swap32 (w3_t[0]);
- w3_t[1] = swap32 (w3_t[1]);
- w3_t[2] = 0;
- w3_t[3] = (1 + pw_len + domain_len + 1 + salt_len) * 8;
-
u32x digest[5];
digest[0] = SHA1M_A;
w0_t[2] = digest[2];
w0_t[3] = digest[3];
w1_t[0] = digest[4];
- w1_t[1] = swap32 (salt_buf0[0]);
- w1_t[2] = swap32 (salt_buf0[1]);
- w1_t[3] = swap32 (salt_buf0[2]);
- w2_t[0] = swap32 (salt_buf0[3]);
- w2_t[1] = swap32 (salt_buf1[0]);
- w2_t[2] = swap32 (salt_buf1[1]);
- w2_t[3] = swap32 (salt_buf1[2]);
- w3_t[0] = swap32 (salt_buf1[3]);
+ w1_t[1] = salt_buf0[0];
+ w1_t[2] = salt_buf0[1];
+ w1_t[3] = salt_buf0[2];
+ w2_t[0] = salt_buf0[3];
+ w2_t[1] = salt_buf1[0];
+ w2_t[2] = salt_buf1[1];
+ w2_t[3] = salt_buf1[2];
+ w3_t[0] = salt_buf1[3];
w3_t[1] = 0;
w3_t[2] = 0;
w3_t[3] = (20 + salt_len) * 8;