商品情報にスキップ
1 0
  • 発売日:20240927
  • 出版社:コロナ社
  • ISBN/JAN:9784339029468

情報数学

Pythonで学ぶ暗号理論

Pythonで学ぶ暗号理論

神永 正博(著)

通常価格 3,850 円(税込)
通常価格 セール価格 3,500 円
セール 売り切れ
店舗受け取り(My店舗)
最大5店舗までご登録いただけます。
  • My店舗を登録いただくと、店舗お受け取りの在庫状況を確認することができます。 (受け取り可能店舗のみ)

各店在庫状況
商品説明
本書は、暗号理論を専門的に学ぶ大学生、大学院生、技術者向けの教科書です。暗号技術の理論と実践を網羅的に学べる内容となっており、WiFiやインターネットショッピング、ICカード、携帯電話のSIMカード、SNSでの暗号通信、そしてブロックチェーンなど、現代生活に欠かせない技術を深く理解するための一冊です。

本書の大きな特徴は、以下の3つのシミュレーションや実装が含まれている点です。

1. ブロック暗号に対する差分解読法、線形解読法のシミュレーション
2. ハッシュ関数の衝突のシミュレーション
3. 楕円曲線暗号の実装とそのために必要な数学の解説

暗号の説明とPythonのコードを提供する書籍は他にもありますが、上記の内容は他の和書には見られないものです。本書は、理論の学習だけでは得られない実践的な理解を深めるために最適です。共通鍵暗号、ハッシュ関数、RSA暗号、ラビン暗号、楕円曲線暗号の詳細な解説とともに、これらのシミュレーションや実装を体験できるPythonプログラムを提供しています。Pythonを用いることで、実際にプログラムを動かしながら暗号の仕組みを楽しく学び、理論の理解をより一層深めることができます。

暗号理論は情報セキュリティ技術の中核を成し、特に重要な領域です。暗号理論と実践をバランスよく学び、現代の情報セキュリティ分野で活躍するための確固たる基礎を築くために、ぜひ本書をご活用ください。

【主要目次】
1.共通鍵暗号/2.ブロック暗号の基礎/3.現代のブロック暗号と暗号利用モード/4.ブロック暗号に対する差分解読法・線形解読法/5.ハッシュ関数とメッセージ認証子/6.ハッシュ関数の衝突シミュレーション/7.RSA暗号とRSA電子署名/8.RSA暗号の実装アルゴリズム/9.素数生成/10.RSA暗号に対する攻撃/11.平方剰余とラビン暗号/12.楕円曲線と楕円曲線上の離散対数問題/13.楕円曲線の暗号への応用
目次
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のバックドア
引用・参考文献
練習問題略解
索引
  • 発売日:20240927
  • 出版社:コロナ社
  • ISBN/JAN:9784339029468
詳細を表示する