第1章 加密\t1
1.1 加密目標\t2
1.2 換位法:相同的數據,不同的
順序\t2
1.2.1 密鑰\t4
1.2.2 對加密的攻擊\t5
1.3 替換法:替換數據\t6
1.3.1 變化替換模式\t6
1.3.2 密鑰擴展\t9
1.4 高級加密標準\t9
1.4.1 二進制基礎\t10
1.4.2 AES加密:概述\t12
1.4.3 AES中的密鑰擴展\t13
1.4.4 AES加密處理流程\t14
1.4.5 數據塊鏈接\t15
1.4.6 AES為什么是安全的\t16
1.4.7 AES可能遭受的攻擊\t17
1.5 私鑰加密的限制\t18
第2章 密碼\t19
2.1 將密碼轉成數字\t19
2.2 MD5散列函數\t21
2.2.1 密碼編碼\t21
2.2.2 按位運算\t22
2.2.3 MD5散列流程\t23
2.2.4 達到好的散列函數的
標準\t24
2.3 數字簽名\t25
2.3.1 身份問題\t25
2.3.2 碰撞攻擊\t25
2.4 身份認證系統(tǒng)中的密碼\t26
2.4.1 危險的密碼表\t26
2.4.2 對密碼進行散列\(zhòng)t27
2.4.3 字典式攻擊\t27
2.4.4 散列表\t28
2.4.5 散列鏈\t29
2.4.6 迭代式散列\(zhòng)t32
2.4.7 為密碼“加鹽”\t33
2.4.8 密碼表安全嗎\t34
2.5 密碼存儲服務\t34
2.6 小結\t35
第3章 網絡安全\t37
3.1 公鑰加密是如何解決密鑰共享
問題的\t37
3.2 公鑰加密所需的數學運算\t38
3.2.1 可逆函數(Invertible
Functions)\t38
3.2.2 單向函數(One-Way
Functions)\t39
3.2.3 暗門函數(Trapdoor
Functions)\t40
3.3 RSA加密法\t42
3.3.1 創(chuàng)建密鑰\t42
3.3.2 使用RSA加密數據\t44
3.3.3 RSA的效率\t45
3.3.4 在真實世界中使用RSA\t46
3.3.5 身份認證中的RSA\t49
3.4 網絡安全:HTTPS\t51
3.4.1 握手\t51
3.4.2 在HTTPS下傳輸數據\t53
3.5 共享密鑰的問題解決了嗎\t54
第4章 電影CGI\t57
4.1 傳統(tǒng)動畫軟件\t59
4.1.1 數字圖像是如何工作的\t59
4.1.2 顏色是如何定義的\t61
4.1.3 軟件是如何制作cel
動畫的\t61
4.1.4 從cel動畫軟件到
渲染式的2D圖形\t69
4.2 3D CGI軟件\t69
4.2.1 如何描述3D場景\t70
4.2.2 虛擬攝像機\t71
4.2.3 直接光照\t72
4.2.4 全局光照\t76
4.2.5 如何進行光線追蹤\t76
4.2.6 全屏抗鋸齒\t80
4.3 真實與模擬相結合\t81
4.4 理想化的電影級品質渲染\t82
第5章 游戲圖形\t83
5.1 實時圖形的硬件\t84
5.2 為什么游戲不使用射線追蹤\t85
5.3 只有直線,沒有曲線\t85
5.4 不使用射線追蹤來進行投影\t86
5.5 渲染三角形\t87
5.5.1 畫家算法\t88
5.5.2 深度緩沖\t89
5.6 實時光照\t90
5.7 陰影\t92
5.8 環(huán)境光照和環(huán)境遮擋\t94
5.9 紋理映射\t95
5.9.1 最鄰近采樣\t97
5.9.2 雙線性過濾\t99
5.9.3 Mipmaps\t100
5.9.4 三線性過濾\t101
5.10 反射\t102
5.11 偽造曲線\t104
5.11.1 遠距頂替物\t104
5.11.2 凹凸映射\t104
5.11.3 曲面細分\t105
5.12 實時抗鋸齒\t107
5.12.1 超級采樣\t107
5.12.2 多重采樣\t109
5.12.3 后期處理抗鋸齒\t109
5.13 渲染預算\t111
5.14 游戲圖形展望\t112
第6章 數據壓縮\t113
6.1 游程編碼\t114
6.2 字典壓縮\t116
6.2.1 基本方式\t116
6.2.2 哈夫曼編碼\t118
6.3 重組數據以獲得更好的壓縮\t119
6.3.1 預測編碼\t119
6.3.2 量化\t120
6.4 JPEG圖像\t120
6.4.1 顏色的另一種存儲方式\t121
6.4.2 離散余弦變換\t122
6.4.3 二維DCT\t125
6.4.4 對DCT處理結果進行
壓縮\t128
6.4.5 JPEG圖像質量\t131
6.5 壓縮高清視頻\t134
6.5.1 時間壓縮\t134
6.5.2 MPEG-2視頻壓縮\t135
6.5.3 視頻質量與時間壓縮\t138
6.6 視頻壓縮的現(xiàn)在和未來\t139
第7章 搜索\t141
7.1 定義搜索問題\t141
7.2 將數據按序存放\t142
7.2.1 選擇排序\t142
7.2.2 快速排序\t143
7.3 二分搜索\t146
7.4 索引\t148
7.5 散列\(zhòng)t150
7.6 網絡搜索\t153
7.6.1 為抓取到的網頁結果進行
排名\t153
7.6.2 高效地使用索引\t155
7.7 網絡搜索的前景\t156
第8章 并發(fā)\t157
8.1 為何需要并發(fā)\t157
8.1.1 性能\t158
8.1.2 多用戶環(huán)境\t158
8.1.3 多任務處理\t158
8.2 并發(fā)是如何出錯的\t159
8.3 使并發(fā)安全\t162
8.3.1 只讀數據\t162
8.3.2 基于事務的處理過程\t162
8.3.3 信號量\t163
8.4 無限等待的問題\t165
8.4.1 有序隊列\(zhòng)t166
8.4.2 循環(huán)等待造成的饑餓\t166
8.5 信號量的性能問題\t168
8.6 并發(fā)的未來\t169
第9章 地圖路徑\t171
9.1 軟件中對地圖的定義\t171
9.1.1 最佳優(yōu)先搜索\t174
9.1.2 重用之前的搜索結果\t177
9.2 一次找出所有最佳路徑\t179
9.2.1 弗洛伊德算法\t179
9.2.2 存儲路徑方向\t182
9.3 路徑查找的未來\t185