He succeeded in his idea. He showed our cracking capabilities are poor.
I
optimized code a little.
https://github.com/alek76-2/VanitySearch/blob/main/mod/other_files/GPUHash_nc_optimized.hPreviously, the data array was transferred from one function to another when initializing RIPEMD160.
I put the constants directly into the RIPEMD160Transform() function.
Now the question is, can this be optimized using compiler options? The uint32_t * array is no longer used.
__device__ void RIPEMD160Transform(uint32_t s[5],uint32_t* w) {
uint32_t u;
//uint32_t a1 = s[0], b1 = s[1], c1 = s[2], d1 = s[3], e1 = s[4];
//uint32_t a2 = a1, b2 = b1, c2 = c1, d2 = d1, e2 = e1;
uint32_t a1 = 0x67452301ul, b1 = 0xEFCDAB89ul, c1 = 0x98BADCFEul, d1 = 0x10325476ul, e1 = 0xC3D2E1F0ul;
uint32_t a2 = a1, b2 = b1, c2 = c1, d2 = d1, e2 = e1;
//uint32_t t = s[0];
//s[0] = s[1] + c1 + d2;
//s[1] = s[2] + d1 + e2;
//s[2] = s[3] + e1 + a2;
//s[3] = s[4] + a1 + b2;
//s[4] = t + b1 + c2;
uint32_t t = 0x67452301ul;
s[0] = 0xEFCDAB89ul + c1 + d2;
s[1] = 0x98BADCFEul + d1 + e2;
s[2] = 0x10325476ul + e1 + a2;
s[3] = 0xC3D2E1F0ul + a1 + b2;
s[4] = t + b1 + c2;
Or will the compiler do it itself now?