I need to make a Skein hash's, specifically, Skein-1024; however, I only have access currently to Skein-512. Is there any way to utilize a Skein-512 function to get the result of a Skein-1024 hash?
What's the difference between the two?
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It only takes a minute to sign up.Sign up to join this community
Internally, Skein-1024 uses the Threefish-1024 compression function and is extended to 1024 bits of internal state whereas Skein-512 uses the Threefish-512 compression function. There are a few additional changes but they are very similar (just like SHA-256 and SHA-512 are, for instance).
The tweak handling is, however, the same since all Threefish variants have the same 128-bit tweak size, so if you do have access to the Skein-512 source code, you should be able to modify it so that it calls Threefish-1024, make the necessary length adjustements, and it should work without too much pain.
Other than that, no, there is no parallel between the two functions that will let you compute a Skein-1024 hash from a Skein-512 one. The two Threefish functions have different constants & number of rounds.
Why do you need Skein-1024, by the way? Unless you really need the 1024-bit internal state, which is unlikely and overkill, you can just use the "arbitrary output length" feature of all Skein variants, which allows you to produce a digest of arbitrary length. It is described in the Skein paper and is hopefully available within your Skein implementation. If it isn't, the implementation is incomplete.