代数学から学ぶ暗号理論

  • 著者 宮地 充子
  • 2012年3月10日第1版第1刷発行
  • 日本評論社
  • ISBN 978-4-535-78679-0

感想

ソフトウェアを実装するのに際して理論を勉強しようとすると、書いている方とは観点が違うので、「まぁ理論はいっか」となることがあります。この本は実装する人がどういうことよ? と考える観点が述べられていて、とても勉強になります。

特に、第五章、「楕円曲線の座標系」、第六章「楕円曲線の構成」がありがたい。

期待したいこと

教科書として使うような書籍については、正誤表が出版社もしくは著者関連で提供されることが望まれます。

まだ、時間が経ってないからか、日本評論社のサイトには正誤表がありません。

関連分野で特許(それがロイヤリティを取らないことを宣言していない)を出願しているというような方が著者に含まれていると、書籍の中での記述に地雷がないか心配になるので、著者紹介に「ソフトウェア特許反対を貫いている」とか「過去に特許を出願したことを悔いている」などと示されていることが望まれます。

気になった点いくつか

とりあえず気がついたところ。

  • pp. 1: NP完全問題についての記述が短すぎるか。余白があるからもう少し書いても良いような。

  • pp. 65: 「加算には依存しないことが分かる。」は意味は類推できるが文章がよろしくない。「加算では」あるいは「加算は」。

  • pp.77: 「自己凖同型写像(endmorphism map)自己凖同型写像」は後ろの「自己凖同型写像」をトル。

  • pp.131: 表7.1 公開鍵暗号と秘密鍵暗号で、= と not = が逆。暗号鍵、秘密鍵の行でも列の内容が逆。

  • pp. 182: PSEC-KEM がでてくるが、出自というかこれがなにかについてなんの説明もない。ここでの説明は概要にとどまるし、実際の PSEC-KEM の仕様を読む人の役に立つとは言い難いので、別の内容の方が良い。

    暗号化/復号化の話で、ANSI X9.63 でいうところの、Elliptic Curve Encryption Scheme (5.8.1)、NIST SP800 56A でいうところの One-Pass Diffie-Hellman, C(1, 1, ECC CDH) (6.2.2.2)の説明の方が良い。

  • pp. 183: C1 や Q, Q' は楕円曲線上だからこれを {0, 1}* (ビットストリング)に変換してから、ハッシュ関数が適用させられると思います。|| concatenation の operator がここでだけ出てくる。

  • pp. 185: 「署名を拒絶する。」と「NG を出力する」はどちらかに合わせる。後者かな。