【MeL】Pythonで学ぶ暗号理論(DL不可)
神永 正博, 吉川 英機 著
※表示価格は「学術機関向け・同時1アクセス」の価格となります。ご注文を承った際には、実際のご契約内容により算出した価格でご請求いたします。
内容
目次
1. 共通鍵暗号 1.1 共通鍵暗号の基本 1.1.1 暗号化,復号,秘密鍵 1.1.2 チャレンジレスポンス認証 1.1.3 暗号用乱数と安全なパスワード生成 1.1.4 リレーアタック 1.1.5 暗号への攻撃法の種類 1.2 単換字式暗号と頻度解析 2. ブロック暗号の基礎 2.1 ブロック暗号の構成要素 2.2 写像の合成とブロック暗号 2.3 DES 2.4 DESのPythonプログラムの詳細 2.4.1 線形変換 2.4.2 非線形変換(Sボックス) 2.4.3 トリプルDES 2.4.4 DES-X 3. 現代のブロック暗号と暗号利用モード 3.1 ブロック暗号AES 3.2 ブロック暗号RC6 3.3 Pycryptodomeモジュールと暗号利用モード 3.3.1 Pycryptodomeモジュールの導入 3.3.2 暗号利用モードとデータの暗号化の実際 3.3.3 ECBモードの致命的な問題点 4. ブロック暗号に対する差分解読法・線形解読法 4.1 ブロック暗号FEAL 4.2 FEALに対する差分解読法 4.3 FEALに対する線形解読法 5. ハッシュ関数とメッセージ認証子 5.1 ハッシュ関数とは何か 5.2 バースデーパラドックス 5.3 マークル=ダンガード構成 5.4 HMAC 6. ハッシュ関数の衝突シミュレーション 6.1 ハッシュ関数MD4の衝突を見つける 6.1.1 ハッシュ関数MD4 6.1.2 MD4における圧縮関数の性質 6.2 MD4の衝突ペアの実例 6.3 MD4の衝突ペアの導出法 7. RSA暗号とRSA電子署名 7.1 数学的準備 7.1.1 モジュラー算術 7.1.2 群の概念 7.1.3 既約剰余類群 7.2 RSA暗号の原理 7.3 RSA電子署名・ブラインド署名 7.4 ユークリッドの互除法・拡張ユークリッド互除法 7.5 RSA暗号の実装例 8. RSA暗号の実装アルゴリズム 8.1 べき乗剰余計算のアルゴリズム 8.2 中国人剰余定理 8.3 中国人剰余定理を使ったRSA復号処理の実装 8.4 RSA電子署名と検証の実際 8.4.1 Pycryptodomeモジュールを利用したRSA電子署名 8.4.2 RSA-OAEPと安全性の階層 9. 素数生成 9.1 素数の分布 9.2 素数分布を見る 9.3 素数定理の証明の大まかな方針とリーマンゼータ関数 9.4 素数生成 10. RSA暗号に対する攻撃 10.1 共通の公開モジュラスに対する攻撃 10.2 ブロードキャスト攻撃とその一般化 10.3 短い秘密指数に対する連分数攻撃 10.3.1 連分数展開と主近似分数 10.3.2 連分数攻撃の原理とシミュレーション 11. 平方剰余とラビン暗号 11.1 ラビン暗号 11.2 平方剰余 11.3 Nの素因数がわかればラビン暗号が解読できる 11.4 モジュラー平方根の計算と法の素因数分解は同値である 11.5 ラビン暗号のPython実装 11.6 トネリ=シャンクスアルゴリズム(発展事項) 11.7 平方剰余計算関数のPython実装 12. 楕円曲線と楕円曲線上の離散対数問題 12.1 素体 12.2 楕円曲線 12.3 有理点群 12.4 楕円曲線上のスカラー倍の実装 12.5 楕円曲線上の離散対数問題(ECDLP) 12.6 有理点群の位数の計算 13. 楕円曲線の暗号への応用 13.1 楕円曲線ディフィー・ヘルマン鍵交換(ECDH) 13.2 楕円曲線署名(ECDSA) 13.3 ECDSAの実装 13.4 PycryptodomeによるECDSA 13.5 Dual_EC_DRBGのバックドア 引用・参考文献 練習問題略解 索引