本書由作者在長期從事多項國家自然科學基金課題研究的成果基礎上總結而成,目的在于較為全面地介紹密碼旁路分析的基本原理和方法。通過本書的學習,讀者可以系統(tǒng)地掌握典型密碼旁路分析的研究現(xiàn)狀、數(shù)學基礎、基本原理、分析方法和應用實例,為深入理解技術內涵和開展相關領域研究奠定基礎。全書共包括9章和1個附錄。第1章概要介紹密碼學的相關知識和密碼旁路分析的研究現(xiàn)狀。第2章和第3章分別介紹密碼旁路分析的數(shù)學基礎、旁路泄露與旁路分析建模。第4、5、6、7章分別闡述計時分析、功耗/電磁分析、Cache分析、差分故障分析4種經典的密碼旁路分析方法。第8章和第9章分別描述代數(shù)旁路分析、旁路立方體分析兩種傳統(tǒng)數(shù)學分析和經典旁路分析的組合分析方法。附錄給出本書涉及到的典型密碼算法設計規(guī)范。
更多科學出版社服務,請掃碼獲取。
目錄
前言
縮略詞表
第1章 緒論 1
1.1 密碼學基礎 2
1.1.1 密碼編碼學 2
1.1.2 傳統(tǒng)密碼分析學 5
1.2 密碼旁路分析概述 8
1.2.1 發(fā)展歷程 9
1.2.2 基本原理 12
1.2.3 發(fā)展動因 13
1.2.4 方法分類 15
1.2.5 威脅分析 16
1.2.6 研究熱點 18
1.3 本書的章節(jié)安排 19
第2章 數(shù)學基礎 21
2.1 代數(shù)學 21
2.1.1 數(shù)論 21
2.1.2 代數(shù) 22
2.2 信息論 25
2.2.1 信息和熵 25
2.2.2 互信息 26
2.3 計算復雜性 27
2.3.1 算法與問題 27
2.3.2 算法的計算復雜性 28
2.3.3 問題的計算復雜性 28
2.4 概率論 29
2.4.1 事件與概率 29
2.4.2 期望與方差 30
2.4.3 概率分布 31
2.4.4 中心極限定理 32
2.5 數(shù)理統(tǒng)計 32
2.5.1 參數(shù)估計 32
2.5.2 假設檢驗 33
2.6 注記與補充閱讀 34
第3章 旁路泄露與旁路分析建模 35
3.1 密碼算法設計與實現(xiàn) 35
3.1.1 密碼設計 35
3.1.2 密碼實現(xiàn) 37
3.2 旁路泄露 40
3.2.1 泄露特性 40
3.2.2 泄露分類 41
3.2.3 泄露模.哄 42
3.3 泄露分析策略 43
3.4 旁路分析建模 44
3.4.1 術語與定義 44
3.4.2 分析框架 46
3.4.3 分析模.哄 47
3.4.4 評估模型 49
3.5 注記與補充閱讀 51
第4章 計時分析 52
4.1 時間泄露 52
4.1.1 泄露來源 52
4.1.2 采集方法 53
4.1.3 預處理方法 55
4.2 計時分析原理 55
4.3 模冪運算計時分析 56
4.3.1 模冪運算時間差異 56
4.3.2 計時信息分析方法 58
4.3.3 RSA計時攻擊實例 66
4.4 乘法運算計時分析 71
4.4.1 乘法運算時間差異 71
4.4.2 計時信息分析方法 71
4.4.3 AES計時攻擊實例 71
4.5 注記與補充閱讀 74
第5章 功耗/電磁分析 76
5.1 功耗/電磁泄露 77
5.1.1 泄露機理 77
5.1.2 泄露采集 81
5.1.3 泄露模型 83
5.1.4 統(tǒng)計特性 85
5.2 旁路信號預處理方法 87
5.2.1 信號對齊方法 87
5.2.2 有效點選取方法 89
5.3 基于功耗/電磁旁路信號的密鑰恢復問題描述 93
5.4 簡單分析 93
5.4.1 簡單功耗分析方法 93
5.4.2 RSA簡單分析攻擊實例 94
5.5 相關性分析 95
5.5.1 相關性分析方法 96
5.5.2 相關性系數(shù)計算方法 97
5.5.3 DES相關性分析攻擊實例 98
5.6 模板分析 101
5.6.1 模板分析方法 101
5.6.2 常用判別分析方法 103
5.6.3 RC4模板分析攻擊實例 105
5.7 注記與補充閱讀 109
第6章 Cache分析 111
6.1 Cache訪問泄露 112
6.1.1 Cache工作原理 1 12
6.1.2 Cache命中與失效 1 13
6.1.3 命中與失效泄露分析 115
6.1.4 Cache命中與失效采集 1 17
6.2 時序驅動Cache分析 119
6.2.1 基本原理 119
6.2.2 Cache碰撞計時分析方法 1 19
6.2.3 Cache計時模板分析方法 120
6.2.4 AES時序驅動攻擊實例 125
6.3 訪問驅動Cache分析 138
6.3.1 基本原理 138
6.3.2 查找表在Cache中分布分析 139
6.3.3 查找表存Cache中地址定位方法 141
6.3.4 Cache訪問地址分析方法 142
6.3.5 AES訪問驅動攻擊實例 145
6.4 蹤跡驅動Cache分析 151
6.4.1 基本原理 151
6.4.2 基于Cache命中與失效蹤跡的分組密碼密鑰分析方法 153
6.4.3 基于平方和乘法蹤跡的公鑰密碼冪指數(shù)分析方法 153
6.4.4 AES蹤跡驅動攻擊實例 157
6.4.5 RSA蹤跡驅動攻擊實例 1 59
6.5 注記與補充閱讀 162
第7章 差分故障分析 164
7.1 密碼運行故障 164
7.1.1 故障注入 164
7.1.2 故障模型 167
7.2 故障分析原理 169
7.3 通用的差分故障分析方法 170
7.4 分組密碼差分故障分析方法與攻擊實例 171
7.4.1 按塊擴散SPN結構分組密碼分析 171
7.4.2 按位擴散SPN結構分組密碼分析 176
7.4.3 平衡Feiste1結構分組密碼分析 1 82
7.5 公鑰密碼差分故障分析方法與攻擊實例 190
7.5.1 基于操作步驟故障的RSA密碼分析 190
7.5.2 基于參數(shù)故障的RSA密碼分析 194
7.5.3 基于乘法器故障的RSA密碼分析 197
7.5.4 基于符號變換故障的ECC密碼分析 201
7.6 注記與補充閱讀 204
第8章 代數(shù)旁路分析 205
8.1 基本原理 206
8.1.1 代數(shù)分析 206
8.1.2 代數(shù)旁路分析原理 208
8.2 多推斷代數(shù)旁路分析方法 209
8.2.1 問題提出 209
8.2.2 符號與定義 209
8.2.3 多推斷代數(shù)旁路分析 210
8.2.4 開銷分析 211
8.2.5 適用性分析 211
8.3 AES漢明重量代數(shù)功耗攻擊實例 214
8.3.1 漢明重量推斷與表示 214
8.3.2 數(shù)據(jù)復雜度評估方法 215
8.3.3 實驗結果與分析 216
8.4 AES訪問驅動代數(shù)Cache攻擊實例 217
8.4.1 兩種泄露模型 217
8.4.2 密碼訪問Cache地址推斷與表示 218
8.4.3 數(shù)據(jù)復雜度評估方法 219
8.4.4 實驗結果與分析 220
8.5 AES蹤跡驅動代數(shù)Cache攻擊實例 220
8.5.1 密碼Cache訪問事件序列推斷與表示 220
8.5.2 數(shù)據(jù)復雜度評估方法 222
8.5.3 實驗結果與分析 223
8.6 多種密碼代數(shù)故障攻擊實例 224
8.6.1 故障方程構建方法 225
8.6.2 密碼攻擊實例 227
8.6.3 其他應用 242
8.7 注記與補充閱讀 247
第9章 旁路立方體分析 248
9.1 基本原理 249
9.1.1 立方體分析 249
9.1.2 旁路立方體分析 250
9.2 擴展的旁路立方體分析方法 252
9.2.1 非線性旁路立方體分析 252
9.2.2 分而治之旁路立方體分析 253
9.2.3 迭代旁路立方體分析 254
9.2.4 黑盒旁路立方體分析 254
9.3 密碼旁路立方體攻擊實例 255
9.3.1 單比特泄露模型分析 255
9.3.2 漢明重量泄露模型分析 262
9.3.3 漢明重量泄露模型攻擊實驗 268
9.4 注記與補充閱讀 277
附錄 278
附錄A RSA公鑰密碼算法設計 278
附錄B ECC公鑰密碼算法設計 279
附錄C AES分組密碼算法設計 280
附錄D DES分組密碼算法設計 280
附錄E Camellia分組密碼算法設計 282
附錄F PRESENT分組密碼算法設計 282
附錄G EPCBC分組密碼算法設計 283
附錄H LED分組密碼算法設計 283
附錄I Piccolo分組密碼算法設計 284
附錄J GOST分組密碼算法設計 284
附錄K RC4序列密碼算法設計 285
附錄L Helix序列密碼算法設計 286
參考文獻 289
索引 311