前言
绪论
第1章 位和字节
1. 1 一般运算
1. 1. 1 数的基数
1. 1. 2 位和字节
1. 1. 3 有符号字节
1. 1. 4 位运算符
1. 1. 5 字群压缩
1. 1. 6 整数和结尾表示法
1. 2 Java数值
1. 2. l 基本类型
1. 2. 3 使用字节
1. 2. 4 BigInteger
第2章 保密密钥
2. 1 对称分组密码
2. 1. 1 密码特性
2. 1. 2 常用的分组密码
2. 1. 3 不应使用的密码
2. 1. 4 填充
2. 1. 5 运算模式
2. 1. 6 电子密码本模式(ECB)
2. 1. 7 密码分组链接模式(CBC)
2. 1. 8 密钥包装
2. 1. 9 把密码转变成密钥
2. 2 散列
2. 2. 1 密码散列
2. 2. 2 运算法则
2. 2. 3 散列函数标准和实践
2. 3 散列式信息鉴定代码(HMAC)
2. 3. 1 标准 HMAC
2. 3. 2 HMAC标准和实践
2. 4 小结
第3章 公开密钥
3. 1 公开密钥密码
3. 1. 1 其他系统
3. 2 公开密钥安全性分类
3. 3 数学基础
3. 3. 1 素数
3. 3. 2 初等数值理论
3. 4 公开密钥加密和主要PKCS分类
3. 4. 1 RSA和整数因子分解
3. 4. 2 离散对数系统
3. 4. 3 椭圆曲线
3. 4. 4 其他公开密钥密码系统
3. 5 小结
第4章 随机数
4. 1 随机和安全性
4. 1. 1 随机性实验
4. 2 伪随机数发生器
4. 2. 1 密码系统PRNG
4. 2. 2 流密码
4. 3 使用随机性
4. 3. 1 游戏随机数的生成
4. 3. 2 生成某个范围内的随机数
4. 3. 3 洗牌
4. 3. 4 生成随机排列
4. 3. 5 随机取样
4. 4 访问熵
4. 4. 1 操作系统服务
4. 4. 2 “用户方”服务
4. 4. 3 TrueRand库
4. 4. 4 远程服务
4. 5 Java和随机数
4. 5. 1 类Random和 SecureRandom
4. 5. 2 开发者问题
4. 5. 3 重新设置种子
4. 5. 4 收集熵
第5章 Java密码学
5. 1 组织方式
5. 1. 1 提供者和引擎类
5. 1. 2 参数. 密钥和证书
5. 1. 3 错误处理
5. 2 提供者
5. 2. 1 标准名称
5. 2. 2 标准Sun和SunJCE提供者
5. 2. 3 其他提供者
5. 2. 4 初始化提供者
5. 2. 5 编写自己的提供者
5. 3 核心引擎类
5. 3. 1 MessageDigest
5. 3. 2 MAC
5. 3. 3 SecureRandom
5. 3. 4 Cipher
5. 3. 5 Signature
5. 3. 6 密钥一致协议
5. 4 参数. 密钥和证书
5. 4. 1 算法参数
5. 4. 2 密钥
5. 5 小结
第6章 短消息编码和加密
6. 1 预处理
6. 1. 1 把数字转换成字节
6. 1. 2 把7位数据压缩成8位
6. 1. 3 通用压缩和java. util. zip.Deflater
6. 1. 4 添加奇偶校验位
6. 2 短消息加密
6. 2. 1 单分组加密
6. 3 短消息编码
6. 3. 1 对客户所用数据编码
6. 3. 2 机器和客户可见的应用程序的编码
第7章 应用程序和数据框架
7. 1 加密数据的数据库框架
7. 1. 1 选择密码
7. 1. 2 数据
7. 1. 3 查找. 索引和约束
7. 1. 4 不对称数据的使用
7. 1. 5 空值和数据库应用程序
7. 2 Java中的安全内存管理
7. 2. l 灵巧的数组类
7. 2. 2 字符数组
7. 2. 3 使用类SecureRandom
7. 3 保密密钥管理
7. 3. 1 保密密钥数据
7. 3. 2 密钥的生产
7. 3. 3 对密钥的加密
7. 3. 4 存储
7. 3. 5 密钥访问和分发
7. 3. 6 通过Cipher. MAC使用密钥
7. 4 口令
7. 4. 1 启动口令
7. 4. 2 成员名和口令
7. 5 日志
7. 5. 1 嵌入式加密日志
7. 5. 2 完全加密的日志文件
7. 5. 3 公开密钥日志文件
7. 5. 4 拆分日志文件
7. 5. 5 基于网络的日志
7. 6 密钥记号和应用程序
7. 6. 1 记号设计
7. 6. 2 URL记号
7. 6. 3 Cookie记号
7. 6. 4 访问控制记号
7. 7 小数值和货币值的计算
7. 7. 1 双精度值和浮点值
7. 7. 2 BigDecimal
附录A Java密码类参考