I have a small device with a 16-bit (embedded) architecture, which transmits 1500 bytes every 3 milliseconds. This device has no built-in integrity protection, and it is possible to manipulate the data sent from this device. I was thinking of protecting the data integrity using HMAC or Blake2, but the problem is that these methods are slow for my application and due to the time constraint I cannot do a full pass over the data. I understand that I need to make a compromise between speed and security. I was thinking of the following two solutions:
1) to randomly select a smaller chunk of data and do integrity check; or
2) to use a fast checksum method.
I was wondering if there would be a better solution. I will appreciate your insights.