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