書籍信息
作者:任偉
定價:25元
印次:1-1
ISBN:9787302397465
出版日期:2015.08.01
印刷日期:2015.08.10
內容簡介
本書內容包括四個部分: 基本數字簽名(基於單向性的簽名、基於離散對數的簽名、基於離散對數簽名的擴展討論、基於身份識別協定的簽名),高級數字簽名(盲簽名、代理簽名、多重數字簽名、環簽名、指定驗證者簽名等),安全協定(實體認證協定、身份識別協定、密鑰協商協定、比特承諾、零知識證明協定、不經意傳輸、秘密共享、安全多方計算),基於身份的密碼學和可證明安全性。本書的特點是注重介紹密碼學方案的構造邏輯、設計規律,在給出方案的同時,還給出具有啟發性的解釋和討論,解釋方案的設計機理和思路,以培養學習者的邏輯推理能力。
圖書目錄
第1章數字簽名概述/31.1數字簽名的一般模型3
1.2數字簽名的分類4
1.3數字簽名的設計原理4
1.4數字簽名的安全性5
第2章基於單向性的簽名/7
2.1基於單向函式的簽名7
2.1.1Lamport一次簽名7
2.1.2基於對稱加密的一次簽名方案8
2.2利用公鑰加密的簽名9
2.2.1Rabin數字簽名9
2.2.2RSA數字簽名10
第3章基於離散對數的簽名/14
3.1ElGamal簽名14
3.1.1ElGamal簽名體制14
3.1.2ElGamal簽名設計的機理14
3.1.3安全性分析、性能分析與比較16
3.2Schnorr簽名18
3.3數字簽名標準DSS19
3.4NebergRueppel簽名22
第4章離散對數簽名的擴展/24
4.1基於離散對數的一般簽名24
4.2一般簽名方案的舉例25
4.2.1GOST簽名25
4.2.2Okamoto簽名26〖1〗數字簽名與安全協定目錄[3]〖3〗4.3橢圓曲線上離散對數的簽名26
4.3.1ECDSA26
4.3.2SM228
第5章基於身份識別協定的簽名/30
5.1FeigeFiatShamir簽名方案30
5.2GuillouQuisquater簽名方案31
5.3知識簽名32
第1部分小結/34
擴展閱讀建議/35
第2部分高級數字簽名
第6章盲簽名/396.1盲簽名概念的提出與Chaum盲簽名39
6.2盲簽名方案舉例40
6.2.1基於Schnorr簽名構造的盲簽名40
6.2.2基於NebergRueppel簽名構造的盲簽名41
6.2.3基於ElGamal簽名構造的盲簽名42
6.2.4ElGamal型盲簽名方案的一般構造方法42
6.3盲簽名的套用43
第7章代理簽名/45
7.1代理簽名的基本概念和分類45
7.2代理簽名舉例47
7.2.1MUO不保護代理的代理簽名47
7.2.2MUO保護代理的代理簽名48
第8章多重數字簽名/50
8.1多重數字簽名的基本概念50
8.2多重數字簽名舉例51
8.2.1ElGamal型廣播多重數字簽名51
8.2.2ElGamal型順序多重數字簽名52
第9章其他高級簽名/54
9.1環簽名54
9.1.1環簽名的基本概念54
9.1.2第一個環簽名方案55
9.2指定驗證者簽名56
9.2.1指定驗證者簽名的提出56
9.2.2SaeedniaKremeerMarkowitch方案57
9.3不可否認簽名58
9.3.1不可否認簽名的提出58
9.3.2Chaumvan Antwerpen方案59
9.4失敗停止簽名61
第2部分小結/64
擴展閱讀建議/65第3部分安 全 協 議
第10章實體認證協定/7110.1實體認證與身份識別概述71
10.1.1實體認證的基本概念71
10.1.2身份識別的基本概念72
10.1.3對身份識別協定的攻擊73
10.2基於口令的實體認證協定73
10.2.1基於口令的認證協定74
10.2.2基於散列鏈的認證協定75
10.2.3基於口令的實體認證連同加密的密鑰交換協定77
10.3基於“挑戰應答”協定的實體認證78
10.3.1基於對稱密碼的實體認證78
10.3.2基於公鑰密碼的實體認證80
10.3.3基於散列函式的實體認證81
第11章身份識別協定/82
11.1FiatShamir身份識別協定82
11.2FeigeFiatShamir身份識別協定84
11.3GuillouQuisquater身份識別協定85
11.4Schnorr身份識別協定86
11.5Okamoto身份識別協定87
第12章密鑰協商協定/88
12.1兩方密鑰協商88
12.1.1DiffieHellman密鑰協商協定88
12.1.2端到端密鑰協商協定90
12.1.3MTI密鑰協商協定91
12.1.4ECMQV密鑰協商體制92
12.2多方密鑰協商93
12.2.1會議密鑰協商93
12.2.2Shamir三次傳遞協定95
第13章高級協定/96
13.1比特承諾96
13.1.1比特承諾協定概述96
13.1.2比特承諾方案97
13.1.3基於離散對數問題的承諾方案99
13.1.4電話投幣協定100
13.2零知識證明協定101
13.2.1零知識證明的3個經典示例102
13.2.2基於困難問題構造零知識證明104
13.3不經意傳輸105
13.3.1不經意傳輸協定概述105
13.3.2不經意傳輸協定的設計106
13.4秘密共享108
13.4.1秘密共享概念的提出108
13.4.2Shamir門限方案109
13.5安全多方計算113
13.5.1平均薪水問題114
13.5.2百萬富翁問題115
第3部分小結/118
擴展閱讀建議/119
第4部分基於身份的密碼學和可證明安全性
第14章基於身份的公鑰密碼學/12314.1概念、困難假設與IBE123
14.1.1基於身份的公鑰密碼學概念的提出123
14.1.2雙線性映射和雙線性DH假設125
14.1.3BonehFranklin IBE方案126
14.2基於身份的密鑰共享體制127
14.2.1SOK密鑰共享體制127
14.2.2基於配對的三方DH密鑰協商協定128
14.3基於身份的簽名129
14.3.1Shamir基於身份的簽名129
14.3.2ChaCheon基於身份的簽名131
14.4基於身份的身份識別協定132
14.4.1GuillouQuisquater的基於身份的身份識別協定132
14.4.2ChaCheon基於身份的身份識別協定133
第15章可證明安全簽名和協定/136
15.1可證明安全概述136
15.1.1可證明安全的概念136
15.1.2可證明安全的基本思路137
15.2可證明安全數字簽名138
15.2.1數字簽名方案的安全性138
15.2.2EUFCMA安全性的定義140
15.2.3隨機預言模型142
15.2.4RSAFDH143
15.3可證明安全協定簡介145
第4部分小結/147
擴展閱讀建議/148
參考文獻/153第1章C語言程式設計概述/1
1.1程式設計語言1
1.1.1“存儲程式”原理1
1.1.2程式設計語言的發展3
1.1.3語言處理程式4
1.2C語言的發展和特點5
1.3C語言的語法單位6
1.3.1C語言的基本符號6
1.3.2關鍵字6
1.3.3標識符6
1.3.4C語言語句8
1.4C語言程式的基本結構8
1.4.1簡單的C語言程式介紹8
1.4.2C程式的結構與書寫規則11
1.5程式設計與算法13
1.5.1程式設計13
1.5.2算法概述14
1.5.3算法的描述15
1.5.4結構化程式設計方法19
1.6C語言程式的上機調試20
1.6.1C語言的編譯環境與運行程式的步驟20
1.6.2Turbo C開發環境21
1.6.3WinTC系統上機操作方法26
1.6.4Visual C++ 6.0系統上機操作方法28
本章小結34
習題34
上機實訓36
實訓項目: C語言開發環境的使用與程式調試 37
第2章數據類型、運算符與表達式/39
2.1C語言數據類型與數據的存儲39〖1〗數字簽名與安全協定目錄[3]〖3〗2.1.1C語言的數據類型39
2.1.2數據在記憶體中的存儲形式41
2.2變數與常量43
2.2.1常量43
2.2.2變數47
2.3C語言的運算符和表達式53
2.3.1概述53
2.3.2算術運算符和算術表達式55
2.3.3關係運算符和關係表達式57
2.3.4邏輯運算符和邏輯表達式58
2.3.5賦值運算符和賦值表達式60
2.3.6條件運算符和條件表達式61
2.4不同類型數據間的混合運算63
2.5位運算64
2.5.1位邏輯運算64
2.5.2位移運算65
2.5.3位運算賦值運算符65
2.6常用數學庫函式的使用66
本章小結67
習題68
上機實訓70
第3章順序結構程式設計/72
3.1C語言簡單語句72
3.2數據的輸入與輸出73
3.3格式化輸入與輸出75
3.3.1格式化輸出函式printf()75
3.3.2格式化輸入函式scanf()80
3.4字元數據的輸入與輸出84
3.4.1字元輸出函式putchar()84
3.4.2字元輸入函式getchar()85
3.5順序結構程式設計舉例87
本章小結90
習題90
上機實訓93
第4章選擇結構程式設計/95
4.1if語句95
4.1.1單分支if語句95
4.1.2雙分支if語句96
4.1.3if語句的嵌套97
4.2switch語句100
4.3選擇結構程式設計舉例102
本章小結106
習題107
上機實訓110
第5章循環結構程式設計/112
5.1循環的概念112
5.2for語句113
5.3while語句117
5.4do…while語句119
5.5break與continue語句121
5.5.1break語句121
5.5.2continue語句123
5.6循環的嵌套124
5.7程式舉例126
本章小結128
習題128
上機實訓134
第6章數組/136
6.1概述136
6.2一維數組137
6.2.1一維數組的定義137
6.2.2一維數組的引用138
6.2.3一維數組的初始化139
6.2.4套用舉例141
6.3二維數組145
6.3.1二維數組的定義145
6.3.2二維數組的引用147
6.3.3二維數組的初始化147
6.3.4二維數組的套用舉例148
6.4字元數組與字元串150
6.4.1字元數組150
6.4.2字元串152
6.4.3字元串處理函式153
本章小結156
習題157
上機實訓160
第7章函式/162
7.1函式的定義與調用162
7.1.1函式的分類162
7.1.2函式定義的一般形式164
7.1.3函式的調用167
7.1.4函式的參數傳遞168
7.2函式的嵌套調用與遞歸調用172
7.2.1函式的嵌套調用172
7.2.2函式的遞歸調用173
7.3變數的作用域和存儲類別175
7.3.1變數的作用域175
7.3.2變數的存儲類別177
7.4內部函式與外部函式178
7.4.1內部函式179
7.4.2外部函式179
7.5程式的多檔案結構180
7.6程式舉例185
本章小結189
習題189
上機實訓192
第8章編譯預處理/194
8.1宏定義命令194
8.2檔案包含200
8.3條件編譯203
本章小結205
習題205
上機實訓209
第9章指針/210
9.1地址與指針類型210
9.1.1地址及取地址運算210
9.1.2指針類型與指針運算211
9.2指針變數213
9.2.1指針變數的定義213
9.2.2指針變數的運算214
9.3指針與數組217
9.3.1指向數組元素的指針217
9.3.2用指針法引用數組元素218
9.3.3多維數組與指針220
9.4指針與字元串224
9.5指針與函式227
9.5.1指針變數作函式的參數227
9.5.2指向函式的指針變數232
9.5.3指針型函式235
9.6指針型數組237
9.7多級指針240
本章小結241
習題242
上機實訓245
第10章結構體、共用體和枚舉類型/247
10.1結構體類型247
10.1.1結構體類型的定義247
10.1.2結構體變數的說明與引用249
10.1.3位段253
10.2結構體數組255
10.2.1結構體數組的定義與初始化255
10.2.2套用舉例257
10.3結構體與指針259
10.3.1結構體類型的指針變數259
10.3.2指向結構體數組的指針261
10.3.3結構體類型變數作函式的參數262
10.4動態數據結構與鍊表264
10.4.1鍊表的相關概念264
10.4.2動態記憶體分配函式265
10.4.3鍊表的建立與操作267
10.5共用體272
10.5.1共用體類型的定義與變數說明272
10.5.2共用體變數的引用273
10.6枚舉類型275
10.7用typedef說明一種新類型名277
本章小結280
習題280
上機實訓283
第11章檔案操作/285
11.1C語言檔案概述285
11.2檔案的打開與關閉288
11.3檔案的讀寫291
11.3.1字元的輸入和輸出291
11.3.2格式化輸入和輸出294
11.3.3字元串的輸入和輸出298
11.4隨機檔案的讀寫301
11.4.1檔案的定位301
11.4.2fread函式與fwrite函式302
11.5出錯檢測函式305
11.5.1ferror()函式305
11.5.2clearerror()函式305
本章小結306
習題307
上機實訓311
第12章課程設計/313
12.1課程設計的目的313
12.2課程設計的選題與實施過程314
12.2.1選題314
12.2.2實施過程314
12.3課程設計報告的內容315
12.4課程設計參考題目315
本章小結321
綜合項目實訓321
附錄AC常用庫函式/325
附錄B全國計算機等級考試二級C語言考試大綱/333
附錄C計算機二級C語言考試模擬題/336
模擬題參考答案350
附錄D習題參考答案/351第1章習題解答351
第2章習題解答353
第3章習題解答354
第4章習題解答356
第5章習題解答359
第6章習題解答364
第7章習題解答367
第8章習題解答371
第9章習題解答372
第10章習題解答375
第11章習題解答378
參考文獻/382