Current algorithm is:
1) Calculate B = SHA256(A)
2) Calculate C = scrypt(B)
3) Calculate D = SHA256(B, C)
4) Return D
Not really. SHA256 is part of scrypt. The sequence looks more like this:
1) PBKDF2 using HMAC-SHA-256
2) Memory-hard mixing loop using salsa20/8
3) PBKDF2 using HMAC-SHA-256
Something I've wondered:
Why are you using N=1024, r=1, and p=1 for scrypt? Why didn't the recommended values from the paper, N=1024, r=8, p=1 get used?
If I remember correctly, ArtForz said that the parameters (1024, 1, 1) resulted in a lower GPU/CPU performance ratio.
Some analysis by him can be found here:
https://bitcointalk.org/index.php?topic=45849.0What looks interesting is that they still claim the SC2 algorithm to be GPU-resistant. I'm not at all convinced. Any technical opinion on this?