メインコンテンツへ
セキュリティ

データ列 0x12, 0x34, 0x56, 0x78 のチェックサム(各バイトの和の下位8ビット)として正しいものはどれか。

ア.0x12
イ.0x1A
ウ.0xF4
エ.0x14正解

解説

チェックサムは「全バイトを足してオーバーフローを切り捨てる」最もシンプルな誤り検出。足した結果の下位8ビット(mod 256)を取るだけ——実装も検証も一瞬。

なぜ エ が正解か

エが正解。0x12+0x34+0x56+0x78=18+52+86+120=276。276=0x114。下位8ビット=0x14。よってチェックサムは0x14。

なぜ ア は間違いか

0x12。データ列の最初のバイト0x12をそのままチェックサムと取り違えた誤り。チェックサムは全バイトの和の下位8ビット。

なぜ イ は間違いか

0x1A。途中の加算で桁を誤った場合。正確には0x12=18、0x34=52、0x56=86、0x78=120で合計276=0x114、下位8ビット=0x14。

なぜ ウ は間違いか

0xF4。2の補数チェックサム(合計の否定+1)と混同した場合:0x14の2の補数=0xEC≠0xF4。単純な和の下位8ビットがチェックサム。

出典: AI生成問題(学習用)