平成16年度 秋期 基本情報技術者 合格教本

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

お詫びと訂正(正誤表)

本書の掲載内容に下記の誤りがございました。読者の皆様,および関係者の方々にご迷惑をおかけしましたことを深くお詫び申し上げます。

P.60 問題2の解答部分

エ 12E10
エ +12E10

P.323 Pointの表

  公開鍵暗号方式 ディジタル署名
暗号化 送信者の公開鍵 送信者の秘密鍵
  公開鍵暗号方式 ディジタル署名
暗号化 受信者の公開鍵 送信者の秘密鍵

P.429 問8の解説

解説が適切ではありませんので,以下の解説に差し替えて下さい。

「関数 eq(X,Y) は,引数XとYの値が等しければ1を返し,異なれば0を返す。」ということは,入力値2つが,同じ文字なら「1」,異なった文字ならば「0」ということになる。

設問は,「eq ( eq(A,B), eq(B,C) ) を呼び出したとき,1が返ってくるための必要十分条件」ということなので,この式で,「1」が返ってくるパターンを探してみる。

eq ( eq(A,B), eq(B,C) )で「1」が戻るパターンは,2つの入力値「 eq(A,B),eq(B,C) 」が等しいとき。

つまり,eq(A,B) = eq(B,C) のとき。

戻り値が1のとき,eq(A,B) = eq(B,C) = 1となるので,

eq(A,B)が,1を返すのは,引数AとBの値が等しいときで,A=Bとなる。

eq(B,C)が,1を返すのは,引数BとCの値が等しいときで,B=Cとなる。

よって A = B かつ B = C

戻り値が0のとき,eq(A,B) = eq(B,C) = 0となるので,

eq(A,B)が,0を返すのは,引数AとBの値が異なるときで,A≠Bとなる。

eq(B,C)が,0を返すのは,引数BとCの値が異なるときで,B≠Cとなる。

よって A ≠ B かつ B ≠ C

以上より

解答は,「ア」の (A = B かつ B = C) 又は (A ≠ B かつ B ≠ C)となる。