A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS