本書主要闡述如何使用C和C++語言實(shí)現(xiàn)密碼學(xué)算法,包括編寫專家級(jí)的密碼所需要掌握的知識(shí)和技術(shù),以及如何安全并高效地實(shí)現(xiàn)密碼學(xué)算法。
出版者的話
譯者序
序
英文第2版前言
英文第1版前言
德文第1版前言
第一部分 算術(shù)與數(shù)論:C實(shí)現(xiàn)
第1章 緒論
第2章 數(shù)的格式:C中大數(shù)的表示
第3章 接口語義
第4章 基本運(yùn)算
4.1 加法和減法
4.2乘法
4.2.1 小學(xué)乘法方法
4.2.2更快的平方運(yùn)算
4.2.3 Karatsuba能否做得更好
4.3帶余除法
第5章 模算術(shù):剩余類計(jì)算
第6章 百川歸海:模冪運(yùn)算
6.1 第一種方法
6.2 M進(jìn)制取冪
6.3 加法鏈及窗口
6.4 Montgomery約簡和取冪
6.5取冪運(yùn)算的密碼學(xué)應(yīng)用
第7章 位運(yùn)算與邏輯函數(shù)
7.1 移位運(yùn)算
7.2 有或無:位關(guān)系
7.3 對(duì)單個(gè)二進(jìn)制數(shù)字的直接訪問
7.4 比較運(yùn)算符
第8章 輸入、輸出、賦值和轉(zhuǎn)換
第9章 動(dòng)態(tài)寄存器
第10章 基本數(shù)論函數(shù)
10.1 最大公約數(shù)
10.2剩余類環(huán)中的乘法逆
10.3根‘j對(duì)數(shù)
10.4剩余類環(huán)中的平方根
10.4.1 Jacobi符號(hào)
10.4.2 模聲6的平方根
10.4.3 模"的平方根
10.4.4 基于二次剩余的密碼學(xué)
10.5 素性檢驗(yàn)
第1 1章 Rijndael:數(shù)據(jù)加密標(biāo)準(zhǔn)的
后繼者 一
11.1 多項(xiàng)式運(yùn)算
11.2 Rijndael算法
11.3 計(jì)算輪密鑰
11.4 S盒
11.5行移位變換
11.6 列混合變換
11.7 輪密鑰加
11.8-個(gè)完整的加密過程
11.9 解密
1 1.10性能
11. 11 運(yùn)行模式
第12章 大隨機(jī)數(shù)
12.1 -個(gè)簡單的隨機(jī)數(shù)生成器
12.2密碼學(xué)的隨機(jī)數(shù)生成器
12.2.1 初始值的生成
12.2.2 BBS隨機(jī)數(shù)生成器
12.2.3 AES生成器
12.2.4 RMDSHA-1生成器
12.3質(zhì)量測試
12.3.1 卡方檢驗(yàn)
12.3.2單位檢驗(yàn)
12.3.3撲克檢驗(yàn)
? 12.3.4游程檢驗(yàn)
12.3.5 長游程檢驗(yàn)
12.3.6 自相關(guān)檢驗(yàn)
12.3.7 FLINT/CLINT隨機(jī)數(shù)
生成器的質(zhì)量
12.4更復(fù)雜的函數(shù)
第13章 測試LINT的策略
13.1靜態(tài)分析
13.2運(yùn)行時(shí)測試
第二部分 算術(shù):C++實(shí)現(xiàn)與LINT類
第14章 用C++精簡生活
14.1 非公共事務(wù):LINT中數(shù)的
表示
14.2構(gòu)造函數(shù)
14.3重載運(yùn)算符
第15章 LINT公共接口:成員函數(shù)
和友元函數(shù)
15.1算術(shù)
15.2數(shù)論
15.3 LINT對(duì)象的I/O流
15.3.1 LINT對(duì)象的格式化
輸出
15.3.2操縱器
15.3.3 LINT對(duì)象的文件I/O
第16章 錯(cuò)誤處理
16.1杜絕慌亂
16.2用戶定義的錯(cuò)誤處理
16.3 LINT異常
第17章 一個(gè)應(yīng)用實(shí)例:RSA
密碼體制
17.1非對(duì)稱密碼體制
17.2 RSA算法
17.3 RSA數(shù)字簽名
17.4 C++的RSA類
第18章 自己動(dòng)手測試LINT
第19章 更進(jìn)一步的擴(kuò)展方法
第三部分 附錄
附錄AC函數(shù)目錄
附錄B C++函數(shù)目錄
附錄C 宏
附錄D 計(jì)算時(shí)間
附錄E符號(hào) 一
附錄F運(yùn)算和數(shù)論軟件包
參考文獻(xiàn)