暗号理論の基礎について講義を行います。講義で扱う主な話題は、コイン投げプロトコル、計算複雑さ、秘密鍵暗号、公開鍵暗号、ストリーム暗号、ブロック暗号、利用モード、メッセージ認証コード、RSA暗号、拡張Euclid互除法、素数判定法、中国剰余定理、RSA-OAEP、ランダム・オラクル、ハッシュ関数、署名、RSA-FDH、 相手認証、ゼロ知識証明です。
本講義では、上記のような話題に対して、モデル、方式、証明手法を理解することがねらいです。本講義の理解より、ソフトウェアやハードウェア、ネットワークに関する情報セキュリティやサイバーセキュリティの基礎を理解することにもつながります。
本講義を履修することによって以下を理解する。
1) 暗号理論に関するモデル
2) 暗号理論に関する具体的方式
3) 暗号理論に関する安全性証明手法
暗号、セキュリティ、情報セキュリティ、サイバーセキュリティ、コイン投げプロトコル、計算複雑さ、秘密鍵暗号、公開鍵暗号、ストリーム暗号、ブロック暗号、利用モード、メッセージ認証コード、RSA暗号、拡張Euclid互除法、素数判定法、中国剰余定理、RSA-OAEP、ランダム・オラクル、ハッシュ関数、署名、RSA-FDH、 相手認証、ゼロ知識証明
✔ 専門力 | 教養力 | コミュニケーション力 | ✔ 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
授業は通常の講義の他に演習形式の講義があります。通常の講義3ないし4回につき1回の割り合いで演習形式の講義を行います。そこでは、通常の講義中に扱えなかった内容や小テストについて説明します。授業では毎回、その回の内容、または、それ以前の回の内容について小テストを出します。
授業計画 | 課題 | |
---|---|---|
第1回 | 講義全体の概要、コイン投げプロトコル、暗号と計算の複雑さ | コイン投げプロトコルを理解する |
第2回 | 秘密鍵暗号と公開鍵暗号のモデルと安全性 | モデルと安全性の概念を理解する |
第3回 | 秘密鍵暗号の利用モードとメッセージ認証コード | 利用モードの特徴とメッセージ認証コードの概念を理解する |
第4回 | 単純な暗号プロトコルに関する演習 | 単純な暗号プロトコルの方式を理解する |
第5回 | RSA暗号を理解するための数学的準備 | RSA暗号における数学的要素を理解する |
第6回 | 拡張Euclid互除法、RSA暗号鍵生成アルゴリズム | 拡張Euclid互除法の方式と解析を理解する |
第7回 | 素数判定法、中国剰余定理、RSA暗号の復号 | RSA暗号と中国剰余定理の関係を理解する |
第8回 | RSA暗号の安全性、ランダムオラクルモデル | ランダムオラクルモデルの概念を理解する |
第9回 | RSA暗号に関する演習 | RSA暗号の性質を理解する |
第10回 | Elgamal暗号、帰着による安全性証明 | 帰着の概念について理解する |
第11回 | 署名 | 電子署名の概念と方式を理解する |
第12回 | 認証 | 認証の概念と方式を理解する |
第13回 | ゼロ知識証明 | ゼロ知識証明の概念と方式を理解する |
第14回 | 署名と認証に関する演習 | 署名と認証の方式と安全性について理解する |
第15回 | 先端の話題 | 先端の話題を理解する |
初回の講義でお知らせします。
初回の講義でお知らせします。
授業中に行う小テスト (60%) と最終試験 (40%) で評価を行います。
アルゴリズムとデータ構造の基礎、オートマトンと数理言語論の基礎、計算の理論の基礎について学んでいることが望ましい。