1.序 章 1 |
2.マイクロコンピュータの基本構造 9 |
3.代数学からの準備 16 |
3.1 ユークリッド互除法 16 |
3.1.1 バイナリー・ユークリッド互除法 19 |
3.2 拡張ユークリッド互除法 21 |
3.3 集合と写像 24 |
3.3.1 集 合 24 |
3.3.2 写 像 26 |
3.4 モジュラー算術 28 |
3.5 フェルマーの小定理とオイラーの定理 31 |
3.6 可換群 35 |
3.6.1 群の概念 35 |
3.6.2 剰余群 37 |
3.6.3 群の同型 38 |
3.6.4 群の直積 39 |
3.6.5 中国人剰余定理 40 |
3.6.6 既約剰余類群 42 |
3.7 有限体(ガロア体) 44 |
3.7.1 有限体の実用的定義 44 |
3.7.2 有限体の標準的定義(補足) 53 |
4.共通鍵暗号(秘密鍵暗号) 58 |
4.1 シーザー暗号 58 |
4.2 DES暗号 61 |
4.2.1 DESの構造 62 |
4.2.2 DESの安全性 73 |
4.2.3 使用を避けるべき鍵 74 |
4.2.4 差分解読法 7S |
4.2.5 線形解読法 78 |
4.2.6 Feistel型の意義 80 |
4.2.7 DESのバリエーション 81 |
4.3 MISTY暗号 82 |
4.3.1 MISTY1の構造 83 |
4.3.2 MISTY1の安全性 86 |
4.4 AES暗号 88 |
4.4.1 AESの構造 89 |
4.4.2 AESの安全性 97 |
4.5 共通鍵暗号の利用方法 98 |
4.6 暗号利用モード gg |
4.6.1 ECBモード 100 |
4.6.2 CBCモード 100 |
4.6.3 CFBモード 101 |
4.6.4 OFBモード 102 |
4.6.5 CTRモード 1O 3 |
5.公開鍵暗号 105 |
5.1 RSA暗号 105 |
5.1.1 べき乗剰余計算アルゴリズム 107 |
5.12 モンゴメリー法 111 |
5.1.3 中国人剰余定理を用いたRSA暗号処理アルゴリズム 117 |
5.1.4 RSA暗号の公開鍵に関する諸注意 118 |
5.1.5 RSA暗号の応用 120 |
5.1.6 素数生成について 125 |
5.1.7 乱数生成についての補足 131 |
5.2 素因数分解アルゴリズム 134 |
5.2.1 サイクリングアタツクとポラツドのρ-1法 135 |
5.2.2 ρ (ロー)法 136 |
5.2.3 ウイリアムズのρ+1法 137 |
5.2.4 楕円曲線法 138 |
5.2.5 二次ふるい法 139 |
5.3 素数ペア選択の基準 140 |
5.4 RSA暗号解読について 142 |
5.5 ハッシュ関数 143 |
5.6 楕円曲線暗号 145 |
5.6.1 楕円曲線暗号とは何か 145 |
5.6.2 平文の楕円曲線への埋め込み 152 |
5.6.3 スカラー倍の計算アルゴリズム 155 |
5.6.4 モーデル・ヴェイユ群の構造 156 |
5.6.5 点の個数を数える(1)―素体上での点の数と拡大体上での点の数 158 |
5.6.6 点の個数を数える(2)一スクーフのアルゴリズム 161 |
5.6.7 標数2の場合の楕円曲線暗号について 163 |
5.6.8 楕円曲線のパラメータ選択上の注意点 165 |
5.7 補足1:楕円曲線は,なぜ「楕円」曲線なのか 166 |
5.8 補足2:楕円曲線上の「加算」の由来 168 |
6.アタック技術と耐タンパー技術 170 |
6.1 アタック技術の概要 171 |
6.2 物理解析 173 |
6.2.1 物理解析に対する対策技術 176 |
6.3 処理時間解析 177 |
6.3.1 RSAに対する処理時間解析 178 |
6.3.2 AESに対する処理時間解析 181 |
6.3.3 処理時間解析に対する対策技術 182 |
6.4 電力解析 182 |
6.4.1 単純電力解析(SPA) 184 |
6.4.2 差分電力解析(DPA) 185 |
6.4.3 電力解析におけるノイズの影響 186 |
6.4.4 RSAに対する電力解析 187 |
6.4.5 DESに対する差分電力解析 189 |
6.4.6 電力解析に対する対策技術 194 |
6.5 故障利用解析 198 |
6.5.1 RSAに対する故障利用解析 198 |
6.5.2 DESに対する故障利用解析 200 |
6.5.3 故障利用解析に対する対策技術 202 |
6.6 対策技術実装上の注意 205 |
問題の解答 206 |
参考文献 211 |
索 引 215 |