Looking for expert help with SHAKE hashing algorithms in C

Job ID: 30820718

Budget: $25 – $50 USD

We're looking for standard ANSI C code because we are going back and forth between operating systems. As long as we can compile it on Windows, Linux or Mac OS, we're good to go.

We specifically need a C library, ideally a header library, that implements the SHAKE algorithm from NIST. This is a subset of the SHA-3 algorithm.

There are several of these available on github but they are either non-functional, very poorly documented, or both.

Here's how we'd like this one to work:

We need a mechanism for adjusting the block size (SHAKE-128, SHAKE-256, etc.) as well as a parameter to the hash function where we can define the hash byte length. The byte length parameter should be passed back to the hash function, so it's included in the calculation and we don't get the default output that is stretched or squeezed to the desired length.

The algorithm output should always be in raw bytes and support very large sizes (mulitple KB range).

This code should also include concise documentation on how to build and implement the library.

Feel free to reach out if you have specific questions on any of this. Thanks!