本記事は 暗号学一人アドベントカレンダー 第1日目の記事です。
これは何?
Adventarの説明欄にもありますが、暗号学の勉強をしていてそれなりにネタが溜まったのでいい機会なので吐き出そう、という企画です。
お前は誰、これを書く資格はあるの?
オンラインではsylph01というハンドルネームで活動しています。ファゴットを吹きます。技術的にはただの人です。
書く資格についていうと、暗号やセキュリティの記事にはつきもののI am not a crypto expert(私は暗号のエキスパートではない)という但し書きは必要ですが、わかりやすい指標としては:
- CourseraのCryptography Iコースを修了しています。
- 今回書く予定の内容の1/3〜2/3くらいはこれに関連している内容
- 『プロフェッショナルSSL/TLS』読書会の主催をしています。これだけでは何の情報量もないので、発表資料、特に本に含まれていない追加記述部分(リンクはSpeakerDeck) をご参照ください。
- 本ブログのcryptoタグでちょろちょろ論文とか脆弱性の解説をしています。
あたりが指標になるかと思います。
書かないこと
本アドベントカレンダーは「入門書に書いてある内容で記事数を稼ぐことはしない」というスタンスを自分に課したせいで、だいたい入門書に書いてある内容は2日目予定の記事(普通はこれだけ知ってればokみたいな話)以外では触れない予定です。よって、DES/AES/RSA/Diffie-Hellmanとは何か、みたいなのはWikipedia見て調べてください。この分野に関しては少なくとも英語版のWikipediaはそれなりに信頼がおけます(該当分野の大学院生・大学の先生・現場のエキスパートが記事に手を入れているため)。
書籍の紹介
- 日本語
- 暗号技術入門 第3版
- クラウドを支えるこれからの暗号技術
- 本ACで話すのはこれのうち第1部相当
- 暗号技術のすべて
だいたい初学者向けとしては『暗号技術入門』もしくは『暗号技術のすべて』がおすすめです。また、「通俗書」としては『暗号解読』(上巻・下巻)が間違いないでしょう(私もこの分野に最初に興味を持ったのはこれ読んでから)。
- 英語
- Handbook of Applied Cryptography
- オンラインで公開されている
- Introduction to Modern Cryptography
- 持ってない
- Cryptography Engineering
- 同著者のApplied Cryptographyは古典的名著とされているが現時点では内容がかなり古い
- Serious Cryptography
- 今年発売、まだ買ってない
- Handbook of Applied Cryptography
オンラインリソースの紹介
- CourseraのCryptography I
- 鉄板なんだけど、security definitionが世の中で使われてる用語と若干異なる用語を使っている(IND-CPAとかIND-CCAとか言わない)ことに注意が必要。
- Cryptography IIはオンライン公開予定のtextbookが公開されてからリリースされるらしい。
- 52 Things People Should Know To Do Cryptography
- CSE207 @ UCSD: Mihir BellareとPhillip Rogawayによる講義録
- Cryptology ePrint Archive
- 中央大学数学教室講究録 No.2 「暗号理論における安全性概念」 - 日本語のオンラインリソースで観測する限りでこの手の内容を一番細かく書いてる
- Crypto 101
この先の予定
- 1日目(これ):書かないこと、入門書/オンラインリソースの紹介
- 2日目:普通はこれだけ知ってればokみたいな話
- 3日目:Historical Crypto(1) Vigenere暗号の解読の実際
- 4日目:Historical Crypto(2) Enigma、M-209、解読の実際
- 5日目:セキュリティ概念の定義(semantic security, CPA-sec, CCA-sec)
の予定ですが、3日目と4日目の内容が実は一番準備が必要な内容なので少々遅れる見込みです。場合によっては後にまわしてセキュリティ概念の定義からスタートしちゃうかもしれません。