-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
6/20 新書到! 5/31 新書到! 5/24 新書到! 5/18 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

密碼學原理與Java實現

( 簡體 字)
作者:朱文偉 李建英類別:1. -> 安全 -> 加密與解密
   2. -> 程式設計 -> JAVA -> Java
譯者:
出版社:清華大學出版社密碼學原理與Java實現 3dWoo書號: 54547
詢問書籍請說出此書號!

有庫存
NT售價: 445

出版日:6/1/2021
頁數:358
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302580270
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

隨著計算機及網絡技術的發展,信息安全,特別是各行各業信息系統的安全成為信息社會關注的焦點,直接影響國家的安全和社會的穩定。如今,計算機加解密算法的應用已經滲透到我們生活的方方面面。金融、電子政務、電子商務、網民上網、黑客攻防、國防通信、智能化武器安全等,無一不涉及計算機加解密算法。Java自帶的加解密函數庫是計算機開發領域中的一個寶庫,無論你是初學者還是資深研究人員,都可以在其中找到得心應手的“武器”,幫助你在研究的道路上披荊斬棘。
往小了說,學好Java安全可以就業不愁;往大了說,學好密碼學原理及Java安全開發,可以開發出無堅不摧的武器系統或金融系統,對于國防安全、信息安全和金融安全有著重要 意義。
關于本書
本書是Java安全領域的經典之作,不但剖析大量Java加解密函數的調用細節,而且對原理解釋清晰明了,讓讀者不僅知其然,而且知其所以然。書中涵蓋了對稱加解密算法、非對稱加解密算法、編碼格式、數字簽名等內容,并配以豐富的代碼示例,內容豐富,行文通俗。
全書介紹Java加解密中近200多個函數、100多個示例程序,幫助讀者熟練掌握Java開發的安全應用。本書在介紹Java加解密最新技術的同時,力求講解一些背后的原理和公式,為大家以后做專業的密碼開發鋪墊前進的道路。只會調用函數而不知原理和公式,永遠不會是一個專業人士!
本書特點
本書不僅講解Java自帶的安全開發庫,還講解OpenSSL在Java中的使用細節。OpenSSL是在學術界、工業界廣泛使用的加解密算法庫。OpenSSL內容之豐富,是目前開源安全算法庫中罕見的。每年我們都能看到不少關于OpenSSL的圖書,但是隨著OpenSSL版本迭代,部分學習資料已經過時。本書基于當前企業界流行的Java版本寫作,面向初學者,既涵蓋了Java加解密算法的使用,又介紹了背后原理,并配以示例代碼,內容豐富,行文通俗,是不可多得的優秀圖書。
本書是一本講述專業知識的書,不是走馬觀花就能理解的。這需要讀者打起精神,詳細閱讀,跟著書中的內容運行代碼,了解示例程序,多練習,掌握書中介紹的函數功能及其用法。
本書實例豐富,希望讀者能充分利用好這些例子,并將每個例子在自己的機器上實現,在編譯運行時好好體會每個類或函數的用法。
源碼下載與技術支持
本書配套的資源,請用微信掃描右邊的二維碼獲取,可按掃描出來的頁面提示把下載鏈接轉到自己的郵箱中下載。如果學習本書過程中發現問題,請聯系郵件主題為“密碼學原理與Java實現”。

作者
2021年4月
內容簡介:

現在,Java開發可謂如日中天,并且Java安全開發是Java開發領域中的一個重要內容,每個Java開發人員都必須掌握。市面中的絕大多數密碼學書籍都是針對C或C++的,本書重點介紹Java自帶加解密函數的相關技術,以及密碼學領域重要的開源庫OpenSSL在Java開發中的應用。
本書共8章,主要內容包括密碼學和Java概述、搭建Java密碼開發環境、對稱密碼算法原理、利用JCA\JCE對稱加解密、雜湊函數和HMAC、密碼學中常見的編碼格式、非對稱算法RSA的加解密、數字簽名技術等。本書內容非常詳細,學習坡度非常平滑,循序漸進,就算沒有密碼學基礎,也能從零開始到全面掌握。
本書面向的讀者是Java開發人員、企業內轉行計算機信息安全的工作人員、已有信息安全基礎并想了解Java加解密新特性的人員。本書也可作為高等院校和培訓機構計算機及相關專業師生的教學參考書。
目錄:

第1章加解密和Java概述 1
1.1密碼學基礎知識 1
1.1.1密碼學概述 1
1.1.2對稱密鑰加密技術 2
1.1.3公開密鑰加密技術 2
1.1.4單向散列函數算法 3
1.1.5數字簽名基礎知識 3
1.2身份認證基礎知識 5
1.2.1身份認證概述 5
1.2.2身份認證的方式 5
1.3Java語言概述 6
1.3.1Java簡介 6
1.3.2Java主要特性 7
1.3.3Java的發展史 8
第2章搭建Java密碼開發環境 10
2.1搭建Java開發環境 10
2.1.1下載JDK 10
2.1.2安裝JDK 11
2.1.3配置JDK環境變量 12
2.1.4在命令行下編譯Java程序 13
2.1.5在Eclipse中開發Java程序 14
2.1.6下載Eclipse 14
2.1.7啟動Eclipse 14
2.1.8第一個Eclipse下的Java工程 15
2.1.9在工作區中打開工程 18
2.2搭建JavaWeb開發環境 18
2.2.1下載Tomcat 18
2.2.2安裝Tomcat 19
2.2.3在Eclipse中配置Tomcat 20
2.2.4第一個Eclipse下的JSP工程 21
2.2.5第一個JavaBean工程 25
2.3使用JNI 30
2.4Java密碼開發的兩個主流國際庫 35
2.5準備密碼庫OpenSSL 36
2.5.1OpenSSL源代碼模塊結構 36
2.5.2OpenSSL加密庫調用方式 37
2.5.3OpenSSL支持的對稱加密算法 38
2.5.4OpenSSL支持的非對稱加密算法 38
2.5.5OpenSSL支持的信息摘要算法 38
2.5.6OpenSSL密鑰和證書管理 38
2.5.7面向對象與OpenSSL 39
2.5.8BIO接口 40
2.5.9EVP接口 41
2.5.10關于版本和操作系統 42
2.5.11在Windows下編譯OpenSSL1.1.1 42
2.5.12在Windows下編譯OpenSSL1.0.2m 54
2.5.13測試使用OpenSSL命令 62
2.6在Java下使用OpenSSL 64
2.6.1以命令方式使用OpenSSL 64
2.6.2以函數庫方式調用OpenSSL 67
2.7純Java密碼開發庫 72
2.7.1JCA的基本概念 73
2.7.2JCA的設計原則 74
2.7.3JCA中的密碼服務提供者 74
2.7.4JCA編程的兩大安全包 76
2.7.5包java.security中的接口和類 77
2.7.6包javax.crypto中的接口和類 83
2.7.7第一個JCA例子 84
第3章對稱密碼算法原理 89
3.1基本概念 89
3.2對稱加解密算法的分類 90
3.3流加密算法 90
3.3.1基本概念 90
3.3.2流密碼和分組密碼的比較 91
3.3.3RC4算法 91
3.4分組加密算法 95
3.4.1工作模式 95
3.4.2短塊加密 99
3.4.3DES和3DES算法 100
3.4.4SM4算法 118
第4章利用JCA/JCE對稱加解密 139
4.1包java.security 140
4.1.1密鑰接口 140
4.1.2安全隨機數 141
4.2包javax.crypto 150
4.2.1安全密鑰接口SecretKey 151
4.2.2密鑰生成類KeyGenerator 151
4.2.3密鑰規范類SecretKeySpec 155
4.2.4初始向量類IvParameterSpec 156
4.2.5加解密類Cipher 157
4.2.6利用JCA實現DES加密 160
第5章雜湊函數和HMAC 181
5.1雜湊函數概述 181
5.1.1什么是雜湊函數 181
5.1.2密碼學和雜湊函數概述 182
5.1.3雜湊函數的發展 182
5.1.4雜湊函數的設計 183
5.1.5雜湊函數的分類 183
5.1.6雜湊函數的碰撞 183
5.2SM3雜湊算法 184
5.2.1SM3算法概述 184
5.2.2SM3算法的特點 184
5.2.3常量和函數 184
5.2.4填充 185
5.2.5迭代壓縮 185
5.2.6雜湊值 186
5.2.7一段式SM3算法的實現 187
5.2.8三段式SM3雜湊的實現 194
5.2.9Java和OpenSSL1.1.1b聯合實現SM3算法 198
5.3MD5消息摘要算法 201
5.3.1MD5算法概述 202
5.3.2MD5算法的特點 202
5.3.3MD5是否屬于加密算法 202
5.3.4MD5用途 202
5.3.5MD5算法原理 203
5.3.6手工實現MD5算法 204
5.3.7基于Java消息摘要類實現MD5算法 211
5.4HMAC 213
5.4.1什么是HMAC 213
5.4.2HMAC產生的背景 214
5.4.3HMAC在身份認證中的應用 214
5.4.4設計目標 215
5.4.5算法描述 215
5.4.6手工實現HMAC-MD5 216
5.4.7基于JavaMac類實現HMAC-MD5 219
5.4.8實現HMAC-SM3 222
5.5更通用的基于OpensSSL的哈希運算 226
5.6SHA系列雜湊算法 232
5.6.1SHA算法概述 232
5.6.2SHA系列算法核心思想和特點 233
5.6.3SHA256算法原理解析 233
5.6.4SHA256算法核心思想 235
5.6.5SHA256算法的實現 240
第6章密碼學中常見的編碼格式 249
6.1Base64編碼 249
6.1.1概述 249
6.1.2Base64編碼的由來 249
6.1.3Base64的索引表 249
6.1.4Base64的轉化原理 250
6.1.5使用OpenSSL的base64命令 252
6.1.6Java編程實現Base64編解碼 253
6.2PEM文件 258
6.2.1什么是PEM文件 258
6.2.2生成一個PEM文件 260
6.3ASN.1及其編解碼 261
6.3.1ASN.1的基本概念 261
6.3.2ASN.1的編碼格式 262
6.3.3ASN的優點 262
6.3.4基本語法規則 263
6.3.5ASN.1數據類型 263
6.3.6ASN.1實例 266
第7章非對稱算法RSA的加解密 274
7.1非對稱密碼體制概述 274
7.2RSA概述 276
7.3RSA的數學基礎 276
7.3.1素數 276
7.3.2素性檢測 276
7.3.3倍數 277
7.3.4約數 277
7.3.5互質數 277
7.3.6質因數 277
7.3.7強素數 277
7.3.8因子 278
7.3.9模運算 278
7.3.10模運算的操作與性質 279
7.3.11單向函數 279
7.3.12費馬定理和歐拉定理 280
7.3.13冪與模冪運算 280
7.3.14同余符號≡ 280
7.3.15歐拉函數 281
7.3.16最大公約數 281
7.3.17歐幾里得算法 282
7.3.18擴展歐幾里得算法 284
7.4RSA算法描述 292
7.5RSA算法實例 293
7.5.1查找法計算d 293
7.5.2簡便法計算私鑰d 295
7.5.3擴展歐幾里得計算私鑰d 297
7.5.4加密字母 298
7.5.5分組加密字符串 298
7.6RSA加密長度限制問題 302
7.7熟悉PKCS#1 303
7.7.1PKCS#1填充 304
7.7.2PKCS#1中的RSA私鑰語法 308
7.8在OpenSSL命令中使用RSA 309
7.8.1生成RSA公私鑰 309
7.8.2提取私鑰參數 311
7.8.3利用RSA公鑰加密一個文件 312
7.8.4利用私鑰解密一個文件 313
7.9基于OpenSSL庫的JavaRSA實現 314
7.9.1OpenSSL的RSA實現 314
7.9.2主要數據結構 315
7.9.3主要函數 316
7.10隨機大素數的生成 332
7.11Java中的大數表示 333
7.12基于大素數的RSA算法Java實現 334
7.13基于JCA的RSA算法實現 339
7.13.1密鑰對類KeyPair 340
7.13.2密鑰對生成類KeyPairGenerator 340
7.13.3密鑰工廠類KeyFactory 342
7.14RSA算法的攻擊及分析 348
7.14.1因子分解攻擊 348
7.14.2選擇密文攻擊 348
7.14.3公共模數攻擊 348
7.14.4小指數攻擊 349
第8章數字簽名技術 350
8.1概述 350
8.2什么是數字簽名技術 351
8.2.1簽名 351
8.2.2數字簽名基本概念 352
8.2.3數字簽名的原理 352
8.2.4數字簽名的一般性定義 353
8.2.5數字簽名的分類 354
8.2.6數字簽名的安全性 355
8.2.7數字簽名的特征與應用 356
8.3RSA公鑰算法在數字簽名中的應用 356
8.4利用OpenSSL命令進行簽名驗簽 357
序: