mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-25 17:38:23 +00:00
Improve GOST R 34.11-2012 (Streebog) speed
This commit is contained in:
parent
f843c6a4d0
commit
e279e0c2b3
@ -2248,22 +2248,19 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256])
|
|||||||
u64x s[8];
|
u64x s[8];
|
||||||
u64x t[8];
|
u64x t[8];
|
||||||
|
|
||||||
#ifdef _unroll
|
|
||||||
#pragma unroll
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
t[i] = h[i];
|
t[i] = h[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _unroll
|
||||||
|
#pragma unroll
|
||||||
|
#endif
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
k[i] = SBOG_LPSti64;
|
k[i] = SBOG_LPSti64;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _unroll
|
|
||||||
#pragma unroll
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
s[i] = m[i];
|
s[i] = m[i];
|
||||||
@ -2271,9 +2268,6 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256])
|
|||||||
|
|
||||||
for (int r = 0; r < 12; r++)
|
for (int r = 0; r < 12; r++)
|
||||||
{
|
{
|
||||||
#ifdef _unroll
|
|
||||||
#pragma unroll
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
t[i] = s[i] ^ k[i];
|
t[i] = s[i] ^ k[i];
|
||||||
@ -2301,9 +2295,6 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _unroll
|
|
||||||
#pragma unroll
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
h[i] ^= s[i] ^ k[i] ^ m[i];
|
h[i] ^= s[i] ^ k[i] ^ m[i];
|
||||||
|
@ -2248,22 +2248,19 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256])
|
|||||||
u64x s[8];
|
u64x s[8];
|
||||||
u64x t[8];
|
u64x t[8];
|
||||||
|
|
||||||
#ifdef _unroll
|
|
||||||
#pragma unroll
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
t[i] = h[i];
|
t[i] = h[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _unroll
|
||||||
|
#pragma unroll
|
||||||
|
#endif
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
k[i] = SBOG_LPSti64;
|
k[i] = SBOG_LPSti64;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _unroll
|
|
||||||
#pragma unroll
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
s[i] = m[i];
|
s[i] = m[i];
|
||||||
@ -2271,9 +2268,6 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256])
|
|||||||
|
|
||||||
for (int r = 0; r < 12; r++)
|
for (int r = 0; r < 12; r++)
|
||||||
{
|
{
|
||||||
#ifdef _unroll
|
|
||||||
#pragma unroll
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
t[i] = s[i] ^ k[i];
|
t[i] = s[i] ^ k[i];
|
||||||
@ -2301,9 +2295,6 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _unroll
|
|
||||||
#pragma unroll
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
h[i] ^= s[i] ^ k[i] ^ m[i];
|
h[i] ^= s[i] ^ k[i] ^ m[i];
|
||||||
|
Loading…
Reference in New Issue
Block a user