I have a need for implementing an algorithm to validate that a given message is not altered after some operations (for instance after transmission over a medium).
A typical way of doing this kind of task is to pre-calculate a hash on the content (CRC for instance), then transmit both the content and the hash. On the reception side, recalculate the hash on the received content and verify it is identical to the received hash. If so, then the content is not altered.
The problem I'm facing is that I need to implement this hash function on a GPU compatible with the shader model 3.0. Essentially, this means that it is a processor that does not support bitwise operations. It only works with floating point numbers, supporting operations like multiply, add, substract, dot product and so.
Anyone knowing a hash function I could use for that purpose and implementable with the processor instruction limitations I mention ?