mirror of
https://github.com/hashcat/hashcat
synced 2025-03-08 09:19:18 +01:00
Small optimizations in -m 15300 and -m 15900
This commit is contained in:
parent
669619c1a7
commit
09b8a30da2
@ -511,25 +511,6 @@ KERNEL_FQ void m15300_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v1_t, dpapimk_t))
|
||||
if (wx_off == 24) break;
|
||||
}
|
||||
|
||||
u32 hmacSalt[4];
|
||||
u32 expectedHmac[4];
|
||||
u32 lastKey[16];
|
||||
|
||||
hmacSalt[0] = hc_swap32_S (decrypted[0]);
|
||||
hmacSalt[1] = hc_swap32_S (decrypted[1]);
|
||||
hmacSalt[2] = hc_swap32_S (decrypted[2]);
|
||||
hmacSalt[3] = hc_swap32_S (decrypted[3]);
|
||||
|
||||
expectedHmac[0] = hc_swap32_S (decrypted[4 + 0]);
|
||||
expectedHmac[1] = hc_swap32_S (decrypted[4 + 1]);
|
||||
expectedHmac[2] = hc_swap32_S (decrypted[4 + 2]);
|
||||
expectedHmac[3] = hc_swap32_S (decrypted[4 + 3]);
|
||||
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
lastKey[i] = decrypted[i + 26 - 16];
|
||||
}
|
||||
|
||||
w0[0] = tmps[gid].userKey[0];
|
||||
w0[1] = tmps[gid].userKey[1];
|
||||
w0[2] = tmps[gid].userKey[2];
|
||||
@ -551,10 +532,10 @@ KERNEL_FQ void m15300_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v1_t, dpapimk_t))
|
||||
|
||||
sha1_hmac_init_64 (&ctx, w0, w1, w2, w3);
|
||||
|
||||
w0[0] = hmacSalt[0];
|
||||
w0[1] = hmacSalt[1];
|
||||
w0[2] = hmacSalt[2];
|
||||
w0[3] = hmacSalt[3];
|
||||
w0[0] = hc_swap32_S (decrypted[0]);
|
||||
w0[1] = hc_swap32_S (decrypted[1]);
|
||||
w0[2] = hc_swap32_S (decrypted[2]);
|
||||
w0[3] = hc_swap32_S (decrypted[3]);
|
||||
w1[0] = 0;
|
||||
w1[1] = 0;
|
||||
w1[2] = 0;
|
||||
@ -591,22 +572,22 @@ KERNEL_FQ void m15300_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v1_t, dpapimk_t))
|
||||
|
||||
sha1_hmac_init_64 (&ctx, w0, w1, w2, w3);
|
||||
|
||||
w0[0] = hc_swap32_S (lastKey[ 0]);
|
||||
w0[1] = hc_swap32_S (lastKey[ 1]);
|
||||
w0[2] = hc_swap32_S (lastKey[ 2]);
|
||||
w0[3] = hc_swap32_S (lastKey[ 3]);
|
||||
w1[0] = hc_swap32_S (lastKey[ 4]);
|
||||
w1[1] = hc_swap32_S (lastKey[ 5]);
|
||||
w1[2] = hc_swap32_S (lastKey[ 6]);
|
||||
w1[3] = hc_swap32_S (lastKey[ 7]);
|
||||
w2[0] = hc_swap32_S (lastKey[ 8]);
|
||||
w2[1] = hc_swap32_S (lastKey[ 9]);
|
||||
w2[2] = hc_swap32_S (lastKey[10]);
|
||||
w2[3] = hc_swap32_S (lastKey[11]);
|
||||
w3[0] = hc_swap32_S (lastKey[12]);
|
||||
w3[1] = hc_swap32_S (lastKey[13]);
|
||||
w3[2] = hc_swap32_S (lastKey[14]);
|
||||
w3[3] = hc_swap32_S (lastKey[15]);
|
||||
w0[0] = hc_swap32_S (decrypted[10]);
|
||||
w0[1] = hc_swap32_S (decrypted[11]);
|
||||
w0[2] = hc_swap32_S (decrypted[12]);
|
||||
w0[3] = hc_swap32_S (decrypted[13]);
|
||||
w1[0] = hc_swap32_S (decrypted[14]);
|
||||
w1[1] = hc_swap32_S (decrypted[15]);
|
||||
w1[2] = hc_swap32_S (decrypted[16]);
|
||||
w1[3] = hc_swap32_S (decrypted[17]);
|
||||
w2[0] = hc_swap32_S (decrypted[18]);
|
||||
w2[1] = hc_swap32_S (decrypted[19]);
|
||||
w2[2] = hc_swap32_S (decrypted[20]);
|
||||
w2[3] = hc_swap32_S (decrypted[21]);
|
||||
w3[0] = hc_swap32_S (decrypted[22]);
|
||||
w3[1] = hc_swap32_S (decrypted[23]);
|
||||
w3[2] = hc_swap32_S (decrypted[24]);
|
||||
w3[3] = hc_swap32_S (decrypted[25]);
|
||||
|
||||
sha1_hmac_update_64 (&ctx, w0, w1, w2, w3, 64);
|
||||
|
||||
@ -614,10 +595,10 @@ KERNEL_FQ void m15300_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v1_t, dpapimk_t))
|
||||
|
||||
#define il_pos 0
|
||||
|
||||
if ((expectedHmac[0] == ctx.opad.h[0])
|
||||
&& (expectedHmac[1] == ctx.opad.h[1])
|
||||
&& (expectedHmac[2] == ctx.opad.h[2])
|
||||
&& (expectedHmac[3] == ctx.opad.h[3]))
|
||||
if ((decrypted[4] == hc_swap32_S (ctx.opad.h[0]))
|
||||
&& (decrypted[5] == hc_swap32_S (ctx.opad.h[1]))
|
||||
&& (decrypted[6] == hc_swap32_S (ctx.opad.h[2]))
|
||||
&& (decrypted[7] == hc_swap32_S (ctx.opad.h[3])))
|
||||
{
|
||||
if (atomic_inc (&hashes_shown[digests_offset]) == 0)
|
||||
{
|
||||
|
@ -637,21 +637,6 @@ KERNEL_FQ void m15900_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v2_t, dpapimk_t))
|
||||
if (contents_off == 32) break;
|
||||
}
|
||||
|
||||
u32 hmacSalt[4];
|
||||
u32 expectedHmac[16];
|
||||
u32 lastKey[16];
|
||||
|
||||
hmacSalt[0] = decrypted[0];
|
||||
hmacSalt[1] = decrypted[1];
|
||||
hmacSalt[2] = decrypted[2];
|
||||
hmacSalt[3] = decrypted[3];
|
||||
|
||||
for(int i = 0; i < 16; i++)
|
||||
{
|
||||
expectedHmac[i] = decrypted[i + 4];
|
||||
lastKey[i] = decrypted[i + 36 - 16];
|
||||
}
|
||||
|
||||
w0[0] = tmps[gid].userKey[0];
|
||||
w0[1] = tmps[gid].userKey[1];
|
||||
w0[2] = tmps[gid].userKey[2];
|
||||
@ -689,10 +674,10 @@ KERNEL_FQ void m15900_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v2_t, dpapimk_t))
|
||||
|
||||
sha512_hmac_init_128 (&ctx, w0, w1, w2, w3, w4, w5, w6, w7);
|
||||
|
||||
w0[0] = hmacSalt[0];
|
||||
w0[1] = hmacSalt[1];
|
||||
w0[2] = hmacSalt[2];
|
||||
w0[3] = hmacSalt[3];
|
||||
w0[0] = decrypted[0];
|
||||
w0[1] = decrypted[1];
|
||||
w0[2] = decrypted[2];
|
||||
w0[3] = decrypted[3];
|
||||
w1[0] = 0;
|
||||
w1[1] = 0;
|
||||
w1[2] = 0;
|
||||
@ -761,22 +746,22 @@ KERNEL_FQ void m15900_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v2_t, dpapimk_t))
|
||||
|
||||
sha512_hmac_init_128 (&ctx, w0, w1, w2, w3, w4, w5, w6, w7);
|
||||
|
||||
w0[0] = lastKey[ 0];
|
||||
w0[1] = lastKey[ 1];
|
||||
w0[2] = lastKey[ 2];
|
||||
w0[3] = lastKey[ 3];
|
||||
w1[0] = lastKey[ 4];
|
||||
w1[1] = lastKey[ 5];
|
||||
w1[2] = lastKey[ 6];
|
||||
w1[3] = lastKey[ 7];
|
||||
w2[0] = lastKey[ 8];
|
||||
w2[1] = lastKey[ 9];
|
||||
w2[2] = lastKey[10];
|
||||
w2[3] = lastKey[11];
|
||||
w3[0] = lastKey[12];
|
||||
w3[1] = lastKey[13];
|
||||
w3[2] = lastKey[14];
|
||||
w3[3] = lastKey[15];
|
||||
w0[0] = decrypted[20];
|
||||
w0[1] = decrypted[21];
|
||||
w0[2] = decrypted[22];
|
||||
w0[3] = decrypted[23];
|
||||
w1[0] = decrypted[24];
|
||||
w1[1] = decrypted[25];
|
||||
w1[2] = decrypted[26];
|
||||
w1[3] = decrypted[27];
|
||||
w2[0] = decrypted[28];
|
||||
w2[1] = decrypted[29];
|
||||
w2[2] = decrypted[30];
|
||||
w2[3] = decrypted[31];
|
||||
w3[0] = decrypted[32];
|
||||
w3[1] = decrypted[33];
|
||||
w3[2] = decrypted[34];
|
||||
w3[3] = decrypted[35];
|
||||
w4[0] = 0;
|
||||
w4[1] = 0;
|
||||
w4[2] = 0;
|
||||
@ -800,10 +785,10 @@ KERNEL_FQ void m15900_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v2_t, dpapimk_t))
|
||||
|
||||
#define il_pos 0
|
||||
|
||||
if ((expectedHmac[0] == h32_from_64_S (ctx.opad.h[0]))
|
||||
&& (expectedHmac[1] == l32_from_64_S (ctx.opad.h[0]))
|
||||
&& (expectedHmac[2] == h32_from_64_S (ctx.opad.h[1]))
|
||||
&& (expectedHmac[3] == l32_from_64_S (ctx.opad.h[1])))
|
||||
if ((decrypted[4] == h32_from_64_S (ctx.opad.h[0]))
|
||||
&& (decrypted[5] == l32_from_64_S (ctx.opad.h[0]))
|
||||
&& (decrypted[6] == h32_from_64_S (ctx.opad.h[1]))
|
||||
&& (decrypted[7] == l32_from_64_S (ctx.opad.h[1])))
|
||||
{
|
||||
if (atomic_inc (&hashes_shown[digests_offset]) == 0)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user