基礎理論
基本情報技術者試験 科目A免除 修了試験 201006 実施分 問2
内部鍵との排他的論理和を 4 ビット単位で実行するユニット A,B,C から構成される装置がある。この装置では,入力ビット列 1101 を与えると,出力ビット列 0100 が得られる。ここで,ユニット B の内部鍵を変更したところ,出力ビット列が 1111 になった。変更後のユニット B の内部鍵はどれか。
入力ビット列 1101 ⇒ [ユニットA: 排他的論理和 / 内部鍵 0001] ⇒ [ユニットB: 排他的論理和 / 内部鍵 0101] ⇒ [ユニットC: 排他的論理和 / 内部鍵 1101] ⇒ 出力ビット列 0100
- ア 1011
- イ 1100
- ウ 1101
- エ 1110
出典:基本情報技術者試験 科目A免除 修了試験 201006 実施分 問2
答えと解説を見る
正解:エ
覚える知識
排他的論理和(XOR)の連鎖と鍵の逆算
XORは同じ値を2回作用させると元に戻り、連続するXORは各鍵のXORを1回作用させるのと等価である。
この問題で必要なこと
XORは結合的で自己逆元を持つため、全体の鍵は各鍵のXORになる。出力の変化から全体の鍵を求め、B以外の鍵のXORで除去してBの鍵を逆算する。
ひっかけ
差分を取る代わりに鍵を単純に加算したり、AND/ORと混同させる。
この知識の出題:本試験系 0 回・免除試験 3 回(公開問題での観測値)