# Tag Info

15

Length extension attack The reason why $H(k || m)$ is insecure with most older hashes is that they use the Merkle–Damgård construction which suffers from length extensions. When length extensions are available it's possible to compute $H(k || m || m^\prime)$ knowing only $H(k || m)$ but not $k$. This violates the security requirements of a MAC. Like all ...

3

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 ...

2

On multi-threading: Read the code. As Paulo writes, that's up to the implementation. Read the source code of your library and see for yourself what it is doing; it shouldn't be too hard to figure it out.

2

The main reason for designing a cryptographic hash function using an output transformation is flexibility. In the following, I try to motivate the need for an output transformation. For example, SHA-256 has no output transformation and a fixed output size of 256-bit. What happens if you truncate a SHA-256 hash value? In this case, there are no security ...

1

Is there any advantage – other than potential memory or speed performance reasons – of picking a state size different from 512? If, what would the advantage(s) be? Yes. With 256-bit state, the main advantages are memory use and hardware implementation area. With 1024-bit state, a hardware implementation can be faster, but there are also security ...

Only top voted, non community-wiki answers of a minimum length are eligible