暗号の理論と技術 量子時代のセキュリティ理解のために

國廣昇・編著 安田雅哉/水木敬明/高安敦/高島克幸/米山一樹/大原一真/江村恵太・著

暗号の理論と技術 量子時代のセキュリティ理解のために

発行
2024/05/22
サイズ
A5
ページ数
336
ISBN
978-4-06-535635-7
定価
3,740円(税込)
在庫
在庫あり

書籍を購入する

定価
3,740円(税込)

内容紹介

次世代の暗号技術の標準化に向け、暗号理論とその技術を学べる入門書。暗号理論の数学的基礎から応用技術まで、幅広い内容をバランスよく学べる。暗号理論を学ぶ学生や研究者、セキュリティ関係の技術者に最適。

目次

1章 暗号技術の基礎
 1.1 いたるところで暗号技術は使われている
  1.1.1 本書で使用する記号
 1.2 暗号技術の基礎
  1.2.1 秘匿通信
  1.2.2 認証
  1.2.3 計算量の記述
 1.3 共通鍵暗号と公開鍵暗号
  1.3.1 共通鍵暗号
  1.3.2 公開鍵暗号
  1.3.3 数学的な準備
  1.3.4 素因数分解の計算困難性に安全性の根拠を置く方式(RSA暗号)
  1.3.5 離散対数問題の困難さに安全性の根拠を置く公開鍵暗号(DH鍵共有,ElGamal暗号)
  1.3.6 ハイブリッド暗号と鍵共有+共通鍵暗号
 1.4 メッセージ認証とデジタル署名
  1.4.1 メッセージ認証
  1.4.2 認証付き暗号
  1.4.3 デジタル署名
 1.5 暗号の安全性評価
  1.5.1 公開鍵暗号の安全性定義
  1.5.2 デジタル署名の安全性定義
2章 現代の暗号技術を支える数学
 2.1 RSA暗号と関連する計算問題
  2.1.1 RSA暗号の構成
  2.1.2 RSA暗号に関連する計算問題とその解法
 2.2 楕円曲線暗号とその解読法
  2.2.1 数学的準備:楕円曲線と点の加法演算
  2.2.2 代表的な楕円曲線暗号方式の紹介
  2.2.3 楕円曲線暗号の安全性を支える数学問題とその解読法
 2.3 格子暗号とその解読法
  2.3.1 数学的準備:格子・格子問題・格子基底簡約
  2.3.2 LWE暗号方式と解読法の紹介
  2.3.3 NTRU暗号方式と解読法の紹介
3章 カードベース暗号
 3.1 カード組を用いた秘密計算
  3.1.1 ファイブカードトリック
  3.1.2 論理積の秘密計算の意義
  3.1.3 カードベース暗号プロトコルの計算モデル
 3.2 コミット型プロトコル
  3.2.1 コミット型ANDプロトコル
  3.2.2 コミット型XORプロトコル
  3.2.3 コピープロトコル
  3.2.4 任意の関数に対する秘密計算
 3.3 金持ち比べプロトコル
  3.3.1 Yaoの金持ち比べ
  3.3.2 カードベースの金持ち比べ
 3.4 ゼロ知識証明プロトコル
  3.4.1 ナンプレに対するゼロ知識証明
  3.4.2 プロトコルへの入力
  3.4.3 9マスの検証サブプロトコル
  3.4.4 ナンプレに対するゼロ知識証明プロトコルの全体
4章 格子理論を用いた暗号攻撃
 4.1 RSA暗号への攻撃
 4.2 Coppersmithの手法
  4.2.1 合同方程式を解くCoppersmithの手法
  4.2.2 基底行列の設計について
 4.3 秘密鍵が小さいときの攻撃
  4.3.1 Wiener条件の格子攻撃
  4.3.2 弱Boneh-Durfee攻撃
  4.3.3 強Boneh-Durfee攻撃
 4.4 部分鍵導出攻撃
  4.4.1 Blomer-May 攻撃
  4.4.2 Takayasu-Kunihiro攻撃
5章 量子計算基礎とその暗号への応用
 5.1 量子計算と暗号
  5.1.1 素因数分解はそもそも難しいのか?
  5.1.2 暗号技術の移行問題
  5.1.3 暗号の安全性評価で使われる量子アルゴリズム
 5.2 量子ゲートと量子回路
  5.2.1 1 qubit ゲート
  5.2.2 2 qubit(以上)のゲート
  5.2.3 量子ゲートの普遍性
  5.2.4 量子演算回路
  5.2.5 ゲートの分解法
 5.3 量子フーリエ変換
 5.4 Shorのアルゴリズム
  5.4.1 位相キックバック
  5.4.2 Simonのアルゴリズム
  5.4.3 位相推定アルゴリズム
  5.4.4 素因数分解アルゴリズム
 5.5 素因数分解回路構成とリソース評価
  5.5.1 誤りがないときのリソース評価
  5.5.2 誤りがあるときのリソース評価
  5.5.3 Shorの素因数分解回路の実現例
6章 耐量子計算機暗号
 6.1 実用的な格子暗号に向けて
  6.1.1 多項式剰余環Rと有限環Rq
  6.1.2 NTTによるRq乗算計算
 6.2 構造化格子上の計算問題
  6.2.1 MLWE問題とMSIS問題
  6.2.2 NTRU-SIS問題
 6.3 構造化格子に基づく暗号化
  6.3.1 CRYSTALS-KYBER暗号化・鍵共有
  6.3.2 符号暗号方式との鍵長・暗号文長の比較
 6.4 構造化格子に基づく署名
  6.4.1 CRYSTALS-Dilithium署名
  6.4.2 FALCON署名
 6.5 ハッシュ関数に基づく署名
  6.5.1 SPHINCS+署名
  6.5.2 格子署名方式との鍵長・署名長の比較
7章 形式手法による安全性検証
 7.1 形式手法とは?
  7.1.1 形式手法
  7.1.2 暗号プロトコルの安全性検証・証明への応用
 7.2 モデル検査による安全性検証の自動化
  7.2.1 ProVerif
  7.2.2 ProVerifにおけるプロトコル実行記述の形式化
  7.2.3 ProVerifによる安全性要件の形式化
  7.2.4 ProVerifによる安全性検証結果の読み取り
 7.3 定理証明器による安全性証明の厳密化
  7.3.1 ゲーム変換による安全性証明
  7.3.2 確率関係ホーア論理
  7.3.3 EasyCryptによる安全性証明の流れ
 7.4 実装の機能的正当性・安全性検証
  7.4.1 実装の機能的正当性検証
  7.4.2 実装のデジタルサイドチャネル攻撃耐性検証
8章 秘密計算
 8.1 秘密計算とは?
 8.2 マルチパーティー計算(MPC)
  8.2.1 安全性の分類
  8.2.2 関数の表現について
  8.2.3 実現手法の分類
 8.3 Garbled Circuit
  8.3.1 準備
  8.3.2 構成法:YaoのGarbled Circuit
  8.3.3 完全なプロトコル
  8.3.4 効率評価
 8.4 秘密分散ベースMPC
  8.4.1 準備
  8.4.2 MPC:Shamirの秘密分散に基づく方法(BGW方式)
  8.4.3 MPC:複製型秘密分散に基づく方法
  8.4.4 MPC:Beaver Tripleに基づく方法
 8.5 MPCの応用
  8.5.1 より複雑な関数のためのMPC構成に向けて 上位のMPCプロトコルの設計例
  8.5.2 実社会への応用に関する動向
9章 証明可能安全性と高機能暗号
 9.1 証明可能安全性
  9.1.1 公開鍵暗号の安全性モデル
  9.1.2 署名の安全性モデル
  9.1.3 安全性証明
 9.2 2種類の「暗号が破られた」
  9.2.1 計算問題が解かれた場合
  9.2.2 安全性モデルで未定義の情報を攻撃者が得た場合
 9.3 準同型暗号の安全性
  9.3.1 準同型暗号の定義
  9.3.2 CCA安全性の実現不可能性
  9.3.3 準同型暗号の安全性向上策
 9.4 その他の高機能暗号の紹介
  9.4.1 ゼロ知識証明
  9.4.2 グループ署名
  9.4.3 IDベース暗号
  9.4.4 検索可能暗号