《Java加密与解密的艺术》中文 PDF版 :https://www.jb51.net/books/65048.html
1. 密码学应用
:https://www.bilibili.com/video/BV1oA411J7Lb?p=1
密码学应用

密码学的基本概念,对称密码,公钥密码,Hash算法,数字认证算法,数字签名

密码学

密码学

2. Java 常用加密算法
可以 Hook Java 层加密和解密算法的 API,打印 key、解密结果 等等。。。
可以在 java 的 jar 包里面查看对应的 API

:https://www.bilibili.com/video/BV1oA411J7Lb?p=2



3. base64 编码算法
base64编码原理:https://www.baidu.com/s?wd=base64编码原理
一文彻底看懂Base64原理(并使用java实现):http://baijiahao.baidu.com/s?id=1644892102150918183
:https://www.bilibili.com/video/BV1oA411J7Lb?p=3





sun.misc.BASE64Decoder.jar 下载:https://pan.baidu.com/s/1hYMJpyRwUNGKpea0Es7OgA 提取码: 76ze
使用 jadx-gui 打开 jar 文件如图所示:

发现有些解析不出来,所以可以使用 Jeb 进行解析

Base64 的 C 代码示例

base64 C++ 示例代码:


4. 消息摘要算法 --- 验证数据完整性
:https://www.bilibili.com/video/BV1oA411J7Lb?p=4


4.1 MD 算法

模型分析


openssl 的 MD5算法 C++ 源码:

java 代码实现

4.2 SHA 算法 ( Hash )

模型分析


C 代码实现:

C++ 代码实现

java 代码实现

4.3 MAC 算法


模型分析

4.4 其他消息摘要算法


4.5 循环冗余校验算法 --- CRC

5. 对称加密算法
对称加密算法 --- DES 和 DESede(即三重DES):https://www.bilibili.com/video/BV1oA411J7Lb?p=5


模型分析


DES.java

DESede.java ( 三重 DES )


DESCBC.java

descbc 算法 C++ 版

DESedeCBC.java

AES
对称加密算法 --- AES:https://www.bilibili.com/video/BV1oA411J7Lb?p=6

AES.java

aescbc.cpp

PBE --- 基于口令加密
对称加密算法 --- PBE:https://www.bilibili.com/video/BV1oA411J7Lb?p=7

模型分析


PBE.java

对称加密小结

6. 非对称加密算法

DH --- 秘钥交换算法

RSA
非对称加密算法 --- RSA:https://www.bilibili.com/video/BV1oA411J7Lb?p=8

模型分析

RSA.java

RSA算法.cpp

小结

7. 数字签名算法 --- 带秘钥的消息摘要算法
数字签名算法:https://www.bilibili.com/video/BV1oA411J7Lb?p=9


模型分析

经典的数字签名算法 --- RSA

RSA.java

数字签名标准算法 --- DSA

DSA.java

椭圆曲线数字签名算法 --- ECDSA

8. 数字证书

模型分析

证书管理

小结

9. 安全协议


模型分析

验证证书

产生秘钥

加密交互

单项认证和双向认证

应用举例

小结
