1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-07-24 15:38:47 +00:00

fix salsa_r() for Apple Metal

This commit is contained in:
Gabriele Gristina 2025-06-07 02:29:44 +02:00
parent c231b2ec5c
commit 23ab78f333
7 changed files with 21 additions and 21 deletions

View File

@ -221,7 +221,7 @@ DECLSPEC void scrypt_smix_init (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
{
for (u32 z = 0; z < zSIZE; z++) V[CO] = X[z];
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((u32 *) X);
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((PRIVATE_AS u32 *) X);
}
}
@ -259,11 +259,11 @@ DECLSPEC void scrypt_smix_loop (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
for (u32 z = 0; z < zSIZE; z++) T[z] = V[CO];
for (u32 i = 0; i < km; i++) salsa_r ((u32 *) T);
for (u32 i = 0; i < km; i++) salsa_r ((PRIVATE_AS u32 *) T);
for (u32 z = 0; z < zSIZE; z++) X[z] ^= T[z];
salsa_r ((u32 *) X);
salsa_r ((PRIVATE_AS u32 *) X);
}
}

View File

@ -252,7 +252,7 @@ DECLSPEC void scrypt_smix_init (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
{
for (u32 z = 0; z < zSIZE; z++) V[CO] = X[z];
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((u32 *) X);
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((PRIVATE_AS u32 *) X);
}
}
@ -290,11 +290,11 @@ DECLSPEC void scrypt_smix_loop (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
for (u32 z = 0; z < zSIZE; z++) T[z] = V[CO];
for (u32 i = 0; i < km; i++) salsa_r ((u32 *) T);
for (u32 i = 0; i < km; i++) salsa_r ((PRIVATE_AS u32 *) T);
for (u32 z = 0; z < zSIZE; z++) X[z] ^= T[z];
salsa_r ((u32 *) X);
salsa_r ((PRIVATE_AS u32 *) X);
}
}

View File

@ -269,7 +269,7 @@ DECLSPEC void scrypt_smix_init (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
{
for (u32 z = 0; z < zSIZE; z++) V[CO] = X[z];
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((u32 *) X);
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((PRIVATE_AS u32 *) X);
}
}
@ -307,11 +307,11 @@ DECLSPEC void scrypt_smix_loop (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
for (u32 z = 0; z < zSIZE; z++) T[z] = V[CO];
for (u32 i = 0; i < km; i++) salsa_r ((u32 *) T);
for (u32 i = 0; i < km; i++) salsa_r ((PRIVATE_AS u32 *) T);
for (u32 z = 0; z < zSIZE; z++) X[z] ^= T[z];
salsa_r ((u32 *) X);
salsa_r ((PRIVATE_AS u32 *) X);
}
}

View File

@ -257,7 +257,7 @@ DECLSPEC void scrypt_smix (PRIVATE_AS uint4 *X, PRIVATE_AS uint4 *T, GLOBAL_AS u
{
for (u32 z = 0; z < zSIZE; z++) V[CO] = X[z];
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((u32 *) X);
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((PRIVATE_AS u32 *) X);
}
for (u32 i = 0; i < SCRYPT_N; i++)
@ -270,11 +270,11 @@ DECLSPEC void scrypt_smix (PRIVATE_AS uint4 *X, PRIVATE_AS uint4 *T, GLOBAL_AS u
for (u32 z = 0; z < zSIZE; z++) T[z] = V[CO];
for (u32 i = 0; i < km; i++) salsa_r ((u32 *) T);
for (u32 i = 0; i < km; i++) salsa_r ((PRIVATE_AS u32 *) T);
for (u32 z = 0; z < zSIZE; z++) X[z] ^= T[z];
salsa_r ((u32 *) X);
salsa_r ((PRIVATE_AS u32 *) X);
}
#ifdef _unroll

View File

@ -219,7 +219,7 @@ DECLSPEC void scrypt_smix_init (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
{
for (u32 z = 0; z < zSIZE; z++) V[CO] = X[z];
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((u32 *) X);
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((PRIVATE_AS u32 *) X);
}
}
@ -257,11 +257,11 @@ DECLSPEC void scrypt_smix_loop (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
for (u32 z = 0; z < zSIZE; z++) T[z] = V[CO];
for (u32 i = 0; i < km; i++) salsa_r ((u32 *) T);
for (u32 i = 0; i < km; i++) salsa_r ((PRIVATE_AS u32 *) T);
for (u32 z = 0; z < zSIZE; z++) X[z] ^= T[z];
salsa_r ((u32 *) X);
salsa_r ((PRIVATE_AS u32 *) X);
}
}

View File

@ -231,7 +231,7 @@ DECLSPEC void scrypt_smix_init (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
{
for (u32 z = 0; z < zSIZE; z++) V[CO] = X[z];
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((u32 *) X);
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((PRIVATE_AS u32 *) X);
}
}
@ -269,11 +269,11 @@ DECLSPEC void scrypt_smix_loop (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
for (u32 z = 0; z < zSIZE; z++) T[z] = V[CO];
for (u32 i = 0; i < km; i++) salsa_r ((u32 *) T);
for (u32 i = 0; i < km; i++) salsa_r ((PRIVATE_AS u32 *) T);
for (u32 z = 0; z < zSIZE; z++) X[z] ^= T[z];
salsa_r ((u32 *) X);
salsa_r ((PRIVATE_AS u32 *) X);
}
}

View File

@ -219,7 +219,7 @@ DECLSPEC void scrypt_smix_init (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
{
for (u32 z = 0; z < zSIZE; z++) V[CO] = X[z];
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((u32 *) X);
for (u32 i = 0; i < SCRYPT_TMTO; i++) salsa_r ((PRIVATE_AS u32 *) X);
}
}
@ -257,11 +257,11 @@ DECLSPEC void scrypt_smix_loop (PRIVATE_AS uint4 *X, GLOBAL_AS uint4 *V0, GLOBAL
for (u32 z = 0; z < zSIZE; z++) T[z] = V[CO];
for (u32 i = 0; i < km; i++) salsa_r ((u32 *) T);
for (u32 i = 0; i < km; i++) salsa_r ((PRIVATE_AS u32 *) T);
for (u32 z = 0; z < zSIZE; z++) X[z] ^= T[z];
salsa_r ((u32 *) X);
salsa_r ((PRIVATE_AS u32 *) X);
}
}