9 ポイント 投稿者 GN⁺ 2024-05-03 | 1件のコメント | WhatsAppで共有
  • Stanford UniversityのDan Bonehによる無料のオンライン暗号学講座で、全講義一覧が公開されており、公式の課題・プロジェクト・期末試験はCourseraで提供される
  • 無料教材A Graduate Course in Applied Cryptographyも併用され、講義より深い内容や安全性証明、演習問題を補完する
  • カリキュラムはストリーム暗号からデジタル署名まで7週にわたり、各週が教材の章・講義動画・スライドと対応している
  • one-time pad、PRG、DES、AES、MAC、HMAC、TLS 1.2、Diffie-Hellman、RSA、ElGamal、ハッシュベース署名など実用的な暗号の構成要素を幅広く扱う
  • 個別講義はCourseraの動画で視聴でき、評価や修了が必要な場合はCoursera講座に登録する形式

受講方法と教材

  • Stanford UniversityのDan Bonehが行うオンライン暗号学講座
  • 無料講座の全講義が1ページに整理されている
  • 課題、プロジェクト、期末試験まで含めて正式に受講するにはCoursra講座ページを利用する必要がある
  • 無料教材はD. BonehとV. ShoupによるA Graduate Course in Applied Cryptography
    • 講義よりも深い内容を扱い、安全性証明と多数の演習問題を含む

第1週: 講座概要とストリーム暗号

第2週: ブロック暗号

第3週: メッセージ完全性と衝突耐性ハッシュ

第4週: 認証付き暗号と実装上の落とし穴

第5週: 鍵交換と数論の基礎

第6週: 公開鍵暗号

第7週: デジタル署名

  • 第7週は教材の第13–14章に相当し、デジタル署名とハッシュベース署名を扱う
  • スライドはDigital signaturesとHash-based signaturesのテーマで提供される

1件のコメント

 
GN⁺ 2024-05-03
Hacker News のコメント
  • Stanford の学生だった頃、CS255 Intro to Cryptography は最も好きな科目の一つで、Dan は本当に優れた講師だった。
    Stanford のセキュリティ講義資料をもっと見たいなら、CS253 Web Security (https://web.stanford.edu/class/cs253/) もおすすめ。念のため言っておくと、この科目は私が作ったもので、CS356 Topics in Computer and Network Security (https://cs356.stanford.edu/) も悪くない。
    CS253 の動画はこちら: https://www.youtube.com/playlist?list=PL1y1iaEtjSYiiSGVlL1cH...

    • 同意する。Boneh 教授の 155, 255, 251 が本当に好きで、何年にもわたってお気に入りの講師の一人だった。
      才能がずば抜けていて、概念の説明がとても上手い
  • 数年前にこの教授のオンライン 暗号学講義 を受けたが、とても良かった。
    数学の素養はあったのに、その授業を受けて自分は専門の暗号研究者にはなりたくないと気づき、それだけでもかなりの収穫だった。
    冗談はさておき、暗号システムを 悪魔とのゲーム として分析し、暗号化されたバイト列からランダムなビット列を見分けようとするやり方が本当に楽しかった。

    • 私も数年前に Coursera でその講義を受けたが、本当に良かった。
      結論は、きちんとやるのが難しいので 自分で暗号を作るな ということ。かなりシニカルではあるが、もっと深く掘り下げたいという興味をある程度くじかれた
  • 素晴らしい講義だ。ただし、完了予定時間の 23時間 は、そのテーマに関する事前の習熟度によって大きく変わりうる。
    その点を踏まえて準備し、ペース配分を考えたほうがいい

  • 良さそうだが、数学から始めるのではなく、暗号ライブラリの使い方 を実務者の観点から扱う資料があればいいのにと思う。
    RSA の細部の構造を知る必要があるのではなく、求める性質を持つシステムを作るために、ほかの基本要素とどう安全に組み合わせるかを知りたい。

    • 既存プロトコルを使うプログラムをもっと自信を持って書けるようになりたくて、暗号をよりよく理解するために David Wong の Real-World Cryptography を読み始めた。
      今 4 分の 3 ほど読み進めていて満足している。数学は軽めだが多少は踏み込み、内部動作を理解しないと使いにくいが、実際に内部実装をする必要はない人を対象にした本のように見える。
      この本のおかげで、少なくとも見た目には意図どおり動くプロトコルを基本要素から組み立てられる程度には学べたと感じている。同時に、プロトコルを完全に壊しうる微妙な点が多く、基本要素の組み合わせが予想外の弱点を生みうること、そして私よりはるかに暗号に詳しい人たちでさえ、安全な基本要素で壊れたプロトコルを作ることがあるとも学んだ。
      探していた本そのものではないかもしれないが、自分で設計したいのではなく暗号を理解したいなら良い本だと思う
    • 新しいシステムで得られると思っている能力については慎重になるべきだ。ソフトウェア開発者は、自分でも気づかないうちに 新規性の放射線量 を何シーベルトも浴びていて、退屈な理論を十分に固めていないことが多い。
      たとえば、100 人の別の開発者がすでにうまくやってきたのと同じやり方で libsodium を使うなら大丈夫だ。しかし、ごく小さく微妙な数ステップを経るだけで、知らないうちに新しい暗号システムを合成してしまう。libsodium の基本要素でセキュアメッセージングシステムを作ろうとする試みがその例だ。
      理論をたくさん学ぶ必要がある。重要だ
    • Google で Cryptographic Right Answers を検索してみるといい。いくつか記事があり、たいてい見つかる内容ではおおむね意見が一致している。
      例: https://gist.github.com/tqbf/be58d2d39690c3b366ad または https://www.latacora.com/blog/2018/04/03/cryptographic-right...
    • 必要なのはおそらく Cryptography Engineering: Design Principles and Practical Applications のような本かもしれない。
      Bruce Schneier、Niels Ferguson、Tadayoshi Kohno によるものだ
    • 安全な組み合わせ はこの講義で明確に扱われている。RSA の詳細だけを話しているわけではなく、もちろん関連講義もあるが、さまざまな基本要素がどのようなセキュリティ特性を満たすか、そしてそれらをどう安全に組み合わせるかも扱っている。
      現代暗号学の大きな部分は、安全な組み合わせを見つけ出すことだ
  • このスレッドでは、理論なしの 実践中心の暗号学学習 に関心がある人が多いようだ。そういう場合は HN MVP tptacek の cryptopals.com を見てみるといい

  • こういう内容を CTF 形式 で練習したいなら https://cryptohack.org/ をおすすめする。素晴らしいサイトだ

  • 素晴らしい講義で、自分のキャリアの成長に重要な役割を果たした。
    Dan Boneh が a16z crypto 研究チーム のアドバイザーでもあり[1]、彼らと一緒にブロックチェーン関連のコンテンツを数多く作っている点も注目に値する[2]。
    [1]: https://a16zcrypto.com/research/
    [2]: https://a16zcrypto.com/team/dan-boneh/

  • 公開鍵暗号
    全部 RSA だ。暗号学チュートリアルもそろそろ 楕円曲線暗号 をもう少し入れてくれないものか?

    • 別のものを見ているのかもしれないが、リンク先には ElGamal 暗号 が出ていて、これは離散対数ベースだ。
      現代の実装では楕円曲線を使い、歴史的には大きな素数体の部分群で離散対数を使っていたはずだ。また BLS 署名も扱っていて、これは完全に楕円曲線ベースだ。
      一般に、セキュリティが離散対数に依存するものは何であれ楕円曲線で実装できる。しかし入門的な暗号学の授業でたいてい必要なのは素数位数群であり、楕円曲線もたいていブラックボックスな素数位数群のように扱えるため、これを実装詳細として扱う。
      BLS 署名は例外だ。双線形ペアリングが必要で、これは単純なブラックボックス素数位数群ではない、特別な種類の楕円曲線を必要とする。
      楕円曲線でできる素晴らしい 代数幾何学的トリック はたくさんあるが、そうした内容は入門暗号学の授業ではほとんど出てこないだろうし、もしかするとどんな計算機科学の授業でも目にしないかもしれない
  • Coursera の Cryptography II 講義をまだ待っている人はいる?

  • 彼が共著した A Graduate Course in Applied Cryptography という本がとても役に立った。
    https://toc.cryptobook.us/