From 5927fea637a97d353f77f8367533509d3c859da7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 30 Jun 2023 10:34:41 +0200 Subject: [PATCH] make it work with Apple Metal --- OpenCL/inc_cipher_cast.h | 24 ++++++++++++------------ OpenCL/m17040-pure.cl | 8 ++++---- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/OpenCL/inc_cipher_cast.h b/OpenCL/inc_cipher_cast.h index 62bb2bb6a..6cbe8a82e 100644 --- a/OpenCL/inc_cipher_cast.h +++ b/OpenCL/inc_cipher_cast.h @@ -25,17 +25,17 @@ } #define PUT_UINT32BE(n, b, i) \ { \ - (b)[(i) ] = (uchar) ((n) >> 24); \ - (b)[(i) + 1] = (uchar) ((n) >> 16); \ - (b)[(i) + 2] = (uchar) ((n) >> 8); \ - (b)[(i) + 3] = (uchar) ((n) ); \ + (b)[(i) ] = (u8) ((n) >> 24); \ + (b)[(i) + 1] = (u8) ((n) >> 16); \ + (b)[(i) + 2] = (u8) ((n) >> 8); \ + (b)[(i) + 3] = (u8) ((n) ); \ } typedef struct { uint K[32]; } CAST_KEY; -#define GETBYTE(x, y) (uint)(uchar)((x)>>(8*(y))) +#define GETBYTE(x, y) (uint)(u8)((x)>>(8*(y))) /* Macros to access 8-bit bytes out of a 32-bit word */ #define U8a(x) GETBYTE(x,3) @@ -600,11 +600,11 @@ CONSTANT_AS uint S[8][256] = { #define _CAST_F2(l, r, i, j) _CAST_f2(l, r, K[i], K[i+j]) #define _CAST_F3(l, r, i, j) _CAST_f3(l, r, K[i], K[i+j]) -inline void Cast5Encrypt(const uchar *inBlock, uchar *outBlock, CAST_KEY *key) +inline void Cast5Encrypt(PRIVATE_AS const u8 *inBlock, PRIVATE_AS u8 *outBlock, PRIVATE_AS CAST_KEY *key) { uint l; GET_UINT32BE(l, inBlock, 0); uint r; GET_UINT32BE(r, inBlock, 4); - uint *K = key->K; + PRIVATE_AS uint *K = key->K; uint t; /* Do the work */ @@ -630,11 +630,11 @@ inline void Cast5Encrypt(const uchar *inBlock, uchar *outBlock, CAST_KEY *key) PUT_UINT32BE(l, outBlock, 4); } -inline void Cast5Decrypt(const uchar *inBlock, uchar *outBlock, CAST_KEY *key) +inline void Cast5Decrypt(PRIVATE_AS const u8 *inBlock, PRIVATE_AS u8 *outBlock, PRIVATE_AS CAST_KEY *key) { uint l; GET_UINT32BE(l, inBlock, 0); uint r; GET_UINT32BE(r, inBlock, 4); - uint *K = key->K; + PRIVATE_AS uint *K = key->K; uint t; /* Only do full 16 rounds if key length > 80 bits */ @@ -661,10 +661,10 @@ inline void Cast5Decrypt(const uchar *inBlock, uchar *outBlock, CAST_KEY *key) t = l = r = 0; } -inline void Cast5SetKey(CAST_KEY *key, uint keylength, const uchar *userKey) +inline void Cast5SetKey(PRIVATE_AS CAST_KEY *key, uint keylength, PRIVATE_AS const u8 *userKey) { uint i; - uint *K = key->K; + PRIVATE_AS uint *K = key->K; uint X[4], Z[4]; GET_UINT32BE(X[0], userKey, 0); @@ -727,4 +727,4 @@ inline void Cast5SetKey(CAST_KEY *key, uint keylength, const uchar *userKey) #define CAST_ecb_decrypt(in, out, ckey) Cast5Decrypt(in, out, ckey) -#endif /* _OPENCL_CAST_H */ \ No newline at end of file +#endif /* _OPENCL_CAST_H */ diff --git a/OpenCL/m17040-pure.cl b/OpenCL/m17040-pure.cl index f07f67acd..a39904bd7 100644 --- a/OpenCL/m17040-pure.cl +++ b/OpenCL/m17040-pure.cl @@ -132,9 +132,9 @@ DECLSPEC void cast128_decrypt_cfb (GLOBAL_AS const u32 *encrypted_data, int data lencrypted_data[i + 2] = encrypted_data[i + 2]; lencrypted_data[i + 3] = encrypted_data[i + 3]; } - u8 *lencrypted_data8 = (u8*)lencrypted_data; - u8 *decrypted_data8 = (u8*)decrypted_data; - u8 *key8 = (u8*)key; + PRIVATE_AS u8 *lencrypted_data8 = (PRIVATE_AS u8*)lencrypted_data; + PRIVATE_AS u8 *decrypted_data8 = (PRIVATE_AS u8*)decrypted_data; + PRIVATE_AS u8 *key8 = (PRIVATE_AS u8*)key; // Copy the IV, since this will be modified @@ -373,4 +373,4 @@ KERNEL_FQ void m17040_aux1 (KERN_ATTR_TMPS_ESALT (gpg_tmp_t, gpg_t)) mark_hash (plains_buf, d_return_buf, SALT_POS_HOST, DIGESTS_CNT, 0, DIGESTS_OFFSET_HOST + 0, gid, 0, 0, 0); } } -} \ No newline at end of file +}