I’m looking at a file carving application. I’m interested in a chunk of data a few megabytes long, for which I know the SHA1 hash but not necessarily the contents of the chunk itself. I’m searching through a much larger file for this chunk. I have a working CPU implementation (in C#) for this but the process is prohibitively slow.
I attempted to get a GPU based version working using CUDAfy.NET, but it seems I can’t use any .NET libraries for the code that the GPU will ultimately be running, and will need to code SHA1 calculation by hand to get it working.
Given the length of the message to be hashed and the time it’ll take to get this coded manually, is it worthwhile to get this up and running in a GPU implementation? Have two GTX 570s and would happily upgrade if I could get this project to effectively utilize them.
There seems to be a plethora of SHA1 brute-forcers utilizing GPUs…anyone know of one off-hand that I could tweak towards the above purpose rather than building this from scratch? Those I’ve found seem to be built to assume the message will be made of ASCII printable characters (for this, they won’t be) and no straightforward way to force-feed it what to hash. (neither is surprising given their intended purpose, of course)