返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版]密码学原理与Java实现 朱文伟 清华大学出版社 Java安全信息安全密码算法程序设计
  • 新商品上架
    • 作者: 朱文伟,李建英著
    • 出版社: 清华大学出版社
    • 出版时间:1
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    句字图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 朱文伟,李建英著
    • 出版社:清华大学出版社
    • 出版时间:1
    • 开本:16开
    • ISBN:9786075915742
    • 版权提供:清华大学出版社

     书名:  密码学原理与Java实现
     出版社:  清华大学出版社
     出版日期  2021
     ISBN号:  9787302580270

    现在,Java开发可谓如日中天,并且Java安全开发是Java开发领域中的一个重要内容,每个Java开发人员都必须掌握。市面中的绝大多数密码学书籍都是针对C或C++的,本书重点介绍Java自带加解密函数的相关技术,以及密码学领域重要的开源库OpenSSL在Java开发中的应用。

    本书共8章,主要内容包括密码学和Java概述、搭建Java密码开发环境、对称密码算法原理、利用JCA\JCE对称加解密、杂凑函数和HMAC、密码学中常见的编码格式、非对称算法RSA的加解密、数字签名技术等。本书内容非常详细,学习坡度非常平滑,循序渐进,就算没有密码学基础,也能从零开始到全面掌握。

    本书面向的读者是Java开发人员、企业内转行计算机信息安全的工作人员、已有信息安全基础并想了解Java加解密新特性的人员。本书也可作为高等院校和培训机构计算机及相关专业师生的教学参考书。

    朱文伟,名校计算机专业统招硕士,20年C\C++、Java开发经验。主导开发过密码、图形、人工智能等产品。精通Linux、Windows系统开发及数据库开发技术。著有图书《Windows C/C++加密解密实战》《密码学原理与Java实现》《Linux C与C++ 一线开发实践》《Visual C++2017从入门到精通》。

    本书重点介绍Java自带的加解密函数,以及OpenSSL在Java开发中的应用,内容包括密码学和Java概述、搭建Java密码开发环境、对称密码算法原理、利用JCA/JCE对称加解密、杂凑函数和HMAC、密码学中常见的编码格式、非对称算法RSA的加解密、数字签名技术等,适合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.3  Java语言概述 6
    1.3.1  Java简介 6
    1.3.2  Java主要特性 7
    1.3.3  Java的发展史 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  搭建Java Web开发环境 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.4  Java密码开发的两个主流国际库 35
    2.5  准备密码库OpenSSL 36
    2.5.1  OpenSSL源代码模块结构 36
    2.5.2  OpenSSL加密库调用方式 37
    2.5.3  OpenSSL支持的对称加密算法 38
    2.5.4  OpenSSL支持的非对称加密算法 38
    2.5.5  OpenSSL支持的信息摘要算法 38
    2.5.6  OpenSSL密钥和证书管理 38
    2.5.7  面向对象与OpenSSL 39
    2.5.8  BIO接口 40
    2.5.9  EVP接口 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.1  JCA的基本概念 73
    2.7.2  JCA的设计原则 74
    2.7.3  JCA中的密码服务提供者 74
    2.7.4  JCA编程的两大安全包 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.3  RC4算法 91
    3.4  分组加密算法 95
    3.4.1  工作模式 95
    3.4.2  短块加密 99
    3.4.3  DES和3DES算法 100
    3.4.4  SM4算法 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.2  SM3杂凑算法 184
    5.2.1  SM3算法概述 184
    5.2.2  SM3算法的特点 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.9  Java和OpenSSL1.1.1b联合实现SM3算法 198
    5.3  MD5消息摘要算法 201
    5.3.1  MD5算法概述 202
    5.3.2  MD5算法的特点 202
    5.3.3  MD5是否属于加密算法 202
    5.3.4  MD5用途 202
    5.3.5  MD5算法原理 203
    5.3.6  手工实现MD5算法 204
    5.3.7  基于Java消息摘要类实现MD5算法 211
    5.4  HMAC 213
    5.4.1  什么是HMAC 213
    5.4.2  HMAC产生的背景 214
    5.4.3  HMAC在身份认证中的应用 214
    5.4.4  设计目标 215
    5.4.5  算法描述 215
    5.4.6  手工实现HMAC-MD5 216
    5.4.7  基于Java Mac类实现HMAC-MD5 219
    5.4.8  实现HMAC-SM3 222
    5.5  更通用的基于OpensSSL的哈希运算 226
    5.6  SHA系列杂凑算法 232
    5.6.1  SHA算法概述 232
    5.6.2  SHA系列算法核心思想和特点 233
    5.6.3  SHA256算法原理解析 233
    5.6.4  SHA256算法核心思想 235
    5.6.5  SHA256算法的实现 240
    第6章  密码学中常见的编码格式 249
    6.1  Base64编码 249
    6.1.1  概述 249
    6.1.2  Base64编码的由来 249
    6.1.3  Base64的索引表 249
    6.1.4  Base64的转化原理 250
    6.1.5  使用OpenSSL的base64命令 252
    6.1.6  Java编程实现Base64编解码 253
    6.2  PEM文件 258
    6.2.1  什么是PEM文件 258
    6.2.2  生成一个PEM文件 260
    6.3  ASN.1及其编解码 261
    6.3.1  ASN.1的基本概念 261
    6.3.2  ASN.1的编码格式 262
    6.3.3  ASN的优点 262
    6.3.4  基本语法规则 263
    6.3.5  ASN.1数据类型 263
    6.3.6  ASN.1实例 266
    第7章  非对称算法RSA的加解密 274
    7.1  非对称密码体制概述 274
    7.2  RSA概述 276
    7.3  RSA的数学基础 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.4  RSA算法描述 292
    7.5  RSA算法实例 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.6  RSA加密长度限制问题 302
    7.7  熟悉PKCS#1 303
    7.7.1  PKCS#1填充 304
    7.7.2  PKCS#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库的Java RSA实现 314
    7.9.1  OpenSSL的RSA实现 314
    7.9.2  主要数据结构 315
    7.9.3  主要函数 316
    7.10  随机大素数的生成 332
    7.11  Java中的大数表示 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.14  RSA算法的攻击及分析 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.3  RSA 公钥算法在数字签名中的应用 356
    8.4  利用OpenSSL命令进行签名验签 357

    随着计算机及网络技术的发展,信息安全,特别是各行各业信息系统的安全成为信息社会关注的焦点,直接影响国家的安全和社会的稳定。如今,计算机加解密算法的应用已经渗透到我们生活的方方面面。金融、电子政务、电子商务、网民上网、黑客攻防、国防通信、智能化武器安全等,无一不涉及计算机加解密算法。Java自带的加解密函数库是计算机开发领域中的一个宝库,无论你是初学者还是资深研究人员,都可以在其中找到得心应手的“武器”,帮助你在研究的道路上披荆斩棘。

    往小了说,学好Java安全可以就业不愁;往大了说,学好密码学原理及Java安全开发,可以开发出无坚不摧的武器系统或金融系统,对于国防安全、信息安全和金融安全有着重要   意义。

    关于本书

    本书是Java安全领域的经典之作,不但剖析大量Java加解密函数的调用细节,而且对原理解释清晰明了,让读者不仅知其然,而且知其所以然。书中涵盖了对称加解密算法、非对称加解密算法、编码格式、数字签名等内容,并配以丰富的代码示例,内容丰富,行文通俗。

    全书介绍Java加解密中近200多个函数、100多个示例程序,帮助读者熟练掌握Java开发的安全应用。本书在介绍Java加解密最新技术的同时,力求讲解一些背后的原理和公式,为大家以后做专业的密码开发铺垫前进的道路。只会调用函数而不知原理和公式,永远不会是一个专业人士!

    本书特点

    本书不仅讲解Java自带的安全开发库,还讲解OpenSSL在Java中的使用细节。OpenSSL是在学术界、工业界广泛使用的加解密算法库。OpenSSL内容之丰富,是目前开源安全算法库中罕见的。每年我们都能看到不少关于OpenSSL的图书,但是随着OpenSSL版本迭代,部分学习资料已经过时。本书基于当前企业界流行的Java版本写作,面向初学者,既涵盖了Java加解密算法的使用,又介绍了背后原理,并配以示例代码,内容丰富,行文通俗,是不可多得的优秀图书。

    本书是一本讲述专业知识的书,不是走马观花就能理解的。这需要读者打起精神,详细阅读,跟着书中的内容运行代码,了解示例程序,多练习,掌握书中介绍的函数功能及其用法。

    本书实例丰富,希望读者能充分利用好这些例子,并将每个例子在自己的机器上实现,在编译运行时好好体会每个类或函数的用法。

    源码下载与技术支持

    本书配套的资源,请用微信扫描右边的二维码获取,可按扫描出来的页面提示把下载链接转到自己的邮箱中下载。如果学习本书过程中发现问题,请联系booksaga@163.com,邮件主题为“密码学原理与Java实现”。

    作者

    2021年4月


     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购