《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. 安全协议
模型分析
验证证书
产生秘钥
加密交互
单项认证和双向认证
应用举例
小结