CRC (巡回冗長検査) は、広く用いられているエラー検出の手法です。
コンピュータではあらゆるものを 0,1 のデータで扱いますが、このデータにエラーが無いかを調べるのがエラー検出です。
CRC で用いられている演算は、「拡大体」というものです。これは、それだけ取り出してもとても興味深い話です。
「1 + 1 は? 」「2!」「違うよ10だよ (二進法では)」…
みたいな会話を今日もどこかの中学生がしてると思いますが、これは+や×の意味を根底から変えちゃう話です。
ガロア体は、他にもエラー訂正に使われています。
※本稿、君塚恭敏さまに色々と修正の助言をいただきました。どうもありがとうございます!
サンプルコードもいただいたので、あわせてご利用ください。利用、改変自由だそうです。(君塚さま、ありがとうございます!)