1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-24 23:48:39 +00:00

Merge branch 'fix_m09100' of https://github.com/matrix/hashcat into matrix-fix_m09100

This commit is contained in:
jsteube 2016-11-28 10:51:45 +01:00
commit b2692705dd

View File

@ -69,7 +69,7 @@ __constant u32 lotus_magic_table[256] =
#define BOX1(S,i) (u32x) ((S)[(i).s0], (S)[(i).s1], (S)[(i).s2], (S)[(i).s3], (S)[(i).s4], (S)[(i).s5], (S)[(i).s6], (S)[(i).s7], (S)[(i).s8], (S)[(i).s9], (S)[(i).sa], (S)[(i).sb], (S)[(i).sc], (S)[(i).sd], (S)[(i).se], (S)[(i).sf]) #define BOX1(S,i) (u32x) ((S)[(i).s0], (S)[(i).s1], (S)[(i).s2], (S)[(i).s3], (S)[(i).s4], (S)[(i).s5], (S)[(i).s6], (S)[(i).s7], (S)[(i).s8], (S)[(i).s9], (S)[(i).sa], (S)[(i).sb], (S)[(i).sc], (S)[(i).sd], (S)[(i).se], (S)[(i).sf])
#endif #endif
void lotus_mix (u32x *in, __local u32 *s_lotus_magic_table) static void lotus_mix (u32x *in, __local u32 *s_lotus_magic_table)
{ {
u32x p = 0; u32x p = 0;
@ -92,7 +92,7 @@ void lotus_mix (u32x *in, __local u32 *s_lotus_magic_table)
} }
} }
void lotus_transform_password (u32x in[4], u32x out[4], __local u32 *s_lotus_magic_table) static void lotus_transform_password (u32x in[4], u32x out[4], __local u32 *s_lotus_magic_table)
{ {
u32x t = out[3] >> 24; u32x t = out[3] >> 24;
@ -110,7 +110,7 @@ void lotus_transform_password (u32x in[4], u32x out[4], __local u32 *s_lotus_mag
} }
} }
void pad (u32 w[4], const u32 len) static void pad (u32 w[4], const u32 len)
{ {
const u32 val = 16 - len; const u32 val = 16 - len;
@ -189,7 +189,7 @@ void pad (u32 w[4], const u32 len)
} }
} }
void mdtransform_norecalc (u32x state[4], u32x block[4], __local u32 *s_lotus_magic_table) static void mdtransform_norecalc (u32x state[4], u32x block[4], __local u32 *s_lotus_magic_table)
{ {
u32x x[12]; u32x x[12];
@ -214,14 +214,14 @@ void mdtransform_norecalc (u32x state[4], u32x block[4], __local u32 *s_lotus_ma
state[3] = x[3]; state[3] = x[3];
} }
void mdtransform (u32x state[4], u32x checksum[4], u32x block[4], __local u32 *s_lotus_magic_table) static void mdtransform (u32x state[4], u32x checksum[4], u32x block[4], __local u32 *s_lotus_magic_table)
{ {
mdtransform_norecalc (state, block, s_lotus_magic_table); mdtransform_norecalc (state, block, s_lotus_magic_table);
lotus_transform_password (block, checksum, s_lotus_magic_table); lotus_transform_password (block, checksum, s_lotus_magic_table);
} }
void domino_big_md (const u32x saved_key[16], const u32 size, u32x state[4], __local u32 *s_lotus_magic_table) static void domino_big_md (const u32x saved_key[16], const u32 size, u32x state[4], __local u32 *s_lotus_magic_table)
{ {
u32x checksum[4]; u32x checksum[4];
@ -260,7 +260,7 @@ void domino_big_md (const u32x saved_key[16], const u32 size, u32x state[4], __l
mdtransform_norecalc (state, checksum, s_lotus_magic_table); mdtransform_norecalc (state, checksum, s_lotus_magic_table);
} }
void sha1_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u32 w3[4], u32 digest[5]) static void sha1_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u32 w3[4], u32 digest[5])
{ {
u32 A = digest[0]; u32 A = digest[0];
u32 B = digest[1]; u32 B = digest[1];
@ -388,7 +388,7 @@ void sha1_transform (const u32 w0[4], const u32 w1[4], const u32 w2[4], const u3
digest[4] += E; digest[4] += E;
} }
void hmac_sha1_pad (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[5], u32 opad[5]) static void hmac_sha1_pad (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[5], u32 opad[5])
{ {
w0[0] = w0[0] ^ 0x36363636; w0[0] = w0[0] ^ 0x36363636;
w0[1] = w0[1] ^ 0x36363636; w0[1] = w0[1] ^ 0x36363636;
@ -441,7 +441,7 @@ void hmac_sha1_pad (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[5], u32
sha1_transform (w0, w1, w2, w3, opad); sha1_transform (w0, w1, w2, w3, opad);
} }
void hmac_sha1_run (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[5], u32 opad[5], u32 digest[5]) static void hmac_sha1_run (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[5], u32 opad[5], u32 digest[5])
{ {
digest[0] = ipad[0]; digest[0] = ipad[0];
digest[1] = ipad[1]; digest[1] = ipad[1];
@ -477,7 +477,7 @@ void hmac_sha1_run (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], u32 ipad[5], u32
sha1_transform (w0, w1, w2, w3, digest); sha1_transform (w0, w1, w2, w3, digest);
} }
void base64_encode (u8 *base64_hash, const u32 len, const u8 *base64_plain) static void base64_encode (u8 *base64_hash, const u32 len, const u8 *base64_plain)
{ {
u8 *out_ptr = (u8 *) base64_hash; u8 *out_ptr = (u8 *) base64_hash;
u8 *in_ptr = (u8 *) base64_plain; u8 *in_ptr = (u8 *) base64_plain;
@ -501,7 +501,7 @@ void base64_encode (u8 *base64_hash, const u32 len, const u8 *base64_plain)
} }
} }
void lotus6_base64_encode (u8 base64_hash[24], const u32 salt0, const u32 salt1, u32 a, u32 b, u32 c) static void lotus6_base64_encode (u8 base64_hash[24], const u32 salt0, const u32 salt1, u32 a, u32 b, u32 c)
{ {
uchar4 salt0c = as_uchar4 (salt0); uchar4 salt0c = as_uchar4 (salt0);
uchar4 salt1c = as_uchar4 (salt1); uchar4 salt1c = as_uchar4 (salt1);